[Zope-dev] PythonLibraries Product
Tres Seaver
tseaver at zope.com
Thu Sep 11 16:02:19 EDT 2003
On Wed, 2003-09-10 at 23:46, Evan Simpson wrote:
> Tres Seaver wrote:
> > Actually, the restricted case is the one which has the real win; the
> > "free-floating" library is pretty, but not semanticaally needed. An
> > added argument: a ZPT with its own private library becomes, in effect,
> > a Zope3 view component; adopting such beasts will ease migration to
> > Zope3.
>
> Agreed.
>
> > For the filesystem representation: what if we just have two files for
> > templates with libraries: 'foo.html' and 'foo.html.py'?
>
> Eh. I think filesytem representations should handle this sort of thing
> much more generally. Assuming that the Zope object's ID is 'foo.html',
> there should be a text file of that name (encoded with quote_plus, which
> makes no difference in this case), and a directory named 'foo.html,'.
> Inside of this directory, there would be a 'library.py' (in this
> particular case), along with files such as 'properties' and 'proxies'.
Hmm, I'm thinking about this for the CMF. In CMF 1.3.x, a template
which has a cache manager, or a title, puts those values in a simple
'name=value'-formatted file, with extension '.properties'. Permission
mappings go in a separate file, with extension '.security'. So, the
filesystem-based template 'foo_view' might have as many as three files
associated with it:
- 'foo_view.pt'
- 'foo_view.pt.properties'
- 'foo_view.pt.security'
CMF 1.4 unified the two files into a single, '.ini'-formatted one:
- 'foo_view.pt'
- 'foo_view.pt.metadata'
It feels more natural to me just to add another file:
- 'foo_view.pt.py'
This is especially nice for many CMF skin templates (those which contain
forms), because I can probably *remove* the separate template which
serves as the "POST-target" for the form! Instead, such templates will
post *to themselves*, and use the bound library to do the validation /
updates. In this case, we go from:
- 'foo_edit_form.pt'
- 'foo_edit.py'
to:
- 'foo_edit_form.pt'
- 'foo_edit_form.pt.py'
>
> > And there is yet another argument for the bound library: it shows how
> > unnecessary, as well has how evil, that <script> tag hack is.
>
> Yep :-)
>
>
> > Refactoring a "one-off" template-cum-library will be simple, too:
>
> Cool!
>
> > I would vote for having the bound library's names inserted into the
> > 'template' TALES namespace, BTW.
>
> Tricky -- right now, that's just the template object itself. I'd just
> introduce a builtin 'library' variable, and probably dump the function
> names into the global namespace as well.
+1, then.
Tres.
--
===============================================================
Tres Seaver tseaver at zope.com
Zope Corporation "Zope Dealers" http://www.zope.com
More information about the Zope-Dev
mailing list