[Registry-dev] Resource lifecycle handling
Deepal Jayasinghe
deepal at wso2.com
Wed Mar 5 01:16:00 PST 2008
Hi all,
Following are the what I am planing to do for lifecycle handling.
- Lifecycle consists of five pre-difined phases ( Created ,Developed
,Tested ,Deployed and Retired)
- Phases can move only forward not backward , eg we can move from
Created to Developed.
- There will be four directory in the root level to represent all those
phases except Created (something similar to SVN trunk , branch and tags)
- When moving from one phase to another resource will be copied into
the correct location
For example say we create a resource like
/products/webservices/Axis2/1.4
then that will be in the Created state. When we move it will go into
the Developed state and all the resources under the above path will be
copied into
/Developed/webservices/Axis2/1.4 .
To have the state of the resource we need to add a new flag to the
databases , so need to change the database as well.
Thoughts .....
Thank you,
Deepal
> One more thing ,
>
> I think we can have a set of pre-defined phases and provide ability to
> chose set of them for a given resource. Then in registry.xml we define
> all the available lifecycle phases and add an ability to define them
> from the UI.
>
> Thanks
> Deepal
>> Hi all,
>>
>> Now we have full support resource copy and rename we can implement
>> resource lifecycle management. But we need to think how we are going
>> to do that , and we need to find out what are the phases we are going
>> to have in our lifecycle management.
>>
>> So I am thinking to implement something similar to SVN branching as a
>> way of lifecycle handling , for example when going from QA to
>> production there will be new branch created for the production phase
>> , and it will get a new URL so that we can set the permission as well.
>>
>> When it come to implementation are we going to add a new method into
>> Registry interface or are we going to introduce new class to handle
>> the lifecycle. I would rather like to come up with a new class for
>> lifecycle (LifeCycleManger) and separate tab in the GUI as well.
>>
>> One other thing we need to have is custom code running support when a
>> resource state changes. Say someone tries to move a Resource from QA
>> phase to production phase then there should be some set of
>> pre-conditions and post conditions so we need to have the support for
>> them as well. This is somewhat similar to media type handling we
>> have in the current implementation.
>>
>> I think we have to have a section in registry.xml for lifecycle
>> handling , and which may contains configurations such as ;
>> - What are the phases in the lifecycle (Development , QA ,Production
>> and etc...) , and which should be configurable as well
>> - A way to register handlers for state changes
>> - Associate URL name (suffix) for the phase
>> - Permission based on the lifecycle, (who can change the resource
>> lifecycle states. )
>>
>> Thoughts ... ?
>>
>> Thanks
>> Deepal
>>
>>
>>
More information about the Registry-dev
mailing list