Skip to content

Commit

Permalink
release note, docs
Browse files Browse the repository at this point in the history
  • Loading branch information
qqmyers committed Dec 12, 2024
1 parent 5460bdd commit f85c26c
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 2 deletions.
7 changes: 7 additions & 0 deletions doc/release-notes/11095-fix-extcvoc-indexing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Some External Controlled Vocabulary scripts/configurations, when used on a metadata field that is single valued could result
in indexing failure for the dataset (e.g. when the the script tried to index both the identifier and name of the identified entity for indexing).
Dataverse has been updated to correctly indicate the need for a multi-valued solr field in these cases in the call to /api/admin/index/solr/schema.
Configuring the Solr schema and the update-fields.sh script as usually recommended when using custom metadata blocks will resolve the issue.

The overall release notes should include a solr update (which hopefully is required by an update to 9.7.0 anyway) and our standard instructions
should change to recommending use of the udpate-fields.sh script when using custom metadatablocks *and/or external vocabulary scripts*.
6 changes: 4 additions & 2 deletions doc/sphinx-guides/source/admin/metadatacustomization.rst
Original file line number Diff line number Diff line change
Expand Up @@ -559,8 +559,7 @@ Using External Vocabulary Services

The Dataverse software has a mechanism to associate specific fields defined in metadata blocks with a vocabulary(ies) managed by external services. The mechanism relies on trusted third-party Javascripts. The mapping from field type to external vocabulary(ies) is managed via the :ref:`:CVocConf <:CVocConf>` setting.

*This functionality is considered 'experimental'. It may require significant effort to configure and is likely to evolve in subsequent Dataverse software releases.*

*This functionality may require significant effort to configure and is likely to evolve in subsequent Dataverse software releases.*

The effect of configuring this mechanism is similar to that of defining a field in a metadata block with 'allowControlledVocabulary=true':

Expand All @@ -585,6 +584,9 @@ Configuration involves specifying which fields are to be mapped, to which Solr f
These are all defined in the :ref:`:CVocConf <:CVocConf>` setting as a JSON array. Details about the required elements as well as example JSON arrays are available at https://github.com/gdcc/dataverse-external-vocab-support, along with an example metadata block that can be used for testing.
The scripts required can be hosted locally or retrieved dynamically from https://gdcc.github.io/ (similar to how dataverse-previewers work).

Since external vocabulary scripts can change how fields are indexed (storing an identifier and name and/or values in different languages),
updating the solr schema as described in :ref:`update-solr-schema` should be done after adding new scripts to your configuration.

Please note that in addition to the :ref:`:CVocConf` described above, an alternative is the :ref:`:ControlledVocabularyCustomJavaScript` setting.

Protecting MetadataBlocks
Expand Down
3 changes: 3 additions & 0 deletions doc/sphinx-guides/source/installation/config.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4653,6 +4653,9 @@ The commands below should give you an idea of how to load the configuration, but

``curl -X PUT --upload-file cvoc-conf.json http://localhost:8080/api/admin/settings/:CVocConf``

Since external vocabulary scripts can change how fields are indexed (storing an identifier and name and/or values in different languages),
updating the solr schema as described in :ref:`update-solr-schema` should be done after adding new scripts to your configuration.

.. _:ControlledVocabularyCustomJavaScript:

:ControlledVocabularyCustomJavaScript
Expand Down

0 comments on commit f85c26c

Please sign in to comment.