Author logs

Authors create and update documents by publishing operations. Each author has their own operation log associated with a document. Depending on the pruning logic for the document, an authors log will be trimmed or even completely removed.

The authors in this document are "anna" (owner), "billy" and "claire". They are peers on the network and send messages to each other containing any changes they make. They do this at different frequencies and the messages are delayed by network latency. High latency and frequent changes will result in concurrent changes occurring more often. Sometimes peers may go offline entirely, but keep editing their document locally.

Document Graph

Document

A document "window" bounds the set of operations which make up it's current history. It's possible to keep a documents entire history of changes, or only the most recent. The size of the window is determined by the documents' pruning strategy. Below are three basic parameters for configuring when operations should be pruned, by depth (distance from tip) or by timestamp. There is the possibility to introduce custom pruning algorithms which could have application specific logic.

Capabilities

Initially only a documents owner (creator) is authorized to perform any actions (read, write, delete) on it. When collaboration is desired, the owner can issue tokens (aka capabilities) which state who can perform what actions when. The current document is owned by anna, we can simulate issuing capabilities over time ranges here. Type the name ("billy" or "claire") of the author you want to issue the capability to, and state how long it should be valid.