Historical Change Log for TAL, Page Templates, and ZTUtils¶
2001-08-13: PageTemplates and TAL 1.4.0, ZTUtils 1.1.0¶
ZPTs are now cache-enabled
Added property sheet to ZPT
Added TAL statement:
omit_tag="[<boolean expr>]"
replaces the statement tag with its contents if the boolean expression is true or omitted.The TAL and METAL namespaces can be applied to tag names, tags in these namespaces are removed from rendered output (leaving the contents in place, as with omit_tag) whenever attributes in these namespaces would be, and tag attributes without explicit namespaces default to the tag’s namespace (per XML spec).
TreeMakers have a setChildAccess() method that you can use to control tree construction. Child nodes can be accessed through either an attribute name or callback function. Children fetched by attribute name can be filtered through a callback function.
A new LazyFilter class allows you to filter a sequence using Zope security and an optional filter callback function. The security and filter tests are lazy, meaning they are performed as late as possible.
The optional ‘skip’ argument determines the reaction when access to a sequence element is refused by the Zope security policy. The default (None) is to raise the ‘Unauthorized’ exception. If a string is passed, such elements are skipped. If the string is non-empty, it is treated as a permission name, and the element is skipped if the user doesn’t have that permission on the element.
The Zope versions of TreeMaker, SimpleTreeMaker, and Batch now use LazyFilter. The TreeMakers have a setSkip() method that can be used to set the ‘skip’ value. Batch has an optional ‘skip_unauthorized’ argument that is passed to LazyFilter as ‘skip’.
Utility functions
make_query()
,url_query()
, andmake_hidden_input()
have been added.FIXED: Expressions with embedded newlines were broken
FIXED: History comparison tried to expand macros
FIXED: Iterator exceptions weren’t converted
FIXED: ‘Unauthorized’ exception couldn’t be handled by on-error
2001-07-18: PageTemplates and TAL 1.3.3¶
- Allow any false value in tal:repeat to act as an empty sequence.
- manage_addPageTemplate accepts optional title and text arguments, and returns the new object if REQUEST is None.
- FIXED: The various Python modules failed to import CompilerError.
- FIXED: Security machinery changes in Zope 2.4 broke ZRPythonExpr
- FIXED:
tal:atributes
was creating stray attributes in METAL expansion, and there was no unit test for this behavior. - FIXED:
tal:attributes
parsing was not catching badly malformed values, and used “print” instead of raising exceptions.
2001-05-25: PageTemplates 1.3.1¶
- Added error logging to PageTemplateFiles.
- Refactored PythonExpr, and added support for Zope 2.4
2001-05-21: TAL and PageTemplates 1.3.0¶
- Guido fixed use of nested macros.
- New builtin variables
default
,user
, andattrs
. - Removed path modifiers.
- Added
|
operator for paths. - Tweaked parameters passed when calling DTML.
- Expression types now have corresponding builtin functions in Python expressions.
2001-05-07: TAL and PageTemplates 1.2.1¶
- Bugfixes for ‘repeat’ variable access
2001-04-27: TAL and PageTemplates 1.2.0, ZTUtils 1.0.0¶
- Depends on the new
ZTUtils
package, which adds batching and tree widget capabilities. - Path expressions now have optional path modifiers. These
appear in parenthesis before the path, and include
if
,exists
, andnocall
. - Changed
nocall:
andexists:
expressions types into path modifiers. tal:attributes
no longer inserts empty attributes into source.- The
if
path modifier can cancel any TAL action.
2001-04-10: TAL and PageTemplates 1.1.0¶
- Bug fixes
- Tell TAL not to parse replacement structural text
- Change tests to match TAL’s omitted attributes
2001-03-30: TAL and PageTemplates 1.0.0¶
- Minor bugs fixed
2001-03-27: TAL and PageTemplates 1.0.0b1¶
- All functionality described in the Project Wiki is implemented