Published

PCI Endorsement workflow

Key (colour coding): a repository PCI notification
flowchart LR
classDef left_node fill:#f7d878;
classDef right_node fill:#aec9d3;
classDef notify fill:#e6c5d4;
4a@{shape: rect, label: "4a Will
Review
"}
4a --> 5.1
4a --> 5.2
class 4a left_node;
4b@{shape: rect, label: "4b Will NOT
Review
"}
4b --> 6
class 4b left_node;
9a@{shape: rect, label: "9a Endorsed
"}
9a --> 10.1
9a --> 10.2
class 9a right_node;
9b@{shape: rect, label: "9b Revision
Needed
"}
9b --> 13
class 9b right_node;
9c@{shape: rect, label: "9c Will NOT
Endorse
"}
9c --> 15
class 9c right_node;
1@{shape: circle, label: "1 Initiate"}
1 --> 2
class 1 left_node;
2@{shape: doc, label: "2 Request
Endorsement
"}
2 --> 3
class 2 notify;
3@{shape: diamond, label: "3 Process
Request
"}
3 --> 4a
3 --> 4b
class 3 right_node;
5.1@{shape: doc, label: "5.1 Tentatively
Accept
"}
5.1 --> 8
class 5.1 notify;
5.2@{shape: diamond, label: "5.2 Conduct
Review
"}
5.2 --> 9a
5.2 --> 9b
5.2 --> 9c
class 5.2 right_node;
style 6 stroke-width:3px,stroke: #555
6@{shape: doc, label: "6 Reject"}
6 --> 7
class 6 notify;
7@{shape: stadium, label: "7 Accept
Decision
"}
class 7 left_node;
8@{shape: rect, label: "8 Note
Status
"}
class 8 left_node;
10.1@{shape: docs, label: "10.1 Announce
Review
"}
10.1 --> 11
class 10.1 notify;
10.2@{shape: doc, label: "10.2 Announce
Endorsement
"}
10.2 --> 12
class 10.2 notify;
11@{shape: stadium, label: "11 Record Link
to Review
"}
class 11 left_node;
12@{shape: stadium, label: "12 Record Link
to Endorsement
"}
class 12 left_node;
13@{shape: doc, label: "13 Tentative
Reject
"}
13 --> 14
class 13 notify;
14@{shape: stadium, label: "14 Revise
Submission
"}
class 14 left_node;
15@{shape: doc, label: "15 Reject"}
15 --> 16
class 15 notify;
16@{shape: stadium, label: "16 Accept
Decision
"}
class 16 left_node;

Step 6: Reject

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.

PCI rejects the offer to endorse the preprint

Properties

@context

@context is REQUIRED. It takes an array of URIs which MUST include:

  • https://www.w3.org/ns/activitystreams

and MUST include ONE of the following:

  • https://coar-notify.net (preferred)
  • https://purl.org/coar/notify instead (deprecated)

actor

actor is RECOMMENDED. It describes the party responsible for this activity. It:

  • MUST have an id which MUST be a URI identifying the actor (HTTP URIs are RECOMMENDED, but any valid URI is permitted)
  • MUST have a type which MUST be one of: Application, Group, Organization, Person or Service from Activity Streams 2.0.
  • MAY have a name which is a string containing the name of the party responsible for this activity

The inclusion of actor is highly RECOMMENDED in order to facilitate the broadest possible interoperability beyond the immediate COAR Notify context. Some external systems which can usefully consume notifications based on Activity Streams 2.0 may require the presence of an actor to function correctly.

id

id is REQUIRED. It MUST identify an Activity Streams 2.0 activity. Its value MUST be a single URI, and the use of URN:UUID is RECOMMENDED. An HTTP URI MAY be used instead, and in such cases the URI SHOULD resolve to a useful resource.

inReplyTo

inReplyTo is REQUIRED. It MUST be specified because this is a response to a previous notification. It takes the URI which identifies the activity for which this is a response.

object

object is REQUIRED. It is the complete payload (without the @context property) of the Offer activity to which this pattern is a response. In this case, the object contains an inner object which represents the resource which was being offered, rather than an activity. Note that the value of the inReplyTo property MUST be the same as the value of the id property of the object, because both point to the original Offer activity.

origin

origin is REQUIRED. It describes the system which has sent the notification. It:

  • MUST have an id which MUST be an HTTP URI identifying the sending system
  • MUST have a type which SHOULD include the value Service from Activity Streams 2.0
  • MUST have an inbox which MUST have the HTTP URI of the LDN inbox for the origin.

summary

summary is OPTIONAL. When present, it SHOULD provide a brief, free-text summary of the reason for rejecting the previous Offer.

target

target is REQUIRED. It describes the system which is intended to receive the notification. It:

  • MUST have an id which MUST be an HTTP URI identifying the receiving system
  • MUST have a type which SHOULD include the value Service from Activity Streams 2.0
  • MUST have an inbox which MUST have the HTTP URI of the LDN inbox for the target.

type

type is REQUIRED. The type of this activity MUST include the value Reject

Example JSON-LD Payload

{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    "https://coar-notify.net"
  ],
  "actor": {
    "id": "https://evolbiol.peercommunityin.org/coar_notify/",
    "name": "Peer Community in Evolutionary Biology",
    "type": "Service"
  },
  "id": "urn:uuid:668f26e0-2c8d-4117-a0d2-ee713523bcb1",
  "inReplyTo": "urn:uuid:0370c0fb-bb78-4a9b-87f5-bed307a509dd",
  "object": {
    "actor": {
      "id": "https://orcid.org/0000-0002-1825-0097",
      "name": "Josiah Carberry",
      "type": "Person"
    },
    "id": "urn:uuid:0370c0fb-bb78-4a9b-87f5-bed307a509dd",
    "object": {
      "id": "https://research-organisation.org/repository/preprint/201203/421/",
      "ietf:cite-as": "https://doi.org/10.5555/12345680",
      "ietf:item": {
        "id": "https://research-organisation.org/repository/preprint/201203/421/content.pdf",
        "mediaType": "application/pdf",
        "type": [
          "Page",
          "sorg:AboutPage"
        ]
      },
      "type": "sorg:AboutPage"
    },
    "origin": {
      "id": "https://research-organisation.org/repository",
      "inbox": "https://research-organisation.org/inbox/",
      "type": "Service"
    },
    "target": {
      "id": "https://overlay-journal.com/system",
      "inbox": "https://overlay-journal.com/inbox/",
      "type": "Service"
    },
    "type": [
      "Offer",
      "coar-notify:EndorsementAction"
    ]
  },
  "origin": {
    "id": "https://evolbiol.peercommunityin.org/coar_notify/",
    "inbox": "https://evolbiol.peercommunityin.org/coar_notify/inbox/",
    "type": "Service"
  },
  "summary": "The offer has been rejected because...",
  "target": {
    "id": "https://research-organisation.org/repository",
    "inbox": "https://research-organisation.org/inbox/",
    "type": "Service"
  },
  "type": "Reject"
}