..note:: You can experiment with the service by following the :doc:`quickstart`.
From creation to its publication/deletion, documents pass through various ``PHASES`` of their life.
These ``PHASES`` define what operations (called ``STEPS``) can be performed with the **project**, being them automatic or human-driven (e.g. moderated review).
When invoked, operations may trigger collateral ``EVENTS`` (e.g. ``ON_EDIT``).
The result of all these operations *may* change the nature of the target **project**, which contains a specific report for this (see :ref:`lifecycle`)
..note:: In brief : ``STEPS`` are operations that can be invoked by callers, ``EVENTS`` are collateral operations.
**Projects** lifecycle can vary depending on the configuration declared in its related :doc:`ucd`.
However they may change, each **project** lifecycle starts from the predefined ``PHASE = DRAFT``; what comes after that, depends on the configured lifecycle.
..figure:: _static/imgs/2phase_lc.png
:alt:PHASES and STEPS
A :ref:`2phase` lifecycle.
In the figure above is represented a 2-PHASES lifecycle.
In green, STEPS and PHASES defined by the lifecycle itself.
In blue are re, the common operations Edit, Delete and the DRAFT PHASE.
In red the DELETE *PHASE* (which isn't material).
*****************
Common Lifecycles
*****************
The suite comes with a pre-built set of implemented lifecycles with their STEPS, EVENTS and PHASES.
..note:: You can experiment with the service API by following the :doc:`quickstart`.
..warning:: Read and write permissions on *projects* are defined in :doc:`ucd`
While **projects** lifecycle can vary depending on the configuration declared in its related :doc:`ucd`, following operations are common and available for every **project**.
- Create New : The starting operation of every *project*. It expects a JSON metadata document, which will constitute the :ref:`document` section of the **project**.
- Edit : Allows for the replacement of :ref:`document`.