[Grok-dev] Skinning/themeing

Kevin Smith kevin at mcweekly.com
Thu May 17 20:33:13 EDT 2007

Martin Aspeli wrote:
> Hi guys,
> I know there was a debate on this a while ago, but having done some 
> thinking, and in light of the experience of writing Plone 3, I feel that:
>  - We ought to have a standard way of sharing UI structure.

It might be wise for grok to stay out of the CMS business for awhile. I 
believe there are plans in the GSOC to flesh out the administration ui a 
bit, but only for basic maintenance and configuration tasks. Such as 
delete/rename, etc. That's a good thing, IMO.

> This is analogous to main_template in Plone
>  - We ought to promote a standard set of viewlets
> Viewlets are great. They make it easy to write general components, 
> such as ratings (with annotations, which are also great) or tagging or 
> information boxes. It'd be useful if there was a semi-standardised 
> vocabulary of viewlet managers that applications could use. This would 
> mean we'd get the same name for similar elements of applications' UI, 
> making it easier for other code to plug itself into those viewlet.
Viewlets are awesome. I've done some work to make them easier to use and 
behave more view-like in the megrok.quarry repository.

>  - We ought *not* to write our own themeing engine.
> For this, I think we should embrace Deliverance. :)
> Plone very much wants to move in this direction, where ZPT's are used 
> to define page structure and shared elements (which are also good at), 
> and plain-HTML theme files with Deliverance rule files are the way to 
> go for the end look-and-feel (which is much more designer-friendly).
> Simple applications won't care. Simple applications will just 
> hard-code look-and-feel into ZPTs. Simple applications don't need 
> anything more complex or powerful for skinning/themeing. Simple 
> applications possibly even want something simpler than ZPTs.
> Complex applications, or those where designers are different people to 
> coders, or those that want to be extensible and skinnable, do need a 
> themeing system. Rather than inventing a new one, I think Deliverance 
> continues the Grok mantra of simplicity, elegance and innovativeness. 
> I know some people have already started looking into this marriage, 
> and I'm really keen to hear of their experiences.
Perhaps this a bit too black and white. I think there is a lot of middle 
ground here. None of my use-cases yet warrant a full-on Deliverance, yet 
they *always* require seperate admin/public skins.

> -
> To my knowledge, to make this happen, we would need:
>  - To nudge the Deliverance build/install/deploy story along a little 
> further. It's not too bad, it just needs an installer or an egg or a 
> buildout recipe, and some better Windows support.
>  - A developer-friendly way of configuring Deliverance - probably as a 
> filter using the Twisted web server and WSGI.
>  - Some Grokkable conventions for storing theme files and resources
>  - Documentation and patterns an examples :)
> Thoughts?
I am -1 for making Grok a CMS, and +1 for using grok to creat a 
stream-lined CMS with a standard API, though this sounds suspiciously 
like the beginning of grok.Monolith, the port of Plone to grok. ;)

Best regards,

Kevin Smith

PS: Definately look at Darryl's work, besides using Deliverance, he's 
even done a port of Plone portlets to grok.
> Martin
> _______________________________________________
> Grok-dev mailing list
> Grok-dev at zope.org
> http://mail.zope.org/mailman/listinfo/grok-dev

More information about the Grok-dev mailing list