[Zope] Barriers to Zope popularity: Part 2: source control

Jay, Dylan djay@lucent.com
Thu, 23 Sep 1999 17:02:26 +1000


Having been using Zope for the past 8months or so I see two potential
reasons as to why more people at my work havn't taken to Zope.

Barrier 1: WYSIWYG editing (see previous mail)

Barrier 2: Source Control.
Initially I was concerned about the whole ODB thing. Now I trust it to some
extent however source control is more than just backup or versioning. Its
about tracablity in a development process. I work with a software
development group and all our code is under source control and any work done
can be traced to a person and a time. Zope can't do this. Any file based web
server allows this (however then you don't get the distributed editing etc).

Possible solution:
Allow some sort of hooks into the versioning mechanism. What would be nice
is in the case of a save or undo of a version, those changes could be
mirrored in source control.  How? 
 - Some sort of export on changes. This goes into a designated dir that
represents the site. A script then gets run that does the equivilent commit
into the soruce control program. Different adapters with different scripts
for CVS, ClearCase etc.
 - Have somesort of folder/XML format? Instead of just one big XML file like
export gives you then maybe a folder heirachy with special files to
represent the properties of Zope folders. This would allow for much better
diffs in the source control prog.
 - Allow imports from such a format when you need to reverse changes or do
something funny from source control.
 - I think only restricting this to versions is ok because non versioned
changes might pickup all the changes that occur with user data, counters
etc. And with a policy that all changes have to be through a version (is
this enforcable in zope???) then all is well. All the "user" data changes
such counters etc could be accounted for in source control by doing a
periodic whole site export and having this committed to the source control
system thus ensuring that whats in source control is a reasonably accurate
representation of the site.
 

I know there are many more barriers but these are two I've been thinking a
lot about and I think are quite important.