Page History
...
Name: a label for the Notify Service used on the UI |
Description: the description of the Notify Service - add details here |
Service URL: the url of the remote Notify Service used when DSpace sends out LDN Messages |
Level of Trust: floating point number value accepted between 0 and 1. This value is passed into every QA Event created by every LDN Message associated with this Notify Service: it goes to evaluate the "score" attribute of the QA Event. Score attribute is used for rejection/acceptance qa event automation. See the project file dspace/config/spring/api/qaevents.xml on the bean qaAutomaticProcessingMap/qaScoreEvaluation |
Service IP Range: two IP numbers expected as minimum and maximum. This range can be used to add a filter to entrust the identified Notify Service of every incoming LDN Messages. If IP Range is enabled, the sender Notify Service is identified but the current LDN Message is coming from an IP out of this range - the LDN Message is set as untrusted. |
LDN Inbox URL: every incoming LDN Message must have an identifiable Notify Service. We match this field to the origin.inbox attribute of the LDN Message. Despite the ip range - this field is mandatory. Every incoming LDN Message with a non-identifiable Notify Service associated is set as untrusted and won't be enrouted to the Ldn Router. |
Inbound Pattern: stored into the database table notifyservice_inbound_pattern - we can add at least 1 of them for each Notify Service. Every inbound pattern is the triple of [ pattern, item filter, automatic flag ] :
|
...
When the Offer message has been followed by a related incoming Acknowledgement message: if the ack is an accept/tentative accept the box shown is blue, if the ack is a tentative rejct the box shown is red.
When Offer message has been followed by a related Announce incoming message, there are no boxes of this kind shown, because it’s expected for the boxes about qa to be shown!
Level of Trust
the box shown is blue! It is blue because receiving an Announce means - then the message is extracted - we produce a new QA Event. As every QA Event it is shown on Item Page and myDSpace page.
Level of Trust
It’s a number 0 < # < 1. Triggers an automatic It’s a number 0 < # < 1. Triggers an automatic approval of QAEvent once the LDN message is extracted. On qaevents.xml spring configuration files the bean qaScoreEvaluation describes three different boundaries defaults to manage the level of trust:
...
score <= rejection deletes the QAEvent; score <= ignore discards the QAEvent; score >= approval accepts the QAEvent automatically, so nobody will see it from the Quality Assurance Page because it’s created and right after approved.
...
Again about automatic Inbound Patterns flag
In the example below it is shown the submission of an Item with a new section named COAR-Notify. In this section we can choose manually specific ldn-services which cover the request on Review, Endorsement and Review. If No LDN-Services have been configured with these Inbound Patterns, combos on the COAR-Notify section are going to be empty! Example: by flagging automatic to the Inbound Pattern Request Review of LDN Service named "X" , it means that the LDN Service X will not be visible on the Request Review combo of the COAR-Notify submission section. This is the meaning of automatic: a Request Review is going to be sent out to X every time an Item is submitted. All items? No, the items filtered by the Item Filter configured on that Inbound Pattern.
Test calls: Request Endorsement (LDN Message on item submission)
Let's configure a new Notify Service such as:
...
For this specific example we can set just the first Inbound Pattern as Request Review and leave the item filter blank. This test is not about item submission.
Pick the following POST call from the Postman project (see below to download it and import it to your installed PostMan instance): let's emulate the Notify Service external system sending us an LDN Message!
{ "@context":[ "https://www.w3.org/ns/activitystreams", "https://purl.org/coar/notify" ], "actor":{ "id":"https://orcid.org/0000-0002-1825-0097", "name":"Josiah Carberry", "type":"Person" }, "id":"urn:uuid:0370c0fb-bb78-4a9b-87f5-bed307a50dff", //// IMPORTANT!! this must be a unique value because it's going to be stored as uuid into the ldn_message table. "object":{ "id":"http://localhost:4000/handle/123456789/1122", ////IMPORTANT!! this is the handle link to the item from the referred local repository "ietf:cite-as":"https://doi.org/10.5555/12345680", "type":"sorg:AboutPage", "url":{ "id":"https://research-organisation.org/repository/preprint/201203/421/content.pdf", "mediaType":"application/pdf", "type":[ "Article", "sorg:ScholarlyArticle" ] } }, "origin":{ "id":"url.ServiceURL?score=0.8", "inbox":"http://ldn.ServiceURL?score=0.8", ///IMPORTANT through this field we reach the configured Notify Service entity by matching this field to the one named LDN Inbox URL "type":"Service" }, "target":{ "id":"https://review-service.com/system", "inbox":"https://notify-inbox.info/inbox", "type":"Service" }, "type":[ "Offer", "coar-notify:ReviewAction" ] } |
See below the successful response:
...
This means the LDN Message has been enqueued. Please remember the enqueued ldn messages must be evaluated by the Extractor for a QA Event (with source=coar-notify) to be produced. As soon as it is, a blue popup is shown on Item and myDSpace pages:
by clicking on that Check button navigation brings to the Quality Assurance Page for the source coar-notify:
If we navigate to the Quality Assurance page we can see the counter for QA Event of coar-notify source increased by 1!
Here it is the page of the specific QA Event in example:
Let's accept it with a click on the Green Check.
Go back to the item page to see the new Review metadata!
WORK IN PROGRESS Test calls: Request Review
...