summaryrefslogtreecommitdiff
path: root/specification/forgefed.md
diff options
context:
space:
mode:
Diffstat (limited to 'specification/forgefed.md')
-rw-r--r--specification/forgefed.md24
1 files changed, 12 insertions, 12 deletions
diff --git a/specification/forgefed.md b/specification/forgefed.md
index f98f881..1496b54 100644
--- a/specification/forgefed.md
+++ b/specification/forgefed.md
@@ -17,7 +17,7 @@ title: ForgeFed
2019 ...
-## Abstract
+# Abstract
This document describes the ForgeFed protocol. ForgeFed is an extension of the
[ActivityPub](https://www.w3.org/TR/activitypub/) protocol for delivering
@@ -26,20 +26,20 @@ The purpose of this specification is to describe a protocol that can be integrat
into source code management for enabling collaboration across different
platforms.
-## Status of This Document
+# Status of This Document
-## 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.
-## Conformance
+# Conformance
The key words MAY, MUST, MUST NOT, SHOULD, and SHOULD NOT are to be interpreted
as described in [RFC2119].
-## Objects
+# Objects
Objects are the core concept around which both ActivityPub and ForgeFed are built.
Examples of Objects are Note, Ticket, or Image.
@@ -47,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.
-## Actors
+# Actors
A ForgeFed implementation MUST provide an Actor of type `Repository` for every
repository that should support federation.
@@ -55,32 +55,32 @@ repository that should support federation.
A ForgeFed implementation SHOULD provide an Actor of type `Person` for every user
of the platform.
-## 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.
-### 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.
-### 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.
-## Server to Server Interactions
+# Server to Server Interactions
-### 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.
-## Acknowledgements
+# Acknowledgements