<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    On 2/13/12 5:47 AM, Thierry Florac wrote:
    <blockquote
      cite="mid:20120213114715.41250321@m60127.branche00.arbre.foret.onf.fr"
      type="cite">
      <pre wrap="">
But I faced too much difficulties on several
sides (source code version management, deployment on production
sites...) and didn't want to keep this way of working for my new
applications built on top of ZTK and ZopeApp </pre>
    </blockquote>
    Clearly that is an issue.  Sure newbies want to use a browser to
    edit a simple hierarchy of objects on a single server to represent
    their web pages.  But very quickly they will get into issues of
    multiple developers, staging and production servers and distributing
    content and code.  We live in a distributed world, we need
    distributed development models.  <br>
    <br>
    Something like git for ZODB objects is needed.  I took  a look at
    the git object model.<br>
    <br>
    <a class="moz-txt-link-freetext" href="http://book.git-scm.com/1_the_git_object_model.html">http://book.git-scm.com/1_the_git_object_model.html</a><br>
    <br>
    It is also a tree of objects.  Looks like it should be possible to
    map onto a ZODB tree of objects quite easily.    And from that we
    get all the nice features of git.  Here is the video of Linus, the
    Git author, talking at Google <br>
    about distributed systems.  <br>
    <br>
    <a class="moz-txt-link-freetext" href="http://www.youtube.com/watch?v=4XpnKHJAok8">http://www.youtube.com/watch?v=4XpnKHJAok8</a><br>
    <br>
    There is a lot more to this topic than meets the eye.  Historically
    code is kept in git, data in the database.  Then they are treated
    differently.  With this approach a single model is responsible for
    distributing, replicating and backing up code and data.   I leave it
    to the reader to work out the details.  Of course lots of work to be
    done.   Many hands make light work.  <br>
    <blockquote>
      <pre wrap="">applications built on top of ZTK and ZopeApp (not really BlueBream
anymore because AFAIK this one didn't follow new releases of ZTK and
ZopeApp packages).

</pre>
    </blockquote>
    I am well aware of this.  It is a real Zope 3 turnoff to see that
    the current BlueBream release is a year old. Clearly a ZTK known
    good set is needed.  Bluebream fills that role nicely. <br>
    One of the things I would like to see is that BlueBream gets
    upgraded with the current releases.     We should all be
    embarrassed.  I need to submit a contributor agreement.   Also I
    have asked for permission to edit the Wiki.  <br>
    <br>
    As for my progress, well I was most worried about putting
    acquisition back into Zope 3, but it has already been done.<br>
    <br>
<a class="moz-txt-link-freetext" href="http://docs.zope.org/zope3/Interface/zope.traversing.interfaces.ITraversable/index.html">http://docs.zope.org/zope3/Interface/zope.traversing.interfaces.ITraversable/index.html</a><br>
    <br>
    The first adaptor looks like it enables acquisition.  Only a single
    line of ZCML is needed.  <br>
    Whoever designed and wrote BlueBream is beyond brilliant. <br>
    <br>
    Taking a high level point of view.  There is a huge amount of code
    in ZTK, hundreds of thousands of lines of code.  As Zope gets bigger
    it takes longer and longer to figure out how to do things, and less
    and less time to actually do them.  It turns us into Wizards,
    clearly those who know more can do more faster. They are so
    powerful.   It is a far cry from when I started programming with a
    compiler and a small set of class libraries.  And of course the
    common person, read ignorant manager, cannot tell the advantage of
    Zope over other tools with large brand names attached.    Which is
    why it needs a simple webby interface to show them how easy it is to
    do things.  <br>
    <pre wrap="">Powerful and easy to use is irresistible.  Right now BlueBream is very powerful, but hugely difficult to understand let alone start using.  And that is from a person who already understands many of the Zope concepts and terminology. 

Anyhow back to figuring out how to make this happen.  Thanks enormously for the comments. 

</pre>
    Regards<br>
    Chris<br>
     <br>
    <br>
  </body>
</html>