F3-ForgeFed merger
For merging F3 and the ForgeFed vocabulary, I propose that we start with F3 and make the following changes to make F3 Activity Streams-compatible:
-
Add type
fields to all the F3 objects -
Add id
fields for the IRI of the object -
Use IRIs to reference users, repos, etc
I tried out merging the F3, ForgeFed, and Forgejo API formats for issues, and this is what I came up with: (One observation: a lot of fields are in both F3 and ForgeFed, but have different names)
{
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://forgefed.org/ns"
],
"type": "Ticket",
"id": "https://example.dev/alice/myrepo/issues/42",
"context": "https://example.dev/alice/myrepo",
"attributedTo": "https://dev.community/bob", // poster_id in F3
"name": "#42", // index in F3
"summary": "Nothing works!", // title in F3
"content": "Please fix. *Everything* is broken!", // content in F3
"mediaType": "text/markdown; variant=CommonMark",
"assignedTo": ["https://example.dev/alice"], // assignees in F3
"isResolved": false, // state in F3
"isLocked": false,
"published": "2019-07-11T12:34:56Z", // created in F3
"updated": "2019-07-11T12:34:56Z",
"resolved": "2020-07-11T12:34:56Z", // closed in F3
"labels": ["bug", "wontfix"],
"reactions": [],
"milestone": null,
"comments": [],
"dueDate": null
}