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

Jim Fulton jim at zope.com
Fri Aug 26 17:25:55 EDT 2005


Jean-Marc Orliaguet wrote:
> Jim Fulton wrote:
> 
> 
>>Jean-Marc Orliaguet wrote:
>>
>>
>>>yes, these would be application-specific portlets, as the ones used in a
>>>calendar application for instance showing a monthly agenda. The portlet
>>>gets access to the current view object, to the current page location
>>>(renamed from 'context_obj' to 'location'). So as soon as you can
>>>produce some data from that you have a portlet that can be put inside a
>>>theme page.
>>
>>
>>I don't understand this.  Does the application page use a theme page
>>to render it's output, which then gets inserted into the o-wrap produced
>>by another theme page?  Or does it use a different o-wrap theme-page
>>which includes the portlets it wants to be displayed?
>>
>>Or, put another way, which of the following strategies are used:
>>
>>Option 1.
>>
>>  We render the master page (o wrap), which calls the view.  The view
>>then
>>  finds another theme page that has portlets it wants. The view renders
>>  this theme page and returns the result to the calling master page,
>>which then
>>  renders the whole page.
>>
>>or
>>
>>Option 2:
>>
>>  When we display the view, we select a different master page than the
>>usual
>>  one.  This special master page has portlets that the view wants to
>>be displayed.
>>
>>or none of the above? :)
>>
>>Jim
>>
> 
> 
> an application designer would have two choices:

I guess these are both in the "none of the above" catagory. :)


> 1) provide views just like any zope3 does already, and use cpsskins to
> decorate the page with portlets around the main view, very much like the
> current ZMI interface, with breadcrumbs, some navigation, some actions,
> with the difference  that there is no need to write CSS since there is
> already a style editor that takes care of that.
> also the portlets can be moved on the canvas without touching any
> main_template.pt or zpt.

But this doesn't let me use portlets in the main view.  What if I
wanted my results page in the poll example to use a particular portlet.
Is there a way to do that?

> 2) write portlets instead of views, that will be placed on a page as any
> portlet would. One could write an XForm rendering portlet (Julien is
> working on something like this), or a document portlet that renders some
> document, etc..
> 
>  but then we get back to the original subject of the discussion: once
> you have application specific portlets, you need to introduce the notion
> of perspective (or contextual usage) otherwise you won't be able to know
> when to display them.
> 
> for instance it is OK to display an action portlet on every screen of a
> portal because there will always be an action to show and action items
> are highly contextual, but for some portlets or groups of portlets that
> are too specifically tied to a given activity in the application, this
> won't do.
> 
> remember that unlike the objects in <browser:page /> no portlets is
> associated to object types, portlets are associated to cells (global
> portlets) or to slots (local portlets)
> 
> So the idea behind perspectives (as in Eclipse SDK) is to create a sort
> of contextual usage but for local portlets that can be used by the
> application to update the interface according to the current activity of
> the user.

So, my results page, instead of being a normal view is a portlet.  Suppose
that my original goal in my results page was to display the results along
with some other portlet. Now, I split my results page into a portlet
that I wanted to display and the original portlet that I wanted to display.
Now, I have to somehow, through perspectives or some rule-based approach
arrange to have my to portlets displayed in the two desired places on the page.
This sounds like a very round-about way to just display a page with a portlet.

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