#186: Make skinning/ themeing better
- Contents
- Proposed by
- Laurence Rowe
- Proposal type
- User interface, Architecture
- State
- draft
Motivation
Making a site skin is a big effort. You have lots of templates to touch and no good ways of managing them through software upgrades.Proposal
Integrate deliverance into Zope. To become the preferred skinning solution it must work out of the box with a standard Zope install.
Implementation
- UI for entering the html templates. Perhaps use something similar to conent rules to allow for placeful skin selections.
- Set headers on traversal with (relative?) urls for theme html and rules files.
- Transform output with WSGI pipeline that uses the information in the header to perform the right transform
Risks
- Little documentation on how to use WSGI with Zope 2
- turning on use-wsgi in zope.conf breaks Five with Zope 2.10.3
- I don't think lxml is thread safe.
- No IBeforeTraverseEvent in Zope 2.10 (which would be the perfect place to set headers)