Since 18th November 2019 see https://github.com/4Science/DSpace/commit/f4aabbf0067d82c0bc395c1336394f4a4b1b7339
The feature allows a researcher or more in general an authorized user or the administrator to add objects to a relation starting from the detail page of the target CRIS object. The "object" could be both a dspace items (publication, dataset, patent, etc.) than a CRIS Object (events, awards, projects, etc.). It is also possible to make available, for some or all the relations, the opposite action "remove". Below some examples:
The following screen show the public page of a sample project
when an authorized user is loggedin, an add relation button appear in the component
this is also true when the relations is empty (please note that empty components are NOT shown in the public page)
Once the user click on the Add relations button a configurable search form is presented
Which relations should offer this feature are configured in the spring file cris-relationpreference.xml where one can also decide who (administrator, owner of the target or a policy managed groups) will have access to the feature and which discovery configuration apply to the search form.
The cris-relationpreference.xml file contains a bean RelationServiceConfiguration containing the list of all the relations that support such feature
<bean class="org.dspace.app.cris.configuration.RelationServiceConfiguration"> <property name="list"> <list> <bean class="org.dspace.app.cris.configuration.RelationService"> <property name="relationConfiguration" ref="relationPJVSItemConfiguration"/> <property name="discoveryConfigurationKey" value="publications"/> <property name="addAction"> <bean class="org.dspace.app.cris.configuration.AddRelationMetadataAction"> <property name="metadataAction" value="dc.relation" /> </bean> </property> <property name="removeAction"> <bean class="org.dspace.app.cris.configuration.RemoveRelationMetadataAction"> <property name="metadataAction" value="dc.relation" /> </bean> </property> <property name="security"> <list> <ref bean="ownerSecurityConfiguration" /> <ref bean="adminSecurityConfiguration" /> </list> </property> </bean> ...
if the specified removeAction is specified a "remove" button will be presented aside objects already included in the relation otherwise the message Already included in the relation shown in the screenshot is displayed