[Zope] webdav and PUT_factory
Luca Dall'Olio
luca.dallolio at gmail.com
Mon Feb 27 07:29:53 EST 2006
First of all, I would like to thank everybody for your accurate and fast
answers.
I am working with a small group of developers, each in different places
and working at different times.
According to my past experience in java, this means "cvs" ^_^
I have some doubts about how to synchronize Zope development with cvs or
subversion.
Should I stop using the ZMI? Should I develop a Zope Product instead?
Should I use fsdump instead of webdav to export from zope ? Should I
use webdav when deploying back to Zope?
This is my actual state-of-the-art about team management in Zope :
We develop inside locally installed Zope Instances, using the ZMI.
At the end of the day, we export the work done using webdav, and this
works for DTML documents, DTML methods and ZSQL methods.
After that, we commit inside the source code repository, using the
update, diff and merge features to synchronize with other developers' work.
We need to deploy to a Zope server in order to test the integration of
developers' code, so I wrote a little PUT_factory to re-create the right
objects, this is a snippet:
elif ext == 'zsql':
from Products.ZSQLMethods.SQL import SQL
return SQL(name, '', 'daticonvegno', '' ,'')
elif ext == 'dtml':
from OFS.DTMLDocument import DTMLDocument
return DTMLDocument( '', __name__=name )
elif ext == 'dtmm':
from OFS.DTMLMethod import DTMLMethod
return DTMLMethod( '', __name__=name )
elif major == 'text':
from OFS.DTMLDocument import DTMLDocument
return OFS.DTMLDocument.DTMLDocument( '', __name__=name )
As you can see, it uses extensions to understand the type of the file.
This has some minor drawbacks :
1) you have to use extensions to make it work, otherwise you will have
trouble at deploy-time
2) some additional parameters such as the connectionIds for ZSQLMethods
must be auto-magically chosen by the PUT_factory
3) what about more complex objects, such as Plone, Archetypes or
Openflow? should I map them all in the PUT_factory?
Is this the "right way" to do things in Zope? Is there any native
solution for Source Code Versioning and Team Management?
How do other team solve this issue? Any advice is welcome!
Thank you very much in advance,
Luca
More information about the Zope
mailing list