The purpose of this document is to describe the most complicated vision that might be necessary. Hopefully we will find ways to simplify this. But some communities may need very advanced relationships and hopefully this document describes almost all of them.
Permissions
A site or document has the following permissions:
Read - A person can see the content
Comment - A person can add comments to the community
Write - A person can add or edit community knowledge (documents)
Administrate - Moderation, and setting access permissions
By default a site is restricted. For each of these permission, they may be set to Open, Closed, Followers, or Members.
Contact
A contact is from one account to another. It may specify an edge name.
It will specify Following or Blocking or Welcoming.
Following
Welcoming
Blocking
Roles
relationship between two accounts
No association
Follower - The person has added the site as a contact
Member - When a person is following AND the site has added the person as a contact
Capabilities
Explicit granting of permissions
Read, Write, Comment
Private Actions
In addition, a person might take some private actions with regard to a site
Sync & Store (Archive) - continuously download content from this site, and save it on your computer or server
Get Notified - get emails or sounds when something happens in this site
Favorite - create a shortcut/bookmark to have easy access to the site
When a person "joins" a community, they are generally trying to become a member and raise their level of abilities.
All roles effectively require two-way consent. Nobody can force you to read or join with a site. And site administrators have the ability to close off abilities to unknown people.
Examples
A community of Java programmers allows anybody to read, associate, and comment. The list of associates is public. Alice can "join" to become publicly associated, and she has the ability to comment. But she cannot write until a site admin gives her a write capability.
Open Reading, Open Members, Open Comments, Closed Writing
Anybody is allowed to read, join as a member, and comment. Only specific people are allowed to edit the documents.
A community of amateur rocket builders.
Open Reading, Closed Membership, Member Comments and Writing
Everyone can read the content and list of members. You must ask to join as a member. Once you are a member, you can comment and write.
A community of YIMBY housing advocates
Open Reading, Open Membership, Member-only Comments and Writing
You must join as a member before you are allowed to comment and write documents.
Academic Community in Mathematics
Closed Membership and Writing. Member-only Reading and Commenting
You can't see anything about this community until you request to join and are accepted. Once you join, you can read, see the list of members, and write comments. To write, you must be explicitly granted permission from the site administrators.
Flowchart
Protocol Extensions
Site/Document Attributes
Readership Open: Boolean (Default: true)
Commentary Open: Boolean (Default: true)
Writing Open: Boolean (Default: false)
Open Membership: Boolean (default false) - when true, all followers are labeled as members