Re: [Zope] Where to store my data?
Karl Anderson [EMAIL PROTECTED] writes: "Andy McKay" [EMAIL PROTECTED] writes: 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. XMLDocument might or might not be what you want here - while it does provide this, there are other ways to produce XML from arbitrary objects. To clarify what I meant, while there's nothing wrong with XMLDocument, there are many other ways to do this, too, if XMLDocument isn't suitable. For example, you can output XML with Python or DTML that walks your data, and not have to constrain how you're storing it. -- Karl Anderson [EMAIL PROTECTED] ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Where to store my data?
"Andy McKay" [EMAIL PROTECTED] writes: 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. XMLDocument might or might not be what you want here - while it does provide this, there are other ways to produce XML from arbitrary objects. -- Karl Anderson [EMAIL PROTECTED] ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Where to store my data?
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. ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Where to store my data?
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 [EMAIL PROTECTED] - Original Message - From: Randall Kern To: [EMAIL PROTECTED] 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 ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Where to store my data?
Randall, You're crazy (or rather, you will be by the end of it...) Seriously though, I've spent 3 months developing a site using Zope, and just now is it starting to feel a bit more natural to use. Probably not knowing Python was a handicap. I chose the RDBMS approach to store posts, etc as I was familiar with SQL. I still don't think you can beat the search capabilities of a properly designed database, and Zope does make SQL integration straightforward. Zope has all the right characteristics for what you want to do, but it may send you 'round the twist making it happen! Good luck! Steve - Original Message - From: Randall Kern To: [EMAIL PROTECTED] Sent: Tuesday, November 14, 2000 7:00 AM 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