<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>helma.org/wiki/Helma 1.5 skin rendering is broken</title>
<pubDate>Thu, 20 Nov 2008 13:29:41 +0100</pubDate>
<description>Updates for Page helma.org/wiki/Helma 1.5 skin rendering is broken</description>
<link>http://dev.helma.org/wiki/Helma+1.5+skin+rendering+is+broken/</link>
<item>
<title>Version 7</title>
<pubDate>Sat, 31 Mar 2007 09:04:32 +0200</pubDate>
<description>&lt;div class=&apos;diffbody&apos;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;18&lt;/td&gt;&lt;td&gt;&lt;span class=&apos;diffadded&apos;&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;19&lt;/td&gt;&lt;td&gt;&lt;span class=&apos;diffadded&apos;&gt;[Update 2007/03/31] Actually, I&apos;m not really sure about the first item (the $handler syntax). But since I have reframed the problem (from dealing with yet another conflict case to simply avoiding it by sprinkling some after-processing magic dust) I have stopped worrying. I think it&apos;s just a matter of hours/days until some really right solution pops up, maybe involving JavaScript instead of Java.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<link>http://dev.helma.org/wiki/Helma+1.5+skin+rendering+is+broken/history.diff?v=7</link>
<author>hannes</author>
</item>
<item>
<title>Version 6</title>
<pubDate>Fri, 30 Mar 2007 17:46:57 +0200</pubDate>
<description>&lt;div class=&apos;diffbody&apos;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;13&lt;/td&gt;&lt;td&gt;* Add a simple syntax that allows to reference parameter handlers in macro tags: If a parameter value &lt;span class=&apos;diffadded&apos;&gt;(or macro name?) &lt;/span&gt;starts with a &amp;quot;$&amp;quot;, Helma will try to convert it to the value of the corresponding res.handlers property before passing it to the macro. For example, &amp;lt;code&amp;gt;&amp;lt;% list page=$page %&amp;gt;&amp;lt;/code&amp;gt; will result in the list macro being invoked with res.handlers.page as argument, rather than the string &amp;quot;$page&amp;quot;. With this we can disambiguify global macros from handler references.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<link>http://dev.helma.org/wiki/Helma+1.5+skin+rendering+is+broken/history.diff?v=6</link>
<author>hannes</author>
</item>
<item>
<title>Version 5</title>
<pubDate>Fri, 30 Mar 2007 17:46:19 +0200</pubDate>
<description>&lt;div class=&apos;diffbody&apos;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;9&lt;/td&gt;&lt;td&gt;&lt;span class=&apos;diffremoved&apos;&gt;What all this boils down to is to simplify macro handler lookup in Helma 1.6 a fair bit,&lt;/span&gt;&lt;span class=&apos;diffadded&apos;&gt;===&lt;/span&gt;&amp;nbsp;&lt;span class=&apos;diffremoved&apos;&gt;dropping the path lookup, dropping maybe the global lookup but in any case allowing objects in res.handlers to be acessed directly in macros, and providing a switch for Helma 1.5-compatible skins to disable all this and doing it the old way. What do you think?&lt;/span&gt;&lt;span class=&apos;diffadded&apos;&gt;Proposed Changes ===&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;10&lt;/td&gt;&lt;td&gt;&lt;span class=&apos;diffadded&apos;&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;11&lt;/td&gt;&lt;td&gt;&lt;span class=&apos;diffadded&apos;&gt;[Update 2007/03/30] Here are the measures I came up with after a few days of rumination:&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;12&lt;/td&gt;&lt;td&gt;&lt;span class=&apos;diffadded&apos;&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;13&lt;/td&gt;&lt;td&gt;&lt;span class=&apos;diffadded&apos;&gt;* Add a simple syntax that allows to reference parameter handlers in macro tags: If a parameter value starts with a &amp;quot;$&amp;quot;, Helma will try to convert it to the value of the corresponding res.handlers property before passing it to the macro. For example, &amp;lt;code&amp;gt;&amp;lt;% list page=$page %&amp;gt;&amp;lt;/code&amp;gt; will result in the list macro being invoked with res.handlers.page as argument, rather than the string &amp;quot;$page&amp;quot;. With this we can disambiguify global macros from handler references.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;14&lt;/td&gt;&lt;td&gt;&lt;span class=&apos;diffadded&apos;&gt;* Introduce an app property to disable handler lookup in the parent path of the this-object. The goal is to enable a setup where res.handlers is the only place for macro handlers.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;15&lt;/td&gt;&lt;td&gt;&lt;span class=&apos;diffadded&apos;&gt;* Introduce an app property that allows to define namespaces for global macros and filters. The default will be null, i.e. global macros will be looked up in the global scope, while tidiness-concious apps will put global macros and filters into namespaces like helma.macros and helma.filters. It may be possible/disirable to define multiple namespaces to form a search path form global macros.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;16&lt;/td&gt;&lt;td&gt;&lt;span class=&apos;diffadded&apos;&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;17&lt;/td&gt;&lt;td&gt;&lt;span class=&apos;diffadded&apos;&gt;These changes would solve all problems above, except the param-&amp;gt;res.handlers feature, which anyway is easier done in JavaScript when implementing a *renderPart()/render() as proposed by Tobi|Handler for rendered skins*.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<link>http://dev.helma.org/wiki/Helma+1.5+skin+rendering+is+broken/history.diff?v=5</link>
<author>hannes</author>
</item>
<item>
<title>Version 4</title>
<pubDate>Sun, 25 Mar 2007 14:04:14 +0200</pubDate>
<description>&lt;div class=&apos;diffbody&apos;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;9&lt;/td&gt;&lt;td&gt;What all this boils down to is to simplify macro handler lookup in Helma 1.6 a fair bit, dropping the path lookup, dropping maybe the global lookup but &lt;span class=&apos;diffremoved&apos;&gt;allowing but &lt;/span&gt;in any case allowing objects in res.handlers to be acessed directly in macros, and providing a switch for Helma 1.5-compatible skins to disable all this and doing it the old way. What do you think?&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<link>http://dev.helma.org/wiki/Helma+1.5+skin+rendering+is+broken/history.diff?v=4</link>
<author>hannes</author>
</item>
<item>
<title>Version 3</title>
<pubDate>Sun, 25 Mar 2007 14:02:40 +0200</pubDate>
<description>&lt;div class=&apos;diffbody&apos;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;5&lt;/td&gt;&lt;td&gt;* Macro handler lookup: handlers are looked for in the path of the HopObject the skin is being rendered on first, and only then in res.handlers. The reason for this is that at one time, it was impossible to register handlers at all (before res.handlers, the request path was used for handler lookup), so it would have been &lt;span class=&apos;diffremoved&apos;&gt;impossible&lt;/span&gt;&lt;span class=&apos;diffadded&apos;&gt;impossible to address anything outside/beyond the request path&lt;/span&gt;. &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<link>http://dev.helma.org/wiki/Helma+1.5+skin+rendering+is+broken/history.diff?v=3</link>
<author>hannes</author>
</item>
<item>
<title>Version 2</title>
<pubDate>Sun, 25 Mar 2007 14:01:44 +0200</pubDate>
<description>&lt;div class=&apos;diffbody&apos;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;7&lt;/td&gt;&lt;td&gt;* Finally, the i think the param argument to the renderSkin* methods had been deprived of its usefulness as describe in &lt;span class=&apos;diffremoved&apos;&gt;*this comment|&lt;/span&gt;&lt;span class=&apos;diffadded&apos;&gt;&amp;lt;a href=&amp;quot;&lt;/span&gt;http://dev.helma.org/wiki/Handler+for+rendered+skins/#$cmt1669&lt;span class=&apos;diffremoved&apos;&gt;*&lt;/span&gt;&lt;span class=&apos;diffadded&apos;&gt;&amp;quot;&amp;gt;this comment&amp;lt;/a&amp;gt;&lt;/span&gt;. I think the param argument would be most useful if it simply was another way of directly registering stuff in res.handlers.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<link>http://dev.helma.org/wiki/Helma+1.5+skin+rendering+is+broken/history.diff?v=2</link>
<author>hannes</author>
</item>
<item>
<title>Version 1</title>
<pubDate>Sun, 25 Mar 2007 14:00:52 +0200</pubDate>
<description>&lt;ul class=&apos;diffproperties&apos;&gt;&lt;li&gt;Set &lt;span class=&apos;diffpropname&apos;&gt;tags&lt;/span&gt; to &lt;span class=&apos;diffadded&apos;&gt;helma 1.6, Skin Rendering, templates&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class=&apos;diffbody&apos;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;1&lt;/td&gt;&lt;td&gt;&lt;span class=&apos;diffadded&apos;&gt;The more I think about it, the more I find that skin rendering in Helma 1.5 is quite broken, and we need to make a (minor) step in Helma 1.6 to get rid of the worst of it.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;3&lt;/td&gt;&lt;td&gt;&lt;span class=&apos;diffadded&apos;&gt;Here&apos;s what I found so far:&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;4&lt;/td&gt;&lt;td&gt;&lt;span class=&apos;diffadded&apos;&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;5&lt;/td&gt;&lt;td&gt;&lt;span class=&apos;diffadded&apos;&gt;* Macro handler lookup: handlers are looked for in the path of the HopObject the skin is being rendered on first, and only then in res.handlers. The reason for this is that at one time, it was impossible to register handlers at all (before res.handlers, the request path was used for handler lookup), so it would have been impossible. &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;6&lt;/td&gt;&lt;td&gt;&lt;span class=&apos;diffadded&apos;&gt;* Global and non-global macros: In the old days, global and non-global macros could simply be kept apart by looking at whether the macro name contained a dot character. This makes less and less sense to me, since global macros may be packed into namespaces as well, and with filters and nested macros, it is quite conceivable that people might want to address handlers directly as macro return values (e.g. to send it down a filter chain, or to send it as an argument to another macro). &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;7&lt;/td&gt;&lt;td&gt;&lt;span class=&apos;diffadded&apos;&gt;* Finally, the i think the param argument to the renderSkin* methods had been deprived of its usefulness as describe in *this comment|http://dev.helma.org/wiki/Handler+for+rendered+skins/#$cmt1669*. I think the param argument would be most useful if it simply was another way of directly registering stuff in res.handlers.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;8&lt;/td&gt;&lt;td&gt;&lt;span class=&apos;diffadded&apos;&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;9&lt;/td&gt;&lt;td&gt;&lt;span class=&apos;diffadded&apos;&gt;What all this boils down to is to simplify macro handler lookup in Helma 1.6 a fair bit, dropping the path lookup, dropping maybe the global lookup but allowing but in any case allowing objects in res.handlers to be acessed directly in macros, and providing a switch for Helma 1.5-compatible skins to disable all this and doing it the old way. What do you think?&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<link>http://dev.helma.org/wiki/Helma+1.5+skin+rendering+is+broken/history.diff?v=1</link>
<author>hannes</author>
</item>
</channel>
</rss>
