[Zope] Architectural decisions

Peter Bengtsson mail at peterbe.com
Mon May 24 06:03:32 EDT 2004


<h2 tal:content="python:path('here/%s/environment'%request['partner'])">

Ben Last (Zope) wrote:

> Dear Zope list
> I'm approaching, on one particular project, a point of architectural
> decision.  The site is one of those potentially annoying constructions that
> needs to present several different "faces" on the same content, depending on
> a set of conditions, in this case:
> a) from which partner organisation a user is referred, or by which partner
> site the pages are framed
> b) whether they're on a web browser or a mobile device
> c) in what locale (i.e., country) the user is located
> The engineering of all this, in terms of referrers, browser-ids, etc, is all
> well-understood, and not a problem.  The decision is more in the
> architecture of the page templates.  The question I'm asking myself is, more
> or less, which of these approaches do I take?
> 1) Use monolithic page templates, one per actual page.  To add a new
> partner, device or locale, copy existing templates and modify them.  Simpler
> templates, but more of them.
> 2) Use a set of generic templates and share them by acquisition.  More
> complex templates, but fewer of them.
> In the latter case, there are some interesting techniques that I've
> discovered, but also limitations.  Chief amongst the latter is that there
> seems to be no way to use a variable as part of a ZPT path.  For example, if
> I have, in each partner subfolder, a template called "environment" which
> contains statements like:
> <span tal:define="global partner HugeInternationalCorporation"/>
> ...and is referred to by generic scripts with:
> <span tal:replace="here/environment | default"/>
> ...then I can provide each template with a cue to the context in which it's
> being invoked.  However, I can see no way to do stuff like:
> <h2 tal:content="here/$partner | default">Default Header"</h2>
> So, what I'm really interested in are any tips, experiences or general good
> advice that can better help me evaluate the pros and cons of approaches 1)
> and 2).
> Regards
> ben
> _______________________________________________
> Zope maillist  -  Zope at zope.org
> http://mail.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists - 
>  http://mail.zope.org/mailman/listinfo/zope-announce
>  http://mail.zope.org/mailman/listinfo/zope-dev )
> .

Peter Bengtsson, http://www.peterbe.com

More information about the Zope mailing list