Have other people found other useful rules of thumb about when to avoid DTML?
My guidelines are that dtml is only allowed to do <dtml-with somename> <dtml-with "somename(arg,arg)"> <dtml-in somelist mapping> <dtml-if somename> <dtml-var somename> or &dtml-somename; and variations <dtml-var sometemplate> and that's it. Especially, ANY computation of any sort is forbidden. For every dtml page "mypage" that I have, there is a script "mypage_get" which computes everything, puts it in a a big datastructure (usually a mix of imbricated dictionnaries and lists) and it's called from a dtml-with at the beginning of the dtml page (maybe with parameters). The use of the "mapping" idiom in dtml-with or dtml-in is very very useful. As Seb Bacon mentionned, I still have some REQUEST.set at the beginning of some pages, to initialize variables used in other dtml, but that's because not everything was designed properly I think. Of course I break those guidelines in many occasions, but at least I know I do it and I feel bad about it :) Besides this styles is very straightfoward to translate to ZPT, which is no small advantage. -- Florent -- Florent Guillaume, Nuxeo SARL (Paris, France) +33 1 40 33 79 10 http://nuxeo.com mailto:fg@nuxeo.com