...
Warning |
---|
Available in 7.5 or later. However, in 7.5, users approving/rejecting these requests via the HelpDesk workflow must first authenticate. This is a known bug as described in https://github.com/DSpace/DSpace/issues/8636 As of 7.6, the HelpDesk workflow can be performed without requiring authentication (issue #8636 has been fixed) |
(Optional) Request Item with HelpDesk intermediary, is steered towards having your Repository Support staff act as a helpdesk that receives all incoming RequestItem requests, and then processes them. This adds the options of "Initial Reply to Requestor" to let the requestor know that their request is being worked on, and an option "Author Permission Request" which allows the helpdesk to email the author of the document, as not all documents are deposited by the author, or the author will need to be tracked down by a support staff, as DSpace might not have their current email address.
...
Info |
---|
|
The strategy is selected using a Spring <alias alias='org.dspace.app.requestitem.RequestItemAuthorExtractor' name='theStrategyClass'/> . Previously this was done by moving the RequestItemAuthorExtractor id to the selected <bean> definition. |
Info |
---|
|
The strategy is selected by configuring it into the <bean/> for RequestItemMetadataStrategy as a constructor argument. |
Configure who gets request via a metadata field
By default the RequestItemMetadataStrategy
is enabled, but falls back to the Item Submitter eperson's name and email. You can configure the RequestItemMetadataStrategy
to load the author's name and email address if you set that information into an item metadata field. For example:
Code Block |
---|
title | Syntax for 7.6 or later |
---|
|
<!-- This alias defines that you want to use the RequestItemMetadataStrategy (this is enabled by default) -->
<alias alias='org.dspace.app.requestitem.RequestItemAuthorExtractor'
name='org.dspace.app.requestitem.RequestItemMetadataStrategy'/>
<bean class="org.dspace.app.requestitem.RequestItemMetadataStrategy"
id="org.dspace.app.requestitem.RequestItemMetadataStrategy"
autowireCandidate="true">
<!--
This bean Uncommentspecifies thesethat propertiesyou ifwant youto wantuse lookupthe inRequestItemMetadataStrategy metadata(this theis emailenabled andby the name of the author to contact for request copy.
If you don't configure that or if the requested item doesn't have these metadata the submitter data are used as fail over
<property name="emailMetadata" value="schema.element.qualifier" />
<property name="fullNameMatadata" value="schema.element.qualifier" />
-->
</bean> |
Configure this as follows:
- Create a metadata field which you'd like to use to store this email address (and optionally a second metadata field for the full name).
- Hint: You may wish to add this metadata field to your "metadata.hide.*" settings in local.cfg in order to ensure this metadata field is hidden from normal users & is only visible to Administrative users. That way this email address will NOT appear in Item display pages (except to Administrators)
- Uncomment the "emailMetadata" setting above, and configure it's "value" to use the new metadata field.
- Edit the Item(s) which you wish to use this field. Add the new metadata field to those items, given it a value of the email address which will receive the request for copy. By default, if an Item does NOT have this metadata field, the request for copy will still go to the Item's submitter.
Configure all requests to go to a helpdesk email
Info |
---|
At this time, all users who wish to respond to a request to the helpdesk email must first login to DSpace. See https://github.com/DSpace/DSpace/issues/8636 |
Another common request strategy is the use a single Helpdesk email address to receive all of these requests (see corresponding helpdesk configs in dspace.cfg above). If you wish to use the Helpdesk Strategy, you must first comment out the default RequestItemMetadataStrategy
, bean and uncomment this bean:
default) -->
<bean class="org.dspace.app.requestitem.RequestItemEmailNotifier" lazy-init='false'>
<description>This sends various emails between the requestor and the grantor.</description>
<!-- Modify the "ref" here to point at the "RequestItemHelpdeskStrategy" -->
<constructor-arg index='0'
ref='org.dspace.app.requestitem.RequestItemMetadataStrategy'/>
</bean>
<!-- This bean allows you to specify which metadata field is used (if any) -->
<bean class="org.dspace.app.requestitem.RequestItemMetadataStrategy"
id="org.dspace.app.requestitem.RequestItemMetadataStrategy">
<!--
Uncomment these properties if you want lookup in metadata the email and the name of the author to contact for request copy.
If you don't configure that or if the requested item doesn't have these metadata the submitter data are used as fail over
<property name="emailMetadata" value="schema.element.qualifier" />
<property name="fullNameMatadata" value="schema.element.qualifier" />
-->
</bean> |
Code Block |
---|
title | Syntax for 7.5 or earlier |
---|
|
<!-- This alias defines that you want to use the RequestItemMetadataStrategy (this is enabled by default) -->
<alias alias='org.dspace.app.requestitem.RequestItemAuthorExtractor'
name='org.dspace.app.requestitem.RequestItemMetadataStrategy'/>
<!-- This bean allows you to specify which metadata field is used (if any) -->
<bean class="org.dspace.app.requestitem.RequestItemMetadataStrategy"
id="org.dspace.app.requestitem.RequestItemMetadataStrategy"
autowireCandidate="true">
<!--
Uncomment these properties if you want lookup in metadata the email and the name of the author to contact for request copy.
If you don't configure that or if the requested item doesn't have these metadata the submitter data are used as fail over
<property name="emailMetadata" value="schema.element.qualifier" />
<property name="fullNameMatadata" value="schema.element.qualifier" />
-->
</bean> |
Configure this as follows:
- Create a metadata field which you'd like to use to store this email address (and optionally a second metadata field for the full name).
- Hint: You may wish to add this metadata field to your "metadata.hide.*" settings in local.cfg in order to ensure this metadata field is hidden from normal users & is only visible to Administrative users. That way this email address will NOT appear in Item display pages (except to Administrators)
- Uncomment the "emailMetadata" setting above, and configure it's "value" to use the new metadata field.
- Edit the Item(s) which you wish to use this field. Add the new metadata field to those items, given it a value of the email address which will receive the request for copy. By default, if an Item does NOT have this metadata field, the request for copy will still go to the Item's submitter.
Configure all requests to go to a helpdesk email
Info |
---|
Prior to 7.6, all users who wish to respond to a request to the helpdesk email must first login to DSpace. See https://github.com/DSpace/DSpace/issues/8636 This was fixed in 7.6. |
Another common request strategy is the use a single Helpdesk email address to receive all of these requests (see corresponding helpdesk configs in dspace.cfg above). If you wish to use the Helpdesk Strategy, you must replace the references to the default RequestItemMetadataStrategy
, bean with the RequestItemHelpdeskStrategy
bean:
Code Block |
---|
title | Syntax for 7.6 or later |
---|
|
<!-- To change the settings, you need to modify the constructor-arg (see below) to use the "RequestItemEmailNotifier" bean.-->
<bean class="org.dspace.app.requestitem.RequestItemEmailNotifier" lazy-init='false'>
<description>This sends various emails between the requestor and the grantor.</description>
<!-- Modify the "ref" here to point at the "RequestItemHelpdeskStrategy" -->
<constructor-arg index='0'
ref='org.dspace.app.requestitem.RequestItemHelpdeskStrategy'/>
</bean> |
Code Block |
---|
title | Syntax for 7.5 or earlier |
---|
|
<!-- Change this alias to use "RequestItemHelpdeskStrategy" bean-->
<alias alias='org.dspace.app.requestitem.RequestItemAuthorExtractor'
name='org.dspace.app.requestitem.RequestItemHelpdeskStrategy'/>
<!-- Ensure the bean is uncommented (it should be by default) -->
<bean class="org.dspace.app.requestitem.RequestItemHelpdeskStrategy"
id="org.dspace.app.requestitem.RequestItemHelpdeskStrategy"
autowireCandidate="true"/> |
Configure all requests to go to the administrators of a Collection
This strategy sends mail to all of the members of the administrators group for the collection which owns the item.
Code Block |
---|
title | Syntax for 7.6 or later |
---|
|
<!-- To change the settings, you need to modify the constructor-arg (see below) to use the "CollectionAdministratorsRequestItemStrategy" bean.-->
<bean class="org.dspace.app.requestitem.RequestItemEmailNotifier" lazy-init='false'>
<description>This sends various emails between the requestor and the grantor.</description>
<!-- Modify the "ref" here to point at the "CollectionAdministratorsRequestItemStrategy" -->
<constructor-arg index='0'
ref='org.dspace.app.requestitem.CollectionAdministratorsRequestItemStrategy'/>
</bean> |
Code Block |
---|
title | Syntax for 7.5 or earlier |
---|
|
<!-- Change this alias to use "CollectionAdministratorsRequestItemStrategy" bean-->
<alias alias='org.dspace.app.requestitem.RequestItemAuthorExtractor'
name='org.dspace.app.requestitem.CollectionAdministratorsRequestItemStrategy'/>
<!-- Ensure the bean is uncommented (it should be by default) -->
<bean class='org.dspace.app.requestitem.CollectionAdministratorsRequestItemStrategy'
id='org.dspace.app.requestitem.CollectionAdministratorsRequestItemStrategy'
autowireCandidate='true'/> |
Combine multiple strategies
This strategy combines the results of other strategies into a single list of email recipients. Pass the strategy a single constructor argument, being a list of the strategy beans whose output should be combined.
In the following example, email will be sent to the address(es) found in the configured metadata fields (or to the submitter if none), and to the owning collection's administrators.
Code Block |
---|
title | Syntax for 7.6 or later |
---|
|
<!-- To change the settings, you need to modify the constructor-arg (see below) to use the "CombiningRequestItemStrategy" bean.-->
<bean class="org.dspace.app.requestitem.RequestItemEmailNotifier" lazy-init='false'>
<description>This sends various emails between the requestor and the grantor.</description>
<!-- Modify the "ref" here to point at the "CombiningRequestItemStrategy" -->
<constructor-arg index='0'
ref |
Code Block |
---|
<alias alias='org.dspace.app.requestitem.RequestItemAuthorExtractor'
name='org.dspace.app.requestitem.RequestItemHelpdeskStrategyCombiningRequestItemStrategy'/>
</bean>
<!-- HelpDesk to instead get RequestItem emails-- This bean is where you can combine multiple strategies by referencing them in the <list> below -->
<bean class="'org.dspace.app.requestitem.RequestItemHelpdeskStrategy"CombiningRequestItemStrategy'
id="'org.dspace.app.requestitem.RequestItemHelpdeskStrategy".requestitem.CombiningRequestItemStrategy'>
<constructor-arg>
<description>A list of references to RequestItemAuthorExtractor beans</description>
autowireCandidate="true"/> |
Configure all requests to go to the administrators of a Collection
This strategy sends mail to all of the members of the administrators group for the collection which owns the item.
Code Block |
---|
<alias alias<list>
<ref bean='org.dspace.app.requestitem.RequestItemAuthorExtractorRequestItemMetadataStrategy'/>
<ref namebean='org.dspace.app.requestitem.CollectionAdministratorsRequestItemStrategy'/>
<bean class='org.dspace.app.requestitem.CollectionAdministratorsRequestItemStrategy'
id='org.dspace.app.requestitem.CollectionAdministratorsRequestItemStrategy'</list>
autowireCandidate='true'/> |
Combine multiple strategies
This strategy combines the results of other strategies into a single list of email recipients. Pass the strategy a single constructor argument, being a list of the strategy beans whose output should be combined.
In the following example, email will be sent to the address(es) found in the configured metadata fields (or to the submitter if none), and to the owning collection's administrators.
</constructor-arg>
</bean> |
Code Block |
---|
title | Syntax for 7.5 or earlier |
---|
|
<!-- Change this alias to use "CombiningRequestItemStrategy" bean-->
|
Code Block |
---|
<alias alias='org.dspace.app.requestitem.RequestItemAuthorExtractor'
name='org.dspace.app.requestitem.CombiningRequestItemStrategy'/>
<!-- This bean is where you can combine multiple strategies by referencing them in the <list> below -->
<bean class='org.dspace.app.requestitem.CombiningRequestItemStrategy'
id='org.dspace.app.requestitem.CombiningRequestItemStrategy'
autowireCandidate='true'>
<constructor-arg>
<description>A list of references to RequestItemAuthorExtractor beans</description>
<list>
<ref bean='org.dspace.app.requestitem.RequestItemMetadataStrategy'/>
<ref bean='org.dspace.app.requestitem.CollectionAdministratorsRequestItemStrategy'/>
</list>
</constructor-arg>
</bean> |
...