Task: Optimize and Document End-to-End Demo and Benchmark Experience #457
Labels
benchmarks
docs
Applies to the API docs or website
is:enhancement
New feature or request
pri:high
Project Infrastructure
up-for-grabs
This issue is open to be worked on by anyone
Milestone
Deliverables for this task
Update demo documentation and code snippets to show the ".NET way" of running demos
Determine the best way to show "live" code on the documentation (link to it in the tag at the repo, do some sort of code to doc conversion, manual), and decide what to do with these that are "frozen" at a point in time while the code evolves
Update the benchmark documentation and code snippets to show the ".NET way" of running benchmarks (depends on Investigate how we can load external assemblies when running Lucene.Net.Benchmarks on the command line #305)
Update the website at https://lucenenet.apache.org/ to make it clear how to run the source code (prerequisites, dependencies, etc)
Update the website at https://lucenenet.apache.org/ to make the demos more visible
Goal
The goal is to make this information easy to find, easy to understand, and test it to make sure the examples work as documented.
Based on the Lucene demo document here:
https://github.com/apache/lucenenet/blob/Lucene.Net_4_8_0_beta00014/src/Lucene.Net.Demo/overview.md
it is clear that there are gaps in our knowledge of how these demos were meant to be delivered to Java developers and how we can provide an optimal experience in .NET.
What Lucene does
How we "ported" it
lucene-cli
.lucene-cli
docs).--output-source-code
optionlucene-cli
Problems
dotnet run
or putting it in Visual Studio (a.csproj
file is also required, I believe, but there may also be other dependencies to investigate)docs.ps1
build doesn't replace the tags in URLs.cs
file in the docs dynamically without copy and paste.The bottom line is that it is not easy to locate the demos and if you do find them there is little information about how to run them.
Research
We need to research to find the best way to get these demos running on developer machines and update the documentation and website to make this experience go smoother. I suspect we can use the
dotnet new
command in combination withlucene-cli
anddotnet run
to do most of the heavy lifting. But it also might make sense to use the templating feature ofdotnet new
. We should investigate how other open source projects are providing runnable demos to end users to see if there are any ideas we can borrow.It would also certainly be useful to run the Java demos to determine exactly how they are intended to be used.
For Lucene.Net.Benchmarks, we have similar issues because it is unclear how the app is intended to be used by end users. So, what is learned about the demos will also help us work out how to create the optimal user experience for Lucene.Net.Benchmarks.
lucene-cli
.It is clear that Lucene.Net.Benchmark must be referenced to extend types, but the extensions need to be loaded via Reflection on the command line to run (#305). It is not clear if there was a workflow in Java where you are expected to compile from source to do the benchmarks, although it may also have been possible for end users to make their own runner implementation.
The text was updated successfully, but these errors were encountered: