Update content/docs/index.md
This commit is contained in:
parent
1af9220b09
commit
0af6c1af84
1 changed files with 24 additions and 24 deletions
|
@ -4,8 +4,9 @@ title: Protocol Introduction
|
||||||
|
|
||||||
## The Tent Protocol
|
## The Tent Protocol
|
||||||
|
|
||||||
Tent is a protocol for distributed social networking. It allows you to control
|
Tent is a protocol for decentralized social networking. It allows you to control your data, who has access to it, and what can be done with it.
|
||||||
your data, who has access to it, and what can be done with it.
|
|
||||||
|
Anyone can run a Tent server or write a Tent app. There are Tent hosts for users who do not want to manage a server.
|
||||||
|
|
||||||
|
|
||||||
### API Overview
|
### API Overview
|
||||||
|
@ -19,28 +20,17 @@ content on behalf of users.
|
||||||
|
|
||||||
### Users
|
### Users
|
||||||
|
|
||||||
Tent users are called entities and are defined by a URI.
|
Tent users are called **entities** and identified by a URI.
|
||||||
|
|
||||||
**Example:** John Smith's entity might be `https://johnsmith.me/`, implying a [HEAD
|
**Example:** John Smith's entity might be `https://johnsmith.me/.
|
||||||
request](http://en.wikipedia.org/wiki/HEAD_%28HTTP%29#Request_methods) to
|
|
||||||
|
A [HEAD request](http://en.wikipedia.org/wiki/HEAD_%28HTTP%29#Request_methods) to
|
||||||
`https://johnsmith.me/` would respond with a `Link` header pointing to
|
`https://johnsmith.me/` would respond with a `Link` header pointing to
|
||||||
a Tent profile (e.g. `https://tent.johnsmith.me/profile`)
|
a Tent profile (e.g. `https://tent.johnsmith.me/profile`)
|
||||||
|
|
||||||
|
|
||||||
### Profiles
|
|
||||||
|
|
||||||
Every Tent entity has a profile JSON file describing it. The most basic profile
|
|
||||||
has a single object containing the Tent version, the entity name (e.g.
|
|
||||||
johnsmith.me), an array of supported licences, and an array of servers
|
|
||||||
containing canonical API roots.
|
|
||||||
|
|
||||||
You may have multiple versions of the same info type in your profile (e.g. you
|
|
||||||
might need to support multiple versions of Tent.)
|
|
||||||
|
|
||||||
|
|
||||||
### Servers
|
### Servers
|
||||||
|
|
||||||
Tent servers are the protocol core. A server handles these responsibilities:
|
Tent servers are the protocol core. They represent the users and maintain their data and relationships. Servers also handle these responsibilities:
|
||||||
|
|
||||||
- Persisting data
|
- Persisting data
|
||||||
- Notifying other servers about new data
|
- Notifying other servers about new data
|
||||||
|
@ -48,12 +38,13 @@ Tent servers are the protocol core. A server handles these responsibilities:
|
||||||
- Managing a list of servers (entities) it is following
|
- Managing a list of servers (entities) it is following
|
||||||
- Managing a list of servers (entities) that are following it
|
- Managing a list of servers (entities) that are following it
|
||||||
- Authorizing apps to access data
|
- Authorizing apps to access data
|
||||||
- Notifying apps about new or modified data they have access to
|
- Notifying apps about new or modified data to which they have access
|
||||||
|
|
||||||
|
tentd is the current reference Tent server.
|
||||||
|
|
||||||
### Apps
|
### Apps
|
||||||
|
|
||||||
Tent apps are typically where content is created and consumed.
|
Users create and view content on apps. Apps must authenticate with the user's server before content can be posted or viewed.
|
||||||
|
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
|
@ -65,15 +56,24 @@ For example:
|
||||||
6. Anna can now read Ian’s post from the status app.
|
6. Anna can now read Ian’s post from the status app.
|
||||||
7. If Anna decides to reply, her response will follow a path inverse to Ian’s post.
|
7. If Anna decides to reply, her response will follow a path inverse to Ian’s post.
|
||||||
|
|
||||||
|
TentStatus is an open source Tent app for creating and viewing status posts.
|
||||||
|
|
||||||
### Posts
|
### Posts
|
||||||
|
|
||||||
Tent posts can be used to describe anything. The term used to describe a piece
|
Posts are at the core of Tent. They are sent to followers immediately after being created. Users set permissions on each post that determine which other users can access them. Other users can fetch public posts individually or over a date range. Posts each have a post type which describes its data. Tent posts can be used to describe anything, and developers can create new post types for different kinds of media, interactions, or applications. This documentation describes four basic post types: **status**, short messages of 140 characters or less, **essay**, longer form writing, **photo**, pictures, and **album**, a collection of **photo** posts.
|
||||||
of content is __post__. Posts each have a post type which describes its data.
|
|
||||||
|
|
||||||
|
### Profiles
|
||||||
|
|
||||||
|
Every Tent entity's server has a profile JSON file describing it. They store information about the user, specifically static information that should always be accessible.
|
||||||
|
|
||||||
|
The most basic profile
|
||||||
|
has a single object containing the Tent version, the entity name (e.g.
|
||||||
|
johnsmith.me), an array of supported licences, and an array of servers
|
||||||
|
containing canonical API roots.
|
||||||
|
|
||||||
|
A user may have multiple versions of the same info type in your profile.
|
||||||
|
|
||||||
### Notifications
|
### Notifications
|
||||||
|
|
||||||
Tent notifications are used when a server needs to let another server or app
|
Tent notifications are used when a server needs to let another server or app
|
||||||
know about new content updates. Notifications are JSON POST requests containing
|
know about new content updates. This includes new posts and profile changes. Notifications are JSON POST requests containing posts.
|
||||||
posts.
|
|
Loading…
Add table
Add a link
Reference in a new issue