[Zope3-dev] [DRAFT] local portlets and perspectives
Gary Poster
gary at zope.com
Wed Aug 24 18:04:12 EDT 2005
On Aug 24, 2005, at 2:24 PM, 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 need to read more to have a more complete reply (though I'm hoping
Benji will do it for me, since he knows more about CPSSkins than I),
but here are a few responses, based on reading it and talking it over
with Benji.
Your overall model is interesting to me because it goes a good way to
unifying the various portlet use cases. I know of six categories:
page designer wants to fill slots for a site; page designer wants to
fill slots for a section of a site; page designer wants to fill slots
for a page on a site; user wants to fill slots for a site; user wants
to fill slots for a section of a site; and user wants to fill slots
for a page on a site. The section and page use cases might be
collapsed technically, but have a different feel to a user, IMO, and
so should be separated. Combining these into a unified model is
impressive and cool.
I worry that the description does not get into the possible UI
expectation differences between a page designer and a user, and
between working on a site or section versus a single page. These
seem like tricky UI bits to get right to me. I'd be interested in
seeing a discussion of your thoughts of the UI from this perspective,
especially in regards to showing a user, within an editing screen,
which portlets are being edited from a page perspective, from a per-
user perspective, from a section perspective, and so on. It seems
like it could cause information overload.
The 'perspective' idea is a good concept for the discussion (and I
used the word above), but you claim that it is a single element in a
triadic relationship, then list several perspectives, each of which
could influence the lookup. This means to me that it is not triadic
but 'n-ary'. Moreover, it seems a lot more like a graph walk, for
which we don't need new code in CPSSkins, than a new n-ary data
index. RDFLib or any similar graph implementation with typed
relationships would get the efficiency you want, as far as I can
tell, with a lot less new code to maintain.
Gary
More information about the Zope3-dev
mailing list