[Zope] Zope/Plone and control version management

Sean Upton sdupton at gmail.com
Wed Jun 18 12:29:32 EDT 2008


On Wed, Jun 18, 2008 at 2:51 AM, Garito <garito at sistes.net> wrote:
> What I would like to know is how I use git to work with my workgroup
> Do I use only a centralized zope/plone or I need to install them for every
> member of the workgroup?

I'm supposing you are doing python package and Zope2 Product
development, and in this case you definitely want each developer to
have their own checkout(s) of code as a working copy on their own
workstation or personal space on a shared server.  It is likely you
want to use separate databases (Data.fs) files for development (and
periodically keep them in sync by copying a packed copy of the
database from a central place).  If you wish to use a shared database
late in development, you can use ZEO or Relstorage to host the
database over the network and have each developer workstation connect
to that.  I would not recommend a shared database for early
development on any project, just for late-stage development and
testing.

> Witch parts of zope/plone can I put on it?

If you are developing on top of Zope and Plone, you likely do not need
either of these in svn/git, just your own Python code packages.  With
svn you can alternately create "bundle" checkouts of your own modules
and products interspersed with checkouts from svn of third-party
modules you are using.  You would only version-control code, not
content in the database.

> I would like to use a control version manager but I have no idea how to
> configure my space, witch files can I control and so on

see above.

> In a ruby on rails scenario I create the RoR project and a database then I
> create a git repository and begin to work (some commits here)
> Then if some other members join to the project I make a checkout from the
> master repository and begins to work all with the same database

You can do this, if you want; see above. Again, I recommend against a
shared database early in development; there is more that can go weird
in ZODB than in ActiveRecord fronted RDBMS on a shared copy in early
development.

> But I zope/plone I can't figure out what files I put to the repository and
> what happens with data.fs (some modifications are made in the database, what
> happend with them? I suppose I can't control them with subversion/git)

You do not want to fork zope or Plone, but develop your own packages
on top of them.  That should make this easy, only modify your own
code, unless you absolutely know what you are doing.  There are other
ways to modify behavior of other Products and the platform (monkey
patching, subclassing existing components, writing new skins, creating
generic setup profiles).

Stuff in the database is not in svn; do not put code in the ZODB (e.g.
templates edited through-the-web, though this is possible in some
cases with some Plone skin code).  Keep code on the filesystem.
Content is not versioned in svn, if you need revisions of content
objects in the database stored in a CMS like Plone, there are other
mechanisms for that (e.g. CMFEditions is part of Plone 3.x).

I hope this helps.

Sean


More information about the Zope mailing list