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

Jason Gerlowski updated SOLR-16395:
-----------------------------------
    Description: 
As mentioned on SOLR-15781, the v2 API currently has an experimental 
designation, and the community has expressed an interest in using this period 
to update our v2 endpoints to be more REST-ful and consistent.  The current 
plan is to follow the specific changes laid out in [this 
spreadsheet|https://docs.google.com/spreadsheets/d/1HAoBBFPpSiT8mJmgNZKkZAPwfCfPvlc08m5jz3fQBpA/edit?usp=sharing],
 though of course nothing there is set in stone and there are still warts to be 
worked out.

While we're touching the code for these endpoints, we should also convert them 
to JAX-RS framework definitions.  (This was initially tracked as a separate 
effort - see SOLR-16370 - but the edit that were required ended up overlapping 
so significantly with the "cosmetic" improvements here that in practice it 
almost always makes sense to do the two together.)

This ticket plans to tackle making the changes required for Solr's schema read 
and collection-overlay APIs, as described in the spreadsheet above.  For 
convenience and ease of tracking, these are also summarized in the table(s) 
below:

*Cosmetic Changes and JAX-RS Conversion*

||API Name||Original Form||Desired Form||Status||Volunteer||
|Create Field|POST /api/collections/collName/schema \{"add-field": 
\{...\}\}|PUT /api/collections/collName/schema/fields/fieldName 
\{...\}|Open|N/A|
|Update Field|POST /api/collections/collName/schema \{"replace-field": 
\{...\}\}|PUT /api/collections/collName/schema/fields/fieldName 
\{...\}|Open|N/A|
|Delete Field|POST /api/collections/collName/schema \{"delete-field": 
\{...\}\}|DELETE /api/collections/collName/schema/fields/fieldName|Open|N/A|
|Create Dynamic Field|POST /api/collections/collName/schema 
\{"add-dynamic-field": \{...\}\}|PUT 
/api/collections/collName/schema/dynamicfields/fieldName \{...\}|Open|N/A|
|Update Dynamic Field|POST /api/collections/collName/schema 
\{"replace-dynamic-field": \{...\}\}|PUT 
/api/collections/collName/schema/dynamicfields/fieldName \{...\}|Open|N/A|
|Delete Dynamic Field|POST /api/collections/collName/schema 
\{"delete-dynamic-field": \{...\}\}|DELETE 
/api/collections/collName/schema/dynamicfields/fieldName|Open|N/A|
|Create Field Type|POST /api/collections/collName/schema \{"add-field-type": 
\{...\}\}|PUT /api/collections/collName/schema/fieldtypes/fieldTypeName 
\{...\}|Open|N/A|
|Update Field Type|POST /api/collections/collName/schema 
\{"replace-field-type": \{...\}\}|PUT 
/api/collections/collName/schema/fieldtypes/fieldTypeName \{...\}|Open|N/A|
|Delete Field Type|POST /api/collections/collName/schema \{"delete-field-type": 
\{...\}\}|DELETE 
/api/collections/collName/schema/fieldTypes/fieldTypeName|Open|N/A|
|Add Copy-field|POST /api/collections/collName/schema \{"add-copy-field": 
\{...\}\}|PUT /api/collections/collName/schema/copyfields/copyFieldName 
\{...\}|Open|N/A|
|Delete Copy-field|POST /api/collections/collName/schema \{"delete-copy-field": 
\{...\}\}|DELETE 
/api/collections/collName/schema/copyfields/copyFieldName|Open|N/A|
|Bulk Schema Operations|POST /api/collections/collName/schema \{"add-field": 
\{...\}, "add-field": \{...\}\}|POST /api/collections/collName/schema/bulk 
[\{...\}, \{...\}]|Open|N/A|



*JAX-RS Conversion Only*

||API Name||Endpoint Format||Status||Volunteer||
|-Get Entire Schema-|-GET /api/collections/collName/schema-|-Finished-|-Bence 
Szabo-|
|-Get Schema UniqueKey-|-GET 
/api/collections/collName/schema/uniquekey-|-Finished-|-Bence Szabo-|
|-Get Schema Version-|-GET 
/api/collections/collName/schema/version-|-Finished-|-Bence Szabo-|
|-Get Schema Similarity-|-GET 
/api/collections/collName/schema/similarity-|-Finished-|-Bence Szabo-|
|Get Schema ZkVersion|-GET /api/collections/collName/schema/zkversion|Open|N/A|
|List All (Non-dynamic) Fields|GET 
/api/collections/collName/schema/fields|Open|N/A|
|Get Single (Non-dynamic) Field|GET 
/api/collections/collName/schema/fields/fieldName|Open|N/A|
|List Copyfields|GET /api/collections/collName/schema/copyfields|Open|N/A|
|List All (Dynamic) Fields|GET 
/api/collections/collName/schema/dynamicfields|Open|N/A|
|Get Single (Dynamic) Field|GET 
/api/collections/collName/schema/dynamicfields/fieldName|Open|N/A|
|List All FieldTypes|GET /api/collections/collName/schema/fieldtypes|Open|N/A|
|Get Single Fieldtype|GET 
/api/collections/collName/schema/fieldtypes/fieldTypeName|Open|N/A|









  was:
As mentioned on SOLR-15781, the v2 API currently has an experimental 
designation, and the community has expressed an interest in using this period 
to update our v2 endpoints to be more REST-ful and consistent.  The current 
plan is to follow the specific changes laid out in [this 
spreadsheet|https://docs.google.com/spreadsheets/d/1HAoBBFPpSiT8mJmgNZKkZAPwfCfPvlc08m5jz3fQBpA/edit?usp=sharing],
 though of course nothing there is set in stone and there are still warts to be 
worked out.

While we're touching the code for these endpoints, we should also convert them 
to JAX-RS framework definitions.  (This was initially tracked as a separate 
effort - see SOLR-16370 - but the edit that were required ended up overlapping 
so significantly with the "cosmetic" improvements here that in practice it 
almost always makes sense to do the two together.)

This ticket plans to tackle making the changes required for Solr's schema read 
and collection-overlay APIs, as described in the spreadsheet above.  For 
convenience and ease of tracking, these are also summarized in the table(s) 
below:

*Cosmetic Changes and JAX-RS Conversion*

||API Name||Original Form||Desired Form||Status||Volunteer||
|Create Field|POST /api/collections/collName/schema \{"add-field": 
\{...\}\}|PUT /api/collections/collName/schema/fields/fieldName 
\{...\}|Open|N/A|
|Update Field|POST /api/collections/collName/schema \{"replace-field": 
\{...\}\}|PUT /api/collections/collName/schema/fields/fieldName 
\{...\}|Open|N/A|
|Delete Field|POST /api/collections/collName/schema \{"delete-field": 
\{...\}\}|DELETE /api/collections/collName/schema/fields/fieldName|Open|N/A|
|Create Dynamic Field|POST /api/collections/collName/schema 
\{"add-dynamic-field": \{...\}\}|PUT 
/api/collections/collName/schema/dynamicfields/fieldName \{...\}|Open|N/A|
|Update Dynamic Field|POST /api/collections/collName/schema 
\{"replace-dynamic-field": \{...\}\}|PUT 
/api/collections/collName/schema/dynamicfields/fieldName \{...\}|Open|N/A|
|Delete Dynamic Field|POST /api/collections/collName/schema 
\{"delete-dynamic-field": \{...\}\}|DELETE 
/api/collections/collName/schema/dynamicfields/fieldName|Open|N/A|
|Create Field Type|POST /api/collections/collName/schema \{"add-field-type": 
\{...\}\}|PUT /api/collections/collName/schema/fieldtypes/fieldTypeName 
\{...\}|Open|N/A|
|Update Field Type|POST /api/collections/collName/schema 
\{"replace-field-type": \{...\}\}|PUT 
/api/collections/collName/schema/fieldtypes/fieldTypeName \{...\}|Open|N/A|
|Delete Field Type|POST /api/collections/collName/schema \{"delete-field-type": 
\{...\}\}|DELETE 
/api/collections/collName/schema/fieldTypes/fieldTypeName|Open|N/A|
|Add Copy-field|POST /api/collections/collName/schema \{"add-copy-field": 
\{...\}\}|PUT /api/collections/collName/schema/copyfields/copyFieldName 
\{...\}|Open|N/A|
|Delete Copy-field|POST /api/collections/collName/schema \{"delete-copy-field": 
\{...\}\}|DELETE 
/api/collections/collName/schema/copyfields/copyFieldName|Open|N/A|
|Bulk Schema Operations|POST /api/collections/collName/schema \{"add-field": 
\{...\}, "add-field": \{...\}\}|POST /api/collections/collName/schema/bulk 
[\{...\}, \{...\}]|Open|N/A|



*JAX-RS Conversion Only*

||API Name||Endpoint Format||Status||Volunteer||
|Get Entire Schema|GET /api/collections/collName/schema|Open|N/A|
|Get Schema UniqueKey|GET /api/collections/collName/schema/uniquekey|Open|N/A|
|Get Schema Version|GET /api/collections/collName/schema/version|Open|N/A|
|Get Schema Similarity|GET /api/collections/collName/schema/similarity|Open|N/A|
|Get Schema ZkVersion|GET /api/collections/collName/schema/zkversion|Open|N/A|
|List All (Non-dynamic) Fields|GET 
/api/collections/collName/schema/fields|Open|N/A|
|Get Single (Non-dynamic) Field|GET 
/api/collections/collName/schema/fields/fieldName|Open|N/A|
|List Copyfields|GET /api/collections/collName/schema/copyfields|Open|N/A|
|List All (Dynamic) Fields|GET 
/api/collections/collName/schema/dynamicfields|Open|N/A|
|Get Single (Dynamic) Field|GET 
/api/collections/collName/schema/dynamicfields/fieldName|Open|N/A|
|List All FieldTypes|GET /api/collections/collName/schema/fieldtypes|Open|N/A|
|Get Single Fieldtype|GET 
/api/collections/collName/schema/fieldtypes/fieldTypeName|Open|N/A|










> Cosmetic improvements and migration to JAX-RS (schema APIs)
> -----------------------------------------------------------
>
>                 Key: SOLR-16395
>                 URL: https://issues.apache.org/jira/browse/SOLR-16395
>             Project: Solr
>          Issue Type: Sub-task
>          Components: v2 API
>    Affects Versions: main (10.0)
>            Reporter: Jason Gerlowski
>            Priority: Major
>          Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> As mentioned on SOLR-15781, the v2 API currently has an experimental 
> designation, and the community has expressed an interest in using this period 
> to update our v2 endpoints to be more REST-ful and consistent.  The current 
> plan is to follow the specific changes laid out in [this 
> spreadsheet|https://docs.google.com/spreadsheets/d/1HAoBBFPpSiT8mJmgNZKkZAPwfCfPvlc08m5jz3fQBpA/edit?usp=sharing],
>  though of course nothing there is set in stone and there are still warts to 
> be worked out.
> While we're touching the code for these endpoints, we should also convert 
> them to JAX-RS framework definitions.  (This was initially tracked as a 
> separate effort - see SOLR-16370 - but the edit that were required ended up 
> overlapping so significantly with the "cosmetic" improvements here that in 
> practice it almost always makes sense to do the two together.)
> This ticket plans to tackle making the changes required for Solr's schema 
> read and collection-overlay APIs, as described in the spreadsheet above.  For 
> convenience and ease of tracking, these are also summarized in the table(s) 
> below:
> *Cosmetic Changes and JAX-RS Conversion*
> ||API Name||Original Form||Desired Form||Status||Volunteer||
> |Create Field|POST /api/collections/collName/schema \{"add-field": 
> \{...\}\}|PUT /api/collections/collName/schema/fields/fieldName 
> \{...\}|Open|N/A|
> |Update Field|POST /api/collections/collName/schema \{"replace-field": 
> \{...\}\}|PUT /api/collections/collName/schema/fields/fieldName 
> \{...\}|Open|N/A|
> |Delete Field|POST /api/collections/collName/schema \{"delete-field": 
> \{...\}\}|DELETE /api/collections/collName/schema/fields/fieldName|Open|N/A|
> |Create Dynamic Field|POST /api/collections/collName/schema 
> \{"add-dynamic-field": \{...\}\}|PUT 
> /api/collections/collName/schema/dynamicfields/fieldName \{...\}|Open|N/A|
> |Update Dynamic Field|POST /api/collections/collName/schema 
> \{"replace-dynamic-field": \{...\}\}|PUT 
> /api/collections/collName/schema/dynamicfields/fieldName \{...\}|Open|N/A|
> |Delete Dynamic Field|POST /api/collections/collName/schema 
> \{"delete-dynamic-field": \{...\}\}|DELETE 
> /api/collections/collName/schema/dynamicfields/fieldName|Open|N/A|
> |Create Field Type|POST /api/collections/collName/schema \{"add-field-type": 
> \{...\}\}|PUT /api/collections/collName/schema/fieldtypes/fieldTypeName 
> \{...\}|Open|N/A|
> |Update Field Type|POST /api/collections/collName/schema 
> \{"replace-field-type": \{...\}\}|PUT 
> /api/collections/collName/schema/fieldtypes/fieldTypeName \{...\}|Open|N/A|
> |Delete Field Type|POST /api/collections/collName/schema 
> \{"delete-field-type": \{...\}\}|DELETE 
> /api/collections/collName/schema/fieldTypes/fieldTypeName|Open|N/A|
> |Add Copy-field|POST /api/collections/collName/schema \{"add-copy-field": 
> \{...\}\}|PUT /api/collections/collName/schema/copyfields/copyFieldName 
> \{...\}|Open|N/A|
> |Delete Copy-field|POST /api/collections/collName/schema 
> \{"delete-copy-field": \{...\}\}|DELETE 
> /api/collections/collName/schema/copyfields/copyFieldName|Open|N/A|
> |Bulk Schema Operations|POST /api/collections/collName/schema \{"add-field": 
> \{...\}, "add-field": \{...\}\}|POST /api/collections/collName/schema/bulk 
> [\{...\}, \{...\}]|Open|N/A|
> *JAX-RS Conversion Only*
> ||API Name||Endpoint Format||Status||Volunteer||
> |-Get Entire Schema-|-GET /api/collections/collName/schema-|-Finished-|-Bence 
> Szabo-|
> |-Get Schema UniqueKey-|-GET 
> /api/collections/collName/schema/uniquekey-|-Finished-|-Bence Szabo-|
> |-Get Schema Version-|-GET 
> /api/collections/collName/schema/version-|-Finished-|-Bence Szabo-|
> |-Get Schema Similarity-|-GET 
> /api/collections/collName/schema/similarity-|-Finished-|-Bence Szabo-|
> |Get Schema ZkVersion|-GET 
> /api/collections/collName/schema/zkversion|Open|N/A|
> |List All (Non-dynamic) Fields|GET 
> /api/collections/collName/schema/fields|Open|N/A|
> |Get Single (Non-dynamic) Field|GET 
> /api/collections/collName/schema/fields/fieldName|Open|N/A|
> |List Copyfields|GET /api/collections/collName/schema/copyfields|Open|N/A|
> |List All (Dynamic) Fields|GET 
> /api/collections/collName/schema/dynamicfields|Open|N/A|
> |Get Single (Dynamic) Field|GET 
> /api/collections/collName/schema/dynamicfields/fieldName|Open|N/A|
> |List All FieldTypes|GET /api/collections/collName/schema/fieldtypes|Open|N/A|
> |Get Single Fieldtype|GET 
> /api/collections/collName/schema/fieldtypes/fieldTypeName|Open|N/A|



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

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to