Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

You need to register the external services to trust incoming LDN messages:

Image Modified


Administrators can do that using the menu LDN Services. Creating a new Notify Service means to submit the following form:

Image Modified


Every LDN message is going to have a link referring to the stored notify service. At time of writing it is the LDN Inbox URL. If the incoming LDN message has the LDN inbox url equals to one of the stored Notify Service' ldn_url - the LDN message is stored and queued as a trusted message, otherwise it’s flagged as untrusted.

...

We have to keep the user updated about the item situation. We do it with colored boxes on its landing (handle) page.

Image Modified

When the Offer message (being it review, endorsement or ingest) has been sent as an outgoing LDN message, and nothing else about it has been received, the yellow box is shown.

...

Firstly configure a Notify Service such as:

Image Modified


By clicking the + New green button fill the form as:
Image Modified


Pick the following POST call from the Postman project (see below to download it and import it to your installed PostMan instance):
Image Modified


Let's evaluate the request' json body (some field is commented) according to the COAR official documentation of this pattern:

{
"@context": [
    "https://www.w3.org/ns/activitystreams",
    "https://purl.org/coar/notify"
],
"actor": {
    "id": "https://research-organisation.org",
    "name": "Research Organisation",
   "type": "Organization"
},
"context": {
    "id": "http://localhost:4000/handle/123456789/1119", //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://another-research-organisation.org/repository/datasets/item/201203421/data_archive.zip",
        "mediaType": "application/zip",
        "type": [
            "Article",
           "sorg:Dataset"
        ]
    }
},
"id": "urn:uuid:2f4ec582-109e-4952-a94a-b7d7615a8c69", // IMPORTANT!! this must be a unique value because it's going to be stored as uuid into the ldn_message table.
"object": {
    "as:object": "newValue",
    "as:relationship": "somethingElse", // as "http://purl.org/vocab/frbr/core#supplement" or something else
    "as:subject": "https://research-organisation.org/repository/item/201203/421/",
    "id": "http://localhost:4000/handle:123456789/1119",
    "type": "Relationship"
},
"origin": {
    "id": "https://research-organisation.org/repository",
    "inbox": "2f4ec582-109e-4952-a94a-b7d7615a8c69",  // through this field we reach the configured Notify Service entity by matching this field to the one named LDN Inbox URL
    "type": "Service"
},
"target": { // MUST be valid but it is not rilevant
    "id": "https://another-research-organisation.org/repository",
    "inbox": "https://another-research-organisation.org/inbox/",
    "type": "Service"
},
"type": [
    "Announce",
    "coar-notify:RelationshipAction"
]
}


See below the successful response:

Image AddedThis means the LDN Message has been enqueued.

Postman Project

Here’s the Postman collection for all test purposes: 

...