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="[
]?" 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
skipargument determines the reaction when access to a sequence element is refused by the Zope security policy. The default (None) is to raise theUnauthorizedexception. 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
skipvalue. Batch has an optionalskip_unauthorizedargument that is passed to LazyFilter? asskip. - Utility functions make_query(), url_query(), and make_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:
Unauthorizedexception 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
repeatvariable 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: and exists: expressions types into path modifiers.
- tal:attributes no longer inserts empty attributes into source.
- The
ifpath 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