[Zope3-dev] IMPORTANT RFS: Through the Web Site Development

Luciano Ramalho lgsr@uol.com.br
Mon, 13 Jan 2003 14:31:41 -0300


On segunda-feira, jan 13, 2003, at 11:48 America/Sao_Paulo, Shane 
Hathaway wrote:

> We should strive to reduce the need for common Zope users to write 
> software.  Classes and methods are software.

I totally agree with this part but...

>  Once you ask someone to write a class or method, you're better off 
> letting them write an entire module, because you've already crossed 
> the "software development" barrier.

this view has a problem: if we decide that in Zope3 software 
development == writing modules we will completely loose a significant 
part of our current and future user base: people who learned to program 
for the Web using ASP, PHP or JSP. We all know mixing logic and 
presentation is bad. But "logic" and "presentation" are not as distinct 
as "black" and "white". In sophisticated sites a lot of server side 
logic is written to support the presentation (and I am not talking 
about DHTML cosmetics, but content filtering and aggregation, for 
example). So there is a significant gray area where the most effective 
solution (for a lot of web programmers) is to write TTW Python scripts 
close to the pages that use them.  [Note that, for the ASP and PHP 
crowd, this is already a new discipline to learn: they are used to 
write all of their logic INSIDE their pages and to think about writing 
code in a separate file is already a strecth].

So, although to create products to way to go is writing modules, there 
will always be a demand to implement some logic as small ad-hoc scripts.

> Ever since I started maintaining my own Zope site, I've wanted to do 
> two simple things.  I'm coming to believe that a lot of new Zope users 
> want the same things:
>
> 1) Add metadata to objects following some schema that I define, and 
> search based on that metadata.
>
> 2) Define what people see if they traverse directly to the object. 
> Although the default view could be defined by the type of the object, 
> I think the default view of something is not necessarily dependent on 
> its type.

This is a brilliant summary, to which I would add only a third item:

3) Define what we call "covers" or "index pages", which are pages that 
summarize and aggregate the content of a section of the site, or the of 
the entire site (think about the front page of a newspaper).

To configure an index page one needs to choose how objects are selected 
to appear there, either by some automatic method (latest news on top) 
or through some human action (select what is important today).

> It really shouldn't ever be necessary to write any new software to do 
> either of those things.

+1

> I think those simple capabilities would fulfill the expectations of a 
> significant percentage of Zope users who today have to write software.

But some software will still be written in an ad-hoc basis, and we 
should provide for that.

--
Luciano