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 (< > ). 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 (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 <>, which looks like the place for me to dig into. I will also check out the source code. Thanks!

Zope3-users mailing list

Reply via email to