Mailing list archives: November 2002

Site index · List index
Message list1 · 2 · 3 · Next »Thread · Author · Date
st) way is to work within the framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; - &lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; width=&quot;484&quot; height=&quot;340&quot; class=&quot;diagram&quot;&gt; &lt;/p&gt; </span><span class="add">+&lt;h2&gt;The Chandler UI &lt;/h2&gt; +&lt;p&gt;Now that we have defined some of the datatypes that &lt;a + class=&quot;twikiLink&quot; + href=&quot;http://wiki.osafoundation.org/bin/view/Projects/ZaoBao&quot;&gt;ZaoBao&lt;/a&gt; +will manage, we will look at how they integrate into the existing user +interface. There are many ways to integrate into the Chandler UI, but +the simplest (and potentially richest) way is to work within the +framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; +&lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; class=&quot;diagram&quot; height=&quot;340&quot; + width=&quot;484&quot;&gt; &lts have the content of the news item, as well as a date, author, +URL, and so forth. Not all RSS feeds contain authors or even dates but +they all contain content. &lt;/li&gt; </span><span class="cx"> &lt;/ul&gt; &lt;h3&gt;Describing the data with Python &lt;/h3&gt; </span><span class="rem">-&lt;p&gt;Python classes are the fundamental data type that help us define our schema. Data is defined as attributes of a given class. The schema syntax is similar to that used in the Django project.&lt;/p&gt; </span><span class="add">+&lt;p&gt;Python classes are the fundamental data type that help us define our +schema. Data is defined as attributes of a given class. The schema +syntax is similar to that used in the Django project.&lt;/p&gt; </span><span 
r.@dnai.com>   st) way is to work within the framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; - &lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; width=&quot;484&quot; height=&quot;340&quot; class=&quot;diagram&quot;&gt; &lt;/p&gt; </span><span class="add">+&lt;h2&gt;The Chandler UI &lt;/h2&gt; +&lt;p&gt;Now that we have defined some of the datatypes that &lt;a + class=&quot;twikiLink&quot; + href=&quot;http://wiki.osafoundation.org/bin/view/Projects/ZaoBao&quot;&gt;ZaoBao&lt;/a&gt; +will manage, we will look at how they integrate into the existing user +interface. There are many ways to integrate into the Chandler UI, but +the simplest (and potentially richest) way is to work within the +framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; +&lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; class=&quot;diagram&quot; height=&quot;340&quot; + width=&quot;484&quot;&gt; &lts have the content of the news item, as well as a date, author, +URL, and so forth. Not all RSS feeds contain authors or even dates but +they all contain content. &lt;/li&gt; </span><span class="cx"> &lt;/ul&gt; &lt;h3&gt;Describing the data with Python &lt;/h3&gt; </span><span class="rem">-&lt;p&gt;Python classes are the fundamental data type that help us define our schema. Data is defined as attributes of a given class. The schema syntax is similar to that used in the Django project.&lt;/p&gt; </span><span class="add">+&lt;p&gt;Python classes are the fundamental data type that help us define our +schema. Data is defined as attributes of a given class. The schema +syntax is similar to that used in the Django project.&lt;/p&gt; </span><span  Thu, 09 Apr, 16:52
r.@dnai.com>   st) way is to work within the framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; - &lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; width=&quot;484&quot; height=&quot;340&quot; class=&quot;diagram&quot;&gt; &lt;/p&gt; </span><span class="add">+&lt;h2&gt;The Chandler UI &lt;/h2&gt; +&lt;p&gt;Now that we have defined some of the datatypes that &lt;a + class=&quot;twikiLink&quot; + href=&quot;http://wiki.osafoundation.org/bin/view/Projects/ZaoBao&quot;&gt;ZaoBao&lt;/a&gt; +will manage, we will look at how they integrate into the existing user +interface. There are many ways to integrate into the Chandler UI, but +the simplest (and potentially richest) way is to work within the +framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; +&lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; class=&quot;diagram&quot; height=&quot;340&quot; + width=&quot;484&quot;&gt; &lts have the content of the news item, as well as a date, author, +URL, and so forth. Not all RSS feeds contain authors or even dates but +they all contain content. &lt;/li&gt; </span><span class="cx"> &lt;/ul&gt; &lt;h3&gt;Describing the data with Python &lt;/h3&gt; </span><span class="rem">-&lt;p&gt;Python classes are the fundamental data type that help us define our schema. Data is defined as attributes of a given class. The schema syntax is similar to that used in the Django project.&lt;/p&gt; </span><span class="add">+&lt;p&gt;Python classes are the fundamental data type that help us define our +schema. Data is defined as attributes of a given class. The schema +syntax is similar to that used in the Django project.&lt;/p&gt; </span><span  Thu, 09 Apr, 16:52
r.@dnai.com>   st) way is to work within the framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; - &lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; width=&quot;484&quot; height=&quot;340&quot; class=&quot;diagram&quot;&gt; &lt;/p&gt; </span><span class="add">+&lt;h2&gt;The Chandler UI &lt;/h2&gt; +&lt;p&gt;Now that we have defined some of the datatypes that &lt;a + class=&quot;twikiLink&quot; + href=&quot;http://wiki.osafoundation.org/bin/view/Projects/ZaoBao&quot;&gt;ZaoBao&lt;/a&gt; +will manage, we will look at how they integrate into the existing user +interface. There are many ways to integrate into the Chandler UI, but +the simplest (and potentially richest) way is to work within the +framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; +&lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; class=&quot;diagram&quot; height=&quot;340&quot; + width=&quot;484&quot;&gt; &lts have the content of the news item, as well as a date, author, +URL, and so forth. Not all RSS feeds contain authors or even dates but +they all contain content. &lt;/li&gt; </span><span class="cx"> &lt;/ul&gt; &lt;h3&gt;Describing the data with Python &lt;/h3&gt; </span><span class="rem">-&lt;p&gt;Python classes are the fundamental data type that help us define our schema. Data is defined as attributes of a given class. The schema syntax is similar to that used in the Django project.&lt;/p&gt; </span><span class="add">+&lt;p&gt;Python classes are the fundamental data type that help us define our +schema. Data is defined as attributes of a given class. The schema +syntax is similar to that used in the Django project.&lt;/p&gt; </span><span  Thu, 09 Apr, 16:52
r.@dnai.com>   st) way is to work within the framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; - &lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; width=&quot;484&quot; height=&quot;340&quot; class=&quot;diagram&quot;&gt; &lt;/p&gt; </span><span class="add">+&lt;h2&gt;The Chandler UI &lt;/h2&gt; +&lt;p&gt;Now that we have defined some of the datatypes that &lt;a + class=&quot;twikiLink&quot; + href=&quot;http://wiki.osafoundation.org/bin/view/Projects/ZaoBao&quot;&gt;ZaoBao&lt;/a&gt; +will manage, we will look at how they integrate into the existing user +interface. There are many ways to integrate into the Chandler UI, but +the simplest (and potentially richest) way is to work within the +framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; +&lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; class=&quot;diagram&quot; height=&quot;340&quot; + width=&quot;484&quot;&gt; &lts have the content of the news item, as well as a date, author, +URL, and so forth. Not all RSS feeds contain authors or even dates but +they all contain content. &lt;/li&gt; </span><span class="cx"> &lt;/ul&gt; &lt;h3&gt;Describing the data with Python &lt;/h3&gt; </span><span class="rem">-&lt;p&gt;Python classes are the fundamental data type that help us define our schema. Data is defined as attributes of a given class. The schema syntax is similar to that used in the Django project.&lt;/p&gt; </span><span class="add">+&lt;p&gt;Python classes are the fundamental data type that help us define our +schema. Data is defined as attributes of a given class. The schema +syntax is similar to that used in the Django project.&lt;/p&gt; </span><span  Thu, 09 Apr, 16:52
<rlbo...@consultant.com>   st) way is to work within the framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; - &lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; width=&quot;484&quot; height=&quot;340&quot; class=&quot;diagram&quot;&gt; &lt;/p&gt; </span><span class="add">+&lt;h2&gt;The Chandler UI &lt;/h2&gt; +&lt;p&gt;Now that we have defined some of the datatypes that &lt;a + class=&quot;twikiLink&quot; + href=&quot;http://wiki.osafoundation.org/bin/view/Projects/ZaoBao&quot;&gt;ZaoBao&lt;/a&gt; +will manage, we will look at how they integrate into the existing user +interface. There are many ways to integrate into the Chandler UI, but +the simplest (and potentially richest) way is to work within the +framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; +&lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; class=&quot;diagram&quot; height=&quot;340&quot; + width=&quot;484&quot;&gt; &lts have the content of the news item, as well as a date, author, +URL, and so forth. Not all RSS feeds contain authors or even dates but +they all contain content. &lt;/li&gt; </span><span class="cx"> &lt;/ul&gt; &lt;h3&gt;Describing the data with Python &lt;/h3&gt; </span><span class="rem">-&lt;p&gt;Python classes are the fundamental data type that help us define our schema. Data is defined as attributes of a given class. The schema syntax is similar to that used in the Django project.&lt;/p&gt; </span><span class="add">+&lt;p&gt;Python classes are the fundamental data type that help us define our +schema. Data is defined as attributes of a given class. The schema +syntax is similar to that used in the Django project.&lt;/p&gt; </span><span  Wed, 15 Oct, 01:02
wkeypiecesofdata:&lt;/p&gt;</span>
a.@telus.net>   wkeypiecesofdata:&lt;/p&gt;</span> Mon, 21 Sep, 17:46
  mmits-cosmo/200507.mbox/author" title="Browse July 2005 archives">Jul 2005</a></td><td class="msgcount">71</td> </tr> <tr> <td class="box"><a href="/archives/commits-cosmo/200506.mbox/author" title="Browse June 2005 archives">Jun 2005</a></td><td class="msgcount">17</td> </tr> </tbody> </table> </body> </html>t;Mar 2006&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td class=&amp;quot;msgcount&amp;quot;&amp;gt;330&amp;lt;F@†à‹ÛG</a> </td> <td class="date">Mon, 11 Apr, 05:03</td> </tr> </tbody> <tfoot> <tr><th class="title"><a href="browser">Message list</a></th><th class="pages">1 &middot; <a href="/archives/commits-cosmo/200610.mbox/author?1">2</a> &middot; <a href="/archives/commits-cosmo/200610.mbox/author?1">Next &raquo;</a></th><th class="sort"><a href="/archives/commits-cosmo/200610.mbox/thread">Thread</a> &middot; Author &middot; <a href="/archives/commits-cosmo/200610.mbox/date">Date</a></th></tr> </tfoot> W) Sat, 14 Jun, 16:51
  mmits-cosmo/200507.mbox/author" title="Browse July 2005 archives">Jul 2005</a></td><td class="msgcount">71</td> </tr> <tr> <td class="box"><a href="/archives/commits-cosmo/200506.mbox/author" title="Browse June 2005 archives">Jun 2005</a></td><td class="msgcount">17</td> </tr> </tbody> </table> </body> </html>t;Mar 2006&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td class=&amp;quot;msgcount&amp;quot;&amp;gt;330&amp;lt;F@†à‹ÛG</a> </td> <td class="date">Mon, 11 Apr, 05:03</td> </tr> </tbody> <tfoot> <tr><th class="title"><a href="browser">Message list</a></th><th class="pages">1 &middot; <a href="/archives/commits-cosmo/200610.mbox/author?1">2</a> &middot; <a href="/archives/commits-cosmo/200610.mbox/author?1">Next &raquo;</a></th><th class="sort"><a href="/archives/commits-cosmo/200610.mbox/thread">Thread</a> &middot; Author &middot; <a href="/archives/commits-cosmo/200610.mbox/date">Date</a></th></tr> </tfoot> W) Sat, 14 Jun, 16:51
<mcfle...@rogers.com>   osmo/200507.mbox/author" title="Browse July 2005 archives">Jul 2005</a></td><td class="msgcount">71</td> </tr> <tr> <td class="box"><a href="/archives/commits-cosmo/200506.mbox/author" title="Browse June 2005 archives">Jun 2005</a></td><td class="msgcount">17</td> </tr> </tbody> </table> </body> </html>t;Mar 2006&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td class=&amp;quot;msgcount&amp;quot;&amp;gt;330&amp;lt;F@†à‹ÛG</a> </td> <td class="date">Mon, 11 Apr, 05:03</td> </tr> </tbody> <tfoot> <tr><th class="title"><a href="browser">Message list</a></th><th class="pages">1 &middot; <a href="/archives/commits-cosmo/200610.mbox/author?1">2</a> &middot; <a href="/archives/commits-cosmo/200610.mbox/author?1">Next &raquo;</a></th><th class="sort"><a href="/archives/commits-cosmo/200610.mbox/thread">Thread</a> &middot; Author &middot; <a href="/archives/commits-cosmo/200610.mbox/date">Date</a></th></tr> </tfoot> W) Wed, 04 May, 01:07
<mcfle...@rogers.com>   osmo/200507.mbox/author" title="Browse July 2005 archives">Jul 2005</a></td><td class="msgcount">71</td> </tr> <tr> <td class="box"><a href="/archives/commits-cosmo/200506.mbox/author" title="Browse June 2005 archives">Jun 2005</a></td><td class="msgcount">17</td> </tr> </tbody> </table> </body> </html>t;Mar 2006&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td class=&amp;quot;msgcount&amp;quot;&amp;gt;330&amp;lt;F@†à‹ÛG</a> </td> <td class="date">Mon, 11 Apr, 05:03</td> </tr> </tbody> <tfoot> <tr><th class="title"><a href="browser">Message list</a></th><th class="pages">1 &middot; <a href="/archives/commits-cosmo/200610.mbox/author?1">2</a> &middot; <a href="/archives/commits-cosmo/200610.mbox/author?1">Next &raquo;</a></th><th class="sort"><a href="/archives/commits-cosmo/200610.mbox/thread">Thread</a> &middot; Author &middot; <a href="/archives/commits-cosmo/200610.mbox/date">Date</a></th></tr> </tfoot> W) Wed, 04 May, 01:07
<mcfle...@rogers.com>   ·=====0928702125== Wed, 04 May, 01:07
<mcfle...@rogers.com>   ·=====0928702125== Wed, 04 May, 01:07
<..@x.cx>   ema.DateTime)&lt;/pre&gt; -&lt;p&gt;The link, category, author, and date attributes are all basic attributes using simple types defined in the schema module. &lt;/p&gt; -&lt;p&gt;Behind the scenes: Chandler-specific attributes are defined as class attributes, but in practice they are actually used as instance attributes. When you have an instance of FeedChannel&lt;/p&gt; -&lt;p&gt;The attributes are all defined using schema.One, which indicates that there is just one of them per instance of the class. The displayName parameter &lt;/p&gt; -&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. This class is a simple chandler-based list of items. We will use this list to represent the fact that a feed &lt;em&gt;contains&lt;/em&gt; one or more feed items. Note that we have not declared anything about the type of data that this channel will contain. Chandler collections can contain any type of item. Each entry in Chandler's sidebar is collection of some kind. &lt;/p&gt; </span><span class="add">+&lt;p&gt;Lets take a look at the basic definition of an RSS channel, +FeedChannel.&lt;/p&gt; +&lt;pre class=&quot;code&quot;&gt;from osaf import pim&lt;br&gt;from application import schema&lt;br&gt;&lt;br&gt;class FeedChannel(pim.ListCollection):&lt;br&gt;&lt;br&gt; link = schema.One(schema.URL, displayName=u&quot;RSS Feed URL&quot;)&lt;br&gt; category = schema.One(schema.Text)&lt;br&gt; author = schema.One(schema.Text)&lt;br&gt; date = schema.One(schema.DateTime)&lt;/pre&gt; +&lt;p&gt;The link, category, author, and date attributes are all basic +attributes using simple types defined in the schema module. &lt;/p&gt; +&lt;p&gt;Behind the scenes: Chandler-specific attributes are defined as class +attributes, but in practice they are actually used as instance +attributes. When you have an instance of FeedChannel&lt;/p&gt; +&lt;p&gt;The attributes are all defined using schema.One, which indicates +that there is just one of them per instance of the class. The +displayName parameter &lt;/p&gt; +&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. +This class is a simple chandler-based list of items. We will use this +list to represent the fact that a feed &lt;em&gt;contains&lt;/em&gt; one or more +feed items. Note that we have not declared anything about the type of +data that this channel will contain. Chandler collections can contain +any type of item. Each entry in Chandler's sidebar is collection of +some kind. &lt;/p&gt; </span><span class="cx"> &lt;p&gt;Now lets look at the definition of a news item:&lt;/p&gt; </span><span class="rem">-&lt;pre class=&quot;code&quot;&gt;class FeedItem(pim.ContentItem): - - link = schema.One(schema.URL) - author = schema.One(schema.Text) - date = schema.One(schema.DateTime) - content = schema.One(schema.Lob)&lt;/pre&gt; -&lt;p&gt;The definition is very similar to FeedChannel. The one important distinction here is that FeedItem is inheriting from pim.ContentItem. ContentItem is the base class for all user-visible data in Chandler.&lt;/p&gt; -&lt;p&gt;Now that we have defined our types, we need to create a python modu*=à‚7TL0*=à‚7APSH*=à‚7EHW ð+=à‚7EHW  -=à‚7TLÐ-=à‚7TL à/=à‚7TL ø1=à‚7TL`2=à‚7TL X3=à‚7TL P4=à‚7TLØ4=à‚7TL ¨:=à‚7TL ¸@=à‚7TL A=à‚7TL ø†7à‚7TL À‰7à‚7TL@Š7à‚7TL ‹7à‚7TL Ћ7à‚7TL Œ7à‚7TL defined using schema.One, which indicates +that there is just one of them per instance of the class. The +displayName parameter &lt;/p&gt; +&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. +This class is a simple chandler-based list of items. We Arethererelationshipsbetweendifferentdataitems?Doesonedataitem&quot;contain&quot;anotherone?&lt;/li&gt;</span> Tue, 20 Sep, 15:09
<joelfin...@hotmail.com>   osmo/200507.mbox/author" title="Browse July 2005 archives">Jul 2005</a></td><td class="msgcount">71</td> </tr> <tr> <td class="box"><a href="/archives/commits-cosmo/200506.mbox/author" title="Browse June 2005 archives">Jun 2005</a></td><td class="msgcount">17</td> </tr> </tbody> </table> </body> </html>t;Mar 2006&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td class=&amp;quot;msgcount&amp;quot;&amp;gt;330&amp;lt;F@†à‹ÛG</a> </td> <td class="date">Mon, 11 Apr, 05:03</td> </tr> </tbody> <tfoot> <tr><th class="title"><a href="browser">Message list</a></th><th class="pages">1 &middot; <a href="/archives/commits-cosmo/200610.mbox/author?1">2</a> &middot; <a href="/archives/commits-cosmo/200610.mbox/author?1">Next &raquo;</a></th><th class="sort"><a href="/archives/commits-cosmo/200610.mbox/thread">Thread</a> &middot; Author &middot; <a href="/archives/commits-cosmo/200610.mbox/date">Date</a></th></tr> </tfoot> W) Tue, 26 Jul, 16:21
<joelfin...@hotmail.com>   osmo/200507.mbox/author" title="Browse July 2005 archives">Jul 2005</a></td><td class="msgcount">71</td> </tr> <tr> <td class="box"><a href="/archives/commits-cosmo/200506.mbox/author" title="Browse June 2005 archives">Jun 2005</a></td><td class="msgcount">17</td> </tr> </tbody> </table> </body> </html>t;Mar 2006&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td class=&amp;quot;msgcount&amp;quot;&amp;gt;330&amp;lt;F@†à‹ÛG</a> </td> <td class="date">Mon, 11 Apr, 05:03</td> </tr> </tbody> <tfoot> <tr><th class="title"><a href="browser">Message list</a></th><th class="pages">1 &middot; <a href="/archives/commits-cosmo/200610.mbox/author?1">2</a> &middot; <a href="/archives/commits-cosmo/200610.mbox/author?1">Next &raquo;</a></th><th class="sort"><a href="/archives/commits-cosmo/200610.mbox/thread">Thread</a> &middot; Author &middot; <a href="/archives/commits-cosmo/200610.mbox/date">Date</a></th></tr> </tfoot> W) Tue, 26 Jul, 16:21
<joelfin...@hotmail.com>   osmo/200507.mbox/author" title="Browse July 2005 archives">Jul 2005</a></td><td class="msgcount">71</td> </tr> <tr> <td class="box"><a href="/archives/commits-cosmo/200506.mbox/author" title="Browse June 2005 archives">Jun 2005</a></td><td class="msgcount">17</td> </tr> </tbody> </table> </body> </html>t;Mar 2006&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td class=&amp;quot;msgcount&amp;quot;&amp;gt;330&amp;lt;F@†à‹ÛG</a> </td> <td class="date">Mon, 11 Apr, 05:03</td> </tr> </tbody> <tfoot> <tr><th class="title"><a href="browser">Message list</a></th><th class="pages">1 &middot; <a href="/archives/commits-cosmo/200610.mbox/author?1">2</a> &middot; <a href="/archives/commits-cosmo/200610.mbox/author?1">Next &raquo;</a></th><th class="sort"><a href="/archives/commits-cosmo/200610.mbox/thread">Thread</a> &middot; Author &middot; <a href="/archives/commits-cosmo/200610.mbox/date">Date</a></th></tr> </tfoot> W) Tue, 26 Jul, 16:21
<joelfin...@hotmail.com>   osmo/200507.mbox/author" title="Browse July 2005 archives">Jul 2005</a></td><td class="msgcount">71</td> </tr> <tr> <td class="box"><a href="/archives/commits-cosmo/200506.mbox/author" title="Browse June 2005 archives">Jun 2005</a></td><td class="msgcount">17</td> </tr> </tbody> </table> </body> </html>t;Mar 2006&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td class=&amp;quot;msgcount&amp;quot;&amp;gt;330&amp;lt;F@†à‹ÛG</a> </td> <td class="date">Mon, 11 Apr, 05:03</td> </tr> </tbody> <tfoot> <tr><th class="title"><a href="browser">Message list</a></th><th class="pages">1 &middot; <a href="/archives/commits-cosmo/200610.mbox/author?1">2</a> &middot; <a href="/archives/commits-cosmo/200610.mbox/author?1">Next &raquo;</a></th><th class="sort"><a href="/archives/commits-cosmo/200610.mbox/thread">Thread</a> &middot; Author &middot; <a href="/archives/commits-cosmo/200610.mbox/date">Date</a></th></tr> </tfoot> W) Tue, 26 Jul, 16:21
<wshatt...@wwdb.org>   s, but in practice they are actually used as instance attributes. When you have an instance of FeedChannel&lt;/p&gt; -&lt;p&gt;The attributes are all defined using schema.One, which indicates that there is just one of them per instance of the class. The displayName parameter &lt;/p&gt; -&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. This class is a simple chandler-based list of items. We will use this list to represent the fact that a feed &lt;em&gt;contains&lt;/em&gt; one or more feed items. Note that we have not declared anything about the type of data that this channel will contain. Chandler collections can contain any type of item. Each entry in Chandler's sidebar is collection of some kind. &lt;/p&gt; </span><span class="add">+&lt;p&gt;Lets take a look at the basic definition of an RSS channel, +FeedChannel.&lt;/p&gt; +&lt;pre class=&quot;code&quot;&gt;from osaf import pim&lt;br&gt;from application import schema&lt;br&gt;&lt;br&gt;class FeedChannel(pim.ListCollection):&lt;br&gt;&lt;br&gt; link = schema.One(schema.URL, displayName=u&quot;RSS Feed URL&quot;)&lt;br&gt; category = schema.One(schema.Text)&lt;br&gt; author = schema.One(schema.Text)&lt;br&gt; date = schema.One(schema.DateTime)&lt;/pre&gt; +&lt;p&gt;The link, category, author, and date attributes are all basic +attributes using simple types defined in the schema module. &lt;/p&gt; +&lt;p&gt;Behind the scenes: Chandler-specific attributes are defined as class +attributes, but in practice they are actually used as instance +attributes. When you have an instance of FeedChannel&lt;/p&gt; +&lt;p&gt;The attributes are all defined using schema.One, which indicates +that there is just one of them per instance of the class. The +displayName parameter &lt;/p&gt; +&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. +This class is a simple chandler-based list of items. We will use this +list to represent the fact that a feed &lt;em&gt;contains&lt;/em&gt; one or more +feed items. Note that we have not declared anything about the type of +data that this channel will contain. Chandler collections can contain +any type of item. Each entry in Chandler's sidebar is collection of +some kind. &lt;/p&gt; </span><span class="cx"> &lt;p&gt;Now lets look at the definition of a news item:&lt;/p&gt; </span><span class="rem">-&lt;pre class=&quot;code&quot;&gt;class FeedItem(pim.ContentItem): - - link = schema.One(schema.URL) - author = schema.One(schema.Text) - date = schema.One(schema.DateTime) - content = schema.One(schema.Lob)&lt;/pre&gt; -&lt;p&gt;The definition is very similar to FeedChannel. The one important distinction here is that FeedItem is inheriting from pim.ContentItem. ContentItem is the base class for all user-visible data in Chandler.&lt;/p&gt; -&lt;p&gt;Now that we have defined our types, we need to create a python modu*=à‚7TL0*=à‚7APSH*=à‚7EHW ð+=à‚7EHW  -=à‚7TLÐ-=à‚7TL à/=à‚7TL ø1=à‚7TL`2=à‚7TL X3=à‚7TL P4=à‚7TLØ4=à‚7TL ¨:=à‚7TL ¸@=à‚7TL A=à‚7TL ø†7à‚7TL À‰7à‚7TL@Š7à‚7TL ‹7à‚7TL Ћ7à‚7TL Œ7à‚7TL defined using schema.One, which indicates +that there is just one of them per instance of the class. The +displayName parameter &lt;/p&gt; +&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. +This class is a simple chandler-based list of items. We Arethererelationshipsbetweendifferentdataitems?Doesonedataitem&quot;contain&quot;anotherone?&lt;/li&gt;</span> Sun, 23 Oct, 11:02
<wshatt...@wwdb.org>   s, but in practice they are actually used as instance attributes. When you have an instance of FeedChannel&lt;/p&gt; -&lt;p&gt;The attributes are all defined using schema.One, which indicates that there is just one of them per instance of the class. The displayName parameter &lt;/p&gt; -&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. This class is a simple chandler-based list of items. We will use this list to represent the fact that a feed &lt;em&gt;contains&lt;/em&gt; one or more feed items. Note that we have not declared anything about the type of data that this channel will contain. Chandler collections can contain any type of item. Each entry in Chandler's sidebar is collection of some kind. &lt;/p&gt; </span><span class="add">+&lt;p&gt;Lets take a look at the basic definition of an RSS channel, +FeedChannel.&lt;/p&gt; +&lt;pre class=&quot;code&quot;&gt;from osaf import pim&lt;br&gt;from application import schema&lt;br&gt;&lt;br&gt;class FeedChannel(pim.ListCollection):&lt;br&gt;&lt;br&gt; link = schema.One(schema.URL, displayName=u&quot;RSS Feed URL&quot;)&lt;br&gt; category = schema.One(schema.Text)&lt;br&gt; author = schema.One(schema.Text)&lt;br&gt; date = schema.One(schema.DateTime)&lt;/pre&gt; +&lt;p&gt;The link, category, author, and date attributes are all basic +attributes using simple types defined in the schema module. &lt;/p&gt; +&lt;p&gt;Behind the scenes: Chandler-specific attributes are defined as class +attributes, but in practice they are actually used as instance +attributes. When you have an instance of FeedChannel&lt;/p&gt; +&lt;p&gt;The attributes are all defined using schema.One, which indicates +that there is just one of them per instance of the class. The +displayName parameter &lt;/p&gt; +&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. +This class is a simple chandler-based list of items. We will use this +list to represent the fact that a feed &lt;em&gt;contains&lt;/em&gt; one or more +feed items. Note that we have not declared anything about the type of +data that this channel will contain. Chandler collections can contain +any type of item. Each entry in Chandler's sidebar is collection of +some kind. &lt;/p&gt; </span><span class="cx"> &lt;p&gt;Now lets look at the definition of a news item:&lt;/p&gt; </span><span class="rem">-&lt;pre class=&quot;code&quot;&gt;class FeedItem(pim.ContentItem): - - link = schema.One(schema.URL) - author = schema.One(schema.Text) - date = schema.One(schema.DateTime) - content = schema.One(schema.Lob)&lt;/pre&gt; -&lt;p&gt;The definition is very similar to FeedChannel. The one important distinction here is that FeedItem is inheriting from pim.ContentItem. ContentItem is the base class for all user-visible data in Chandler.&lt;/p&gt; -&lt;p&gt;Now that we have defined our types, we need to create a python modu*=à‚7TL0*=à‚7APSH*=à‚7EHW ð+=à‚7EHW  -=à‚7TLÐ-=à‚7TL à/=à‚7TL ø1=à‚7TL`2=à‚7TL X3=à‚7TL P4=à‚7TLØ4=à‚7TL ¨:=à‚7TL ¸@=à‚7TL A=à‚7TL ø†7à‚7TL À‰7à‚7TL@Š7à‚7TL ‹7à‚7TL Ћ7à‚7TL Œ7à‚7TL defined using schema.One, which indicates +that there is just one of them per instance of the class. The +displayName parameter &lt;/p&gt; +&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. +This class is a simple chandler-based list of items. We Arethererelationshipsbetweendifferentdataitems?Doesonedataitem&quot;contain&quot;anotherone?&lt;/li&gt;</span> Sun, 23 Oct, 11:02
<wshatt...@wwdb.org>   s, but in practice they are actually used as instance attributes. When you have an instance of FeedChannel&lt;/p&gt; -&lt;p&gt;The attributes are all defined using schema.One, which indicates that there is just one of them per instance of the class. The displayName parameter &lt;/p&gt; -&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. This class is a simple chandler-based list of items. We will use this list to represent the fact that a feed &lt;em&gt;contains&lt;/em&gt; one or more feed items. Note that we have not declared anything about the type of data that this channel will contain. Chandler collections can contain any type of item. Each entry in Chandler's sidebar is collection of some kind. &lt;/p&gt; </span><span class="add">+&lt;p&gt;Lets take a look at the basic definition of an RSS channel, +FeedChannel.&lt;/p&gt; +&lt;pre class=&quot;code&quot;&gt;from osaf import pim&lt;br&gt;from application import schema&lt;br&gt;&lt;br&gt;class FeedChannel(pim.ListCollection):&lt;br&gt;&lt;br&gt; link = schema.One(schema.URL, displayName=u&quot;RSS Feed URL&quot;)&lt;br&gt; category = schema.One(schema.Text)&lt;br&gt; author = schema.One(schema.Text)&lt;br&gt; date = schema.One(schema.DateTime)&lt;/pre&gt; +&lt;p&gt;The link, category, author, and date attributes are all basic +attributes using simple types defined in the schema module. &lt;/p&gt; +&lt;p&gt;Behind the scenes: Chandler-specific attributes are defined as class +attributes, but in practice they are actually used as instance +attributes. When you have an instance of FeedChannel&lt;/p&gt; +&lt;p&gt;The attributes are all defined using schema.One, which indicates +that there is just one of them per instance of the class. The +displayName parameter &lt;/p&gt; +&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. +This class is a simple chandler-based list of items. We will use this +list to represent the fact that a feed &lt;em&gt;contains&lt;/em&gt; one or more +feed items. Note that we have not declared anything about the type of +data that this channel will contain. Chandler collections can contain +any type of item. Each entry in Chandler's sidebar is collection of +some kind. &lt;/p&gt; </span><span class="cx"> &lt;p&gt;Now lets look at the definition of a news item:&lt;/p&gt; </span><span class="rem">-&lt;pre class=&quot;code&quot;&gt;class FeedItem(pim.ContentItem): - - link = schema.One(schema.URL) - author = schema.One(schema.Text) - date = schema.One(schema.DateTime) - content = schema.One(schema.Lob)&lt;/pre&gt; -&lt;p&gt;The definition is very similar to FeedChannel. The one important distinction here is that FeedItem is inheriting from pim.ContentItem. ContentItem is the base class for all user-visible data in Chandler.&lt;/p&gt; -&lt;p&gt;Now that we have defined our types, we need to create a python modu*=à‚7TL0*=à‚7APSH*=à‚7EHW ð+=à‚7EHW  -=à‚7TLÐ-=à‚7TL à/=à‚7TL ø1=à‚7TL`2=à‚7TL X3=à‚7TL P4=à‚7TLØ4=à‚7TL ¨:=à‚7TL ¸@=à‚7TL A=à‚7TL ø†7à‚7TL À‰7à‚7TL@Š7à‚7TL ‹7à‚7TL Ћ7à‚7TL Œ7à‚7TL defined using schema.One, which indicates +that there is just one of them per instance of the class. The +displayName parameter &lt;/p&gt; +&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. +This class is a simple chandler-based list of items. We Arethererelationshipsbetweendifferentdataitems?Doesonedataitem&quot;contain&quot;anotherone?&lt;/li&gt;</span> Sun, 23 Oct, 11:02
<ka...@ugcs.caltech.edu>   wkeypiecesofdata:&lt;/p&gt;</span> Sat, 07 Jan, 10:06
kar   p;gt; &amp;lt;/tr&amp;gt; &amp;lt;tr&amp¨ù1 Wed, 18 Jul, 10:58
  ateTime)&lt;/pre&gt; +&lt;p&gt;The link, category, author, and date attributes are all basic +attributes using simple types defined in the schema module. &lt;/p&gt; +&lt;p&gt;Behind the scenes: Chandler-specific attributes are defined as class +attributes, but in practice they are actually used as instance +attributes. When you have an instance of FeedChannel&lt;/p&gt; +&lt;p&gt;The attributes are all defined using schema.One, which indicates +that there is just one of them per instance of the class. The +displayName parameter &lt;/p&gt; +&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. +This class is a simple chandler-based list of items. We will use this +list to represent the fact that a feed &lt;em&gt;contains&lt;/em&gt; one or more +feed items. Note that we have not declared anything about the type of +data that this channel will contain. Chandler collections can contain +any type of item. Each entry in Chandler's sidebar is collection of +some kind. &lt;/p&gt; </span><span class="cx"> &lt;p&gt;Now lets look at the definition of a news item:&lt;/p&gt; </span><span class="rem">-&lt;pre class=&quot;code&quot;&gt;class FeedItem(pim.ContentItem): - - link = schema.One(schema.URL) - author = schema.One(schema.Text) - date = schema.One(schema.DateTime) - content = schema.One(schema.Lob)&lt;/pre&gt; -&lt;p&gt;The definition is very similar to FeedChannel. The one important distinction here is that FeedItem is inheriting from pim.ContentItem. ContentItem is the base class for all user-visible data in Chandler.&lt;/p&gt; -&lt;p&gt;Now that we have defined our types, we need to create a python modu*=à‚7TL0*=à‚7APSH*=à‚7EHW ð+=à‚7EHW  -=à‚7TLÐ-=à‚7TL à/=à‚7TL ø1=à‚7TL`2=à‚7TL X3=à‚7TL P4=à‚7TLØ4=à‚7TL ¨:=à‚7TL ¸@=à‚7TL A=à‚7TL ø†7à‚7TL À‰7à‚7TL@Š7à‚7TL ‹7à‚7TL Ћ7à‚7TL Œ7à‚7TL defined using schema.One, which indicates +that there is just one of them per instance of the class. The +displayName parameter &lt;/p&gt; +&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. +This class is a simple chandler-based list of items. We Arethererelationshipsbetweendifferentdataitems?Doesonedataitem&quot;contain&quot;anotherone?&lt;/li&gt;</span> Tue, 02 Oct, 17:04
n   ommits-cosmo/200507.mbox/author" title="Browse July 2005 archives">Jul 2005</a></td><td class="msgcount">71</td> </tr> <tr> <td class="box"><a href="/archives/commits-cosmo/200506.mbox/author" title="Browse June 2005 archives">Jun 2005</a></td><td class="msgcount">17</td> </tr> </tbody> </table> </body> </html>t;Mar 2006&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td class=&amp;quot;msgcount&amp;quot;&amp;gt;330&amp;lt;F@†à‹ÛG</a> </td> <td class="date">Mon, 11 Apr, 05:03</td> </tr> </tbody> <tfoot> <tr><th class="title"><a href="browser">Message list</a></th><th class="pages">1 &middot; <a href="/archives/commits-cosmo/200610.mbox/author?1">2</a> &middot; <a href="/archives/commits-cosmo/200610.mbox/author?1">Next &raquo;</a></th><th class="sort"><a href="/archives/commits-cosmo/200610.mbox/thread">Thread</a> &middot; Author &middot; <a href="/archives/commits-cosmo/200610.mbox/date">Date</a></th></tr> </tfoot> W) Fri, 31 Jan, 19:15
taff   from application import schema - -class FeedChannel(pim.ListCollection): - - link = schema.One(schema.URL, displayName=u&amp;quot;RSS Feed URL&amp;quot;) - category = schema.One(schema.Text) - author = schema.One(schema.Text) - date = schema.One(schema.DateTime)&lt;/pre&gt; -&lt;p&gt;The link, category, author, and date attributes are all basic attributes using simple types defined in the schema module. &lt;/p&gt; -&lt;p&gt;Behind the scenes: Chandler-specific attributes are defined as class attributes, but in practice they are actually used as instance attributes. When you have an instance of FeedChannel&lt;/p&gt; -&lt;p&gt;The attributes are all defined using schema.One, which indicates that there is just one of them per instance of the class. The displayName parameter &lt;/p&gt; -&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. This class is a simple chandler-based list of items. We will use this list to represent the fact that a feed &lt;em&gt;contains&lt;/em&gt; one or more feed items. Note that we have not declared anything about the type of data that this channel will contain. Chandler collections can contain any type of item. Each entry in Chandler's sidebar is collection of some kind. &lt;/p&gt; </span><span class="add">+&lt;p&gt;Lets take a look at the basic definition of an RSS channel, +FeedChannel.&lt;/p&gt; +&lt;pre class=&quot;code&quot;&gt;from osaf import pim&lt;br&gt;from application import schema&lt;br&gt;&lt;br&gt;class FeedChannel(pim.ListCollection):&lt;br&gt;&lt;br&gt; link = schema.One(schema.URL, displayName=u&quot;RSS Feed URL&quot;)&lt;br&gt; category = schema.One(schema.Text)&lt;br&gt; author = schema.One(schema.Text)&lt;br&gt; date = schema.One(schema.DateTime)&lt;/pre&gt; +&lt;p&gt;The link, category, author, and date attributes are all basic +attributes using simple types defined in the schema module. &lt;/p&gt; +&lt;p&gt;Behind the scenes: Chandler-specific attributes are defined as class +attributes, but in practice they are actually used as instance +attributes. When you have an instance of FeedChannel&lt;/p&gt; +&lt;p&gt;The attributes are all defined using schema.One, which indicates +that there is just one of them per instance of the class. The +displayName parameter &lt;/p&gt; +&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. +This class is a simple chandler-based list of items. We will use this +list to represent the fact that a feed &lt;em&gt;contains&lt;/em&gt; one or more +feed items. Note that we have not declared anything about the type of +data that this channel will contain. Chandler collections can contain +any type of item. Each entry in Chandler's sidebar is collection of +some kind. &lt;/p&gt; </span><span class="cx"> &lt;p&gt;Now lets look at the definition of a news item:&lt;/p&gt; </span><span class="rem">-&lt;pre class=&quot;code&quot;&gt;class FeedItem(pim.ContentItem): - - link = schema.One(schema.URL) - author = schema.One(schema.Text) - date = schema.One(schema.DateTime) - content = schema.One(schema.Lob)&lt;/pre&gt; -&lt;p&gt;The definition is very similar to FeedChannel. The one important distinction here is that FeedItem is inheriting from pim.ContentItem. ContentItem is the base class for all user-visible data in Chandler.&lt;/p&gt; -&lt;p&gt;Now that we have defined our types, we need to create a python modu*=à‚7TL0*=à‚7APSH*=à‚7EHW ð+=à‚7EHW  -=à‚7TLÐ-=à‚7TL à/=à‚7TL ø1=à‚7TL`2=à‚7TL X3=à‚7TL P4=à‚7TLØ4=à‚7TL ¨:=à‚7TL ¸@=à‚7TL A=à‚7TL ø†7à‚7TL À‰7à‚7TL@Š7à‚7TL ‹7à‚7TL Ћ7à‚7TL Œ7à‚7TL defined using schema.One, which indicates +that there is just one of them per instance of the class. The +displayName parameter &lt;/p&gt; +&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. +This class is a simple chandler-based list of items. We Arethererelationshipsbetweendifferentdataitems?Doesonedataitem&quot;contain&quot;anotherone?&lt;/li&gt;</span> Wed, 21 Feb, 10:03
<c...@cs.stanford.edu>   gt; </span> Mon, 26 Feb, 07:17
<c...@cs.stanford.edu>   gt; </span> Mon, 26 Feb, 07:17
<c...@cs.stanford.edu>   gt; </span> Mon, 26 Feb, 07:17
<c...@cs.stanford.edu>   gt; </span> Mon, 26 Feb, 07:17
.com   est) way is to work within the framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; - &lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; width=&quot;484&quot; height=&quot;340&quot; class=&quot;diagram&quot;&gt; &lt;/p&gt; </span><span class="add">+&lt;h2&gt;The Chandler UI &lt;/h2&gt; +&lt;p&gt;Now that we have defined some of the datatypes that &lt;a + class=&quot;twikiLink&quot; + href=&quot;http://wiki.osafoundation.org/bin/view/Projects/ZaoBao&quot;&gt;ZaoBao&lt;/a&gt; +will manage, we will look at how they integrate into the existing user +interface. There are many ways to integrate into the Chandler UI, but +the simplest (and potentially richest) way is to work within the +framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; +&lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; class=&quot;diagram&quot; height=&quot;340&quot; + width=&quot;484&quot;&gt; &lts have the content of the news item, as well as a date, author, +URL, and so forth. Not all RSS feeds contain authors or even dates but +they all contain content. &lt;/li&gt; </span><span class="cx"> &lt;/ul&gt; &lt;h3&gt;Describing the data with Python &lt;/h3&gt; </span><span class="rem">-&lt;p&gt;Python classes are the fundamental data type that help us define our schema. Data is defined as attributes of a given class. The schema syntax is similar to that used in the Django project.&lt;/p&gt; </span><span class="add">+&lt;p&gt;Python classes are the fundamental data type that help us define our +schema. Data is defined as attributes of a given class. The schema +syntax is similar to that used in the Django project.&lt;/p&gt; </span><span  Fri, 23 Dec, 07:03
.umt.edu>   ;class FeedChannel(pim.ListCollection):&lt;br&gt;&lt;br&gt; link = schema.One(schema.URL, displayName=u&quot;RSS Feed URL&quot;)&lt;br&gt; category = schema.One(schema.Text)&lt;br&gt; author = schema.One(schema.Text)&lt;br&gt; date = schema.One(schema.DateTime)&lt;/pre&gt; +&lt;p&gt;The link, category, author, and date attributes are all basic +attributes using simple types defined in the schema module. &lt;/p&gt; +&lt;p&gt;Behind the scenes: Chandler-specific attributes are defined as class +attributes, but in practice they are actually used as instance +attributes. When you have an instance of FeedChannel&lt;/p&gt; +&lt;p&gt;The attributes are all defined using schema.One, which indicates +that there is just one of them per instance of the class. The +displayName parameter &lt;/p&gt; +&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. +This class is a simple chandler-based list of items. We will use this +list to represent the fact that a feed &lt;em&gt;contains&lt;/em&gt; one or more +feed items. Note that we have not declared anything about the type of +data that this channel will contain. Chandler collections can contain +any type of item. Each entry in Chandler's sidebar is collection of +some kind. &lt;/p&gt; </span><span class="cx"> &lt;p&gt;Now lets look at the definition of a news item:&lt;/p&gt; </span><span class="rem">-&lt;pre class=&quot;code&quot;&gt;class FeedItem(pim.ContentItem): - - link = schema.One(schema.URL) - author = schema.One(schema.Text) - date = schema.One(schema.DateTime) - content = schema.One(schema.Lob)&lt;/pre&gt; -&lt;p&gt;The definition is very similar to FeedChannel. The one important distinction here is that FeedItem is inheriting from pim.ContentItem. ContentItem is the base class for all user-visible data in Chandler.&lt;/p&gt; -&lt;p&gt;Now that we have defined our types, we need to create a python modu*=à‚7TL0*=à‚7APSH*=à‚7EHW ð+=à‚7EHW  -=à‚7TLÐ-=à‚7TL à/=à‚7TL ø1=à‚7TL`2=à‚7TL X3=à‚7TL P4=à‚7TLØ4=à‚7TL ¨:=à‚7TL ¸@=à‚7TL A=à‚7TL ø†7à‚7TL À‰7à‚7TL@Š7à‚7TL ‹7à‚7TL Ћ7à‚7TL Œ7à‚7TL defined using schema.One, which indicates +that there is just one of them per instance of the class. The +displayName parameter &lt;/p&gt; +&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. +This class is a simple chandler-based list of items. We Arethererelationshipsbetweendifferentdataitems?Doesonedataitem&quot;contain&quot;anotherone?&lt;/li&gt;</span> Sat, 10 Dec, 11:39
kar.com   p;gt; &amp;lt;/tr&amp;gt; &amp;lt;tr&amp¨ù1 Fri, 23 Dec, 10:59
n   s item, as well as a date, author, +URL, and so forth. Not all RSS feeds contain authors or even dates but +they all contain content. &lt;/li&gt; </span><span class="cx"> &lt;/ul&gt; &lt;h3&gt;Describing the data with Python &lt;/h3&gt; </span><span class="rem">-&lt;p&gt;Python classes are the fundamental data type that help us define our schema. Data is defined as attributes of a given class. The schema syntax is similar to that used in the Django project.&lt;/p&gt; </span><span class="add">+&lt;p&gt;Python classes are the fundamental data type that help us define our +schema. Data is defined as attributes of a given class. The schema +syntax is similar to that used in the Django project.&lt;/p&gt; </span><span class="cx"> &lt;p&gt;We'll store our data definitions in &lt;code&gt;feeds/channel.py&lt;/code&gt;. &lt;/p&gt; </span><span class="rem">-&lt;p&gt;Lets take a look at the basic definition of an RSS channel, FeedChannel.&lt;/p&gt; -&lt;pre class=&quot;code&quot;&gt;from osaf import pim -from application import schema - -class FeedChannel(pim.ListCollection): - - link = schema.One(schema.URL, displayName=u&amp;quot;RSS Feed URL&amp;quot;) - category = schema.One(schema.Text) - author = schema.One(schema.Text) - date = schema.One(schema.DateTime)&lt;/pre&gt; -&lt;p&gt;The link, category, author, and date attributes are all basic attributes using simple types defined in the schema module. &lt;/p&gt; -&lt;p&gt;Behind the scenes: Chandler-specific attributes are defined as class attributes, but in practice they are actually used as instance attributes. When you have an instance of FeedChannel&lt;/p&gt; -&lt;p&gt;The attributes are all defined using schema.One, which indicates that there is just one of them per instance of the class. The displayName parameter &lt;/p&gt; -&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. This class is a simple chandler-based list of items. We will use this list to represent the fact that a feed &lt;em&gt;contains&lt;/em&gt; one or more feed items. Note that we have not declared anything about the type of data that this channel will contain. Chandler collections can contain any type of item. Each entry in Chandler's sidebar is collection of some kind. &lt;/p&gt; </span><span class="add">+&lt;p&gt;Lets take a look at the basic definition of an RSS channel, +FeedChannel.&lt;/p&gt; +&lt;pre class=&quot;code&quot;&gt;from osaf import pim&lt;br&gt;from application import schema&lt;br&gt;&lt;br&gt;class FeedChannel(pim.ListCollection):&lt;br&gt;&lt;br&gt; link = schema.One(schema.URL, displayName=u&quot;RSS Feed URL&quot;)&lt;br&gt; category = schema.One(schema.Text)&lt;br&gt; author = schema.One(schema.Text)&lt;br&gt; date = schema.One(schema.DateTime)&lt;/pre&gt; +&lt;p&gt;The link, category, author, and date attributes are all basic +attributes using simple types defined in the schema module. &lt;/p&gt; +&lt;p&gt;Behind the scenes: Chandler-specific attributes are defined as class +attributes, but in practice they are actually used as instance +attributes. When you have an instance of FeedChannel&lt;/p&gt; +&lt;p&gt;The attributes are all defined using schema.One, which indicates +that there is just one of them per instance of the class. The +displayName parameter &lt;/p&gt; +&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. +This class is a simple chandler-based list of items. We will use this +list to represent the fact that a feed &lt;em&gt;contains&lt;/em&gt; one or more +feed items. Note that we have not declared anything about the type of +data that this channel will contain. Chandler collections can contain +any type of item. Each entry in Chandler's sidebar is collection of +some kind. &lt;/p&gt; </span><span class="cx"> &lt;p&gt;Now lets look at the definition of a news item:&lt;/p&gt; </span><span class="rem">-&lt;pre class=&quot;code&quot;&gt;class FeedItem(pim.ContentItem): - - link = schema.One(schema.URL) - author = schema.One(schema.Text) - date = schema.One(schema.DateTime) - content = schema.One(schema.Lob)&lt;/pre&gt; -&lt;p&gt;The definition is very similar to FeedChannel. The one important distinction here is that FeedItem is inheriting from pim.ContentItem. ContentItem is the base class for all user-visible data in Chandler.&lt;/p&gt; -&lt;p&gt;Now that we have defined our types, we need to create a python modu*=à‚7TL0*=à‚7APSH*=à‚7EHW ð+=à‚7EHW  -=à‚7TLÐ-=à‚7TL à/=à‚7TL ø1=à‚7TL`2=à‚7TL X3=à‚7TL P4=à‚7TLØ4=à‚7TL ¨:=à‚7TL ¸@=à‚7TL A=à‚7TL ø†7à‚7TL À‰7à‚7TL@Š7à‚7TL ‹7à‚7TL Ћ7à‚7TL Œ7à‚7TL defined using schema.One, which indicates +that there is just one of them per instance of the class. The +displayName parameter &lt;/p&gt; +&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. +This class is a simple chandler-based list of items. We Arethererelationshipsbetweendifferentdataitems?Doesonedataitem&quot;contain&quot;anotherone?&lt;/li&gt;</span> Thu, 11 Aug, 20:00
om   &quot;&gt;FeedItem&lt;/span&gt;&lt;/li&gt; + &lt;/ul&gt; + &lt;/ul&gt; </span><span class="cx"> &lt;/blockquote&gt; &lt;p&gt;&amp;nbsp; &lt;/p&gt; </span><span class="rem">-&lt;h2&gt;The Chandler UI &lt;/h2&gt; -&lt;p&gt;Now that we have defined some of the datatypes that &lt;a class=&quot;twikiLink&quot; href=&quot;http://wiki.osafoundation.org/bin/view/Projects/ZaoBao&quot;&gt;ZaoBao&lt;/a&gt; will manage, we will look at how they integrate into the existing user interface. There are many ways to integrate into the Chandler UI, but the simplest (and potentially richest) way is to work within the framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; - &lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; width=&quot;484&quot; height=&quot;340&quot; class=&quot;diagram&quot;&gt; &lt;/p&gt; </span><span class="add">+&lt;h2&gt;The Chandler UI &lt;/h2&gt; +&lt;p&gt;Now that we have defined some of the datatypes that &lt;a + class=&quot;twikiLink&quot; + href=&quot;http://wiki.osafoundation.org/bin/view/Projects/ZaoBao&quot;&gt;ZaoBao&lt;/a&gt; +will manage, we will look at how they integrate into the existing user +interface. There are many ways to integrate into the Chandler UI, but +the simplest (and potentially richest) way is to work within the +framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; +&lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; class=&quot;diagram&quot; height=&quot;340&quot; + width=&quot;484&quot;&gt; &lts have the content of the news item, as well as a date, author, +URL, and so forth. Not all RSS feeds contain authors or even dates but +they all contain content. &lt;/li&gt; </span><span class="cx"> &lt;/ul&gt; &lt;h3&gt;Describing the data with Python &lt;/h3&gt; </span><span class="rem">-&lt;p&gt;Python classes are the fundamental data type that help us define our schema. Data is defined as attributes of a given class. The schema syntax is similar to that used in the Django project.&lt;/p&gt; </span><span class="add">+&lt;p&gt;Python classes are the fundamental data type that help us define our +schema. Data is defined as attributes of a given class. The schema +syntax is similar to that used in the Django project.&lt;/p&gt; </span><span  Wed, 08 Oct, 17:57
<D...@advancedmp.com>    has a title, a last-updated date, and maybe a copyright. +Each RSS feed contains one or more news items. A feed is sometimes +called a channel. &lt;/li&gt; + &lt;li&gt; A news item - this is a single entry retrieved via RSS. News +items have the content of the news item, as well as a date, author, +URL, and so forth. Not all RSS feeds contain authors or even dates but +they all contain content. &lt;/li&gt; </span><span class="cx"> &lt;/ul&gt; &lt;h3&gt;Describing the data with Python &lt;/h3&gt; </span><span class="rem">-&lt;p&gt;Python classes are the fundamental data type that help us define our schema. Data is defined as attributes of a given class. The schema syntax is similar to that used in the Django project.&lt;/p&gt; </span><span class="add">+&lt;p&gt;Python classes are the fundamental data type that help us define our +schema. Data is defined as attributes of a given class. The schema +syntax is similar to that used in the Django project.&lt;/p&gt; </span><span class="cx"> &lt;p&gt;We'll store our data definitions in &lt;code&gt;feeds/channel.py&lt;/code&gt;. &lt;/p&gt; </span><span class="rem">-&lt;p&gt;Lets take a look at the basic definition of an RSS channel, FeedChannel.&lt;/p&gt; -&lt;pre class=&quot;code&quot;&gt;from osaf import pim -from application import schema - -class FeedChannel(pim.ListCollection): - - link = schema.One(schema.URL, displayName=u&amp;quot;RSS Feed URL&amp;quot;) - category = schema.One(schema.Text) - author = schema.One(schema.Text) - date = schema.One(schema.DateTime)&lt;/pre&gt; -&lt;p&gt;The link, category, author, and date attributes are all basic attributes using simple types defined in the schema module. &lt;/p&gt; -&lt;p&gt;Behind the scenes: Chandler-specific attributes are defined as class attributes, but in practice they are actually used as instance attributes. When you have an instance of FeedChannel&lt;/p&gt; -&lt;p&gt;The attributes are all defined using schema.One, which indicates that there is just one of them per instance of the class. The displayName parameter &lt;/p&gt; -&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. This class is a simple chandler-based list of items. We will use this list to represent the fact that a feed &lt;em&gt;contains&lt;/em&gt; one or more feed items. Note that we have not declared anything about the type of data that this channel will contain. Chandler collections can contain any type of item. Each entry in Chandler's sidebar is collection of some kind. &lt;/p&gt; </span><span class="add">+&lt;p&gt;Lets take a look at the basic definition of an RSS channel, +FeedChannel.&lt;/p&gt; +&lt;pre class=&quot;code&quot;&gt;from osaf import pim&lt;br&gt;from application import schema&lt;br&gt;&lt;br&gt;class FeedChannel(pim.ListCollection):&lt;br&gt;&lt;br&gt; link = schema.One(schema.URL, displayName=u&quot;RSS Feed URL&quot;)&lt;br&gt; category = schema.One(schema.Text)&lt;br&gt; author = schema.One(schema.Text)&lt;br&gt; date = schema.One(schema.DateTime)&lt;/pre&gt; +&lt;p&gt;The link, category, author, and date attributes are all basic +attributes using simple types defined in the schema module. &lt;/p&gt; +&lt;p&gt;Behind the scenes: Chandler-specific attributes are defined as class +attributes, but in practice they are actually used as instance +attributes. When you have an instance of FeedChannel&lt;/p&gt; +&lt;p&gt;The attributes are all defined using schema.One, which indicates +that there is just one of them per instance of the class. The +displayName parameter &lt;/p&gt; +&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. +This class is a simple chandler-based list of items. We will use this +list to represent the fact that a feed &lt;em&gt;contains&lt;/em&gt; one or more +feed items. Note that we have not declared anything about the type of +data that this channel will contain. Chandler collections can contain +any type of item. Each entry in Chandler's sidebar is collection of +some kind. &lt;/p&gt; </span><span class="cx"> &lt;p&gt;Now lets look at the definition of a news item:&lt;/p&gt; </span><span class="rem">-&lt;pre class=&quot;code&quot;&gt;class FeedItem(pim.ContentItem): - - link = schema.One(schema.URL) - author = schema.One(schema.Text) - date = schema.One(schema.DateTime) - content = schema.One(schema.Lob)&lt;/pre&gt; -&lt;p&gt;The definition is very similar to FeedChannel. The one important distinction here is that FeedItem is inheriting from pim.ContentItem. ContentItem is the base class for all user-visible data in Chandler.&lt;/p&gt; -&lt;p&gt;Now that we have defined our types, we need to create a python modu*=à‚7TL0*=à‚7APSH*=à‚7EHW ð+=à‚7EHW  -=à‚7TLÐ-=à‚7TL à/=à‚7TL ø1=à‚7TL`2=à‚7TL X3=à‚7TL P4=à‚7TLØ4=à‚7TL ¨:=à‚7TL ¸@=à‚7TL A=à‚7TL ø†7à‚7TL À‰7à‚7TL@Š7à‚7TL ‹7à‚7TL Ћ7à‚7TL Œ7à‚7TL defined using schema.One, which indicates +that there is just one of them per instance of the class. The +displayName parameter &lt;/p&gt; +&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. +This class is a simple chandler-based list of items. We Arethererelationshipsbetweendifferentdataitems?Doesonedataitem&quot;contain&quot;anotherone?&lt;/li&gt;</span> Sat, 01 Oct, 11:37
e..@oofile.com.au>   [No Subject] Fri, 17 Feb, 22:19
e..@oofile.com.au>   pes that &lt;a class=&quot;twikiLink&quot; href=&quot;http://wiki.osafoundation.org/bin/view/Projects/ZaoBao&quot;&gt;ZaoBao&lt;/a&gt; will manage, we will look at how they integrate into the existing user interface. There are many ways to integrate into the Chandler UI, but the simplest (and potentially richest) way is to work within the framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; - &lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; width=&quot;484&quot; height=&quot;340&quot; class=&quot;diagram&quot;&gt; &lt;/p&gt; </span><span class="add">+&lt;h2&gt;The Chandler UI &lt;/h2&gt; +&lt;p&gt;Now that we have defined some of the datatypes that &lt;a + class=&quot;twikiLink&quot; + href=&quot;http://wiki.osafoundation.org/bin/view/Projects/ZaoBao&quot;&gt;ZaoBao&lt;/a&gt; +will manage, we will look at how they integrate into the existing user +interface. There are many ways to integrate into the Chandler UI, but +the simplest (and potentially richest) way is to work within the +framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; +&lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; class=&quot;diagram&quot; height=&quot;340&quot; + width=&quot;484&quot;&gt; &lts have the content of the news item, as well as a date, author, +URL, and so forth. Not all RSS feeds contain authors or even dates but +they all contain content. &lt;/li&gt; </span><span class="cx"> &lt;/ul&gt; &lt;h3&gt;Describing the data with Python &lt;/h3&gt; </span><span class="rem">-&lt;p&gt;Python classes are the fundamental data type that help us define our schema. Data is defined as attributes of a given class. The schema syntax is similar to that used in the Django project.&lt;/p&gt; </span><span class="add">+&lt;p&gt;Python classes are the fundamental data type that help us define our +schema. Data is defined as attributes of a given class. The schema +syntax is similar to that used in the Django project.&lt;/p&gt; </span><span  Fri, 17 Feb, 22:19
e..@oofile.com.au>   pes that &lt;a class=&quot;twikiLink&quot; href=&quot;http://wiki.osafoundation.org/bin/view/Projects/ZaoBao&quot;&gt;ZaoBao&lt;/a&gt; will manage, we will look at how they integrate into the existing user interface. There are many ways to integrate into the Chandler UI, but the simplest (and potentially richest) way is to work within the framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; - &lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; width=&quot;484&quot; height=&quot;340&quot; class=&quot;diagram&quot;&gt; &lt;/p&gt; </span><span class="add">+&lt;h2&gt;The Chandler UI &lt;/h2&gt; +&lt;p&gt;Now that we have defined some of the datatypes that &lt;a + class=&quot;twikiLink&quot; + href=&quot;http://wiki.osafoundation.org/bin/view/Projects/ZaoBao&quot;&gt;ZaoBao&lt;/a&gt; +will manage, we will look at how they integrate into the existing user +interface. There are many ways to integrate into the Chandler UI, but +the simplest (and potentially richest) way is to work within the +framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; +&lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; class=&quot;diagram&quot; height=&quot;340&quot; + width=&quot;484&quot;&gt; &lts have the content of the news item, as well as a date, author, +URL, and so forth. Not all RSS feeds contain authors or even dates but +they all contain content. &lt;/li&gt; </span><span class="cx"> &lt;/ul&gt; &lt;h3&gt;Describing the data with Python &lt;/h3&gt; </span><span class="rem">-&lt;p&gt;Python classes are the fundamental data type that help us define our schema. Data is defined as attributes of a given class. The schema syntax is similar to that used in the Django project.&lt;/p&gt; </span><span class="add">+&lt;p&gt;Python classes are the fundamental data type that help us define our +schema. Data is defined as attributes of a given class. The schema +syntax is similar to that used in the Django project.&lt;/p&gt; </span><span  Fri, 17 Feb, 22:19
e..@oofile.com.au>   pes that &lt;a class=&quot;twikiLink&quot; href=&quot;http://wiki.osafoundation.org/bin/view/Projects/ZaoBao&quot;&gt;ZaoBao&lt;/a&gt; will manage, we will look at how they integrate into the existing user interface. There are many ways to integrate into the Chandler UI, but the simplest (and potentially richest) way is to work within the framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; - &lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; width=&quot;484&quot; height=&quot;340&quot; class=&quot;diagram&quot;&gt; &lt;/p&gt; </span><span class="add">+&lt;h2&gt;The Chandler UI &lt;/h2&gt; +&lt;p&gt;Now that we have defined some of the datatypes that &lt;a + class=&quot;twikiLink&quot; + href=&quot;http://wiki.osafoundation.org/bin/view/Projects/ZaoBao&quot;&gt;ZaoBao&lt;/a&gt; +will manage, we will look at how they integrate into the existing user +interface. There are many ways to integrate into the Chandler UI, but +the simplest (and potentially richest) way is to work within the +framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; +&lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; class=&quot;diagram&quot; height=&quot;340&quot; + width=&quot;484&quot;&gt; &lts have the content of the news item, as well as a date, author, +URL, and so forth. Not all RSS feeds contain authors or even dates but +they all contain content. &lt;/li&gt; </span><span class="cx"> &lt;/ul&gt; &lt;h3&gt;Describing the data with Python &lt;/h3&gt; </span><span class="rem">-&lt;p&gt;Python classes are the fundamental data type that help us define our schema. Data is defined as attributes of a given class. The schema syntax is similar to that used in the Django project.&lt;/p&gt; </span><span class="add">+&lt;p&gt;Python classes are the fundamental data type that help us define our +schema. Data is defined as attributes of a given class. The schema +syntax is similar to that used in the Django project.&lt;/p&gt; </span><span  Fri, 17 Feb, 22:19
e..@oofile.com.au>   pes that &lt;a class=&quot;twikiLink&quot; href=&quot;http://wiki.osafoundation.org/bin/view/Projects/ZaoBao&quot;&gt;ZaoBao&lt;/a&gt; will manage, we will look at how they integrate into the existing user interface. There are many ways to integrate into the Chandler UI, but the simplest (and potentially richest) way is to work within the framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; - &lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; width=&quot;484&quot; height=&quot;340&quot; class=&quot;diagram&quot;&gt; &lt;/p&gt; </span><span class="add">+&lt;h2&gt;The Chandler UI &lt;/h2&gt; +&lt;p&gt;Now that we have defined some of the datatypes that &lt;a + class=&quot;twikiLink&quot; + href=&quot;http://wiki.osafoundation.org/bin/view/Projects/ZaoBao&quot;&gt;ZaoBao&lt;/a&gt; +will manage, we will look at how they integrate into the existing user +interface. There are many ways to integrate into the Chandler UI, but +the simplest (and potentially richest) way is to work within the +framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; +&lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; class=&quot;diagram&quot; height=&quot;340&quot; + width=&quot;484&quot;&gt; &lts have the content of the news item, as well as a date, author, +URL, and so forth. Not all RSS feeds contain authors or even dates but +they all contain content. &lt;/li&gt; </span><span class="cx"> &lt;/ul&gt; &lt;h3&gt;Describing the data with Python &lt;/h3&gt; </span><span class="rem">-&lt;p&gt;Python classes are the fundamental data type that help us define our schema. Data is defined as attributes of a given class. The schema syntax is similar to that used in the Django project.&lt;/p&gt; </span><span class="add">+&lt;p&gt;Python classes are the fundamental data type that help us define our +schema. Data is defined as attributes of a given class. The schema +syntax is similar to that used in the Django project.&lt;/p&gt; </span><span  Fri, 17 Feb, 22:19
e..@oofile.com.au>   pes that &lt;a class=&quot;twikiLink&quot; href=&quot;http://wiki.osafoundation.org/bin/view/Projects/ZaoBao&quot;&gt;ZaoBao&lt;/a&gt; will manage, we will look at how they integrate into the existing user interface. There are many ways to integrate into the Chandler UI, but the simplest (and potentially richest) way is to work within the framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; - &lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; width=&quot;484&quot; height=&quot;340&quot; class=&quot;diagram&quot;&gt; &lt;/p&gt; </span><span class="add">+&lt;h2&gt;The Chandler UI &lt;/h2&gt; +&lt;p&gt;Now that we have defined some of the datatypes that &lt;a + class=&quot;twikiLink&quot; + href=&quot;http://wiki.osafoundation.org/bin/view/Projects/ZaoBao&quot;&gt;ZaoBao&lt;/a&gt; +will manage, we will look at how they integrate into the existing user +interface. There are many ways to integrate into the Chandler UI, but +the simplest (and potentially richest) way is to work within the +framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; +&lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; class=&quot;diagram&quot; height=&quot;340&quot; + width=&quot;484&quot;&gt; &lts have the content of the news item, as well as a date, author, +URL, and so forth. Not all RSS feeds contain authors or even dates but +they all contain content. &lt;/li&gt; </span><span class="cx"> &lt;/ul&gt; &lt;h3&gt;Describing the data with Python &lt;/h3&gt; </span><span class="rem">-&lt;p&gt;Python classes are the fundamental data type that help us define our schema. Data is defined as attributes of a given class. The schema syntax is similar to that used in the Django project.&lt;/p&gt; </span><span class="add">+&lt;p&gt;Python classes are the fundamental data type that help us define our +schema. Data is defined as attributes of a given class. The schema +syntax is similar to that used in the Django project.&lt;/p&gt; </span><span  Fri, 17 Feb, 22:19
  quo;</a></th><th class="sort"><a href="/archives/commits-cosmo/200610.mbox/thread">Thread</a> &middot; Author &middot; <a href="/archives/commits-cosmo/200610.mbox/date">Date</a></th></tr> </tfoot> W) Sun, 03 Jul, 12:32
ld   mits-cosmo/200507.mbox/author" title="Browse July 2005 archives">Jul 2005</a></td><td class="msgcount">71</td> </tr> <tr> <td class="box"><a href="/archives/commits-cosmo/200506.mbox/author" title="Browse June 2005 archives">Jun 2005</a></td><td class="msgcount">17</td> </tr> </tbody> </table> </body> </html>t;Mar 2006&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td class=&amp;quot;msgcount&amp;quot;&amp;gt;330&amp;lt;F@†à‹ÛG</a> </td> <td class="date">Mon, 11 Apr, 05:03</td> </tr> </tbody> <tfoot> <tr><th class="title"><a href="browser">Message list</a></th><th class="pages">1 &middot; <a href="/archives/commits-cosmo/200610.mbox/author?1">2</a> &middot; <a href="/archives/commits-cosmo/200610.mbox/author?1">Next &raquo;</a></th><th class="sort"><a href="/archives/commits-cosmo/200610.mbox/thread">Thread</a> &middot; Author &middot; <a href="/archives/commits-cosmo/200610.mbox/date">Date</a></th></tr> </tfoot> W) Sat, 12 Dec, 14:07
   title, a last-updated date, and maybe a copyright. +Each RSS feed contains one or more news items. A feed is sometimes +called a channel. &lt;/li&gt; + &lt;li&gt; A news item - this is a single entry retrieved via RSS. News +items have the content of the news item, as well as a date, author, +URL, and so forth. Not all RSS feeds contain authors or even dates but +they all contain content. &lt;/li&gt; </span><span class="cx"> &lt;/ul&gt; &lt;h3&gt;Describing the data with Python &lt;/h3&gt; </span><span class="rem">-&lt;p&gt;Python classes are the fundamental data type that help us define our schema. Data is defined as attributes of a given class. The schema syntax is similar to that used in the Django project.&lt;/p&gt; </span><span class="add">+&lt;p&gt;Python classes are the fundamental data type that help us define our +schema. Data is defined as attributes of a given class. The schema +syntax is similar to that used in the Django project.&lt;/p&gt; </span><span class="cx"> &lt;p&gt;We'll store our data definitions in &lt;code&gt;feeds/channel.py&lt;/code&gt;. &lt;/p&gt; </span><span class="rem">-&lt;p&gt;Lets take a look at the basic definition of an RSS channel, FeedChannel.&lt;/p&gt; -&lt;pre class=&quot;code&quot;&gt;from osaf import pim -from application import schema - -class FeedChannel(pim.ListCollection): - - link = schema.One(schema.URL, displayName=u&amp;quot;RSS Feed URL&amp;quot;) - category = schema.One(schema.Text) - author = schema.One(schema.Text) - date = schema.One(schema.DateTime)&lt;/pre&gt; -&lt;p&gt;The link, category, author, and date attributes are all basic attributes using simple types defined in the schema module. &lt;/p&gt; -&lt;p&gt;Behind the scenes: Chandler-specific attributes are defined as class attributes, but in practice they are actually used as instance attributes. When you have an instance of FeedChannel&lt;/p&gt; -&lt;p&gt;The attributes are all defined using schema.One, which indicates that there is just one of them per instance of the class. The displayName parameter &lt;/p&gt; -&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. This class is a simple chandler-based list of items. We will use this list to represent the fact that a feed &lt;em&gt;contains&lt;/em&gt; one or more feed items. Note that we have not declared anything about the type of data that this channel will contain. Chandler collections can contain any type of item. Each entry in Chandler's sidebar is collection of some kind. &lt;/p&gt; </span><span class="add">+&lt;p&gt;Lets take a look at the basic definition of an RSS channel, +FeedChannel.&lt;/p&gt; +&lt;pre class=&quot;code&quot;&gt;from osaf import pim&lt;br&gt;from application import schema&lt;br&gt;&lt;br&gt;class FeedChannel(pim.ListCollection):&lt;br&gt;&lt;br&gt; link = schema.One(schema.URL, displayName=u&quot;RSS Feed URL&quot;)&lt;br&gt; category = schema.One(schema.Text)&lt;br&gt; author = schema.One(schema.Text)&lt;br&gt; date = schema.One(schema.DateTime)&lt;/pre&gt; +&lt;p&gt;The link, category, author, and date attributes are all basic +attributes using simple types defined in the schema module. &lt;/p&gt; +&lt;p&gt;Behind the scenes: Chandler-specific attributes are defined as class +attributes, but in practice they are actually used as instance +attributes. When you have an instance of FeedChannel&lt;/p&gt; +&lt;p&gt;The attributes are all defined using schema.One, which indicates +that there is just one of them per instance of the class. The +displayName parameter &lt;/p&gt; +&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. +This class is a simple chandler-based list of items. We will use this +list to represent the fact that a feed &lt;em&gt;contains&lt;/em&gt; one or more +feed items. Note that we have not declared anything about the type of +data that this channel will contain. Chandler collections can contain +any type of item. Each entry in Chandler's sidebar is collection of +some kind. &lt;/p&gt; </span><span class="cx"> &lt;p&gt;Now lets look at the definition of a news item:&lt;/p&gt; </span><span class="rem">-&lt;pre class=&quot;code&quot;&gt;class FeedItem(pim.ContentItem): - - link = schema.One(schema.URL) - author = schema.One(schema.Text) - date = schema.One(schema.DateTime) - content = schema.One(schema.Lob)&lt;/pre&gt; -&lt;p&gt;The definition is very similar to FeedChannel. The one important distinction here is that FeedItem is inheriting from pim.ContentItem. ContentItem is the base class for all user-visible data in Chandler.&lt;/p&gt; -&lt;p&gt;Now that we have defined our types, we need to create a python modu*=à‚7TL0*=à‚7APSH*=à‚7EHW ð+=à‚7EHW  -=à‚7TLÐ-=à‚7TL à/=à‚7TL ø1=à‚7TL`2=à‚7TL X3=à‚7TL P4=à‚7TLØ4=à‚7TL ¨:=à‚7TL ¸@=à‚7TL A=à‚7TL ø†7à‚7TL À‰7à‚7TL@Š7à‚7TL ‹7à‚7TL Ћ7à‚7TL Œ7à‚7TL defined using schema.One, which indicates +that there is just one of them per instance of the class. The +displayName parameter &lt;/p&gt; +&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. +This class is a simple chandler-based list of items. We Arethererelationshipsbetweendifferentdataitems?Doesonedataitem&quot;contain&quot;anotherone?&lt;/li&gt;</span> Sat, 18 Sep, 17:42
  e our data definitions in &lt;code&gt;feeds/channel.py&lt;/code&gt;. &lt;/p&gt; </span><span class="rem">-&lt;p&gt;Lets take a look at the basic definition of an RSS channel, FeedChannel.&lt;/p&gt; -&lt;pre class=&quot;code&quot;&gt;from osaf import pim -from application import schema - -class FeedChannel(pim.ListCollection): - - link = schema.One(schema.URL, displayName=u&amp;quot;RSS Feed URL&amp;quot;) - category = schema.One(schema.Text) - author = schema.One(schema.Text) - date = schema.One(schema.DateTime)&lt;/pre&gt; -&lt;p&gt;The link, category, author, and date attributes are all basic attributes using simple types defined in the schema module. &lt;/p&gt; -&lt;p&gt;Behind the scenes: Chandler-specific attributes are defined as class attributes, but in practice they are actually used as instance attributes. When you have an instance of FeedChannel&lt;/p&gt; -&lt;p&gt;The attributes are all defined using schema.One, which indicates that there is just one of them per instance of the class. The displayName parameter &lt;/p&gt; -&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. This class is a simple chandler-based list of items. We will use this list to represent the fact that a feed &lt;em&gt;contains&lt;/em&gt; one or more feed items. Note that we have not declared anything about the type of data that this channel will contain. Chandler collections can contain any type of item. Each entry in Chandler's sidebar is collection of some kind. &lt;/p&gt; </span><span class="add">+&lt;p&gt;Lets take a look at the basic definition of an RSS channel, +FeedChannel.&lt;/p&gt; +&lt;pre class=&quot;code&quot;&gt;from osaf import pim&lt;br&gt;from application import schema&lt;br&gt;&lt;br&gt;class FeedChannel(pim.ListCollection):&lt;br&gt;&lt;br&gt; link = schema.One(schema.URL, displayName=u&quot;RSS Feed URL&quot;)&lt;br&gt; category = schema.One(schema.Text)&lt;br&gt; author = schema.One(schema.Text)&lt;br&gt; date = schema.One(schema.DateTime)&lt;/pre&gt; +&lt;p&gt;The link, category, author, and date attributes are all basic +attributes using simple types defined in the schema module. &lt;/p&gt; +&lt;p&gt;Behind the scenes: Chandler-specific attributes are defined as class +attributes, but in practice they are actually used as instance +attributes. When you have an instance of FeedChannel&lt;/p&gt; +&lt;p&gt;The attributes are all defined using schema.One, which indicates +that there is just one of them per instance of the class. The +displayName parameter &lt;/p&gt; +&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. +This class is a simple chandler-based list of items. We will use this +list to represent the fact that a feed &lt;em&gt;contains&lt;/em&gt; one or more +feed items. Note that we have not declared anything about the type of +data that this channel will contain. Chandler collections can contain +any type of item. Each entry in Chandler's sidebar is collection of +some kind. &lt;/p&gt; </span><span class="cx"> &lt;p&gt;Now lets look at the definition of a news item:&lt;/p&gt; </span><span class="rem">-&lt;pre class=&quot;code&quot;&gt;class FeedItem(pim.ContentItem): - - link = schema.One(schema.URL) - author = schema.One(schema.Text) - date = schema.One(schema.DateTime) - content = schema.One(schema.Lob)&lt;/pre&gt; -&lt;p&gt;The definition is very similar to FeedChannel. The one important distinction here is that FeedItem is inheriting from pim.ContentItem. ContentItem is the base class for all user-visible data in Chandler.&lt;/p&gt; -&lt;p&gt;Now that we have defined our types, we need to create a python modu*=à‚7TL0*=à‚7APSH*=à‚7EHW ð+=à‚7EHW  -=à‚7TLÐ-=à‚7TL à/=à‚7TL ø1=à‚7TL`2=à‚7TL X3=à‚7TL P4=à‚7TLØ4=à‚7TL ¨:=à‚7TL ¸@=à‚7TL A=à‚7TL ø†7à‚7TL À‰7à‚7TL@Š7à‚7TL ‹7à‚7TL Ћ7à‚7TL Œ7à‚7TL defined using schema.One, which indicates +that there is just one of them per instance of the class. The +displayName parameter &lt;/p&gt; +&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. +This class is a simple chandler-based list of items. We Arethererelationshipsbetweendifferentdataitems?Doesonedataitem&quot;contain&quot;anotherone?&lt;/li&gt;</span> Wed, 15 Dec, 16:23
  o;</a></th><th class="sort"><a href="/archives/commits-cosmo/200610.mbox/thread">Thread</a> &middot; Author &middot; <a href="/archives/commits-cosmo/200610.mbox/date">Date</a></th></tr> </tfoot> W) Wed, 15 Dec, 16:23
  o;</a></th><th class="sort"><a href="/archives/commits-cosmo/200610.mbox/thread">Thread</a> &middot; Author &middot; <a href="/archives/commits-cosmo/200610.mbox/date">Date</a></th></tr> </tfoot> W) Wed, 15 Dec, 16:23
  e our data definitions in &lt;code&gt;feeds/channel.py&lt;/code&gt;. &lt;/p&gt; </span><span class="rem">-&lt;p&gt;Lets take a look at the basic definition of an RSS channel, FeedChannel.&lt;/p&gt; -&lt;pre class=&quot;code&quot;&gt;from osaf import pim -from application import schema - -class FeedChannel(pim.ListCollection): - - link = schema.One(schema.URL, displayName=u&amp;quot;RSS Feed URL&amp;quot;) - category = schema.One(schema.Text) - author = schema.One(schema.Text) - date = schema.One(schema.DateTime)&lt;/pre&gt; -&lt;p&gt;The link, category, author, and date attributes are all basic attributes using simple types defined in the schema module. &lt;/p&gt; -&lt;p&gt;Behind the scenes: Chandler-specific attributes are defined as class attributes, but in practice they are actually used as instance attributes. When you have an instance of FeedChannel&lt;/p&gt; -&lt;p&gt;The attributes are all defined using schema.One, which indicates that there is just one of them per instance of the class. The displayName parameter &lt;/p&gt; -&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. This class is a simple chandler-based list of items. We will use this list to represent the fact that a feed &lt;em&gt;contains&lt;/em&gt; one or more feed items. Note that we have not declared anything about the type of data that this channel will contain. Chandler collections can contain any type of item. Each entry in Chandler's sidebar is collection of some kind. &lt;/p&gt; </span><span class="add">+&lt;p&gt;Lets take a look at the basic definition of an RSS channel, +FeedChannel.&lt;/p&gt; +&lt;pre class=&quot;code&quot;&gt;from osaf import pim&lt;br&gt;from application import schema&lt;br&gt;&lt;br&gt;class FeedChannel(pim.ListCollection):&lt;br&gt;&lt;br&gt; link = schema.One(schema.URL, displayName=u&quot;RSS Feed URL&quot;)&lt;br&gt; category = schema.One(schema.Text)&lt;br&gt; author = schema.One(schema.Text)&lt;br&gt; date = schema.One(schema.DateTime)&lt;/pre&gt; +&lt;p&gt;The link, category, author, and date attributes are all basic +attributes using simple types defined in the schema module. &lt;/p&gt; +&lt;p&gt;Behind the scenes: Chandler-specific attributes are defined as class +attributes, but in practice they are actually used as instance +attributes. When you have an instance of FeedChannel&lt;/p&gt; +&lt;p&gt;The attributes are all defined using schema.One, which indicates +that there is just one of them per instance of the class. The +displayName parameter &lt;/p&gt; +&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. +This class is a simple chandler-based list of items. We will use this +list to represent the fact that a feed &lt;em&gt;contains&lt;/em&gt; one or more +feed items. Note that we have not declared anything about the type of +data that this channel will contain. Chandler collections can contain +any type of item. Each entry in Chandler's sidebar is collection of +some kind. &lt;/p&gt; </span><span class="cx"> &lt;p&gt;Now lets look at the definition of a news item:&lt;/p&gt; </span><span class="rem">-&lt;pre class=&quot;code&quot;&gt;class FeedItem(pim.ContentItem): - - link = schema.One(schema.URL) - author = schema.One(schema.Text) - date = schema.One(schema.DateTime) - content = schema.One(schema.Lob)&lt;/pre&gt; -&lt;p&gt;The definition is very similar to FeedChannel. The one important distinction here is that FeedItem is inheriting from pim.ContentItem. ContentItem is the base class for all user-visible data in Chandler.&lt;/p&gt; -&lt;p&gt;Now that we have defined our types, we need to create a python modu*=à‚7TL0*=à‚7APSH*=à‚7EHW ð+=à‚7EHW  -=à‚7TLÐ-=à‚7TL à/=à‚7TL ø1=à‚7TL`2=à‚7TL X3=à‚7TL P4=à‚7TLØ4=à‚7TL ¨:=à‚7TL ¸@=à‚7TL A=à‚7TL ø†7à‚7TL À‰7à‚7TL@Š7à‚7TL ‹7à‚7TL Ћ7à‚7TL Œ7à‚7TL defined using schema.One, which indicates +that there is just one of them per instance of the class. The +displayName parameter &lt;/p&gt; +&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. +This class is a simple chandler-based list of items. We Arethererelationshipsbetweendifferentdataitems?Doesonedataitem&quot;contain&quot;anotherone?&lt;/li&gt;</span> Wed, 15 Dec, 16:23
@freedevelopers.net>   , a last-updated date, and maybe a copyright. +Each RSS feed contains one or more news items. A feed is sometimes +called a channel. &lt;/li&gt; + &lt;li&gt; A news item - this is a single entry retrieved via RSS. News +items have the content of the news item, as well as a date, author, +URL, and so forth. Not all RSS feeds contain authors or even dates but +they all contain content. &lt;/li&gt; </span><span class="cx"> &lt;/ul&gt; &lt;h3&gt;Describing the data with Python &lt;/h3&gt; </span><span class="rem">-&lt;p&gt;Python classes are the fundamental data type that help us define our schema. Data is defined as attributes of a given class. The schema syntax is similar to that used in the Django project.&lt;/p&gt; </span><span class="add">+&lt;p&gt;Python classes are the fundamental data type that help us define our +schema. Data is defined as attributes of a given class. The schema +syntax is similar to that used in the Django project.&lt;/p&gt; </span><span class="cx"> &lt;p&gt;We'll store our data definitions in &lt;code&gt;feeds/channel.py&lt;/code&gt;. &lt;/p&gt; </span><span class="rem">-&lt;p&gt;Lets take a look at the basic definition of an RSS channel, FeedChannel.&lt;/p&gt; -&lt;pre class=&quot;code&quot;&gt;from osaf import pim -from application import schema - -class FeedChannel(pim.ListCollection): - - link = schema.One(schema.URL, displayName=u&amp;quot;RSS Feed URL&amp;quot;) - category = schema.One(schema.Text) - author = schema.One(schema.Text) - date = schema.One(schema.DateTime)&lt;/pre&gt; -&lt;p&gt;The link, category, author, and date attributes are all basic attributes using simple types defined in the schema module. &lt;/p&gt; -&lt;p&gt;Behind the scenes: Chandler-specific attributes are defined as class attributes, but in practice they are actually used as instance attributes. When you have an instance of FeedChannel&lt;/p&gt; -&lt;p&gt;The attributes are all defined using schema.One, which indicates that there is just one of them per instance of the class. The displayName parameter &lt;/p&gt; -&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. This class is a simple chandler-based list of items. We will use this list to represent the fact that a feed &lt;em&gt;contains&lt;/em&gt; one or more feed items. Note that we have not declared anything about the type of data that this channel will contain. Chandler collections can contain any type of item. Each entry in Chandler's sidebar is collection of some kind. &lt;/p&gt; </span><span class="add">+&lt;p&gt;Lets take a look at the basic definition of an RSS channel, +FeedChannel.&lt;/p&gt; +&lt;pre class=&quot;code&quot;&gt;from osaf import pim&lt;br&gt;from application import schema&lt;br&gt;&lt;br&gt;class FeedChannel(pim.ListCollection):&lt;br&gt;&lt;br&gt; link = schema.One(schema.URL, displayName=u&quot;RSS Feed URL&quot;)&lt;br&gt; category = schema.One(schema.Text)&lt;br&gt; author = schema.One(schema.Text)&lt;br&gt; date = schema.One(schema.DateTime)&lt;/pre&gt; +&lt;p&gt;The link, category, author, and date attributes are all basic +attributes using simple types defined in the schema module. &lt;/p&gt; +&lt;p&gt;Behind the scenes: Chandler-specific attributes are defined as class +attributes, but in practice they are actually used as instance +attributes. When you have an instance of FeedChannel&lt;/p&gt; +&lt;p&gt;The attributes are all defined using schema.One, which indicates +that there is just one of them per instance of the class. The +displayName parameter &lt;/p&gt; +&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. +This class is a simple chandler-based list of items. We will use this +list to represent the fact that a feed &lt;em&gt;contains&lt;/em&gt; one or more +feed items. Note that we have not declared anything about the type of +data that this channel will contain. Chandler collections can contain +any type of item. Each entry in Chandler's sidebar is collection of +some kind. &lt;/p&gt; </span><span class="cx"> &lt;p&gt;Now lets look at the definition of a news item:&lt;/p&gt; </span><span class="rem">-&lt;pre class=&quot;code&quot;&gt;class FeedItem(pim.ContentItem): - - link = schema.One(schema.URL) - author = schema.One(schema.Text) - date = schema.One(schema.DateTime) - content = schema.One(schema.Lob)&lt;/pre&gt; -&lt;p&gt;The definition is very similar to FeedChannel. The one important distinction here is that FeedItem is inheriting from pim.ContentItem. ContentItem is the base class for all user-visible data in Chandler.&lt;/p&gt; -&lt;p&gt;Now that we have defined our types, we need to create a python modu*=à‚7TL0*=à‚7APSH*=à‚7EHW ð+=à‚7EHW  -=à‚7TLÐ-=à‚7TL à/=à‚7TL ø1=à‚7TL`2=à‚7TL X3=à‚7TL P4=à‚7TLØ4=à‚7TL ¨:=à‚7TL ¸@=à‚7TL A=à‚7TL ø†7à‚7TL À‰7à‚7TL@Š7à‚7TL ‹7à‚7TL Ћ7à‚7TL Œ7à‚7TL defined using schema.One, which indicates +that there is just one of them per instance of the class. The +displayName parameter &lt;/p&gt; +&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. +This class is a simple chandler-based list of items. We Arethererelationshipsbetweendifferentdataitems?Doesonedataitem&quot;contain&quot;anotherone?&lt;/li&gt;</span> Sun, 23 Jan, 10:57
manie...@yahoo.com   ; &amp;lt;/tr&amp;gt; &amp;lt;tr&amp¨ù1 Wed, 21 Aug, 11:22
manie...@yahoo.com   ; &amp;lt;/tr&amp;gt; &amp;lt;tr&amp¨ù1 Wed, 21 Aug, 11:22
manie...@yahoo.com   ; &amp;lt;/tr&amp;gt; &amp;lt;tr&amp¨ù1 Wed, 21 Aug, 11:22
manie...@yahoo.com   ; &amp;lt;/tr&amp;gt; &amp;lt;tr&amp¨ù1 Wed, 21 Aug, 11:22
uche.ogb...@fourthought.com   ne(schema.Text) - date = schema.One(schema.DateTime) - content = schema.One(schema.Lob)&lt;/pre&gt; -&lt;p&gt;The definition is very similar to FeedChannel. The one important distinction here is that FeedItem is inheriting from pim.ContentItem. ContentItem is the base class for all user-visible data in Chandler.&lt;/p&gt; -&lt;p&gt;Now that we have defined our types, we need to create a python module that will include these classes. Create feeds/__init__.py and add the following lines:&lt;/p&gt; </span><span class="add">+&lt;pre class=&quot;code&quot;&gt;class FeedItem(pim.ContentItem):&lt;br&gt;&lt;br&gt; link = schema.One(schema.URL)&lt;br&gt; author = schema.One(schema.Text)&lt;br&gt; date = schema.One(schema.DateTime)&lt;br&gt; content = schema.One(schema.Lob)&lt;/pre&gt; +&lt;p&gt;The definition is very similar to FeedChannel. The one important +distinction here is that FeedItem is inheriting from pim.ContentItem. +ContentItem is the base class for all user-visible data in Chandler.&lt;/p&gt; +&lt;p&gt;Now that we have defined our types, we need to create a python +module that will include these classes. Create feeds/__init__.py and +add the following lines:&lt;/p&gt; </span><span class="cx"> &lt;pre class=&quot;code&quot;&gt;from channels import FeedChannel, FeedItem&lt;/pre&gt; </span><span class="rem">-&lt;p&gt;When chandler refreshes the repository, it will look at all of the python modules in the parcels/ directory, and include any data definitions.&lt;/p&gt; </span><span class="add">+&lt;p&gt;When chandler refreshes the repository, it will look at all of the +python modules in the parcels/ directory, and include any data +definitions.&lt;/p&gt; </span><span class="cx"> &lt;h3&gt;Viewing data definitions &lt;/h3&gt; </span><span class="rem">-&lt;p&gt;To see if this works, start chandler with a fresh repository, and run the web server:&lt;/p&gt; </span><span class="add">+&lt;p&gt;To see if this works, start chandler with a fresh repository, and +run the web server:&lt;/p&gt; </span><span class="cx"> &lt;p&gt;&amp;gt; ./chandler --create -W&lt;/p&gt; </span><span class="rem">-&lt;p&gt;Now load your favorite web browser and go to http://localhost:1888/repo/. On the page that is displayed, you should see something like this:&lt;/p&gt; </span><span class="add">+&lt;p&gt;Now load your favorite web browser and go to +http://localhost:1888/repo/. On the page that is displayed, you should +see something like this:&lt;/p&gt; </span><span class="cx"> &lt;blockquote class=&quot;code&quot;&gt; </span><span class="rem">- &lt;ul&gt;&lt;li&gt;&lt;strong&gt;parcels&lt;/strong&gt;&lt;/li&gt; </span><span class="cx"> &lt;ul&gt; </span><span class="rem">- &lt;li&gt;&lt;b&gt;amazon&lt;/b&gt;: &lt;span class=&quot;fake-link&quot;&gt;AmazonCollection&lt;/span&gt;, &lt;span class=&quot;fake-link&quot;&gt;AmazonController&lt;/span&gt;, &lt;span class=&quot;fake-link&quot;&gt;AmazonDetailBlock&lt;/span&gt;, &lt;span class=&quot;fake-link&quot;&gt;AmazonItem&lt;/span&gt; &lt;/li&gt; - &lt;li&gt;&lt;b&gt;feeds&lt;/b&gt;: &lt;span class=&quot;fake-link&quot;&gt;FeedChannel&lt;/span&gt;, &lt;span class=&quot;fake-link&quot;&gt;FeedItem&lt;/span&gt;&lt;/li&gt; - &lt;/ul&gt;&lt;/ul&gt; </span><span class="add">+ &lt;li&gt;&lt;strong&gt;parcels&lt;/strong&gt;&lt;/li&gt; + &lt;ul&gt; + &lt;li&gt;&lt;b&gt;amazon&lt;/b&gt;: &lt;span class=&quot;fake-link&quot;&gt;AmazonCollection&lt;/span&gt;, + &lt;span class=&quot;fake-link&quot;&gt;AmazonController&lt;/span&gt;, &lt;span + class=&quot;fake-link&quot;&gt;AmazonDetailBlock&lt;/span&gt;, &lt;span class=&quot;fake-link&quot;&gt;AmazonItem&lt;/span&gt; + &lt;/li&gt; + &lt;li&gt;&lt;b&gt;feeds&lt;/b&gt;: &lt;span class=&quot;fake-link&quot;&gt;FeedChannel&lt;/span&gt;, &lt;span + class=&quot;fake-link&quot;&gt;FeedItem&lt;/span&gt;&lt;/li&gt; + &lt;/ul&gt; + &lt;/ul&gt; </span><span class="cx"> &lt;/blockquote&gt; &lt;p&gt;&amp;nbsp; &lt;/p&gt; </span><span class="rem">-&lt;h2&gt;The Chandler UI &lt;/h2&gt; -&lt;p&gt;Now that we have defined some of the datatypes that &lt;a class=&quot;twikiLink&quot; href=&quot;http://wiki.osafoundation.org/bin/view/Projects/ZaoBao&quot;&gt;ZaoBao&lt;/a&gt; will manage, we will look at how they integrate into the existing user interface. There are many ways to integrate into the Chandler UI, but the simplest (and potentially richest) way is to work within the framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; - &lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; width=&quot;484&quot; height=&quot;340&quot; class=&quot;diagram&quot;&gt; &lt;/p&gt; </span><span class="add">+&lt;h2&gt;The Chandler UI &lt;/h2&gt; +&lt;p&gt;Now that we have defined some of the datatypes that &lt;a + class=&quot;twikiLink&quot; + href=&quot;http://wiki.osafoundation.org/bin/view/Projects/ZaoBao&quot;&gt;ZaoBao&lt;/a&gt; +will manage, we will look at how they integrate into the existing user +interface. There are many ways to integrate into the Chandler UI, but +the simplest (and potentially richest) way is to work within the +framework of the Sidebar, Summary View, and Detail View. &lt;br&gt; +&lt;img src=&quot;ChandlerUI.png&quot; alt=&quot;Chandler UI&quot; class=&quot;diagram&quot; height=&quot;340&quot; + width=&quot;484&quot;&gt; &lts have the content of the news item, as well as a date, author, +URL, and so forth. Not all RSS feeds contain authors or even dates but +they all contain content. &lt;/li&gt; </span><span class="cx"> &lt;/ul&gt; &lt;h3&gt;Describing the data with Python &lt;/h3&gt; </span><span class="rem">-&lt;p&gt;Python classes are the fundamental data type that help us define our schema. Data is defined as attributes of a given class. The schema syntax is similar to that used in the Django project.&lt;/p&gt; </span><span class="add">+&lt;p&gt;Python classes are the fundamental data type that help us define our +schema. Data is defined as attributes of a given class. The schema +syntax is similar to that used in the Django project.&lt;/p&gt; </span><span  Tue, 07 Feb, 23:16
   has a title, a last-updated date, and maybe a copyright. +Each RSS feed contains one or more news items. A feed is sometimes +called a channel. &lt;/li&gt; + &lt;li&gt; A news item - this is a single entry retrieved via RSS. News +items have the content of the news item, as well as a date, author, +URL, and so forth. Not all RSS feeds contain authors or even dates but +they all contain content. &lt;/li&gt; </span><span class="cx"> &lt;/ul&gt; &lt;h3&gt;Describing the data with Python &lt;/h3&gt; </span><span class="rem">-&lt;p&gt;Python classes are the fundamental data type that help us define our schema. Data is defined as attributes of a given class. The schema syntax is similar to that used in the Django project.&lt;/p&gt; </span><span class="add">+&lt;p&gt;Python classes are the fundamental data type that help us define our +schema. Data is defined as attributes of a given class. The schema +syntax is similar to that used in the Django project.&lt;/p&gt; </span><span class="cx"> &lt;p&gt;We'll store our data definitions in &lt;code&gt;feeds/channel.py&lt;/code&gt;. &lt;/p&gt; </span><span class="rem">-&lt;p&gt;Lets take a look at the basic definition of an RSS channel, FeedChannel.&lt;/p&gt; -&lt;pre class=&quot;code&quot;&gt;from osaf import pim -from application import schema - -class FeedChannel(pim.ListCollection): - - link = schema.One(schema.URL, displayName=u&amp;quot;RSS Feed URL&amp;quot;) - category = schema.One(schema.Text) - author = schema.One(schema.Text) - date = schema.One(schema.DateTime)&lt;/pre&gt; -&lt;p&gt;The link, category, author, and date attributes are all basic attributes using simple types defined in the schema module. &lt;/p&gt; -&lt;p&gt;Behind the scenes: Chandler-specific attributes are defined as class attributes, but in practice they are actually used as instance attributes. When you have an instance of FeedChannel&lt;/p&gt; -&lt;p&gt;The attributes are all defined using schema.One, which indicates that there is just one of them per instance of the class. The displayName parameter &lt;/p&gt; -&lt;p&gt;Notice that the FeedChannel class inherits from &lt;code&gt;pim.ListCollection&lt;/code&gt;. This class is a simple chandler-based list of items. We will use this list to represent the fact that a feed &lt;em&gt;contains&lt;/em&gt; one or more feed items. Note that we have not declared anything about the type of data that this channel will contain. Chandler collections can contain any type of item. Each entry in Chandler's sidebar is collection of some kind. &lt;/p&gt; </span><span class="add">+&lt;p&gt;Lets take a look at the basic definition of an RSS channel, +FeedChannel.&lt;/p&gt; +&lt;pre class=&quot;code&quot;&gt;from osaf import pim&lt;br&gt;from application import schema&lt;br&gt;&lt;br&gt;class FeedChannel(pim.ListCollection):&lt;br&gt;&lt;br&gt; link = schema.One(schema.URL, displayName=u&quot;RSS Feed URL&quot;)&lt;br&gt; category = schema.One(schema.Text)&lt;br&gt; author = schema.One(schema.Text)&lt;br&gt; date = schema.One(schema.DateTime)&lt;/pre&gt; +&lt;p&gt;The link, category, author, and date attributes are