Drop-in rich (JS/CSS-dependent) view components: Please review
(was Re: [Zope3-dev] Resource Library Proposal)
Jim Fulton
jim at zope.com
Wed Sep 7 13:24:23 EDT 2005
I'll note that I think this overlaps with Roger's pagelet system.
Dealing with resources needed by multiple page components seemed to
be a major motivation for pagelets.
Jim
Gary Poster wrote:
> Benji posted this last week and we don't have any feedback yet. We
> would really like some, even if it is to ask us to clarify what the
> heck it is about. Some of our other code that we want to contribute
> depends on this.
>
> The use case for this tool is to allow rich view components, such as
> form widgets (but there are many other examples), that rely on JS and
> CSS to work in a more componentized, drop-in way.
>
> It is centered on the idea of reusable client-side libraries--such as
> pdlib, the mishoo calendar, prototype, ricoh, mochikit, epoz, kupu,
> fckeditor etc.--that many view components may want to use, without
> knowledge of the other view components, but coordinated with them.
>
> For instance, imagine you have a widget that wants to use the mishoo
> calendar JS library. That involves JS and CSS, and CSS is only legal
> in the head (some browsers allow it elsewhere, yes). You want to
> package up your widget as a drop-in component for use in applications.
>
> Without the tool, you have to tell client developers to explicitly
> include the JS and CSS on the head of the main form template: not
> exactly drop-in, especially if the widget is sometimes drawn and
> sometimes not. With the tool, when/if the widget is rendered, it
> simply requests that the necessary necessary JS and CSS be included in
> the head.
>
> Further, imagine that you have another widget that needs the same
> library. Sometimes, they might be drawn on the same page. This tool
> makes sure you only get the library once (I believe browsers handle
> this for efficiency, actually, but still this is reasonable).
>
> Further, imagine that you need a library that relies on another library
> (Ricoh on Prototype, for instance). One view component needs Ricoh,
> and another needs Prototype. This is also handled nicely.
>
> The current implementation uses a custom request/response pair to do
> the HEAD rewriting; this is arguably a bit hacky, and we will probably
> explore WSGI pipelines once they are available. This should be largely
> transparent to developers relying on it.
>
> Later plans for this include optionally compressing JS and CSS.
>
> We think this will allow for a much nicer rich sub-view (i.e., rich
> widget, among others) story. We're eager to get some feedback,
> including ideas for improvements.
>
> Gary
>
>
> On Aug 31, 2005, at 3:55 PM, Benji York wrote:
>
>> I've added a proposal for Zope 3.2. Read at http://www.zope.org/
>> Wikis/DevSite/Projects/ComponentArchitecture/ResourceLibrary.
>>
>> WARNING: zope.org exhibiting some serious caching strangeness, so
>> please comment on the list instead of the wiki.
>
> _______________________________________________
> Zope3-dev mailing list
> Zope3-dev at zope.org
> Unsub: http://mail.zope.org/mailman/options/zope3-dev/jim%40zope.com
>
--
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