Areas (Authoring, Staging, Live)

This section refers to areas as abstract concepts, not necessarily modeled as separated content areas.

Requirements:

See also:

Options:

Workspaces

Advantages:

Issues:

/de
  /foo < mix:referenceable
    /lenya:document < mix:referenceable
      /jcr:content = "Hello"
    /bar

Publish single node:

getItem("/de/foo/lenya:document").update("staging");

Publish subtree:

getItem("/de/foo").update("staging");

Separated Areas in a Single Workspace

Advantages:

Issues:

Separated Areas in a Single Node

Example:

  /foo
    /lenya:authoring
      /jcr:content = "Hello"
    /lenya:staging
      /jcr:content = "Hello"
    /lenya:live
      /jcr:content = "Hello"
    /bar
      /lenya:authoring
      /…

Advantages:

Issues:

Labelled Versions

Submit:

VersionHistory history = node.getVersionHistory();
Version base = node.getBaseVersion();
boolean move = true;
history.addVersionLabel(base.getName(), "staging", move);

Obtaining live version:

VersionHistory history = node.getVersionHistory();
Node liveVersion = history.getVersionByLabel("live");
Node liveNode = liveVersion.getChild("jcr:frozenNode");