Index: openacs-4/packages/acs-templating/www/doc/no-quote-upgrade.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/no-quote-upgrade.html,v diff -u -r1.2 -r1.2.2.1 --- openacs-4/packages/acs-templating/www/doc/no-quote-upgrade.html 27 Oct 2014 16:40:14 -0000 1.2 +++ openacs-4/packages/acs-templating/www/doc/no-quote-upgrade.html 20 Aug 2015 17:19:53 -0000 1.2.2.1 @@ -31,14 +31,21 @@
All variables are now quoted by default, except those explicitly - protected by ;noquote. + protected by ;noquote or ;literal;.This means that the only way your code can fail is if the new code quotes a variable which is not meant to be quoted. Which is where ;noquote needs to be added. That's all porting effort - that is required. +that is required. Actually, the variables are subject to +HTML-quoting and internationalization. The suffix ;noquote +means that the variable's content will be internationalized, but not +HTML-quoted, while ;no18n means quote, but don't + internationalize. Finally ;literal means: don't quote and + don't internationalize. + +
This is not hard because most variables will not be affected by this change. Most variables either need to be quoted (those @@ -225,7 +232,7 @@
Over-quoting is resolved by adding ;noquote to one of the variables. We strongly recommend that you add - ;noquote inside the property tag rather than + ;literal inside the property tag rather than in the master. The reason is that, first, it makes sense to do so because conceptually the master is the one that "shows" the variable, so it makes sense that it gets to quote it. Secondly, @@ -244,8 +251,8 @@ slave sans over-quoting:
<master> -<property name="title">@title;noquote@</property> -<property name="heading">@title;noquote@</property> +<property name="doc(title)">@title;literal@</property> +<property name="heading">@title;literal@</property> ...@@ -280,12 +287,12 @@ in the last example: it gets quoted once by the includer, and the second time by the included page. The fix is also similar: when you transfer non-constant text to an included page, make - sure to add ;noquote. + sure to add ;literal.
Including template, sans over-quoting:@@ -308,7 +315,7 @@ content provided by the user. Add ;noquote to them.-<include src="user-kick-form" id=@kicked_id@ reason=@default_reason;noquote@> +<include src="user-kick-form" id=@kicked_id;literal@ reason=@default_reason;literal@>