[Zope] some advice for a news site

Chris McDonough chrism@digicool.com
Wed, 01 Dec 1999 21:59:32 -0500


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