[Zope3-dev] One Zope User's Life

Jon Whitener wmmail@twmi.rr.com
Tue, 14 Jan 2003 15:55:01 -0500


In hopes that it might help Zope developer folk see things from a user
perspective, I here describe how I came to Zope, and what I want to do
with it.

My Background
-------------
Content - on a smoothly working Web site - is my focus.  I have taken
programming classes (primarily C++) but HTML is the code I live and
breathe.  While I can deduce what's happening in source / script code
(and I think programming is fun), deeply nested inheritance and
function calls between several source files are too much for me.

I never used PHP, Coldfusion, or ASP before trying Zope.  For me, I
was evaluating them all simultaneously, with no ties to any.  Even
before I became a "ZopeEvaluator", I sent this message in August 2002
to my counterparts at affiliated cable systems around the country
(excerpt):

> [...]  I intend to do a ground-up re-implementation of our primary
> cable company Web presence.  [...]  So, if you were back at Square
> One, what would you do?

> Bear in mind, I'm a one-man-band here.  Nothing I've done so far
> approaches the size of this site, which currently contains 278 Web
> pages and over 1,900 image files.  Hee hee, heh heh, gulp!

> What advice have you for managing a large Web site like this?  I
> hope to implement some kind of "content management" system that
> makes sense for a one-person operation.  (Many CMS solutions are
> focused on large multi-person Web teams with many content
> contributors.)  I just want some kind of database-based system that
> helps me keep track of all my Web content assets, and can easily and
> flexibly generate nice Web pages out of it.

> I hope the system will do things like accept "kill dates" on
> content, and make adding content easy.  I'm big on creating small,
> clean, CSS-styled Web pages, and keeping things simple and
> W3C-standards-compliant.  (I also love comic books and women who
> aren't afraid to listen to heavy metal.)

> I'm leaning toward trying to put together something using PHP with a
> MySQL database (free stuff!).  Other options seem to be ASP and Cold
> Fusion - I know nothing of either of those, but would learn if they
> were substantially easier, more flexible, and more reliable.
> [...]

To be truthful, I concealed my aversion to closed software like that
from Microsoft or Macromedia, which of course is what most people
suggested because that is what they use.  (Yes, even non-programmers
can prefer free / open-source software.)

My Path to Zope
---------------
Site content changes will typically be made by me, manually.  I knew
enough about Web site maintenance that needing to change the same
information in more than one place is a situation to avoid.

I tried Webgenz (http://www.webgenz.com/) and liked that its templates
and macro language made common information reusable via variable
names.  Webgenz ultimately proved to be limited (and too much of a
hassle accessing, editing, and uploading files in separate programs).

Then I discovered Zope via Google, searching on terms like "dynamic
web site management".  I realized quickly that it was what I wanted.
It improved greatly upon the benefit of Webgenz.  Furthermore, I knew
enough to value both object orientation and the separation of content,
presentation, and logic.  I haven't looked back.

My Web Goals
------------
A cable company Web site presents several kinds of information that
changes infrequently, but dependably:

 - Prices, TV channel "line-ups", and names of various service packages

 - TV channel names and numbers

 - Special offers

 - The company name (our third name in my tenure is to be announced)

And then there are other things that should change frequently
(e.g. weekly) like cable TV program highlights.

I want a front page to my cable company Web site that rotates (between
server requests) some number of primary "articles" which will include
marketing pieces promoting the benefits of cable service, and general
interest articles about interesting topics in our community.

A good deal of fairly static information will be available regarding
our prices, policies, description of services, office hours, etc.
It's will also be very important that the Web site offer people the
chance to contact us via e-mail and / or on-line form.

Then there's the big one (for me): an interactive channel list.  This
is where I'm currently using a ZClass.  I create one "Cable Channel"
object for each channel available through our cable service.  A Cable
Channel is a simple folderish object with properties for:

 - channel name

 - channel number

 - URL to the channel's Web site

 - a multiple select list of channel genres 
   (which is giving me problems)

Furthermore, a Cable Channel object contains two subobjects:

 - an Image for the channel's logo

 - a ZPT which renders a nice HTML description of the channel.

(An aside: I'm willng to bet most people coming to Zope wish little
more than to create their own class of objects that simply contain
an image or two, some text, and some properties that made the object
like something in their business reality.)

Naturally, I wish to be able to query a catalog of Cable Channel
objects on several different criteria including genre, by searches
of channel description text, and by "what channels come with what
cable package".  The latter question calls a method which lists the
channels in the appropriate "service tier" folders.

A note regarding my problematic Cable Channel ZClass (which, 
regarding its importance to my goals, is quite frustrating):  I've
described this problem in detail on the Zope list, under the 
Subjects:

[Zope] Solution for 'in requires character as left operand' error
[Zope] Changing object properties from Script (Python)

This problem is my entry point to the world of Python products.  For
me, this world is a bit overwhelming.  On first glance, it seems I 
must create from scratch all the various View, Add, and Manage methods
that I took for granted with the ZClass.  Yikes!

I don't know whether I'm representative of a group of Zope users, but
for what it's worth, this is me and my Zope life up to this point.

Jon Whitener
Detroit Michigan USA

=====
In "Re: [Zope3-dev] IMPORTANT RFS: Through the Web Site Development", Jim Fulton wrote:

>Jon Whitener wrote:
>>(If you'd like my real world example of using ZClasses, I'll be happy to describe it upon request.)
>
>That would be great. Maybe we can use it as an example.

and in "[Zope3-dev] Web site scripting and templating in Zope 3", Jim wrote:

>A newbie Zope 3 programmer will be able to create dynamic pages
>and scripts in much the same way they do now.
>
>I guess we need some documentation that describes this aspect of
>Zope 3 development.  I wish I knew more about this class of user.
>
>Jim