[Zope] Q: KM|News, Squishdot or roll your own Zclasses (and future compatibility)

Samu Mielonen ex@uiah.fi
Tue, 17 Aug 1999 11:12:16 +0300


Hello,

I've been reading this list for about month and a half now (plus
backlogs) and I can say that if it wasn't for this list, I would
have abandoned all hope long ago (don't get me started on
documentation :)

Anyway, I have a following design problem that I'm unable to
solve by myself:

I'm trying to build a distributed content editing and publishing
site, to which content writers can log in, write in their
stories and have editors edit/approve them for publication.

Now, I'm thinking that my data is basically mostly flat-file or
object-based (i.e. non-relational), thus I have chosen to abandon
SQL-databases as my storage. This means using the Zope object
storage to store everything.

NOw, there are a couple of promising alpha products out there
(Squishdot and KM|News) that both do some of the things I want to.

I'm afraid I'm not so adept at Python as to start combining them
myself, so I have to choose either or for my task. The third
possibility would do it all by DTML and roll my own Zclasses to
represent different article classes (this *looks* straightforward
enough).

My question is: if I choose either of the products, how do they
store their articles, how do they keep references to those
articles and if I (at a later date) decide to change the
product I use, can I still keep accessing those old articles
with my new product?

Let me give you an example (totally hypothetical):

	1. I install Squishdot on Zope2.0 and build/run my site on that

	2. Squishdot stores articles in it's own way and in X amount of
	   time I will have, say 600 articles

	3. I grow out of Squishdot, learn the magic of Zope and
	   roll my own mega-publication product.

	4. I now have a new implementation that stores slightly modified
	   article objects in a new storage using Zope (i.e. still not using
	   relational DB).

	?. How do I access the Squishdot articles? Do I still have to run
	   use and hook into the Squishot product or can I somehow access
	   them from my own code with even having Squishdot installed?

	?. What about if I originally chose KM|News, how do I access them?

I know the above questions probably already contain some fundamental
misunderstandings of Zope, but I'm afraid this is as far as I've
been able to get by myself. To be quite honest, the whole idea
of how Zope stores, references, deletes, fetches and searches
objects is extremely vague to me.

So, if you have any opinions, facts or even speculations about above,
please let me know. I'm starting to think my brain is swelling from
too much speculation of my own :)

Best regards,
	Samu Mielonen

PS If you need help with the documentation effort and can find work
   for a Zope newbie, I'm all for it.

--
"Zone of proximal development - ...the conceptual space or zone between what
a [human] is capable of doing on his or her own and what [he/she] can
achieve with assistance from ... a more capable peer." - The Penguin
Dictionary of Psychology