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