Platform Explorer / CMF 1.8

Extension point lifecycle

Documentation

Extension point for registering life cycle definition.

A life cycle is a state-transition model described as an XML document.

A life cycle within Nuxeo Core describes only the states and the transitions without any security policy whatsoever. For instance, the workflow service (or BPM service) will be responsible of the security policy and actors involved.

Contribution Descriptors

  • Class: org.nuxeo.ecm.core.lifecycle.extensions.LifeCycleDescriptor

Existing Contributions

Contributions are presented in the same order as the registration order on this extension point. This order is displayed before the contribution name, in brackets.

  • nuxeo-platform-comment-core-5.4.2-HF05.jar
    <extension point="lifecycle" target="org.nuxeo.ecm.core.lifecycle.LifeCycleService">
    
        <lifecycle defaultInitial="moderation_pending" name="comment_moderation">
    
          <transitions>
            <transition destinationState="moderation_published" name="moderation_publish">
              <description>Approve the comment</description>
            </transition>
            <transition destinationState="moderation_rejected" name="moderation_reject">
              <description>Reject the comment</description>
            </transition>
          </transitions>
          <states>
            <state description="Default state" name="moderation_pending">
              <transitions>
                <transition>moderation_publish</transition>
                <transition>moderation_reject</transition>
              </transitions>
            </state>
            <state description="Comment published" name="moderation_published"/>
            <state description="Comment Rejected" name="moderation_rejected"/>
          </states>
    
        </lifecycle>
    
      </extension>
  • nuxeo-core-5.4.2-HF05.jar
    <extension point="lifecycle" target="org.nuxeo.ecm.core.lifecycle.LifeCycleService">
    
        <documentation>Nuxeo core default life cycle definition.</documentation>
    
        <lifecycle defaultInitial="project" name="default">
          <transitions>
            <transition destinationState="approved" name="approve">
              <description>Approve the content</description>
            </transition>
            <transition destinationState="obsolete" name="obsolete">
              <description>Content becomes obsolete</description>
            </transition>
            <transition destinationState="deleted" name="delete">
              <description>Move document to trash (temporary delete)</description>
            </transition>
            <transition destinationState="project" name="undelete">
              <description>Recover the document from trash</description>
            </transition>
            <transition destinationState="project" name="backToProject">
              <description>Recover the document from trash</description>
            </transition>
          </transitions>
          <states>
            <state description="Default state" initial="true" name="project">
              <transitions>
                <transition>approve</transition>
                <transition>obsolete</transition>
                <transition>delete</transition>
              </transitions>
            </state>
            <state description="Content has been validated" name="approved">
              <transitions>
                <transition>delete</transition>
                <transition>backToProject</transition>
              </transitions>
            </state>
            <state description="Content is obsolete" name="obsolete">
              <transitions>
                <transition>delete</transition>
                <transition>backToProject</transition>
              </transitions>
            </state>
            <state description="Document is deleted" name="deleted">
              <transitions>
                <transition>undelete</transition>
              </transitions>
            </state>
          </states>
        </lifecycle>
      </extension>
  • nuxeo-case-management-core-1.8.jar
    <extension point="lifecycle" target="org.nuxeo.ecm.core.lifecycle.LifeCycleService">
    
        <lifecycle defaultInitial="draft" name="case">
          <transitions>
            <transition destinationState="opened" name="open">
              <description>open the case</description>
            </transition>
            <transition destinationState="processed" name="process">
              <description>Process the case</description>
            </transition>
            <transition destinationState="archived" name="archive">
              <description>Archive the case</description>
            </transition>
          </transitions>
          <states>
            <state description="Default state" initial="true" name="draft">
              <transitions>
                <transition>open</transition>
              </transitions>
            </state>
            <state description="Case has been opened" name="opened">
              <transitions>
                <transition>process</transition>
              </transitions>
            </state>
            <state description="Case is processed" name="processed">
              <transitions>
                <transition>archive</transition>
              </transitions>
            </state>
            <state description="Case is archived" name="archived">
            </state>
          </states>
        </lifecycle>
    
        <lifecycle defaultInitial="draft" name="caselink">
          <transitions>
            <transition destinationState="project" name="toProject">
              <description>the model is project</description>
            </transition>
            <transition destinationState="todo" name="toToDo">
              <description>the element is on Todo state</description>
            </transition>
            <transition destinationState="done" name="toDone">
              <description>the element finishes</description>
            </transition>
            <transition destinationState="deleted" name="toDelete">
              <description>the element is deleted</description>
            </transition>
            <transition destinationState="deleted" name="toDelete">
              <description>the element is deleted</description>
            </transition>
            <transition destinationState="project" name="backToProject">
              <description>Recover the document from trash</description>
            </transition>
          </transitions>
          <states>
            <state description="Default state" initial="true" name="draft">
              <transitions>
                <transition>toProject</transition>
                <transition>toToDo</transition>
              </transitions>
            </state>
            <state description="Default projet state" name="project">
              <transitions>
                <transition>toDelete</transition>
              </transitions>
            </state>
            <state description="ToDo state" initial="true" name="todo">
              <transitions>
                <transition>toDone</transition>
              </transitions>
            </state>
            <state description="The element is done" name="done">
              <transitions>
                <transition>toDelete</transition>
              </transitions>
            </state>
            <state description="Document is deleted" name="deleted">
              <transitions>
                <transition>backToProject</transition>
              </transitions>
            </state>
          </states>
        </lifecycle>
    
      </extension>
  • nuxeo-platform-forum-core-5.4.2-HF05.jar
    <extension point="lifecycle" target="org.nuxeo.ecm.core.lifecycle.LifeCycleService">
    
        <lifecycle defaultInitial="moderation_pending" name="post_moderation">
    
          <transitions>
            <transition destinationState="moderation_published" name="moderation_publish">
              <description>Approve the post</description>
            </transition>
            <transition destinationState="moderation_rejected" name="moderation_reject">
              <description>Reject the post</description>
            </transition>
          </transitions>
          <states>
            <state description="Default state" name="moderation_pending">
              <transitions>
                <transition>moderation_publish</transition>
                <transition>moderation_reject</transition>
              </transitions>
            </state>
            <state description="Post published" name="moderation_published"/>
            <state description="Post Rejected" name="moderation_rejected"/>
          </states>
    
        </lifecycle>
    
      </extension>
  • nuxeo-platform-document-routing-core-5.4.3-I20110729.jar
    <extension point="lifecycle" target="org.nuxeo.ecm.core.lifecycle.LifeCycleService">
    
        <lifecycle defaultInitial="draft" name="documentRouteElement">
          <transitions>
            <transition destinationState="validated" name="toValidated">
              <description>the model is validated</description>
            </transition>
            <transition destinationState="ready" name="toReady">
              <description>the element is ready to be executed</description>
            </transition>
            <transition destinationState="running" name="toRunning">
              <description>the element starts</description>
            </transition>
            <transition destinationState="done" name="toDone">
              <description>the element finishes</description>
            </transition>
            <transition destinationState="ready" name="backToReady">
              <description>the element finishes</description>
            </transition>
            <transition destinationState="canceled" name="toCanceled">
              <description>cancel this element</description>
            </transition>
            <transition destinationState="draft" name="toDraft">
              <description>
                go to the draft state, this is done when creating a new instance
                from a model
              </description>
            </transition>
          </transitions>
          <states>
            <state description="Default state" initial="true" name="draft">
              <transitions>
                <transition>toValidated</transition>
              </transitions>
            </state>
            <state description="The element is validated" name="validated">
              <transitions>
                <transition>toReady</transition>
                <transition>toDraft</transition>
              </transitions>
            </state>
            <state description="The element is ready" initial="true" name="ready">
              <transitions>
                <transition>toRunning</transition>
                <transition>toCanceled</transition>
                <transition>toDraft</transition>
              </transitions>
            </state>
            <state description="The element is running" name="running">
              <transitions>
                <transition>toDone</transition>
                <transition>backToReady</transition>
                <transition>toCanceled</transition>
                <transition>toDraft</transition>
              </transitions>
            </state>
            <state description="The element is done" name="done">
              <transitions>
                <transition>backToReady</transition>
                <transition>toCanceled</transition>
                <transition>toDraft</transition>
              </transitions>
            </state>
            <state name="canceled"/>
          </states>
        </lifecycle>
      </extension>