Definitions
status
Nodes and versions traverse different statuses during their life time. These statuses can be :
Zena::Status[:pub] (50)PublishedZena::Status[:prop] (40)Proposed for publication.Zena::Status[:prop_with] (35)Proposed with. The documents of a proposed node are in this status. They will follow the proposed node’s status when it changes to published or back to redaction.Zena::Status[:red_visible] (32)Visible redaction, visible to the members of the write group. (not implemented yet).Zena::Status[:red] (30)Redaction. A Version in this state can only be seen by it’s owner (author).Zena::Status[:rep] (20)Replaced. The version was published and another newer version took it’s place as the current publication for the concerned language.Zena::Status[:rem] (10)Removed. The version was a redaction or was published but was removed (rolled back).Zena::Status[:del] (0)Deleted. A replaced or removed version can be deleted. In this case, it will disappear from the site, going into a rubbish bin. Deleting a node sets it’smax_statusto this state and moves the node into a rubbish bin. (not implemented yet).
published
A node is published if at least one version is published and the current date is greater then the least publication date of all published versions. A version is published if it’s state is Zena::Status[:pub]. Internally, a node stores the maximum of all it’s version states and the minimum of it’s versions’ publication date, thus it is published if
@node[:max_status] == Zena::Status[:pub] && @node[:publish_from] <= Time.now
Said simply, a published node is ready to display it’s content to it’s readers.
redaction
A redaction is a node with a version in :red state for the current visitor in the current language.
private
A node is private if all it’s access groups are empty. This means only the owner of the node can view, edit or add content to a private node. The “super user” can view private nodes for help/repair (that’s why it exists). Private nodes are disabled by default.
Defining accesses

Accesses are defined through groups and ownership. Each node has one owner and three groups to define it’s accesses. Each version in the node has one owner which may be different from the node’s owner.
publish group
People in this group can make content visible to the readers by publishing proposed content or creating redactions and publishing them. They can also change the node’s name and template.
write group
People in this group can create new redactions for the current node and add new content to the node (new pages, notes, projects, ...). The content they add will not be visible to others until it is proposed for publication.
read group
People in this group will be able to see the node if it is published.
owner
The owner is the creator of the node. If the node is not visible to others (not published or private), the owner has manage rights on the node.
To alter the access groups themselves, the visitor must have publish rights in the node’s parent. To change a node’s parent (moving it around), the visitor must have publish rights in the current parent and in the receiving parent, except if the node is not visible yet (redaction) in which case it can be moved around freely.
Visitor status
Above the access rights defined based on the group membership, there is another layer based on the “participation status” of the visitor in the current site.
Here are the different statuses which a user can have:
- su
Super user (special, only 1 for each site) used only to solve problems (nearly never used). - admin
Belongs to all groups, can add/remove/change users, can change any settings in the “admin” part of the site. - user
Normal user with read/write/publish power. No access to the admin part of the site. - commentator
Can only read and post comments - moderated
Can only read and post moderated comments - reader
Can only read - deleted
Cannot read nor login