[Zope3-Users] need guidance

Brad Allen brad at allendev.com
Wed Nov 30 12:38:02 EST 2005


At 1:17 AM -0500 11/30/05, Chris McDonough wrote:
>While you're developing, it's much easier because the *content* in 
>your ZODB doesn't typically have any value during development.  If 
>it does have value during development, you have a development model 
>that's not similar to mine.

Well, I generally try to follow an iterative approach like that 
described in Agile or Extreme Programming styles 
(<http://en.wikipedia.org/wiki/Extreme_Programming > ). The idea is 
to get something into production very quickly, let users bang on it, 
and then produce a new version based on feedback from users...and 
then do it again, and again, etc. There is no big lead time for 
"development-only"; the cycle is more like 
develop-release-use-develop-release-use, etc. During that cycle, end 
user data needs to be carried over to each new version.


At 2:44 AM -0700 11/30/05, Duncan McGreggor wrote:
>Whenever I am told by client that they want me to build an 
>application for them, and they want to be able to add data/content 
>while I do it, I either gently educate them on the proven process 
>that we use, or I walk away from the project. Maintaining content 
>during development is almost always a nightmare. There are tools to 
>use to enable this... approach... but in my mind (and many others') 
>it's just not a good way to do development.

In this case, the users want to start using a message board ASAP. 
This means they will be adding content to ZODB right away. I don't 
see how I can get away from having them put content into ZODB.


At 1:17 AM -0500 11/30/05, Chris McDonough wrote:
>But obviously, after you go into production, the content does have 
>value, and preserving this value is the purpose of GenericSetup for 
>Zope 2.  It's a "dump and reload" solution which allows you to 
>create a represention of your ZODB data and its associated hierarchy 
>as files on a filesystem.  You can basically push a button to dump 
>the data in your ZODB ro files, and then create a new ZODB, 
>instantiate the tool, and push a button to reload it.  Zope 3's 
>"filesystem synchronization" capability is similar in concept, 
>although I don't know if that has been maintained recently.


I guess another approach would be to NOT throw away my ZODB, but just 
delete and regenerate selected container folders, leaving the user 
content alone. From your postings about how the ZODB is accessible 
directly from Python, it sounds like that should be do-able. 
Hopefully it won't be too tough to tackle...

At 2:44 AM -0700 11/30/05, Duncan McGreggor wrote:
>Yeah, I think you're looking for code-based content addition -- is 
>that right? If so, you're going to want to spend some time looking 
>at zope.app.zapi (a lot of which comes from zope.component). In 
>particular, the createObject() function. Take a look at those 
>projects I mentioned above... and other folks may have good 
>suggestions for code examples on site creation and pre-population of 
>content.

Thanks. A little searching turned up 
<http://www.zope.org/Wikis/ZODB/FrontPage>, which looks like the 
place for me to dig into. I will also check out the source code. 
Thanks!



More information about the Zope3-users mailing list