[Zope-ZEO] Advice
Spicklemire, Jerry
Jerry.Spicklemire@IFLYATA.COM
Thu, 21 Sep 2000 09:37:49 -0500
On 20 September 2000, Andy McKay said:
>>> - my manager wants me to create a staging server system,
>>> changes move from dev to staging to production. Of course
>>> there would only be certain objects that be moved through
>>> this process. I've seen cryptic comments that this is
>>> possible....?
to which Greg Ward replied:
>> One of the reasons our group is moving away from Zope is that
>> it has very poor support (if any) for the development/staging/
>> live model. We like this model. We think it's a good thing.
>> But sync'ing code across multiple Zope installations is a royal
>> PITA.
>> And no, versions are *not* the answer.
prompting this response from Jim Fulton:
> I'd like to hear more about the problems you've had and how
> you overcome them in a different system.
The point is, how can this be accomplished within Zope, in a way
that reflects the power and flexibility we've come to expect of
Zope. But, in answer to the question, how is this done in other
systems, the sad truth is the way most folks feel comfortable
with is to copy static files from one server to the next.
Now, how can we do something like Dev/Test/Prod, in Zope?
BTW, this is the same topic covered at :
http://www.zope.org/Members/tseaver/Projects/HighlyAvailableZope/DevTestProd
where Mountable Databases is suggested as a great start toward a
solution. With multiple mountable datastores it becomes possible
to totally replicate some portion of a "site", update it in
development, swap it into test, and promote to production in one
piece. This is just a concept, and there are implications.
The most obvious is that for such an approach to work a clear standard is
required defining what is Data, Code, and Content,
and in which storage each is held, and to diligently adhere to
these guidelines. One of the tricky bits here is being played out
in the DTML vs. XML Templates discussion, where all things HTML
are either generated by DTML "code" or hand tweaked by Web Artists,
depending on where your inclinations lie. What makes it tricky is
deciding where to draw the line between what is best "cast into
code", and what should be left as raw HTML. Conceptually, we know
that the goal is to Separate Code and Content, and it makes sense.
Still, it comes down to a judgement call, and that influences the
"where does it live" decision, and that defines the limits of the
Mountable Database approach.
Zope is vast, and getting vaster (apologies to Msr. Bemelmans),
and there is no "Zope Way" yet defined. We all value the
flexibility and "anything is possible" sense of creativity that
is so obvious in projects like ZPatterns, XML Templates, ZWiki,
the PTK, etc. The other edge of that sword cuts right into this
problem. Folks feel safer being told, "This is the Best Way",
but Zope is a rapidly moving target, with lot's Clear Concepts,
(separation of code and content, multiple managed layers), but
too few Clear Examples.
Still Zopeful,
Jerry S.