[Zope] webdav and PUT_factory

Chris Withers chris at simplistix.co.uk
Mon Feb 27 15:10:57 EST 2006

Luca Dall'Olio wrote:
> According to my past experience in java, this means "cvs" ^_^

For the rest of us, it means svn ;-)

> Should I stop using the ZMI? 

Probably. At the very least, take advantage of the webdav you seem to 
have already got working and use a normal text editor for editing your 
scripts and templates!

> Should I develop a Zope Product instead?

Probably ;-)

> Should I use fsdump instead of webdav to export from zope ?


> Should I 
> use  webdav when deploying back to Zope?

Not unless you're doing all your editing via WebDAV...

> We develop inside locally installed Zope Instances, using the ZMI.

Eep, at least get a text editor going over webdav so you don't have to 
use a browser to edit your scripts and methods!

> At the end of the day, we export the work done using webdav, and this 
> works for DTML documents, DTML methods and ZSQL methods.

Okay, stop using DTML documents and methods. Use python scripts and ZPT, 
please god! ;-)

> 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 )

Fair enough...

> 1) you have to use extensions to make it work, otherwise you will have 
> trouble at deploy-time

Yup, but extensions are pretty handy ;-)

> 2) some additional parameters such as the connectionIds for ZSQLMethods 
> must be auto-magically chosen by the PUT_factory

Oh, yes, that's silly ;-)

> 3) what about more complex objects, such as Plone, Archetypes or 
> Openflow? should I map them all in the PUT_factory?

Ah, so you're using Plohn. Well, then you should put all you code in 
Filesystem Directory Views, it'll make it all _much_ easier for you!
You can then look to GenericSetup to handle all your workflow configs, 

> Is this the "right way" to do things in Zope? 

Nope, not given the products you're using...

> Is there any native 
> solution for Source Code Versioning and Team Management?

Not really, the "History" tab is as close as it gets...



Simplistix - Content Management, Zope & Python Consulting
            - http://www.simplistix.co.uk

More information about the Zope mailing list