Some of my first questions: -Is Zope a good choice for this kind of project? Yes. -Which is better: Store my content (Forum posts, Links, etc) in ZODB, or a MySQL database? Depends. I prefer to put put large (in size or number) or frequently changed content in SQL and small static content in Zope. -Build my Product (right term?) in DTML/ZClasses (seems easier for my users to customize?) or build it in Python? Python. I would say its going to be pretty hard for a standard customer to change a Product and break your site. Your product should be configurable. -Can I (easily) build this system in 4 layers: Content -- actual low-level storage, rarely customized SQL Logic/Object Representation -- layer used to interact with the content, also rarely customized, although does have configuration options ZSQLMethods 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? XMLDocument. XSLT (page rendering) -- the XML documents must be transformed into HTML/etc. These transformations, like the page contents should be inherited; excuse me, acquired. XMLDocument. But I would have to say whilst XML is great, rendering it is normally slow. If you already have the document just use DTML and cut out a step. My 2 cents. -- Andy McKay, Developer. ActiveState.