Hi, Thank you Madawa.
Regards, Yasima. On Tue, Jul 26, 2016 at 9:46 AM, Madawa Soysa <[email protected]> wrote: > Hi, > > AFAIK in order to execute an action based on a lifecycle state change, you > need to use a lifecycle executor. You can find the information about > standard executors in [1] > <https://docs.wso2.com/display/Governance520/Supported+Standard+Executors>. > Also, you can implement a custom executor as well. The following article > [2] > <http://wso2.com/library/articles/2015/07/wso2-governance-registry-governance-framework-extension-points/> > and blog post [3] > <http://sencs.blogspot.com/2016/05/how-to-write-simple-g-reg-lifecycle.html> > gives a good explanation about adding custom lifecycle executors. > > > [1] - > https://docs.wso2.com/display/Governance520/Supported+Standard+Executors > [2] - > http://wso2.com/library/articles/2015/07/wso2-governance-registry-governance-framework-extension-points/ > [3] - > http://sencs.blogspot.com/2016/05/how-to-write-simple-g-reg-lifecycle.html > > On Fri, Jul 22, 2016 at 4:41 PM, Yasima Dewmini <[email protected]> wrote: > >> Hi, >> >> I need to set permission for all the roles including user defined roles, >> when state transitions take place in life cycles. How can I achieve this? >> And also admin can edit a process when that process is in retired state. >> I need to avoid that scenario also. >> >> Any thought regarding this is appreciated. >> >> The life cycle is as follows. >> >> <aspect name="ProcessLifeCycle" >> class="org.wso2.jaggery.scxml.aspects.JaggeryTravellingPermissionLifeCycle"> >> <configuration type="literal"> >> <lifecycle> >> <scxml xmlns="http://www.w3.org/2005/07/scxml" >> version="1.0" >> initialstate="Development"> >> <state id='Development'> >> <datamodel> >> <data name="transitionExecution"> >> <execution forEvent="Submit" >> class="org.wso2.jaggery.scxml.generic.GenericExecutor"> >> <parameter name="PERMISSION:get" >> >> value="http://www.wso2.org/projects/registry/actions/get"/> >> <parameter name="PERMISSION:add" >> >> value="http://www.wso2.org/projects/registry/actions/add"/> >> <parameter name="PERMISSION:delete" >> >> value="http://www.wso2.org/projects/registry/actions/delete"/> >> <parameter name="PERMISSION:authorize" >> value="authorize"/> >> >> <parameter name="STATE_RULE1:In-Review" >> >> value="Internal/private_{asset_author}:+get,-add,+delete,-authorize"/> >> <parameter name="STATE_RULE2:In-Review" >> >> value="Internal/everyone:+get,-add,-delete,-authorize"/> >> <parameter name="STATE_RULE3:In-Review" >> >> value="Internal/publisher:+get,+add,+delete,+authorize"/> >> <parameter name="STATE_RULE4:In-Review" >> >> value="system/wso2.anonymous.role:+get,-add,-delete,-authorize" /> >> </execution> >> </data> >> </datamodel> >> <transition event="Submit" target="In-Review"/> >> </state> >> <state id="In-Review"> >> <datamodel> >> <data name="transitionExecution"> >> <execution forEvent="Publish" >> class="org.wso2.jaggery.scxml.generic.GenericExecutor"> >> <parameter name="PERMISSION:get" >> >> value="http://www.wso2.org/projects/registry/actions/get"/> >> <parameter name="PERMISSION:add" >> >> value="http://www.wso2.org/projects/registry/actions/add"/> >> <parameter name="PERMISSION:delete" >> >> value="http://www.wso2.org/projects/registry/actions/delete"/> >> <parameter name="PERMISSION:authorize" >> value="authorize"/> >> >> <parameter name="STATE_RULE1:Published" >> >> value="Internal/private_{asset_author}:+get,-add,-delete,-authorize"/> >> <parameter name="STATE_RULE2:Published" >> >> value="Internal/everyone:+get,-add,-delete,-authorize"/> >> <parameter name="STATE_RULE3:Published" >> >> value="Internal/publisher:+get,+add,+delete,+authorize"/> >> <parameter name="STATE_RULE4:Published" >> >> value="system/wso2.anonymous.role:+get,-add,-delete,-authorize" /> >> </execution> >> </data> >> <data name="transitionPermission"> >> <permission forEvent="Publish" >> roles="Internal/publisher,admin"/> >> </data> >> </datamodel> >> <transition event="Publish" target="Published"/> >> </state> >> <state id="Published"> >> <datamodel> >> <data name="transitionExecution"> >> <execution forEvent="Retire" >> class="org.wso2.jaggery.scxml.generic.GenericExecutor"> >> <parameter name="PERMISSION:get" >> >> value="http://www.wso2.org/projects/registry/actions/get"/> >> <parameter name="PERMISSION:add" >> >> value="http://www.wso2.org/projects/registry/actions/add"/> >> <parameter name="PERMISSION:delete" >> >> value="http://www.wso2.org/projects/registry/actions/delete"/> >> <parameter name="PERMISSION:authorize" >> value="authorize"/> >> >> <parameter name="STATE_RULE1:Retired" >> >> value="Internal/private_{asset_author}:+get,-add,+delete,-authorize"/> >> <parameter name="STATE_RULE2:Retired" >> >> value="Internal/everyone:-get,-add,-delete,-authorize"/> >> <parameter name="STATE_RULE3:Retired" >> >> value="Internal/publisher:+get,-add,+delete,-authorize"/> >> <parameter name="STATE_RULE4:Retired" >> >> value="system/wso2.anonymous.role:-get,-add,-delete,-authorize" /> >> </execution> >> <execution forEvent="Promote" >> class="org.wso2.jaggery.scxml.generic.GenericExecutor"> >> <parameter name="PERMISSION:get" >> >> value="http://www.wso2.org/projects/registry/actions/get"/> >> <parameter name="PERMISSION:add" >> >> value="http://www.wso2.org/projects/registry/actions/add"/> >> <parameter name="PERMISSION:delete" >> >> value="http://www.wso2.org/projects/registry/actions/delete"/> >> <parameter name="PERMISSION:authorize" >> value="authorize"/> >> >> <parameter name="STATE_RULE1:Development" >> >> value="Internal/private_{asset_author}:+get,+add,+delete,+authorize"/> >> <parameter name="STATE_RULE2:Development" >> >> value="Internal/everyone:+get,-add,-delete,-authorize"/> >> <parameter name="STATE_RULE3:Development" >> >> value="Internal/publisher:+get,+add,+delete,+authorize"/> >> <parameter name="STATE_RULE4:Development" >> >> value="system/wso2.anonymous.role:+get,-add,-delete,-authorize" /> >> </execution> >> </data> >> <data name="transitionPermission"> >> <permission forEvent="Retire" >> roles="Internal/publisher,admin"/> >> <permission forEvent="Promote" >> roles="Internal/publisher,admin"/> >> </data> >> </datamodel> >> <transition event="Retire" target="Retired"/> >> <transition event="Promote" target="Development"/> >> </state> >> <state id="Retired"/> >> </scxml> >> </lifecycle> >> </configuration> >> </aspect> >> >> >> Regards, >> Yasima. >> >> >> -- >> http://wso2.com/signatureYasima Dewmini >> Software Engineer, WSO2, Inc. >> Email: [email protected] >> Mobile: +94713117081 >> >> _______________________________________________ >> Dev mailing list >> [email protected] >> http://wso2.org/cgi-bin/mailman/listinfo/dev >> >> > > > -- > > Madawa Soysa / Software Engineer > [email protected] / +94714616050 > > WSO2 Inc. > lean.enterprise.middleware > > [image: Twitter] <https://twitter.com/madawa_rc> [image: > LinkedIn] <https://www.linkedin.com/in/madawasoysa> [image: Github] > <https://github.com/madawas> [image: Tumblr] <http://madawas.tumblr.com/> > -- http://wso2.com/signatureYasima Dewmini Software Engineer, WSO2, Inc. Email: [email protected] Mobile: +94713117081
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
