[Zope] Where to store my data?

Phil Harris phil.harris@zope.co.uk
Sat, 11 Nov 2000 23:35:57 -0000


Randall,

As to the use of xml/xsl.

I'm in the process of creating a product called (originality abounds)
nXMLDocument.

This is a XML doc that can render itself based on a XSL stylesheet.  At the
moment it uses the Microsoft XSLT parser on Win32, but changing it to use
another parser/os shouldn't be difficult at all.

It works right now, the XML and the XSL can be built using DTML calls as
well, so building XML from a database is very simple indeed, and using DTML
in the XSL is just as useful.

I'm looking for some alpha testers if your interested.

Phil
phil.harris@zope.co.uk

----- Original Message -----
From: Randall Kern
To: zope@zope.org
Sent: Monday, November 13, 2000 8:00 PM
Subject: [Zope] Where to store my data?


I've just started playing with Zope again, and this time I'm going to spend
enough time with it to actually decide if it's crazy or I am :)

My project currently consists of a bunch of community "modules" written in
PHP using MySQL as a data store.  Each modules PHP code produces an XML
page, by running a bunch of queries in the database, and performing some
logic.  These XML pages are then processed using XSLT, with a model very
similar to Acquisition.

I'm getting very tired of the poor language design inherent in PHP, and
wanted to start using Python again.

(Big reason for doing this work:  In the current package, each module is
only accessible from a hardcoded URL, such as /links for the Links module,
etc.  Many of my customers want to change the layout of their site, and in
fact maybe have two Links modules, etc.)

So far, sounds like Zope would be a great system for me.  It would give my
customers a good platform to customize their sites, and give me a good
platform to build my modules with.

Now, short of just doing it and then discovering what I did wrong, I'm
hoping to get some advice from the Zope community on how to structure this
system.

This is a fairly large system, I host about 10 customers per box, serving
about 4MM page views.  99% of the pages are dynamic, doing real-time
database queries.

Some of my first questions:
-Is Zope a good choice for this kind of project?
-Which is better:  Store my content (Forum posts, Links, etc) in ZODB, or a
MySQL database?
-Build my Product (right term?) in DTML/ZClasses (seems easier for my users
to customize?) or build it in Python?
-Can I (easily) build this system in 4 layers:
    Content    -- actual low-level storage, rarely customized
    Logic/Object Representation    -- layer used to interact with the
content, also rarely customized, although does have configuration options
    XML (page contents)    -- every URL should result in an XML document,
containing all the information that will be presented on that page.  Written
in DTML?
    XSLT (page rendering)    -- the XML documents must be transformed into
HTML/etc.  These transformations, like the page contents should be
inherited; excuse me, acquired.
-Simple things should be simple, Complex things should be possible. -- My
users should be able to plop a Links module into their site, edit the
Properties for that Object, and it works.  If they want to change the way
Links are categorized, they should be able to, although it'll take a while
longer :)

Thanks for your Zen,
-Randy