[Zope] Zope "fitness"

Chris McDonough chrism@digicool.com
Thu, 15 Mar 2001 15:22:16 -0500


Jens:

> What I would like to know is not just whether things are "possible" with
> Zope, I want to know whether these things are _easy_ with Zope. I've seen
> the reply to the post where somebody was asking how to check if a string
> contained only certain chars and the answer was a 10-line <dtml-something
> ...> script, which kind of scared me. This would be a one-liner regexp in
>PHP or Perl ...

All of Python is accessible from Zope.  Python has regexes.  Some people
choose to use DTML, which does not allow access to regexes.  You don't need
to do this.  Don't be hard on yourself.  ;-)

> - Transparent User registration. When a new user visits our site I want to
>   re-recognize him after that. With that info, I would like to know things
>   like
>
>  - how much % of users came a second time
>  - how much % of users viewed how many pages
>  - etc.

If this is in terms of an "anonymous" user (one who does not log in), a Zope
sessioning product can help you develop this.  See FSSession, SQLSession, or
CoreSessionTracking.  For that matter, identifying the user with a simple
cookie and doing the right procedural logic might work just as well.

> - Non-transparent user registration :-) I need an "easy" (in terms of
>  developing, and using) way for the users to save their settings and
>  perhaps even choose several profiles for themselves, for address lists
>  and so on.

This is a small matter of programming.  ;-)  Zope has a built-in
authentication system, so making something like this isn't too hard.
There's also a membership product by Bill Anderson (which I've never used)
that might make this easier.  The CMF (http://cmf.zope.org) might also be
your ticket.

> - For certain dates, like festivals or special holidays, I want to take
the
>   whole site and "extend it" (see OOP) with a couple additional features,
> and present _that_ site in a sub-domain. Like
>
>  - different colours / title bar
>  - pre-selected entry fields (e.g. for a sports festival when everybody is
>    driving to the same place anyway)
>  - etc.

Acquisition helps here.  See
http://www.zope.org/Members/Amos/WhatIsAcquisition

> - Plug in "applets". For example, for a date entry field I'd like a small
>  calendar pop-up where people can select a date, and perhaps also select
>  dates like "next monday three weeks from now" or something. Those might
>  be available as PHP classes or as Zope products and the point would IMHO
>  be how to integrate them in our system.  Other extensions might be a
>  message forum, email forms, rating other users, or whatever.

Your first example (the calendar) is probably best done in Javascript, which
Zope "supports" to the extent that it doesn't give a damn what happens on
the client (;-).  It acts like any other webserver in this respect.

Your other examples are supported by vaious Zope products (Squishdot,
MailHost, ... erm.. no module for "rating other users" that I know of).
There are hundreds of Zope products that you can try.  See
http://www.zope.org/Products

> - One thing I specially like is the "tree" view method (which is also used
>  in the tutorial). Is this a special Zope feature or just "one of many"?
>  How would it cope with a _lot_ of data (I'm talking about x*10,000
>  entries in total)? (This might be a way of browsing available database
>  entries like cities, for our users. ATM we are using more or less a flat
>  list which is not optimal for 29,000 database entries.)

It is a special Zope feature, yes.  But the tree tag sucks hard (IMHO).
It's very pretty, but it's painful.  It might do what you want.  But it
might not.

> - Plug in WAP/WML and cell phone short message system capability. I want
>  users to be able to query our system by sending a SMS (I've got a
>  provider for this already) or using their cell phone as web browser via
>  WAP.

See http://www.zope.org/Members/Duncan/wap_howto

> - Database flexibility. The whole site will run on a MySQL or Postgres
>  database (haven't decided yet) and I probably won't need Zope's internal
>  Database. I guess this won't be a problem.

There are three (!) Zope adapters for Postgres, and one very good one for
MySQL.

>- vi compatability :) I haven't yet found out where the actual files
>  reside, but one thing I do *not* want to use for regular development is
>  the web frontend. File/Save, or :wa , and refresh the browser window is
>  my idea of development environment ... I hope this is possible.

Use WebDAV or FTP.

> Those are the ideas I have. I've got a rough idea how to implement them in
> PHP and I can see it won't be an easy task whatever I chosse to use. I'm
> perfectly willing to lern Python and do most of the scripting in Python
> anyway (putting thousands of "dtml-tags" into the source isn't exactly the
> way to go I suppose) but I would really like to hear your input first.

You've heard it.  ;-)

--
Jens Benecke
·
" ...screams erupted at a Seattle hotel where Microsoft founder Bill Gates
was addressing an education and technology conference. (...)"
   -- cnn.com, Reportage über das Erdbeben in Seattle