<?xml version="1.0"?>
<rss version="2.0">
<channel>
<link>http://helma.org/wiki/Workspace/philmaker/HopObjects+Explained/</link>
<title>helma.org/wiki/Workspace/philmaker/HopObjects Explained</title>
<description>Updates for Page helma.org/wiki/Workspace/philmaker/HopObjects Explained</description>
<pubDate>Thu, 24 May 2012 16:14:52 +0000</pubDate>
<item>
<title>Version 41</title>
<link>http://helma.org/wiki/Workspace/philmaker/HopObjects+Explained/history.diff?v=41</link>
<description>&lt;div class=&#39;diffbody&#39;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;7&lt;/td&gt;&lt;td&gt;This nature of HopObjects can be a little confusing if you are trying to develop a traditional webapp. (perhaps I mean non-RESTful here)&amp;nbsp; For a traditional webapp, you will likely use two *separate* HopObject branches. The first HopObject branch will represent URL requests. A second HopObject branch you will use for data persistence for a user is the session.user property which itself is a HopObject. For example, when a user posts form data which is user centric, the hac action file would be responsible for copying the form values to a new HopObject which is then attached to the user HopObject. The session.user HopObject has already been connected to the root HopObject. [pending: verify this] When you attach a new HopObject to the user.session HopObject, this new HopObject is automatically persisted because it had been attached to the root HopObject.&lt;span class=&#39;diffremoved&#39;&gt; If you edit the values of a HopObject which is already attached to the root chain, you must manually call persist() on that HopObject.&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=&#39;diffadded&#39;&gt;&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=&#39;diffadded&#39;&gt;This is apparently false so ignore: If you edit the values of a HopObject which is already attached to the root chain, you must manually call persist() on that HopObject.&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=&#39;diffadded&#39;&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<pubDate>Thu, 22 Nov 2007 07:39:09 +0000</pubDate>
<author>philmaker</author>
</item>
<item>
<title>Version 40</title>
<link>http://helma.org/wiki/Workspace/philmaker/HopObjects+Explained/history.diff?v=40</link>
<description>&lt;div class=&#39;diffbody&#39;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;7&lt;/td&gt;&lt;td&gt;This nature of HopObjects can be a little confusing if you are trying to develop a traditional webapp. (perhaps I mean non-RESTful here)&amp;nbsp; For a traditional webapp, you will likely use two *separate* &lt;span class=&#39;diffremoved&#39;&gt;HopObjects&lt;/span&gt;&lt;span class=&#39;diffadded&#39;&gt;HopObject branches&lt;/span&gt;. The first HopObject &lt;span class=&#39;diffadded&#39;&gt;branch &lt;/span&gt;will &lt;span class=&#39;diffremoved&#39;&gt;be automatically created according the folder in your app&lt;/span&gt;&lt;span class=&#39;diffadded&#39;&gt;represent URL requests&lt;/span&gt;. A second HopObject &lt;span class=&#39;diffadded&#39;&gt;branch &lt;/span&gt;you will use for data persistence for a user is the session.user property which itself is a HopObject. For example, when a user posts form data which is user centric, the hac action file would be responsible for copying the form values to a new HopObject which is then attached to the user HopObject. The session.user HopObject has already been connected to the root HopObject. [pending: verify this] When you attach a new HopObject to the user.session HopObject, this new HopObject is automatically persisted because it had been attached to the root HopObject. If you edit the values of a HopObject which is already attached to the root chain, you must manually call persist() on that HopObject.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<pubDate>Thu, 22 Nov 2007 07:37:47 +0000</pubDate>
<author>philmaker</author>
</item>
<item>
<title>Version 39</title>
<link>http://helma.org/wiki/Workspace/philmaker/HopObjects+Explained/history.diff?v=39</link>
<description>&lt;div class=&#39;diffbody&#39;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;5&lt;/td&gt;&lt;td&gt;HopObject background: HOP in HopObject stands for Helma Object Publisher (emphasis on publisher). The multi-faceted design of HopObjects lends itself well to sites with a dynamic content structure. For example, a wiki or a weblog. Further illustration of this are the existing projects Gobi (wiki) and Antville (weblog) which each use Helma. A HopObject can have the ability to be mapped to a token of a URL but also persist application data. For instance, with a wiki, a &lt;span class=&#39;diffremoved&#39;&gt;HobObject &lt;/span&gt;&lt;span class=&#39;diffadded&#39;&gt;HopObject &lt;/span&gt;can pertain to the requested page portion of the URL but the HopObject can also persist the application data for that page. If I load a wiki page at /Home, a HopObject hosts that page but it also is responsible for its associated application-wide content such as the wiki page title, content, tags, and so on - which gets stored in the internal XML database.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<pubDate>Thu, 22 Nov 2007 07:36:01 +0000</pubDate>
<author>philmaker</author>
</item>
<item>
<title>Version 38</title>
<link>http://helma.org/wiki/Workspace/philmaker/HopObjects+Explained/history.diff?v=38</link>
<description>&lt;div class=&#39;diffbody&#39;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;3&lt;/td&gt;&lt;td&gt;In Helma, a HopObject is a base object which 1. can contain child HopObjects 2. serves URL requests 3. can also persist to the internal XML database or to a SQL database. Each Helma app has a Root HopObject which is the top node of a tree of HopObjects. In a Helma app, a URL request gets resolved to a path in a tree of HopObjects which are attached to the root HopObject. The exception is that the last token in the URL request is mapped to an action of HopObject which &lt;span class=&#39;diffremoved&#39;&gt;respresents &lt;/span&gt;&lt;span class=&#39;diffadded&#39;&gt;represents &lt;/span&gt;the previous token in the URL. Example: a.&amp;nbsp; (root)/hop1/hop2/action calls Hop2.action.hac - b. (root)/hop1/hop2 calls Hop2.main.hac (uses main.hac by convention)&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<pubDate>Thu, 22 Nov 2007 07:35:16 +0000</pubDate>
<author>philmaker</author>
</item>
<item>
<title>Version 37</title>
<link>http://helma.org/wiki/Workspace/philmaker/HopObjects+Explained/history.diff?v=37</link>
<description>&lt;div class=&#39;diffbody&#39;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;3&lt;/td&gt;&lt;td&gt;In Helma, a HopObject is a base object which 1. can contain child HopObjects 2. serves &lt;span class=&#39;diffremoved&#39;&gt;url &lt;/span&gt;&lt;span class=&#39;diffadded&#39;&gt;URL &lt;/span&gt;requests 3. can also persist to the internal XML database or to a SQL database. Each Helma app has a Root HopObject which is the top node of a tree of HopObjects. In a Helma app, a URL request gets resolved to a path in a tree of HopObjects which are attached to the root HopObject. The exception is that the last token in the URL request is mapped to an action of HopObject which respresents the previous token in the URL. Example: a.&amp;nbsp; (root)/hop1/hop2/action calls Hop2.action.hac - b. (root)/hop1/hop2 calls Hop2.main.hac (uses main.hac by convention)&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<pubDate>Thu, 22 Nov 2007 07:34:42 +0000</pubDate>
<author>philmaker</author>
</item>
<item>
<title>Version 36</title>
<link>http://helma.org/wiki/Workspace/philmaker/HopObjects+Explained/history.diff?v=36</link>
<description>&lt;div class=&#39;diffbody&#39;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;3&lt;/td&gt;&lt;td&gt;In Helma, a HopObject is a base object which 1. can contain child HopObjects 2. serves url requests 3. can also persist to the internal XML database or to a SQL database. Each Helma app has a Root HopObject which is &lt;span class=&#39;diffadded&#39;&gt;the top node of &lt;/span&gt;a tree of HopObjects. In a Helma app, a URL request gets resolved to a path in a tree of HopObjects which are attached to the root HopObject. The exception is that the last token in the URL request is mapped to an action of HopObject which respresents the previous token in the URL. Example: a.&amp;nbsp; (root)/hop1/hop2/action calls Hop2.action.hac - b. (root)/hop1/hop2 calls Hop2.main.hac (uses main.hac by convention)&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<pubDate>Thu, 22 Nov 2007 07:34:26 +0000</pubDate>
<author>philmaker</author>
</item>
<item>
<title>Version 35</title>
<link>http://helma.org/wiki/Workspace/philmaker/HopObjects+Explained/history.diff?v=35</link>
<description>&lt;div class=&#39;diffbody&#39;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;3&lt;/td&gt;&lt;td&gt;In Helma, a HopObject is a base object which 1. can contain child HopObjects 2. serves url requests 3. can also persist to the internal XML database or to a SQL database. Each Helma app has a &lt;span class=&#39;diffremoved&#39;&gt;root &lt;/span&gt;&lt;span class=&#39;diffadded&#39;&gt;Root &lt;/span&gt;HopObject which is a tree of HopObjects. In a Helma app, a URL request gets resolved to a path in a tree of HopObjects which are attached to the root HopObject. The exception is that the last token in the URL request is mapped to an action of HopObject which respresents the previous token in the URL. Example: a.&amp;nbsp; (root)/hop1/hop2/action calls Hop2.action.hac - b. (root)/hop1/hop2 calls Hop2.main.hac (uses main.hac by convention)&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<pubDate>Thu, 22 Nov 2007 07:33:46 +0000</pubDate>
<author>philmaker</author>
</item>
<item>
<title>Version 34</title>
<link>http://helma.org/wiki/Workspace/philmaker/HopObjects+Explained/history.diff?v=34</link>
<description>&lt;div class=&#39;diffbody&#39;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;3&lt;/td&gt;&lt;td&gt;In Helma, a HopObject is a base object which &lt;span class=&#39;diffremoved&#39;&gt;accepts children and &lt;/span&gt;&lt;span class=&#39;diffadded&#39;&gt;1. &lt;/span&gt;can &lt;span class=&#39;diffadded&#39;&gt;contain child HopObjects 2. serves url requests 3. can &lt;/span&gt;also persist to &lt;span class=&#39;diffadded&#39;&gt;the internal &lt;/span&gt;XML &lt;span class=&#39;diffadded&#39;&gt;database &lt;/span&gt;or &lt;span class=&#39;diffadded&#39;&gt;to &lt;/span&gt;a &lt;span class=&#39;diffadded&#39;&gt;SQL &lt;/span&gt;database. Each Helma app has a root HopObject which is a tree of HopObjects. In a Helma app, a URL request gets resolved to a path in a tree of HopObjects which are attached to the root HopObject. The exception is that the last token in the URL request is mapped to an action of HopObject which respresents the previous token in the URL. Example: a.&amp;nbsp; (root)/hop1/hop2/action calls Hop2.action.hac - b. (root)/hop1/hop2 calls Hop2.main.hac (uses main.hac by convention)&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<pubDate>Thu, 22 Nov 2007 07:33:33 +0000</pubDate>
<author>philmaker</author>
</item>
<item>
<title>Version 33</title>
<link>http://helma.org/wiki/Workspace/philmaker/HopObjects+Explained/history.diff?v=33</link>
<description>&lt;div class=&#39;diffbody&#39;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;7&lt;/td&gt;&lt;td&gt;This nature of HopObjects can be a little confusing if you are trying to develop a traditional webapp. (perhaps I mean non-RESTful here)&amp;nbsp; For a traditional webapp, you will likely use two *separate* HopObjects. The first HopObject will be automatically created according the folder in your app. A second HopObject you will use for data persistence for a user is the session.user property which itself is a HopObject. For example, when a user posts form data which is user centric, the hac action file would be responsible for copying the form values to a new HopObject which is then attached to the user HopObject. The session.user HopObject has already been connected to the root HopObject. &lt;span class=&#39;diffadded&#39;&gt;[pending: verify this] &lt;/span&gt;When you attach a new HopObject to the user.session HopObject, this new HopObject is automatically persisted because it had been attached to the root HopObject. If you edit the values of a HopObject which is already attached to the root chain, you must manually call persist() on that HopObject.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<pubDate>Thu, 22 Nov 2007 06:29:41 +0000</pubDate>
<author>philmaker</author>
</item>
<item>
<title>Version 32</title>
<link>http://helma.org/wiki/Workspace/philmaker/HopObjects+Explained/history.diff?v=32</link>
<description>&lt;div class=&#39;diffbody&#39;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;3&lt;/td&gt;&lt;td&gt;In Helma, a HopObject is a base object which accepts children and can also persist to XML or a database. Each Helma app has a root HopObject which is a tree of HopObjects. In a Helma app, a URL request gets resolved to a path in a tree of HopObjects which are attached to the root HopObject. The exception is that the last token in the URL request is mapped to an action of HopObject which respresents the previous token in the URL. Example: a.&amp;nbsp; (root)/hop1/hop2/action calls &lt;span class=&#39;diffremoved&#39;&gt;hop2&lt;/span&gt;&lt;span class=&#39;diffadded&#39;&gt;Hop2&lt;/span&gt;.action.hac - b. (root)/hop1/hop2 calls &lt;span class=&#39;diffremoved&#39;&gt;hop2&lt;/span&gt;&lt;span class=&#39;diffadded&#39;&gt;Hop2&lt;/span&gt;.main.&lt;span class=&#39;diffremoved&#39;&gt;hac&lt;/span&gt;&lt;span class=&#39;diffadded&#39;&gt;hac (uses main.hac by convention)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<pubDate>Wed, 21 Nov 2007 22:22:33 +0000</pubDate>
<author>philmaker</author>
</item>
<item>
<title>Version 31</title>
<link>http://helma.org/wiki/Workspace/philmaker/HopObjects+Explained/history.diff?v=31</link>
<description>&lt;div class=&#39;diffbody&#39;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;3&lt;/td&gt;&lt;td&gt;In Helma, a HopObject is a base object which accepts children and can also persist to XML or a database. Each Helma app has a root HopObject which is a tree of HopObjects. In a Helma app, a URL request gets resolved to a path in a tree of HopObjects which are attached to the root HopObject. The exception is that the last token in the URL request is mapped to an action of HopObject which respresents the previous token in the URL. Example: &lt;span class=&#39;diffremoved&#39;&gt;(root)/hop1/hop2/action&lt;/span&gt;&lt;span class=&#39;diffadded&#39;&gt;a.&amp;nbsp; (root)/hop1/hop2/action calls hop2.action.hac - b. (root)/hop1/hop2 calls hop2.main.hac&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<pubDate>Wed, 21 Nov 2007 22:21:53 +0000</pubDate>
<author>philmaker</author>
</item>
<item>
<title>Version 30</title>
<link>http://helma.org/wiki/Workspace/philmaker/HopObjects+Explained/history.diff?v=30</link>
<description>&lt;div class=&#39;diffbody&#39;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;7&lt;/td&gt;&lt;td&gt;This nature of HopObjects can be a little confusing if you are trying to develop a traditional webapp. &lt;span class=&#39;diffadded&#39;&gt;(perhaps I mean non-RESTful here)&amp;nbsp; &lt;/span&gt;For a traditional webapp, you will likely use two *separate* HopObjects. The first HopObject will be automatically created according the folder in your app. A second HopObject you will use for data persistence for a user is the session.user property which itself is a HopObject. For example, when a user posts form data which is user centric, the hac action file would be responsible for copying the form values to a new HopObject which is then attached to the user HopObject. The session.user HopObject has already been connected to the root HopObject. When you attach a new HopObject to the user.session HopObject, this new HopObject is automatically persisted because it had been attached to the root HopObject. If you edit the values of a HopObject which is already attached to the root chain, you must manually call persist() on that HopObject.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<pubDate>Wed, 21 Nov 2007 22:19:51 +0000</pubDate>
<author>philmaker</author>
</item>
<item>
<title>Version 29</title>
<link>http://helma.org/wiki/Workspace/philmaker/HopObjects+Explained/history.diff?v=29</link>
<description>&lt;div class=&#39;diffbody&#39;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;3&lt;/td&gt;&lt;td&gt;&lt;span class=&#39;diffadded&#39;&gt;In Helma, a HopObject is a base object which accepts children and can also persist to XML or a database. Each Helma app has a root HopObject which is a tree of HopObjects. In a Helma app, a URL request gets resolved to a path in a tree of HopObjects which are attached to the root HopObject. The exception is that the last token in the URL request is mapped to an action of HopObject which respresents the previous token in the URL. Example: (root)/hop1/hop2/action&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=&#39;diffadded&#39;&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<pubDate>Wed, 21 Nov 2007 22:19:17 +0000</pubDate>
<author>philmaker</author>
</item>
<item>
<title>Version 28</title>
<link>http://helma.org/wiki/Workspace/philmaker/HopObjects+Explained/history.diff?v=28</link>
<description>&lt;div class=&#39;diffbody&#39;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;5&lt;/td&gt;&lt;td&gt;This nature of HopObjects can be a little confusing if you are trying to develop a traditional webapp. For a traditional webapp, you will likely use two *separate* HopObjects. The first HopObject will be automatically created according the folder in your app. A second HopObject you will use for data &lt;span class=&#39;diffremoved&#39;&gt;persistance &lt;/span&gt;&lt;span class=&#39;diffadded&#39;&gt;persistence &lt;/span&gt;for a user is the session.user property which itself is a HopObject. For example, when a user posts form data which is user centric, the hac action file would be responsible for copying the form values to a new HopObject which is then attached to the user HopObject. The session.user HopObject has already been connected to the root HopObject. When you attach a new HopObject to the user.session HopObject, this new HopObject is automatically persisted because it had been attached to the root HopObject. If you edit the values of a HopObject which is already attached to the root chain, you must manually call persist() on that HopObject.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<pubDate>Wed, 21 Nov 2007 07:23:31 +0000</pubDate>
<author>philmaker</author>
</item>
<item>
<title>Version 27</title>
<link>http://helma.org/wiki/Workspace/philmaker/HopObjects+Explained/history.diff?v=27</link>
<description>&lt;div class=&#39;diffbody&#39;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;10&lt;/td&gt;&lt;td&gt;Is the user/users HopObject chain accessible via URL? If so I don&#39;t understand how it all relates/resolves to any HopObjects connected directly to root. Do you just have Users _extend Root via type.&lt;span class=&#39;diffremoved&#39;&gt;info?&lt;/span&gt;&lt;span class=&#39;diffadded&#39;&gt;info? OMG, that would be so cool.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<pubDate>Wed, 21 Nov 2007 07:22:49 +0000</pubDate>
<author>philmaker</author>
</item>
<item>
<title>Version 26</title>
<link>http://helma.org/wiki/Workspace/philmaker/HopObjects+Explained/history.diff?v=26</link>
<description>&lt;div class=&#39;diffbody&#39;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;10&lt;/td&gt;&lt;td&gt;Is the user/users HopObject chain accessible via URL? If so I don&#39;t understand how it all relates/resolves to any HopObjects connected directly to root.&lt;span class=&#39;diffadded&#39;&gt; Do you just have Users _extend Root via type.info?&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<pubDate>Wed, 21 Nov 2007 07:21:52 +0000</pubDate>
<author>philmaker</author>
</item>
<item>
<title>Version 25</title>
<link>http://helma.org/wiki/Workspace/philmaker/HopObjects+Explained/history.diff?v=25</link>
<description>&lt;div class=&#39;diffbody&#39;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;10&lt;/td&gt;&lt;td&gt;Is the &lt;span class=&#39;diffremoved&#39;&gt;user &lt;/span&gt;&lt;span class=&#39;diffadded&#39;&gt;user/users &lt;/span&gt;HopObject chain accessible via URL? If so I don&#39;t understand how it all &lt;span class=&#39;diffremoved&#39;&gt;relates/resolves&lt;/span&gt;&lt;span class=&#39;diffadded&#39;&gt;relates/resolves to any HopObjects connected directly to root&lt;/span&gt;.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<pubDate>Wed, 21 Nov 2007 07:20:55 +0000</pubDate>
<author>philmaker</author>
</item>
<item>
<title>Version 24</title>
<link>http://helma.org/wiki/Workspace/philmaker/HopObjects+Explained/history.diff?v=24</link>
<description>&lt;div class=&#39;diffbody&#39;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;6&lt;/td&gt;&lt;td&gt;&lt;span class=&#39;diffadded&#39;&gt;&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=&#39;diffadded&#39;&gt;Note: is it possible to configure Helma such that these two urls return the same pages?&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=&#39;diffadded&#39;&gt;a. http://dev.helma.org/config/users/philmaker/first/second/&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=&#39;diffadded&#39;&gt;b. http://dev.helma.org/first/second/&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=&#39;diffadded&#39;&gt;Is the user HopObject chain accessible via URL? If so I don&#39;t understand how it all relates/resolves.&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=&#39;diffadded&#39;&gt;&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=&#39;diffadded&#39;&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<pubDate>Wed, 21 Nov 2007 07:18:26 +0000</pubDate>
<author>philmaker</author>
</item>
<item>
<title>Version 23</title>
<link>http://helma.org/wiki/Workspace/philmaker/HopObjects+Explained/history.diff?v=23</link>
<description>&lt;div class=&#39;diffbody&#39;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;3&lt;/td&gt;&lt;td&gt;HopObject background: HOP in HopObject stands for Helma Object Publisher (emphasis on publisher). The multi-faceted design of HopObjects lends itself well to sites with a dynamic content structure. For example, a wiki or a weblog. Further illustration of this are the existing projects Gobi (wiki) and Antville (weblog) which each use Helma. A HopObject can have the ability to be mapped to a &lt;span class=&#39;diffadded&#39;&gt;token of a &lt;/span&gt;URL &lt;span class=&#39;diffremoved&#39;&gt;scheme &lt;/span&gt;but also persist application data. For instance, with a wiki, a HobObject can pertain to the requested page portion of the URL but the HopObject can also persist the application data for that page. If I load a wiki page at /Home, a HopObject hosts that page but it also is responsible for its associated application-wide content such as the wiki page title, content, tags, and so on - which gets stored in the internal XML database.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<pubDate>Wed, 21 Nov 2007 07:11:32 +0000</pubDate>
<author>philmaker</author>
</item>
<item>
<title>Version 22</title>
<link>http://helma.org/wiki/Workspace/philmaker/HopObjects+Explained/history.diff?v=22</link>
<description>&lt;div class=&#39;diffbody&#39;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;3&lt;/td&gt;&lt;td&gt;HopObject background: HOP in HopObject stands for Helma Object Publisher (emphasis on publisher). The multi-faceted design of HopObjects lends itself well to sites with a dynamic content structure. For example, a wiki or a &lt;span class=&#39;diffremoved&#39;&gt;webblog&lt;/span&gt;&lt;span class=&#39;diffadded&#39;&gt;weblog&lt;/span&gt;. Further illustration of this are the existing projects Gobi (wiki) and Antville (weblog) which each use Helma. A HopObject can have the ability to be mapped to a URL scheme but also persist application data. For instance, with a wiki, a HobObject can pertain to the requested page portion of the URL but the HopObject can also persist the application data for that page. If I load a wiki page at /Home, a HopObject hosts that page but it also is responsible for its associated application-wide content such as the wiki page title, content, tags, and so on - which gets stored in the internal XML database.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<pubDate>Wed, 21 Nov 2007 07:10:43 +0000</pubDate>
<author>philmaker</author>
</item>
<item>
<title>Version 21</title>
<link>http://helma.org/wiki/Workspace/philmaker/HopObjects+Explained/history.diff?v=21</link>
<description>&lt;div class=&#39;diffbody&#39;&gt;&lt;table&gt;&lt;tr&gt;&lt;td style=&quot;width:2em; color:#999;&quot;&gt;3&lt;/td&gt;&lt;td&gt;&lt;span class=&#39;diffadded&#39;&gt;HopObject background: &lt;/span&gt;HOP in HopObject stands for Helma Object Publisher (emphasis on publisher). The multi-faceted design of HopObjects lends itself well to sites with a dynamic content structure. For example, a wiki or a webblog. Further illustration of this are the existing projects Gobi (wiki) and Antville (weblog) which each use Helma. A HopObject can have the ability to be mapped to a URL scheme but also persist application data. For instance, with a wiki, a HobObject can pertain to the requested page portion of the URL but the HopObject can also persist the application data for that page. If I load a wiki page at /Home, a HopObject hosts that page but it also is responsible for its associated application-wide content such as the wiki page title, content, tags, and so on - which gets stored in the internal XML database.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</description>
<pubDate>Tue, 20 Nov 2007 03:39:23 +0000</pubDate>
<author>philmaker</author>
</item>
</channel>
</rss>

