View existing lifecycle configurations

In the navigator under "Govern" click on "Lifecycles". A list of available lifecycles is shown.

Adding a lifecycle configuration

In the above lifecycle configuration page, click on "Add Lifecycle". A configuration page with a sample lifecycle configuration is shown. Click on save to save the configuration or cancel to return to available lifecycle configuration list.

Editing an existing lifecycle configuration

Click on corresponding "Edit" link found under each lifecycle configuration, from lifecycle configuration list. A configuration page with the lifecycle configuration is shown.

Note that, if the lifecycle configuration is in use, editing is not allowed

Deleting an existing lifecycle configuration

Click on corresponding "Delete" link found under each lifecycle configuration, from lifecycle configuration list. A confirmation prompt is shown. Note that, if the lifecycle configuration is in use, deletion is not allowed.

Searching for resources/collections with lifecycles

You can search for resources/collections with any lifecycle by clicking "Find Resources/Collections With Lifecycles". To search for resources/collections having a specific lifecycle, click on the corresponding "Find Usage" button.

Lifecycle Configuration

Following is a sample configuration. In the configuration, the xml element structure should strictly followed.

<aspect name="SampleLifeCycle" class="org.wso2.carbon.governance.registry.extensions.aspects.ChecklistLifeCycle">
  <configuration type="literal">
    <lifecycle>
      <state name="Initialize">
        <checkitem>Requirements Gathered</checkitem>
        <checkitem>Architecture Finalized</checkitem>
        <checkitem>High Level Design Completed</checkitem>
      </state>
      <state name="Designed">
        <checkitem>Code Completed</checkitem>
        <checkitem>WSDL, Schema Created</checkitem>
        <checkitem>QoS Created</checkitem>
      </state>
      <state name="Created">
        <checkitem>Effective Inspection Completed</checkitem>
        <checkitem>Test Cases Passed</checkitem>
        <checkitem>Smoke Test Passed</checkitem>
      </state>
      <state name="Tested">
        <checkitem>Service Configuration</checkitem>
      </state>
      <state name="Deployed">
        <checkitem>Service Configuration</checkitem>
      </state>
      <state name="Deprecated"> </state>
    </lifecycle>
  </configuration>
</aspect>

Step by Step guide to configuration

Step1: Start with the following compulsary starting and ending lines for the configuration. Place a unique name as the name attribute of the aspect element. In this example we are using "SampleLifecycle"

<aspect name="SampleLifecycle" class="org.wso2.carbon.governance.registry.extensions.aspects.ChecklistLifeCycle">
  <configuration type="literal">
    <lifecycle>
    <!-- More configuration should come here -->
    </lifecycle>
  </configuration>
</aspect>

Step2: Add states for the lifecycle configuration

<aspect name="SampleLifecycle" class="org.wso2.carbon.governance.registry.extensions.aspects.ChecklistLifeCycle">
  <configuration type="literal">
    <lifecycle>
      <state name="Initialize">
      </state>
      <state name="Designed">
      </state>
      <state name="Created">
      </state>
      <state name="Tested">
      </state>
      <state name="Deployed">
      </state>
      <state name="Deprecated">
      </state> 
    </lifecycle>
  </configuration>
</aspect>

Step3: Add optional checklist item configurations (if any), inside each state configuration. If they are present, user needs to check all items before promoting a resource to the next lifecycle state.

<aspect name="SampleLifecycle" class="org.wso2.carbon.governance.registry.extensions.aspects.ChecklistLifeCycle">
  <configuration type="literal">
    <lifecycle>
      <state name="Initialize"> 
        <checkitem>Requirements Gathered</checkitem>
        <checkitem>Architecture Finalized</checkitem>
        <checkitem>High Level Design Completed</checkitem>
      </state>
      <state name="Designed">
      </state>
      <-- More states found here -->
    </lifecycle>
  </configuration>
</aspect>