The persistence layer uses a 'normal' workspace as storage. The storage can later
be exchanged by a more scaleable one. The application layer operates on the
persistent one and provides the internal view of the version storage. It is
manifested through the InternalVersion
and
InternalVersionHistory
objects.
The internal versions are also mapped to the content and exposed through the
API (i.e. the Version
extends Node
and can be inspected
with normal Node methods). Furthermore the version store is also exposed below
/jcr:system/jcr:versionStorage
. The exact structure of it is not
defined yet, so applications should not relay on it and rather use
Node.getVersionHistory()
to access a particular version history or
use the search mechanisms to find the respective versions.
The presentation layer is managed by the VersionManager
. it is
responsible for mapping the version storage to the content.
Open issues: