Jean-Marc Orliaguet wrote:
Jim Fulton wrote:

Jean-Marc Orliaguet wrote:


Somehow related to the discussion on optimizing catalog queries, I have
been thinking about how to best implement local portlets in cpsskins in
terms of scalability, performance and functionality. The implementation
is heavily dependent on being able to performance effective catalog
queries (it is OK to wait 2 seconds in an ECMS to search 1 million
documents, but it is not OK to have to wait 2 seconds to render a page
containing portlets).

Here is the proposal:

It is built on the notion of "Perspective" (see the link) and on the
idea of querying the catalog using triadic relations instead of joining
sets of query results based on dyadic predicates (such as with RDF).

I'd like to make some substantive comments on the proposal.  My initial
reaction is that the solution proposed is very complex and I'm not at all
clear about the problem it solves. :)

I think I need to understand how themes work in CPS skins.  In
I need to understand the relationships between themes, pages, sections,
cells, global portlets and local portlets.  Your proposal is based on
but doesn't really describe most of these concepts.  Can you recommnd
some documentation?


Hi Jim, here are the concepts defined:

It's too bad these aren't defined in a more perminent and referenceable

- A *theme* is a visual unity, when you go from to you
see that sites are using different themes. The includes, colors, styles,
icons, etc.
- Inside a same theme there are *pages*, pages use the styles defined in
the theme, but the layout may be different (3 columns -> 2 columns) from
one page to another. The rationale is that when you create a new page,
you want to be able to reuse the same styles.
typically there is: the front page, the section page, the login page ...

A page, as defined here, seems to be a template, as opposed to a page with
a particular URL. I take it all section index.html pages use the same
theme pages.  The use of the term "page" here seems unfortunate.  If a section
has a page for searching, would that also use the section page from the theme?
Or would that use some other theme page?

I think this is a critival point.  When I visit a URL on a section, say:


what determines which theme page is used?

- a *section* of a site is not specific to cpsskins, it can be a folder,
a project room, a workspace, has "World", "U.S", "Weather", etc.

- *cells* are layout elements in a page that could be also called
"columns", the left column can contain navigation portlets, the right
column can contain ads, the main column usually the document being
looked at.

So a single cell can contain multiple portlets?  I assume that they need not
be layed out soley in columns.

- *global portlets* are part of a page, they are placed in cells. i.e.
if a page is displayed and the portlet is in the page, then the portlet
will be displayed. Typically global portlets are: the logotype, some
navigation portlet. Only theme designers can manage global portlets.
They make the theme's skeleton.

So a theme page has some cells that are each filed with 0 or more
global portlets?

- *slots* are placeholders that can contain portlets. A theme designer
will add slots to a theme, but it's not up to him/her to define which
portlets will be displayed in the slot. The theme design will decide
what style the portlets inside the slots will have.

Is a slot a kind of portlet? Does a slot go into a cell?
Do pages contain both slots and cells? Or do pages contain
cells, which can contain either slots or global portlets?

- local portlets are placed in slots by the users themselves.
here is an illustration:

on the chalmers website here is the front page:

here is the same page with the slots, global portlets and local portlets

  - global portlets are represented in orange, no user that is not theme
designer is allowed to modify them
  - the slots are represented by areas with a red border.
  - the local portlets are represented in violet. users who work with
content can modify them and add new ones into the slots.

here the template uses with Chalmers institutions:

content creators can only add content inside the predefined slots, which
guarantees that the graphic profile is preserved.

Ah, so the "users" you are refering to are the content managers, not the
end users (site visitors) of the system?

What problem perspectives solves?

I'd respond to this section later once I'm sure I understand the basic
concepts and terminology.


Jim Fulton           mailto:[EMAIL PROTECTED]       Python Powered!
CTO                  (540) 361-1714  
Zope Corporation
Zope3-dev mailing list

Reply via email to