[Zope3-dev] [DRAFT] local portlets and perspectives

Jim Fulton jim at zope.com
Fri Aug 26 13:15:22 EDT 2005


Jean-Marc Orliaguet wrote:
> Jim Fulton wrote:
> 
> 
>>Jean-Marc Orliaguet wrote:
>>
>>
>>>Hi!
>>>
>>>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:
>>>http://www.z3lab.org/sections/blogs/jean-marc-orliaguet/2005_08_24_local-portlets
>>>
>>>
>>>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
>>particular,
>>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?
>>
>>Jim
>>
> 
> 
> Hi Jim, here are the concepts defined:

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

> - A *theme* is a visual unity, when you go from cnn.com to bbc.co.uk 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:

   .../mysection/foo.html

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, cnn.com 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:
> - http://www.medic.chalmers.se/~jmo/Zope3/chalmers-1.png
> 
> here is the same page with the slots, global portlets and local portlets
> shown:
> - http://www.medic.chalmers.se/~jmo/Zope3/chalmers.png
> 
>   - 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:
> - http://www.medic.chalmers.se/~jmo/Zope3/tme.png
> 
> 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


-- 
Jim Fulton           mailto:jim at zope.com       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org


More information about the Zope3-dev mailing list