[Zope] Multi-Developer Zope Setup

Jonah Bossewitch Jonah Bossewitch" <jonah@abstractedge.com
Thu, 4 Jul 2002 13:20:25 -0400


Hi,

Thanks for the detailed reply.  I was going through these contortions you
describe as complicated because I only want to run one Zope development
server, instead of having all of our developers (and designers) run their
own zopes on their own machines.  At your company, is zope itself in version
control?  If you add a new Product, how is it propagated to all the
developer's local zopes?

Also, have you investigated the use of ZCVSFile (extends
xternalFile  -http://www.zope.org/Members/arielpartners/CVSFile).

Does anyone have any stories comparing ZCVSFile to ZCVSFolder?

Thanks again,
Jonah

----- Original Message -----
From: "Marius Gedminas" <marius@codeworks.lt>
To: <Zope@zope.org>
Sent: Thursday, July 04, 2002 4:32 AM
Subject: Re: [Zope] Multi-Developer Zope Setup


> Hi,
>
> On Wed, Jul 03, 2002 at 02:10:01PM -0400, Jonah Bossewitch wrote:
> > We just decided to use Zope/CMF for a large non-profit site that the
agency
> > I work for is building (wahoo!).
> >
> > I am trying to set things up correctly off the bat, and am struggling to
> > understand how to incorporate version control with the Zope server.
> >
> > I have (re)read the chapter in "Web Application Development and Content
> > Management" and am mostly sold on the idea of using ZCVSFolders (if its
> > stable), but I am unclear on how to set them up (the docs here are
minimal
> > http://www.zope.org/Members/sspickle/ZCVSMixin/).
> >
> > Correct me if I'm wrong - I suppose the way I should do this is to add
the
> > VHM to Zope, creating a container folder underneath the Root Folder,
> > creating folders for each of our developers below the this project
folder
> > container, and then adding the CVSFolder to each of their respective
> > folders.  (Next step will be to front Zope w/ apache to send everyone
> > straight to their own "sandbox").
>
> That sounds complicated.  We (CodeWorks) use ZCVSFolder on 10
> workstations here, and the setup is like this:
> - server exports the CVS repository (/var/lib/cvs) via NFS and all
>   workstations mount it (I suppose you could use pserver or SSH also)
> - each workstation has its own working directory under /var/lib/zope/cvs/
>   (checked out as www-data user)
> - each workstation runs a separate Zope instance
> - at the beginning of each day a developer chooses a workstation and
>   updates the application in it (show all modified recursively, select
>   all, force checkout)
> - when the work is finished, the developer runs the test suite (we use
>   ZUnit for this) and if all tests pass, commits her changes (show all
>   modified recursively, select all, type commit message, click Commit)
>
> Sometimes there are minor problems (objects that just were checked out
> are shown as 'modified' because Zope does some internal ID renumbering
> of its own), and we have to repeat the 'select all, force check out'
> routine a couple of times.  (To alleviate this problem we developed a
> third export format for ZCVSFolder -- plain in addition to xml and
> zexp.  It also makes diffs readable and CVS merges possible.).
>
> BTW currently we use the CVS version of ZCVSFolder (post-0.2.7 IIUC).
> It contains a number of bugfixes and enhancements that we made to make
> this daily routine easier.
>
> > I downloaded ZCVSFolder 0.2.5  and copied it into the products
directory,
> > checked out my zopeObjects module in $ZOPE_HOME but it does not appear
in
> > the add product dropdown (I made sure to startup Zope as nobody, and
nobody
> > is in the cvs group).
>
> You should add a 'CVS Folder' object in some Zope folder, and then
> specify the working directory (e.g. FS-root: /var/lib/zope/cvs
> (substitute that with the value of your $INSTANCE_HOME, FS-repository:
> modulename).
>
> One caveat: when you check out a module, do not use cvs get -d -- the
> directory name must match module name, or ZCVSFolder will barf.
>
> Another: do not try to share the same working directory between two or
> more CVS Folder instances.  Combined with the restriction above this
> means that you should check out them to places like
> /var/lib/zope/cvs/johns/mymodule and /var/lib/zope/cvs/bobs/mymodule.
>
> We actually do this for our website -- we have an active version and a
> development one, and synchronize them through CVS.
>
> > Any suggestions?
>
> Try a later version. ;)
>
> > Am I on the right track?
>
> I think so, more or less.
>
> Marius Gedminas
> --
> Bumper sticker: If you can read this, I can hit my brakes and sue you.
>
>
> _______________________________________________
> Zope maillist  -  Zope@zope.org
> http://lists.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists -
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope-dev )
>