Page History
...
The information in the authority cache can be updated by running the following command line operation:
Command used: |
|
Arguments | description |
-i | update specific solr records with the given internal ids (comma-separated) |
-h | prints this help message |
This will iterate over every solr record currently in use (unless the -i argument is provided), query the ORCID web service for the latest data and update the information in the cache. If configured, the script will also update the metadata of the items in the repository where applicable.
The configuration property can be set in config/modules/solrauthority.cfg:
Code Block |
---|
auto-update-items = false | true |
When set to true and this is script is run, if an authority record's information is updated the whole repository will be scanned for this authority. Every metadata field with this authority key will be updated with the value of the updated authority record.
Configuration
In the Enabling the ORCID authority controlcontrol section, you have been told to add this block of configuration.
...
- The
solr.authority.server
is the url to the solr core. Usually this would be on thesolr.server
next to the oai, search and statistics cores. authority.author.indexer.field.1
and the subsequent increments configure which fields the authority consumer indexeswill be indexed in the authority cache. However before adding extra fields into the solr cache, please read the section about Adding additional fields under ORCID.
That's it for the novelties. Moving on to the generic authority control properties:
- With the
authority.controlled
property every metadata field that needs to be authority controlled is configured. This involves every type of authority control, not only the fields for ORCID integration. - The
choices.plugin
should be configured for each metadata field under authority control. Setting the value on SolrAuthorAuthority tells DSpace to use the solr authority cache for this metadatafield, cfr. Storage of related metadata. - The
choices.presention
should be configured for each metadata field as well. The traditional values for this property areselect|suggest|lookup
. A new value,authorLookup
, has been added to be used in combination with the SolrAuthorAuthority choices plugin. While the other values can still be used, the authorLookup provides a richer user interface in the form of a popup on the submission page. - More existing configuration properties are available but their values are independent of this feature and their default values are usually fine:
choices.closed
,authority.required,
.authority.minconfidence
...
The default value for when the property is missing is false.
The final part of configuration is to add the authority consumer in front of the list of event consumers. Add "authority" in front of the list as displayed below.
Code Block |
---|
event.dispatcher.default.consumers = authority, versioning, discovery, eperson, harvester |
Without the consumer there is no automatic indexing of the authority cache and the metadata will not even have authority keys.
Changes to the configuration always require a server restart before they're in effect.
Adding additional fields under ORCID
Here is an example of how to get the same ORCID functionality for the "dc.contributor.editor" metadata field assuming that "dc.contributor.author" is already configured correctly. It can be achieved by modifying configuration files only.
First add the same configuration fields that have been added for the "dc.contributor.author"
Code Block |
---|
choices.plugin.dc.contributor.editor = SolrAuthorAuthority
choices.presentation.dc.contributor.editor = authorLookup
authority.controlled.dc.contributor.editor = true
authority.author.indexer.field.1=dc.contributor.author
authority.author.indexer.field.2=dc.contributor.editor |
This is enough to get the look-up interface on the submission page and on the edit metadata page. The authority keys will be added and indexed with the information from orcid just as it happens with the Authors.
But you're not completely done yet, There is one more configuration step. Because now when adding new editors in the metadata that are not retrieved through the external look-up, their first and last name will not be displayed in the look-up interface next time you look for them.
To fix this, open the file at config/spring/api/authority-services.xml and find this spring bean:
Code Block |
---|
<bean name="AuthorityTypes" class="org.dspace.authority.AuthorityTypes">
<property name="types">
<list>
<bean class="org.dspace.authority.orcid.OrcidAuthorityValue"/>
<bean class="org.dspace.authority.PersonAuthorityValue"/>
</list>
</property>
<property name="fieldDefaults">
<map>
<entry key="dc_contributor_author">
<bean class="org.dspace.authority.PersonAuthorityValue"/>
</entry>
</map>
</property>
</bean> |
The map inside the "fieldDefaults" property needs an additional entry for the editor field:
Code Block |
---|
<entry key="dc_contributor_editor">
<bean class="org.dspace.authority.PersonAuthorityValue"/>
</entry> |
With this last change everything is set up to work correctly.
Note: Each metadata field has a separate set of authority records. Authority keys are not shared between different metadata fields. E. g. multiple dc.contributor.author can have the same authority key and point to the same authority record in the cache. But when an ORCID is chosen for a dc.contributor.editor field, a separate record is made in the cache. Both records are updated from the same source and will contain the same information. The difference is that when performing a look-up of a person that has been introduced as an authority for an author field but not yet as an editor, it will show as record that is not yet present in the repository cache.
Integration with other systems beside ORCID
The authority cache and look-up functionality can be extended to use other sources than ORCID or to show more information in the look-up interface. However some JAVA development is necessary for this. Specific instructions can be found in the readme file of the org.dspace.authority package.