Skip to end of metadata
Go to start of metadata

The configuration model of the WSO2 Governance Registry lifecycles gives users the ability to define custom behavior to a registry lifecycle operation. This model is capable of defining the following custom behaviors:

  • Define permissions for each check item
  • Define custom validations for each check item
  • Define a set of check items for each state transition
  • Define a custom colour for the current lifecycle state
  • Define permissions for each state transition
  • Define custom validations for each state transition
  • Define state duration in the dd:hh:mm:ss format for each lifecycle state
  • Define programmable executions for each state transition
  • Define custom UIs accepting user input for each state transition
  • Define a lifecycle approval for state transition

Configuration Model

<aspect name="SampleLifeCycle" class="org.wso2.carbon.governance.registry.extensions.aspects.DefaultLifeCycle">
    <configuration type="literal">
            <scxml xmlns="http://www.w3.org/2005/07/scxml"
                <state id="Development">
                        <data name="checkItems">
                            <item name="Code Completed" forEvent="">
                                    <permission roles=""/>
                                    <validation forEvent="" class="">
                                        <parameter name="" value=""/>
                            <item name="WSDL, Schema Created" forEvent="">
                            <item name="QoS Created" forEvent="">
                        <!--<data name="transitionValidation">
                            <validation forEvent="" class="">
                                <parameter name="" value=""/>
                        <data name="transitionPermission">
                            <permission forEvent="" roles=""/>
                        <data name="transitionScripts">
                            <js forEvent="">
                                <console function="">
                                    <script type="text/javascript">
                                <server function="">
                                    <script type="text/javascript"></script>
                        <data name="transitionApproval">
                            <approval forEvent="Promote" roles="" votes="2"/>
                    <transition event="Promote" target="Tested"/>                  
                           <checkpoint id="DevelopmentOne" durationColour="green">
                               <boundary min="0d:0h:0m:0s" max="1d:0h:00m:20s"/>
                           <checkpoint id="DevelopmentTwo" durationColour="red">
                               <boundary min="1d:0h:00m:20s" max="23d:2h:5m:52s"/>
                <state id="Tested">
                        <data name="checkItems">
                            <item name="Effective Inspection Completed" forEvent="">
                            <item name="Test Cases Passed" forEvent="">
                            <item name="Smoke Test Passed" forEvent="">
                    <transition event="Promote" target="Production"/>
                    <transition event="Demote" target="Development"/>
                <state id="Production">  
                    <transition event="Demote" target="Tested"/>

For details of each element of the configuration, see Lifecycle Configuration Elements. For a sample of lifecycle configurations in actions, see the Lifecycle Sample.

  • No labels