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;
style 2 stroke-width:3px,stroke: #555
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;
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 2: Request Endorsement

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.

The repository requests an endorsement from PCI.

If this is a re-submission (i.e. there has been a previous round of evaluation of this repository resource), then this notification MUST include an inReplyTo property that MUST reference the activity ID of a previous TentativeReject notification.

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 REQUIRED. It describes the author of the preprint who is identified by their email (in URI form) so that PCI can contact them out of band of the COAR Notify protocol. It:

  • MUST have an id which MUST be a 'mailto' URI - e.g. mailto:[email protected]
  • MUST have a name
  • MUST have a type which MUST have the value Person

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 OPTIONAL. It MUST be specified if this is a response to a previous TentativeReject notification (indicating that this is a re-submission). If used, it MUST contain the URI which identifies the previous TentativeReject for which this is a response.

object

object is REQUIRED. This object describes a preprint. It:

  • MUST have an id which MUST be the HTTP URI of the "landing page" for the resource.
  • MUST have a type describing the resource, which MUST include an Activity Streams 2.0 object type, and SHOULD include the value sorg:AboutPage.
  • SHOULD have an ietf:cite-as which contains the persistent HTTP URI (sometimes called the "PID") which is to be used to cite or link to the resource.
  • MUST have an ietf:item containing the details of the actual content resource. The ietf:item:
    • MUST have an id containing the HTTP URI of the content file for the resource.
    • MUST have a type describing the resource, which MUST include an Activity Streams 2.0 object type, and SHOULD include a value from schema.org.
    • MUST have a mediaType which contains the MIME Type of the content file.

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.

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 values:

  • Offer
  • coar-notify:EndorsementAction

Example JSON-LD Payload

{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    "https://coar-notify.net"
  ],
  "actor": {
    "id": "mailto:[email protected]",
    "name": "Josiah Carberry",
    "type": "Person"
  },
  "id": "urn:uuid:0370c0fb-bb78-4a9b-87f5-bed307a509dd",
  "inReplyTo": "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": [
        "Article",
        "sorg:ScholarlyArticle"
      ]
    },
    "type": [
      "Page",
      "sorg:AboutPage"
    ]
  },
  "origin": {
    "id": "https://research-organisation.org/repository",
    "inbox": "https://research-organisation.org/inbox/",
    "type": "Service"
  },
  "target": {
    "id": "https://evolbiol.peercommunityin.org/coar_notify/",
    "inbox": "https://evolbiol.peercommunityin.org/coar_notify/inbox/",
    "type": "Service"
  },
  "type": [
    "Offer",
    "coar-notify:EndorsementAction"
  ]
}