summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--specification/forgefed-vocabulary.md30
-rw-r--r--specification/forgefed.md32
2 files changed, 21 insertions, 41 deletions
diff --git a/specification/forgefed-vocabulary.md b/specification/forgefed-vocabulary.md
index f853202..c25f0ed 100644
--- a/specification/forgefed-vocabulary.md
+++ b/specification/forgefed-vocabulary.md
@@ -2,8 +2,6 @@
title: ForgeFed Vocabulary
---
-# ForgeFed Vocabulary - DRAFT
-
**Editors:**
- deesix
@@ -26,18 +24,12 @@ of the [ActivityPub Vocabulary](https://www.w3.org/TR/activitystreams-vocabulary
and provides additional vocabulary for federation of project management and
version control system hosting and collaboration platforms.
-# Table of Contents
-
-1. [Introduction](#Introduction)
-2. [Types](#Types)
-3. [Properties](#Properties)
-
-1. Introduction
+# Introduction
The ForgeFed Vocabulary describes a set of types and properties to be used by
platforms that support the ForgeFed protocol.
-2. Types
+# Types
The base URI to be used as context for the new ForgeFed types and properties has
been defined to be `https://forgefed.peers.community/ns#`. Therefore any ForgeFed
@@ -48,9 +40,9 @@ activity MUST use the following `context`
"https://forgefed.peers.community/ns"
]
-2.1. Activity Types
+## Activity Types
-2.1.1. Follow
+### Follow
**URI:** `https://www.w3.org/ns/activitystreams#Follow`
@@ -71,7 +63,7 @@ ActivityPub) but it's here for reference.
"object": "https://remotehost/bob/forgefed"
}
-2.1.2. Push
+### Push
**URI:** `https://forgefed.peers.community/ns#Push`
@@ -99,9 +91,9 @@ A Repository actor can use this Activity to notify followers of new changes.
]
}
-2.2. Actor Types
+## Actor Types
-2.2.1. Person
+### Person
**URI:** `https://www.w3.org/ns/activitystreams#Person`
@@ -126,7 +118,7 @@ type defined by ActivityPub.
"following": ""
}
-2.2.2. Repository
+### Repository
**URI:** `https://forgefed.peers.community/ns#Repository`
@@ -149,9 +141,9 @@ type defined by ActivityPub.
"following": ""
}
-2.3. Object Types
+## Object Types
-2.3.1. Commit
+### Commit
**URI:** `https://forgefed.peers.community/ns#Commit`
@@ -193,6 +185,6 @@ are used to track ideas, enhancements, tasks, or bugs.
"context": ""
}
-3. Properties
+# Properties
diff --git a/specification/forgefed.md b/specification/forgefed.md
index 08dd0aa..1496b54 100644
--- a/specification/forgefed.md
+++ b/specification/forgefed.md
@@ -2,8 +2,6 @@
title: ForgeFed
---
-# ForgeFed - DRAFT
-
**Editors:**
- deesix
@@ -30,28 +28,18 @@ platforms.
# Status of This Document
-# Table of Contents
-
-1. [Overview](#Overview)
-2. [Conformance](#Conformance)
-3. [Objects](#Objects)
-4. [Actors](#Actors)
-5. [Client to Server Interactions](#Client to Server Interactions)
-6. [Server to Server Interactions](#Server to Server Interactions)
-7. [Acknowledgements](#Acknowledgements)
-
-1. Overview
+# Overview
ForgeFed is an extension of [ActivityPub](https://www.w3.org/TR/activitypub/)
and follows the same "actors" model, with a client-to-server protocol and a
server-to-server protocol.
-2. Conformance
+# Conformance
The key words MAY, MUST, MUST NOT, SHOULD, and SHOULD NOT are to be interpreted
as described in [RFC2119].
-3. Objects
+# Objects
Objects are the core concept around which both ActivityPub and ForgeFed are built.
Examples of Objects are Note, Ticket, or Image.
@@ -59,7 +47,7 @@ Objects are wrapped in Activities, a subtype of Object that describes some form
of action that may happen, is currently happening, or has already happened.
Examples of Activities are Create, Delete, or Follow.
-4. Actors
+# Actors
A ForgeFed implementation MUST provide an Actor of type `Repository` for every
repository that should support federation.
@@ -67,32 +55,32 @@ repository that should support federation.
A ForgeFed implementation SHOULD provide an Actor of type `Person` for every user
of the platform.
-5. Client to Server Interactions
+# Client to Server Interactions
ForgeFed uses Activities for client to server interactions, as described by
ActivityPub. A client will send objects (eg. a Ticket) wrapped in a Activity
(eg. Create) to an actor's outbox, and in turn the server will take care of
delivery.
-5.1. Follow Activity
+## Follow Activity
The Follow activity is used to subscribe to the activities of a Repository.
The client MUST send a Follow activity the a Person's outbox. The server
in turn delivers the message to the destination inbox.
-5.2. Push Activity
+## Push Activity
The Push activity is used to notify followers when somebody has pushed changes
to a Repository.
The client MUST send a Push activity the a Repository's outbox. The server
in turn delivers the message to the Repository followers.
-6. Server to Server Interactions
+# Server to Server Interactions
-6.1. Follow Activity
+## Follow Activity
The server receiving a Follow activity in a Repository's inbox SHOULD add the
sender actor to the Repository's followers collection.
-7. Acknowledgements
+# Acknowledgements