Luis Bordas wrote:
We have a project of a Web-zine that has to run on a Linux box. I heard about Zope and I'm impressed so far.
The site will have functionality like "related news" and "send this to a friend". We also need to be able to categorize the content/news and search with keywords.
No problem there. You can model and implement news items a multiple number of ways within Zope. One would be to model your news items as "Z Classes" (a fancy word for a fairly simple abstraction that allows you to instantiate "things" [objects] in your ZODB that have properties [such as news text] and capabilities [such as the ability to render the text a certain way] of their own) Or if you prefer, you can store your news items in an RDBMS and use Zope to render the items. Or you could store news items on the filesystem and use Zope to render the items. Whatever best suits the requirement. Built in to Zope is the capability to send mail flexibly. Searching of items in the ZODB can be done via "ZCatalog" or you can roll your own search facility for items stored in an RDBMS or on the filesystem.
There will be "subscribers" that will receive daily tips with links to the news on the Web site. Those will be stored in a RDBMS.
This is fine, subscriber information doesn't need to be stored in an RDBMS with Zope, but you have that option.
We took a look at PHP3 and MySQL as an interesting choice, but after reading about Zope we would like to take the better alternative.
Most of us on this list would probably contend that Zope has at least as much to offer as the combination of PHP3 and MySQL and much more.
Is it possible to use the Z ODB to store the news instead of a RDBMS, without loosing the functionality we need?... Maybe a combination of Zope and MySQL?.
News items are a prime candidate for storage in ZODB, because they'll probably just be a combination of text and images which are two data types that are well supported :-). However, you can put just about anything in there. One guy even stores his MP3s in his Zope installation, if I recall correctly. MySQL is sort of deprecated for use with Zope because it doesn't support transactions. Zope has a strong affinity for transaction-based RDBMSes. This doesn't mean you can't use MySQL (there is a Zope database adapter for MySQL), but its not really recommended (or supported). I guess the stock answer in the case that you want a free database would be for me to suggest you use PostgreSQL (which supports transactions and is free, don't know if its "officially" supported). However, Zope works well with many other SQL RDBMSes too... like, oh, say.. Oracle. Or Sybase. A "pure" Zope implementation would probably be based around the ZODB and more than likely would include ZClasses. It would probably not include links to an RDBMS. This may or may not meet your requirements. It doesn't really sound like you *need* an RDBMS... an example situation where you might need one would be that you have data already stored in one and you need to get at it from Zope... another example situation would be that you want to use Zope to display the information stored in the RDBMS, but you want to use other tools (such as Microsoft Access, etc.) to manage the data...
Any advice would be appreciated.
Luis Bordas
If it meets your requirements, we love to see new Zope sites come up. You may want to read http://www.zope.org/Resources/QA for the 100,000-foot overview of Zope. HTH, -- Chris McDonough Digital Creations, Inc. Zope - http://www.zope.org