[ 
https://issues.apache.org/jira/browse/SOLR-17383?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

David Smiley updated SOLR-17383:
--------------------------------
    Summary: CLI: Resolve overlapping arguments  (was: Resolve overlapping 
arguments)

> CLI: Resolve overlapping arguments
> ----------------------------------
>
>                 Key: SOLR-17383
>                 URL: https://issues.apache.org/jira/browse/SOLR-17383
>             Project: Solr
>          Issue Type: Improvement
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: Christos Malliaridis
>            Priority: Major
>
> With the changes from SOLR-16757 arguments were moved to java source code to 
> simplify and merge shell script logic. We noticed many overlappings in 
> arguments' short and long forms that cause confusion and possible unexpected 
> results.
> Since commands are executed with "bin/solr", the user has a hard time 
> learning the short form of each argument and the long form of the same 
> argument may vary too, because it is often context-specific.
> Arguments that have conflicts are:
> ||Short Param||Long Param||Occurences||
> |{{-c}}|{{--name}}|{{HealthCheckTool, ConfigTool, CreateTool, DeleteTool, 
> LinkConfigTool, PostTool}}|
> |{{-c}}|{{--cloud}}|{{AssertTool, RunExampleTool, bin/solr}}|
> |{{-c}}|{{--collection}}|{{PackageTool, bin/solr}}|
> |{{-c}}|{{--collections}}|? (unknown if there is a short form)|
> | | | |
> |{{-v}}|{{--verbose}}|{{SolrCLI, bin/solr}}|
> |{{-v}}|{{--value}}|{{ConfigTool}}|
> |{{-V (cap)}}|{{--verbose}}|{{bin/solr}}|
> |{{-v}}|{{--version}}|{{SolrCLI}}|
> | |{{ }}| |
> |{{-s}}|{{--shards}}|{{CreateTool}}|
> |{{-s}}|{{--started}}|{{AssertTool}}|
> |{{-s}}|{{--script}}|{{RunExampleTool}}|
> |{{-s}}|{{--solr-url}}|{{bin/solr}}|
> |{{-s}}|{{--solr-home}}|{{bin/solr}}|
> |{{-s}}|{{--scrape-interval}}|{{SolrExporter}}|
> | | | |
> |{{-url}}|{{--solr-url}}|{{SolrCLI}}|
> |{{(no short form)}}|{{--solr-url}}|{{ApiTool, StatusTool}}|
> |{{-url}}|{{--solr-collection-url}}|{{PostLogsTool, ExportTool}}|
> |{{-url}}|{{--solr-update-url}}|{{PostTool}}|
> |{{-b}}|{{--base-url}}|{{SolrExporter}}|
> | | | |
> |{{-d}}|{{--conf-dir}}|{{CreateTool, ConfigSetUploadTool, bin/solr}}|
> |{{-d}}|{{--delete-config}}|{{DeleteTool}}|
> |{{-d}}|{{--delay}}|{{PostTool}}|
> |{{-d}}|{{--server-dir}}|{{RunExampleTool}}|
> |{{-d}}|{{--dir}}|{{bin/solr}}|
> |{{ }}|{{ }}|{{ }}|
> |{{-r}}|{{--recurse}}|{{SolrCLI}}|
> |{{-r}}|{{--root}}|{{AssertTool}}|
> |{{-r}}|{{--recursive}}|{{PostTool}}|
> |{{ }}|{{ }}|{{ }}|
> |{{-m}}|{{--memory}}|{{RunExampleTool, bin/solr}}|
> |{{-m}}|{{--message}}|{{AssertTool}}|
> |{{ }}|{{ }}|{{ }}|
> |{{-t}}|{{--type}}|{{PostTool}}|
> |{{-t}}|{{--timeout}}|{{AssertTool}}|
> |{{-t}}|{{--data-home}}|{{bin/solr}}|
> |{{ }}|{{ }}|{{ }}|
> |{{-e}}|{{--example}}|{{bin/solr, RunExampleTool}}|
> |{{-e}}|{{--exitcode}}|{{AssertTool}}|
> |{{ }}|{{ }}|{{ }}|
> |{{-n}}|{{--no-prompt}}|{{RunExampleTool}}|
> |{{-y}}|{{--no-prompt}}|{{PackageTool}}|
> |{{-noprompt}}|{{--no-prompt}}|{{bin/solr}}|
> |{{-n}}|{{--conf-name}}|{{ConfigSetUploadTool, CreateTool, LinkConfigTool, 
> bin/solr}}|
> |{{-n}}|{{--num-threads}}|{{SolrExporter}}|
> |{{ }}|{{ }}|{{ }}|
> |{{-a}}|{{--addlopts}}|{{RunExampleTool (see also SOLR-16757)}}|
> |{{-a}}|{{--additional-options}}|{{bin/solr}}|
> |{{-a}}|{{-action}}|{{ConfigTool}}|
> |{{ }}|{{ }}|{{ }}|
> |{{-p}}|{{--port}}|{{RunExampleTool, bin/solr, SolrExporter}}|
> |{{-p}}|{{--property}}|{{ConfigTool}}|
> |{{-p}}|{{--param}}|{{PackageTool}}|
> |{{-p}}|{{--params}}|{{PostTool}}|
> |{{ }}|{{ }}|{{ }}|
> |{{-f}}|{{--force}}|{{RunExampleTool, bin/solr}}|
> |{{-f}}|{{--force-delete-config}}|{{DeleteTool}}|
> |{{-f}}|{{--format}}|{{PostTool}}|
> |{{-f}}|{{--foreground}}|{{bin/solr}}|
> |{{-f}}|{{--config-file}}|{{SolrExporter}}|
> |{{ }}|{{ }}|{{ }}|
> |{{-h}}|{{--help}}|{{SolrCLI, bin/solr, SolrExporter}}|
> |{{-h}}|{{--host}}|{{RunExampleTool, bin/solr}}|
> |{{ }}|{{ }}| |
> |{{-u (not obvious)}}|{{--credentials}}|{{SolrCLI, SolrExporter}}|
> Noticable confusions for beginners may be:
>  * 
> {code:java}
> bin/solr start -c -e techproducts # "creates" and starts a solr cloud 
> instance with example data, -c does not receive an argument
> bin/solr create -c mycollection # "creates" a new collection in an existing 
> solr, -c requires a value{code}
>  * 
> {code:java}
> bin/solr create -c mycollection # succeeds
> bin/solr create --collection mycollection (fails?)
> bin/solr create --name mycollection (succeeds){code}
>  * 
> {code:java}
> bin/solr config -c ... --action set-user-property --property 
> update.autoCreateFields -v false # Does this set property to false or execute 
> command in verbose mode, or both{code}
> We should consider for which arguments it is fine to have overlapping short 
> forms, which arguments can be unified and use same short and long-form to 
> improve learnability and which arguments should maybe not have a short form 
> or should use different wording to use different abbreviations.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to