diff options
Diffstat (limited to 'specification/forgefed.md')
-rw-r--r-- | specification/forgefed.md | 24 |
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 |