<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>RSSBus</title>
        <link>http://geekswithblogs.net/Lance/category/4503.aspx</link>
        <description>www.rssbus.com</description>
        <language>en-US</language>
        <copyright>Lance Robinson</copyright>
        <managingEditor>lmrobins@gmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>10 DIY SharePoint Web Parts #9</title>
            <link>http://geekswithblogs.net/Lance/archive/2009/11/09/10-diy-sharepoint-web-parts-9.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/Lance/WindowsLiveWriter/10DIYSharePointWebParts9_C1C4/CRMAppointments.png"&gt;&lt;img height="109" width="644" border="0" src="http://geekswithblogs.net/images/geekswithblogs_net/Lance/WindowsLiveWriter/10DIYSharePointWebParts9_C1C4/CRMAppointments_thumb.png" alt="CRMAppointments" title="CRMAppointments" style="border: 0px none ; margin: 10px auto; display: block; float: none;" /&gt;&lt;/a&gt; This post is the ninth in a &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;series of postings&lt;/a&gt;, containing examples of SharePoint WebParts that &lt;em&gt;anybody&lt;/em&gt; can build all by themselves.  To read all posts in this series, or to get started with the RSSBus WebPart, &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;go here&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;#9 – Microsoft Dynamics CRM&lt;/h3&gt;
&lt;p&gt;  &lt;br /&gt;
&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/Lance/WindowsLiveWriter/10DIYSharePointWebParts9_C1C4/CRMContacts.png"&gt;&lt;img height="113" width="255" border="0" align="right" src="http://geekswithblogs.net/images/geekswithblogs_net/Lance/WindowsLiveWriter/10DIYSharePointWebParts9_C1C4/CRMContacts_thumb.png" alt="CRMContacts" title="CRMContacts" style="border: 0px none ; margin: 10px; display: inline;" /&gt;&lt;/a&gt; The credit for this particular web part template goes to one of my co-workers Shannon Prue.  I asked him if he could put together a MS CRM template example for me, and a few minutes later I had in my inbox a 10 line example template!  In the past, integrating MS CRM with SharePoint meant investing a lot of time, dollars, and ending up with a bunch of rigid complexity.  Not now.  :)  This particular example uses Microsoft CRM Services, but that is not a requirement.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;u&gt;Step one&lt;/u&gt;&lt;/strong&gt;&lt;/em&gt; is to make sure you have the RSSBus Web Part installed.  &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;See here&lt;/a&gt; for instructions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;u&gt;Step two&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt;, make sure that you have the &lt;a href="http://www.rssbus.com/connectors/info.aspx?con=RSSBus.MscrmOps.info"&gt;MscrmOps Connector&lt;/a&gt; installed.  Get the service URL for your installation of Microsoft Dynamics CRM (e.g, &lt;a href="https://crmserver:5555/mscrmservices/2006/crmservice.asmx"&gt;https://crmserver:5555/mscrmservices/2006/crmservice.asmx&lt;/a&gt;) as well as a username and password needed for accessing the service (CRM uses integrated authentication by default, so this will normally be your domain account and password).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;u&gt;Step three&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt;, add the RSSBus WebPart to your page, paste the following template into its source editor, edit the serviceurl, username, and password settings to correspond to your own MS CRM instance, and click “Apply”.  You’ll see the web part rendered with a list of contacts from MS CRM.&lt;/p&gt;
&lt;div style="width: 70%; margin-left: auto; margin-right: auto;"&gt;
&lt;div class="rsbheader-left"&gt; &lt;/div&gt;
&lt;div class="rsbheader-right"&gt; &lt;/div&gt;
&lt;div class="rsbheader-middle"&gt; &lt;/div&gt;
&lt;div&gt;
&lt;div class="rsbbody-left"&gt; &lt;/div&gt;
&lt;div class="rsbbody-right"&gt; &lt;/div&gt;
&lt;div class="rsbbody-middle"&gt;
&lt;div class="rsbscrollarea"&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:import&lt;/span&gt; &lt;span class="attr"&gt;lib&lt;/span&gt;&lt;span class="kwrd"&gt;="RSSBus.MscrmOps"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="serviceurl"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="http://10.0.1.197:5555/mscrmservices/2006/crmservice.asmx"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="username"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="YOURUSERNAME"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="password"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="YOURPASSWORD"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="maxresults"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="300"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="_meta.YUITableAttrs"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="mscrm:fullname, mscrm:telephone1, mscrm:address1_city"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="_meta.YUITableLabels"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Full Name, Phone #, Country"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt; &lt;span class="attr"&gt;op&lt;/span&gt;&lt;span class="kwrd"&gt;="mscrmContact"&lt;/span&gt; &lt;span class="attr"&gt;format&lt;/span&gt;&lt;span class="kwrd"&gt;="YuiTable"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style="width: 100%;"&gt;
&lt;div class="rsbfooter-left"&gt; &lt;/div&gt;
&lt;div class="rsbfooter-right"&gt; &lt;/div&gt;
&lt;div class="rsbfooter-middle"&gt; &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;That’s it.  If you’ve read the previous 8 DIY articles in this series, you know what' is coming next:  Of course, you can customize this template for your own needs.  This particular template just renders a grid using the YUI (Yahoo UI) Table.  You can do your own html rendering by inserting your own html inside the scope of the &amp;lt;rsb:call&amp;gt;.  You can list other CRM entities, like appointments, leads, contracts, etc.  In fact, I can change the previous example to list CRM appointments by only changing one line of code.  Just replace op=”mscrmContact” with op=”mscrmAppointment”!  You can create pie charts of CRM invoices, bar charts of orders, etc, just by changing the operation call (the op= part) and the html formatting of the data that comes back!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/Lance/WindowsLiveWriter/10DIYSharePointWebParts9_C1C4/CRMAppointmentsChart.png"&gt;&lt;img height="327" width="511" border="0" src="http://geekswithblogs.net/images/geekswithblogs_net/Lance/WindowsLiveWriter/10DIYSharePointWebParts9_C1C4/CRMAppointmentsChart_thumb.png" alt="CRMAppointmentsChart" title="CRMAppointmentsChart" style="border: 0px none ; margin: 10px auto; display: block; float: none;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;   &lt;br /&gt;
See all posts in this series:  &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;10 DIY SharePoint Web Parts&lt;/a&gt;.     &lt;br /&gt;
&lt;a href="http://www.rssbus.com/connectors/default.aspx"&gt;Browse RSSBus Connectors&lt;/a&gt;.     &lt;br /&gt;
&lt;a href="http://lancerobinson.net/archive/2009/05/20/basic-rssbus-scripting-cheat-sheet.aspx"&gt;Basic RSSBus Scripting Cheat Sheet&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/SharePoint"&gt;SharePoint&lt;/a&gt;, &lt;a href="http://technorati.com/tags/RSSBus"&gt;RSSBus&lt;/a&gt;, &lt;a href="http://technorati.com/tags/WebPart"&gt;WebPart&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Microsoft Dynamics CRM"&gt;Microsoft Dynamics CRM&lt;/a&gt;, &lt;a href="http://technorati.com/tags/CRM"&gt;CRM&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136163"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136163" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/Lance/aggbug/136163.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lance Robinson</dc:creator>
            <guid>http://geekswithblogs.net/Lance/archive/2009/11/09/10-diy-sharepoint-web-parts-9.aspx</guid>
            <pubDate>Mon, 09 Nov 2009 22:13:51 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/Lance/comments/136163.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/Lance/archive/2009/11/09/10-diy-sharepoint-web-parts-9.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/Lance/comments/commentRss/136163.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/Lance/services/trackbacks/136163.aspx</trackback:ping>
        </item>
        <item>
            <title>10 DIY SharePoint Web Parts #7</title>
            <link>http://geekswithblogs.net/Lance/archive/2009/10/21/10-diy-sharepoint-web-parts-7.aspx</link>
            <description>&lt;p&gt;This post is the seventh in a &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;series of postings&lt;/a&gt;, containing examples of SharePoint WebParts that &lt;em&gt;anybody&lt;/em&gt; can build all by themselves.  To read all posts in this series, or to get started with the RSSBus WebPart, &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;go here&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;#7 – Search Email History&lt;/h3&gt;
&lt;p&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title="EmailSearch" border="0" alt="EmailSearch" width="611" height="335" src="http://geekswithblogs.net/images/geekswithblogs_net/Lance/WindowsLiveWriter/10DIYSharePointWebParts7_A5BA/EmailSearch_3.png" /&gt; &lt;br /&gt;
One of my good friends here recently asked me to give him an easy way to quickly bring up a list of email correspondence to and from a particular email address over the past 6 months.  This way, if he is assisting someone on the telephone or email, he can quickly get up-to-date on what has gone on with this particular person in the recent past.  In theory this is easy to do, but doing it in SharePoint would be difficult  - well…it used to be.  Now you can just copy and paste this template into an RSSBus Web Part and voila.  :)  Customize to your liking.  &lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;u&gt;Step one&lt;/u&gt;&lt;/strong&gt;&lt;/em&gt; is to make sure you have the RSSBus Web Part installed.  &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;See here&lt;/a&gt; for instructions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;u&gt;Step two&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt;, make sure you have the &lt;a href="http://www.rssbus.com/connectors/info.aspx?con=RSSBus.ImapOps.info"&gt;Imap Connector&lt;/a&gt; installed.  If you don’t already know the hostname/ip address of your IMAP mail server (e.g. MS Exchange) and a username/password to authenticate to that server, find that information next.  This is the same information that you would enter into Outlook when configuring it to connect to your mail server.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;u&gt;Step three&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt;, add the RSSBus WebPart to your page, paste the following template into its source editor, and click “Apply”. &lt;/p&gt;
&lt;div style="WIDTH: 70%; MARGIN-LEFT: auto; MARGIN-RIGHT: auto"&gt;
&lt;div class="rsbheader-left"&gt; &lt;/div&gt;
&lt;div class="rsbheader-right"&gt; &lt;/div&gt;
&lt;div class="rsbheader-middle"&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class="rsbbody-left"&gt; &lt;/div&gt;
&lt;div class="rsbbody-right"&gt; &lt;/div&gt;
&lt;div class="rsbbody-middle"&gt;
&lt;div class="rsbscrollarea"&gt;
&lt;pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:info&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;required&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="email"&lt;/span&gt; &lt;span class="attr"&gt;required&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="password"&lt;/span&gt; &lt;span class="attr"&gt;required&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt;  &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="mailbox"&lt;/span&gt; &lt;span class="attr"&gt;required&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt;  &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="months"&lt;/span&gt; &lt;span class="attr"&gt;default&lt;/span&gt;&lt;span class="kwrd"&gt;="-6"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt;  &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="sortcriteria"&lt;/span&gt; &lt;span class="attr"&gt;default&lt;/span&gt;&lt;span class="kwrd"&gt;="REVERSE DATE"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:info&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="rem"&gt;&amp;lt;!-- Find out what the current query is, form variable overrides querystring variable --&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:check&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="_request.form:email"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="query"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="[[_request.form:email]]"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:else&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:check&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="_request.querystring:email"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="query"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="[[_request.querystring:email]]"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:check&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:else&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:check&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="rem"&gt;&amp;lt;!-- regular html form to get an email to search for --&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="email"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text"&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="email"&lt;/span&gt; &lt;span class="attr"&gt;size&lt;/span&gt;&lt;span class="kwrd"&gt;="25"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="[[query | def('')]]"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;=&lt;span class="attr"&gt;submit&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Search"&lt;/span&gt; &lt;span class="attr"&gt;onclick&lt;/span&gt;&lt;span class="kwrd"&gt;="clearDiv('myemailsnippet');"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
 
&lt;span class="rem"&gt;&amp;lt;!-- if an email is specified in the page request, execute this section --&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:check&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="_request.email"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:import&lt;/span&gt; &lt;span class="attr"&gt;lib&lt;/span&gt;&lt;span class="kwrd"&gt;="RSSBus.ImapOps"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="myemails"&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="height:15em;overflow:auto"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

    &lt;span class="rem"&gt;&amp;lt;!-- set the search criteria to get emails to and from email address over the past x months --&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="sentsince"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="[[sentsince | date() | dateadd('Month', '[[months]]') | todate('dd-MMM-yyyy') ]]"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="rem"&gt;&amp;lt;!-- this search criteria format is the standard defined in the IMAPv4 RFC --&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="searchcriteria"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="SENTSINCE [[sentsince]] OR FROM [[query]] TO [[query]]"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;

    &lt;span class="rem"&gt;&amp;lt;!-- search for matching emails --&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="uidmode"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="TRUE"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt; &lt;span class="attr"&gt;op&lt;/span&gt;&lt;span class="kwrd"&gt;="imapSearch"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:first&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="overflow:auto"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;table&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="100%"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
              &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;th&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="background-color:LightGrey; white-space:nowrap"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;From&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;th&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;                              
              &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;th&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="background-color:LightGrey; white-space:nowrap"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Subject&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;th&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;                        
              &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;th&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="background-color:LightGrey; white-space:nowrap"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Date&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;th&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;                            
              &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;th&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="background-color:LightGrey; white-space:nowrap"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Size&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;th&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;                                
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;        
      &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:first&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
      
      &lt;span class="rem"&gt;&amp;lt;!-- usually, the first part of an email will be plain text --&amp;gt;&lt;/span&gt;      
      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="part.id"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="1"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;

      &lt;span class="rem"&gt;&amp;lt;!-- for multi-part emails, find the best (text/html) part for display --&amp;gt;&lt;/span&gt;
      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:notnull&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="part:contenttype"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:enum&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="part:contenttype"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="contenttype"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="part:contenttype#[_index]"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:equals&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="contenttype"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="text/html"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="part.id"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="[_index]"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:equals&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:enum&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:notnull&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
      
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
             &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="white-space:nowrap"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;[[imap:fromname]]&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
             &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="white-space:nowrap"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
               &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="?msgnumber=[[imap:id]]&amp;amp;partid=[[part.id]]&amp;amp;email=[[query]]"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;[[imap:subject | truncate('55')]]&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
             &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
             &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="white-space:nowrap"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;[[imap:date]]&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;  
             &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="white-space:nowrap"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;[[imap:size]]&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
           &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    
      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:last&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
         &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;table&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
       &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;  
      &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:last&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

  &lt;span class="rem"&gt;&amp;lt;!-- if a specific message number has been clicked on, display its text/html or 1st part --&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:check&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="_request.msgnumber"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="myemailsnippet"&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="height:30em;overflow:auto"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt; &lt;span class="attr"&gt;op&lt;/span&gt;&lt;span class="kwrd"&gt;="imapGetPart?id=[[_request.msgnumber]]&amp;amp;partid=[[_request.partid]]"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="headers"&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="height:50px"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;table&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="100%"&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="background-color:LightGrey"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
              &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="75px"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;From:&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
              &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="mailto:[[imap:fromemail | htmlencode]]"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;[[imap:fromname]]&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="75px"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Date:&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;[[imap:date]]&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="75px"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Subject:&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;[[imap:subject]]&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;   
          &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;table&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="body"&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="overflow:auto"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
          [[imap:content | Replace('0A','&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;br&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;','true')]]
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:check&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:check&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;function&lt;/span&gt; clearDiv(div) {
    &lt;span class="kwrd"&gt;var&lt;/span&gt; mydiv = document.getElementById(div); 
    mydiv.innerHTML = &lt;span class="str"&gt;""&lt;/span&gt;;
}
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style="WIDTH: 100%"&gt;
&lt;div class="rsbfooter-left"&gt; &lt;/div&gt;
&lt;div class="rsbfooter-right"&gt; &lt;/div&gt;
&lt;div class="rsbfooter-middle"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;u&gt;Step four&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt; is to specify your IMAP server and authentication credentials.  If you’ve clicked “Apply” in the source editor of the web part, you should now see a new property appear in the properties editor of the web part in your browser.  Under “Web Part Inputs”, you’ll see “server”, “email”, “password”, “mailbox” inputs.  These inputs will need to be populated with the values corresponding to your IMAP server, mailbox name (e.g. “Inbox”), and account credentials.  Optionally you can change the “months” and “sortcriteria” inputs to alter the output generated.  By default, this web part will display messages to/from a specified email address in the past 6 months (the “months” input property) and then sort them by reverse-date (most recent first – the “sortcriteria” input).&lt;/p&gt;
&lt;p&gt;After you have set these inputs appropriately, click “Apply” in the properties window and the page will reload.  Enter an email address in the search box and click “Search”.  The emails sent to or from that email address will be displayed inside the web part!  Click on any one of those messages to load a plain text or html view of that email.&lt;/p&gt;
&lt;p&gt;As always, you can customize the html in the template if you want, or leave it as is. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;u&gt;Advanced Tip&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt; – Note that the “sortcriteria” input expects a sort order formatted according to the IMAP Sort RFC (RFC 5256).  Other common sort criteria:  ARRIVAL, DATE, CC, FROM, SUBJECT, TO, SIZE.  Any of those criteria can be preceeded with REVERSE as I’ve shown in my example.  Similarly, the searchcriteria specified inside the template itself can also be modified in the format specified in the IMAPv4 RFC (Section 6.4.4 in RFC 3501).&lt;/p&gt;
&lt;p&gt;See all posts in this series:  &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;10 DIY SharePoint Web Parts&lt;/a&gt;. &lt;br /&gt;
&lt;a href="http://www.rssbus.com/connectors/default.aspx"&gt;Browse RSSBus Connectors&lt;/a&gt;. &lt;br /&gt;
&lt;a href="http://lancerobinson.net/archive/2009/05/20/basic-rssbus-scripting-cheat-sheet.aspx"&gt;Basic RSSBus Scripting Cheat Sheet&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/SharePoint"&gt;SharePoint&lt;/a&gt;, &lt;a href="http://technorati.com/tags/RSSBus"&gt;RSSBus&lt;/a&gt;, &lt;a href="http://technorati.com/tags/WebPart"&gt;WebPart&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Exchange"&gt;Exchange&lt;/a&gt;, &lt;a href="http://technorati.com/tags/IMAP"&gt;IMAP&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Email"&gt;Email&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=135637"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=135637" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/Lance/aggbug/135637.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lance Robinson</dc:creator>
            <guid>http://geekswithblogs.net/Lance/archive/2009/10/21/10-diy-sharepoint-web-parts-7.aspx</guid>
            <pubDate>Wed, 21 Oct 2009 17:07:09 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/Lance/comments/135637.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/Lance/archive/2009/10/21/10-diy-sharepoint-web-parts-7.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/Lance/comments/commentRss/135637.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/Lance/services/trackbacks/135637.aspx</trackback:ping>
        </item>
        <item>
            <title>10 DIY SharePoint Web Parts #4</title>
            <link>http://geekswithblogs.net/Lance/archive/2009/07/30/10-diy-sharepoint-web-parts-4.aspx</link>
            <description>&lt;p&gt;This post is the fourth in a &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;series of postings&lt;/a&gt;, containing examples of SharePoint WebParts that &lt;em&gt;anybody&lt;/em&gt; can build all by themselves.  To read all posts in this series, or to get started with the RSSBus WebPart, &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;go here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/Lance/WindowsLiveWriter/10DIYSharePointWebParts4_CB9F/ldapgroups_2.png" rel="lightbox"&gt;&lt;img height="132" border="0" width="207" style="border: 0px none ; margin: 0px auto 10px; display: block; float: none;" title="ldapgroups" alt="ldapgroups" src="http://geekswithblogs.net/images/geekswithblogs_net/Lance/WindowsLiveWriter/10DIYSharePointWebParts4_CB9F/ldapgroups_thumb.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;#4 – List Active Directory Groups and Users&lt;/h1&gt;
&lt;p&gt;This web part will list each user group and its members, as defined in your Active Directory (or other LDAP server) installation.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;u&gt;Step one&lt;/u&gt;&lt;/strong&gt;&lt;/em&gt; is to make sure you have the RSSBus Web Part installed.  &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;See here&lt;/a&gt; for instructions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;u&gt;Step two&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt;, make sure you have the &lt;a href="http://www.rssbus.com/connectors/info.aspx?con=RSSBus.LdapOps.info" target="_blank"&gt;Ldap Connector installed&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;u&gt;Step two&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt;, add the RSSBus WebPart to your page and paste the following template into its source editor, but do not click “Apply” yet.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;u&gt;&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div style="width: 70%; margin-left: auto; margin-right: auto;"&gt;
&lt;div class="rsbheader-left"&gt; &lt;/div&gt;
&lt;div class="rsbheader-right"&gt; &lt;/div&gt;
&lt;div class="rsbheader-middle"&gt; &lt;/div&gt;
&lt;div&gt;
&lt;div class="rsbbody-left"&gt; &lt;/div&gt;
&lt;div class="rsbbody-right"&gt; &lt;/div&gt;
&lt;div class="rsbbody-middle"&gt;
&lt;div class="rsbscrollarea"&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:import&lt;/span&gt; &lt;span class="attr"&gt;lib&lt;/span&gt;&lt;span class="kwrd"&gt;="RSSBus.LdapOps"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:info&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="showemptygroups"&lt;/span&gt; &lt;span class="attr"&gt;values&lt;/span&gt;&lt;span class="kwrd"&gt;="false,true"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:info&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="rem"&gt;&amp;lt;!-- general ldap connection properties --&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="testman"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="authdn"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="NS2\\Lance"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="password"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="*****"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;&amp;lt;!-- group search settings --&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="dn"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="dc=NS2"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="filter"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="objectClass=group"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="scope"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="WHOLESUBTREE"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;&amp;lt;!-- group search --&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt; &lt;span class="attr"&gt;op&lt;/span&gt;&lt;span class="kwrd"&gt;="ldapSearch"&lt;/span&gt; &lt;span class="attr"&gt;save&lt;/span&gt;&lt;span class="kwrd"&gt;="groups"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt; &lt;span class="attr"&gt;op&lt;/span&gt;&lt;span class="kwrd"&gt;="feedGet?feed=[[_feeds.groups | urlencode]]"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="showgroup"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:equals&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="showemptygroups"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="false"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;  &lt;span class="kwrd"&gt;  &amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="showgroup"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="[[ldap:member# | def('0') | equals('0', 'false', 'true')]]"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:equals&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:equals&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="showgroup"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="javascript:;"&lt;/span&gt; &lt;span class="attr"&gt;onmousedown&lt;/span&gt;&lt;span class="kwrd"&gt;="toggleDiv('[[ldap:name]]-content');"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;[[ldap:name]]&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; ([[ldap:member# | def('0')]])&lt;br /&gt;  &lt;span class="kwrd"&gt; &amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="[[ldap:name]]-content"&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="display:none"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span class="kwrd"&gt;  &amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="dn"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="[[ldap:dn]]"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="scope"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="BASEOBJECT"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt; &lt;span class="attr"&gt;op&lt;/span&gt;&lt;span class="kwrd"&gt;="ldapSearch"&lt;/span&gt; &lt;span class="attr"&gt;output&lt;/span&gt;&lt;span class="kwrd"&gt;="out"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;       &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;table&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="100%"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;         &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="background-color:LightGrey"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;samAccountName:&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;[[ldap:samaccountname]]&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;         &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="background-color:LightGrey"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Full Group DN:&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;[[ldap:dn]]&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;         &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;       &lt;span class="kwrd"&gt;&lt;br /&gt;         &amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:enum&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="ldap:member"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;           &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt; &lt;span class="attr"&gt;colspan&lt;/span&gt;&lt;span class="kwrd"&gt;="2"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;[[_value]]&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:enum&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;       &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;table&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;   &lt;span class="kwrd"&gt;  &amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;   &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;hr&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:equals&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;span class="kwrd"&gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;span class="kwrd"&gt;function&lt;/span&gt; toggleDiv(div) {&lt;br /&gt;  &lt;span class="kwrd"&gt;var&lt;/span&gt; mydiv=document.getElementById(div);&lt;br /&gt;  &lt;span class="kwrd"&gt;if&lt;/span&gt;(mydiv.style.display == &lt;span class="str"&gt;'none'&lt;/span&gt;) { &lt;br /&gt;    mydiv.style.display = &lt;span class="str"&gt;'block'&lt;/span&gt;; &lt;br /&gt;  }&lt;br /&gt;  &lt;span class="kwrd"&gt;else&lt;/span&gt; { &lt;br /&gt;    mydiv.style.display = &lt;span class="str"&gt;'none'&lt;/span&gt;;&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style="width: 100%;"&gt;
&lt;div class="rsbfooter-left"&gt; &lt;/div&gt;
&lt;div class="rsbfooter-right"&gt; &lt;/div&gt;
&lt;div class="rsbfooter-middle"&gt; &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;u&gt;Step three&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt;, we need to modify this template so that it works for &lt;strong&gt;your&lt;/strong&gt; Active Directory server, and not mine!  There are several things you’ll need to change:&lt;/p&gt;
&lt;p&gt;1.  On line 8-10, change the values of the server, authentication dn, and authentication password settings to match your AD installation.  See the advanced tip at the bottom of this post to automatically use the logged in user as the authentication dn.    &lt;br /&gt;
2.  On line 13, you’ll want to modify the value of the dn setting to match your domain. &lt;/p&gt;
&lt;p&gt;As always, you can customize the html in the template if you want, or leave it as is. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;u&gt;Step four&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt;, click “Apply”, and when the page reloads you’ll be presented with a list of the groups on your Active Directory domain.  Click on a group to expand it into its list of user members.&lt;/p&gt;
&lt;p&gt;And now - an &lt;span style="font-style: italic; font-weight: bold; text-decoration: underline;"&gt;Advanced Tip&lt;/span&gt;!  Use RSSBus’ special _spuser item in order to get information specific to the currently authenticated SharePoint user.  This comes in handy for things like listing documents that were modified by a specific user, authenticating to an Exchange server, and in this example for authenticating to AD.  You can set the DN to “[[_spuser.LoginName]]”, and prompt the user to enter their own password.&lt;/p&gt;
&lt;p&gt;See all posts in this series:  &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;10 DIY SharePoint Web Parts&lt;/a&gt;.     &lt;br /&gt;
&lt;a href="http://www.rssbus.com/connectors/default.aspx"&gt;Browse RSSBus Connectors&lt;/a&gt;.     &lt;br /&gt;
&lt;a title="http://lancerobinson.net/archive/2009/05/20/basic-rssbus-scripting-cheat-sheet.aspx" href="http://lancerobinson.net/archive/2009/05/20/basic-rssbus-scripting-cheat-sheet.aspx"&gt;Basic RSSBus Scripting Cheat Sheet&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div style="margin: 0px; padding: 0px; display: inline; float: none;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9b57388a-654a-4d26-976b-003fbc578c92" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/SharePoint" rel="tag"&gt;SharePoint&lt;/a&gt;, &lt;a href="http://technorati.com/tags/RSSBus" rel="tag"&gt;RSSBus&lt;/a&gt;, &lt;a href="http://technorati.com/tags/WebPart" rel="tag"&gt;WebPart&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133818"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133818" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/Lance/aggbug/133818.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lance Robinson</dc:creator>
            <guid>http://geekswithblogs.net/Lance/archive/2009/07/30/10-diy-sharepoint-web-parts-4.aspx</guid>
            <pubDate>Thu, 30 Jul 2009 18:57:35 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/Lance/comments/133818.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/Lance/archive/2009/07/30/10-diy-sharepoint-web-parts-4.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/Lance/comments/commentRss/133818.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/Lance/services/trackbacks/133818.aspx</trackback:ping>
        </item>
        <item>
            <title>Screencast:  RSSBus SharePoint Web Part Intro</title>
            <link>http://geekswithblogs.net/Lance/archive/2009/07/29/screencast--rssbus-sharepoint-web-part-intro.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://www.textbox1.com/examples/rssbuswebpart/templatedemo/"&gt;Here is a screencast&lt;/a&gt; showing the absolute basics of how to use the RSSBus SharePoint Web Part.  The screencast does not go over installation, but all that requires is that you &lt;a href="http://www.rssbus.com/download/default.aspx"&gt;download and run the setup&lt;/a&gt; on your SharePoint machine.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.textbox1.com/examples/rssbuswebpart/templatedemo/" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px auto 10px; display: block; float: none; border-top: 0px; border-right: 0px" title="webpartscreencast" border="0" alt="webpartscreencast" src="http://geekswithblogs.net/images/geekswithblogs_net/Lance/WindowsLiveWriter/ScreencastRSSBusSharePointWebPartIntro_CBD4/webpartscreencast_3.png" width="440" height="368" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:39dea45f-162f-4596-a914-4537d52fbeb8" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/SharePoint" rel="tag"&gt;SharePoint&lt;/a&gt;, &lt;a href="http://technorati.com/tags/RSSBus" rel="tag"&gt;RSSBus&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133786"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133786" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/Lance/aggbug/133786.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lance Robinson</dc:creator>
            <guid>http://geekswithblogs.net/Lance/archive/2009/07/29/screencast--rssbus-sharepoint-web-part-intro.aspx</guid>
            <pubDate>Wed, 29 Jul 2009 18:36:25 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/Lance/comments/133786.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/Lance/archive/2009/07/29/screencast--rssbus-sharepoint-web-part-intro.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/Lance/comments/commentRss/133786.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/Lance/services/trackbacks/133786.aspx</trackback:ping>
        </item>
        <item>
            <title>10 DIY SharePoint Web Parts #3</title>
            <link>http://geekswithblogs.net/Lance/archive/2009/07/14/10-diy-sharepoint-web-parts-3.aspx</link>
            <description>&lt;p&gt;&lt;img style="MARGIN: 0px auto 10px; DISPLAY: block; FLOAT: none" title="recentdownloads" border="0" alt="recentdownloads" width="682" height="93" src="http://geekswithblogs.net/images/geekswithblogs_net/Lance/WindowsLiveWriter/10DIYSharePointWebParts3_E7A9/recentdownloads_3.gif" /&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;This post is the third in a &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;series of postings&lt;/a&gt;, containing examples of SharePoint WebParts that &lt;em&gt;anybody&lt;/em&gt; can build all by themselves.  To read all posts in this series, or to get started with the RSSBus WebPart, &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;go here&lt;/a&gt;.&lt;/p&gt;
&lt;h1&gt;#3 – Custom SQL Queries&lt;/h1&gt;
&lt;p&gt;This web part will perform a custom SQL query, and allow you to display them however you like.  Unlike previous examples, this one won’t be just cut and paste, since you’ll have to provide your own SQL connection string and query, and make replacements inside the template itself to make it match the results of your query.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;u&gt;Step one&lt;/u&gt;&lt;/strong&gt;&lt;/em&gt; is to make sure you have the RSSBus Web Part installed.  &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;See here&lt;/a&gt; for instructions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;u&gt;Step two&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt;, make sure you have a valid SQL connection string and query.  If you’re using some other type of database, thats fine too – there are many different database connectors in the &lt;a href="http://www.rssbus.com/connectors/default.aspx"&gt;RSSBus Connector library&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;u&gt;Step three&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt;, add the RSSBus WebPart to your page and paste the following template into its source editor, but do not click “Apply” yet.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;u&gt;&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div class="rsbtemplateeditor"&gt;
  &lt;div class="rsbheader-left"&gt; &lt;/div&gt;
  &lt;div class="rsbheader-right"&gt; &lt;/div&gt;
  &lt;div class="rsbheader-middle"&gt;&lt;/div&gt;
  &lt;div&gt;
    &lt;div class="rsbbody-left"&gt; &lt;/div&gt;
    &lt;div class="rsbbody-right"&gt; &lt;/div&gt;
    &lt;div class="rsbbody-middle"&gt;
      &lt;div class="rsbscrollarea"&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:info&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="conn"&lt;/span&gt; &lt;span class="attr"&gt;default&lt;/span&gt;&lt;span class="kwrd"&gt;="server=***;database=***;User ID=***;Password=***"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="query"&lt;/span&gt; &lt;span class="attr"&gt;default&lt;/span&gt;&lt;span class="kwrd"&gt;="SELECT TOP 20 * YourTable ORDER BY YourDateColumn"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:info&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:import&lt;/span&gt; &lt;span class="attr"&gt;lib&lt;/span&gt;&lt;span class="kwrd"&gt;="RSSBus.SqlOps"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;table&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="100%"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;th&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="background-color:LightGrey; white-space:nowrap"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Name&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;th&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;th&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="background-color:LightGrey; white-space:nowrap"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Company&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;th&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;th&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="background-color:LightGrey; white-space:nowrap"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Product&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;th&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;th&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="background-color:LightGrey; white-space:nowrap"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Date/Time&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;th&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt; &lt;span class="attr"&gt;op&lt;/span&gt;&lt;span class="kwrd"&gt;="sqlQuery"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="mailto:[[sql:customeremail]]"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;[[sql:customername]]&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;[[sql:company]]&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;[[sql:productcode]]&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;[[sql:time]]&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;table&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div style="WIDTH: 100%"&gt;
    &lt;div class="rsbfooter-left"&gt; &lt;/div&gt;
    &lt;div class="rsbfooter-right"&gt; &lt;/div&gt;
    &lt;div class="rsbfooter-middle"&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;u&gt;Step four&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt;, we need to modify this template so that it works for &lt;strong&gt;your&lt;/strong&gt; SQL server, and not mine!  There are four things you’ll need to change:&lt;/p&gt;
&lt;p&gt;1.  On line 2 and 3, conn and query.  This is where you will provide the connection string and query for your SQL query. &lt;br /&gt;
2.  On lines 10–13, you’ll want to modify the column header names to match the values coming back from your query.  You can add others if you want as well. &lt;br /&gt;
3.  On lines 18-21, change the outputs to match the outputs coming out of your query – these will match the column names.  In my example I am outputting the name, company, part, and time column values for each query result.&lt;/p&gt;
&lt;p&gt;As always, you can customize the html in the template if you want, or leave it as is. &lt;/p&gt;
&lt;p&gt;And now - an &lt;span style="FONT-STYLE: italic; FONT-WEIGHT: bold; TEXT-DECORATION: underline"&gt;Advanced Tip&lt;/span&gt;!  Did you know that the RSSBus Web Part has YUI formatting capabilities built-in?  Yep.  Try the example below to format the output of the rsb:call as a YUI Table (again, modify the YUI script to match your own connection string, query, and column names). &lt;/p&gt;
&lt;div class="rsbtemplateeditor"&gt;
  &lt;div class="rsbheader-left"&gt; &lt;/div&gt;
  &lt;div class="rsbheader-right"&gt; &lt;/div&gt;
  &lt;div class="rsbheader-middle"&gt;&lt;/div&gt;
  &lt;div&gt;
    &lt;div class="rsbbody-left"&gt; &lt;/div&gt;
    &lt;div class="rsbbody-right"&gt; &lt;/div&gt;
    &lt;div class="rsbbody-middle"&gt;
      &lt;div class="rsbscrollarea"&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:info&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="conn"&lt;/span&gt; &lt;span class="attr"&gt;default&lt;/span&gt;&lt;span class="kwrd"&gt;="server=***;database=***;User ID=***;Password=***"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;br /&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="query"&lt;/span&gt; &lt;span class="attr"&gt;default&lt;/span&gt;&lt;span class="kwrd"&gt;="SELECT TOP 20 * FROM YourTable ORDER BY YourDateColumn DESC"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:info&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:import&lt;/span&gt; &lt;span class="attr"&gt;lib&lt;/span&gt;&lt;span class="kwrd"&gt;="RSSBus.SqlOps"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;='_meta.YUIDataColDefs'&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;='DataDefsDown'&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;span class="kwrd"&gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;='_meta.YUIDataFields'&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;='DataFieldsDown'&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt; &lt;span class="attr"&gt;op&lt;/span&gt;&lt;span class="kwrd"&gt;="sqlQuery"&lt;/span&gt; &lt;span class="attr"&gt;format&lt;/span&gt;=&lt;span class="attr"&gt;ToYuiTable&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;  &lt;span class="kwrd"&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;span class="kwrd"&gt;var&lt;/span&gt; DataDefsDown = [&lt;br /&gt;  {key:&lt;span class="str"&gt;"sql:customername"&lt;/span&gt;,label:&lt;span class="str"&gt;"Name"&lt;/span&gt;,sortable:&lt;span class="kwrd"&gt;false&lt;/span&gt;,resizeable:&lt;span class="kwrd"&gt;true&lt;/span&gt;},&lt;br /&gt;  {key:&lt;span class="str"&gt;"sql:productcode"&lt;/span&gt;,label:&lt;span class="str"&gt;"Part#"&lt;/span&gt;,sortable:&lt;span class="kwrd"&gt;false&lt;/span&gt;,resizeable:&lt;span class="kwrd"&gt;true&lt;/span&gt;},&lt;br /&gt;  {key:&lt;span class="str"&gt;"sql:time"&lt;/span&gt;,label:&lt;span class="str"&gt;"Date"&lt;/span&gt;,sortable:&lt;span class="kwrd"&gt;false&lt;/span&gt;,resizeable:&lt;span class="kwrd"&gt;true&lt;/span&gt;},&lt;br /&gt;  {key:&lt;span class="str"&gt;"sql:company"&lt;/span&gt;,label:&lt;span class="str"&gt;"Company"&lt;/span&gt;,sortable:&lt;span class="kwrd"&gt;false&lt;/span&gt;,resizeable:&lt;span class="kwrd"&gt;true&lt;/span&gt;},&lt;br /&gt;  {key:&lt;span class="str"&gt;"sql:title"&lt;/span&gt;,label:&lt;span class="str"&gt;"JobTitle"&lt;/span&gt;,sortable:&lt;span class="kwrd"&gt;false&lt;/span&gt;,resizeable:&lt;span class="kwrd"&gt;true&lt;/span&gt;}&lt;br /&gt;];&lt;br /&gt; &lt;br /&gt;&lt;span class="kwrd"&gt;var&lt;/span&gt; DataFieldsDown = [&lt;br /&gt;  {key:&lt;span class="str"&gt;"sql:customername"&lt;/span&gt;},&lt;br /&gt;  {key:&lt;span class="str"&gt;"sql:productcode"&lt;/span&gt;},&lt;br /&gt;  {key:&lt;span class="str"&gt;"sql:time"&lt;/span&gt;},&lt;br /&gt;  {key:&lt;span class="str"&gt;"sql:company"&lt;/span&gt;},&lt;br /&gt;  {key:&lt;span class="str"&gt;"sql:title"&lt;/span&gt;}&lt;br /&gt;];&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div style="WIDTH: 100%"&gt;
    &lt;div class="rsbfooter-left"&gt; &lt;/div&gt;
    &lt;div class="rsbfooter-right"&gt; &lt;/div&gt;
    &lt;div class="rsbfooter-middle"&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;See all posts in this series:  &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;10 DIY SharePoint Web Parts&lt;/a&gt;. &lt;br /&gt;
&lt;a href="http://www.rssbus.com/connectors/default.aspx"&gt;Browse RSSBus Connectors&lt;/a&gt;. &lt;br /&gt;
&lt;a title="http://lancerobinson.net/archive/2009/05/20/basic-rssbus-scripting-cheat-sheet.aspx" href="http://lancerobinson.net/archive/2009/05/20/basic-rssbus-scripting-cheat-sheet.aspx"&gt;Basic RSSBus Scripting Cheat Sheet&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9b57388a-654a-4d26-976b-003fbc578c92" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tags/SharePoint"&gt;SharePoint&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/RSSBus"&gt;RSSBus&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/WebPart"&gt;WebPart&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133492"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133492" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/Lance/aggbug/133492.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lance Robinson</dc:creator>
            <guid>http://geekswithblogs.net/Lance/archive/2009/07/14/10-diy-sharepoint-web-parts-3.aspx</guid>
            <pubDate>Tue, 14 Jul 2009 21:30:08 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/Lance/comments/133492.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/Lance/archive/2009/07/14/10-diy-sharepoint-web-parts-3.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/Lance/comments/commentRss/133492.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/Lance/services/trackbacks/133492.aspx</trackback:ping>
        </item>
        <item>
            <title>10 DIY SharePoint Web Parts #2</title>
            <link>http://geekswithblogs.net/Lance/archive/2009/07/07/10-diy-sharepoint-web-parts-2.aspx</link>
            <description>&lt;p&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 10px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="RecentDocumentsImg" border="0" alt="RecentDocumentsImg" align="left" width="244" height="196" src="http://geekswithblogs.net/images/geekswithblogs_net/Lance/WindowsLiveWriter/10DIYSharePointWebParts2_AB65/RecentDocumentsImg_3.gif" /&gt; This post is the second in a &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;series of postings&lt;/a&gt;, containing examples of SharePoint WebParts that &lt;em&gt;anybody&lt;/em&gt; can build all by themselves.  To read all posts in this series, or to get started with the RSSBus WebPart, &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;go here&lt;/a&gt;.&lt;/p&gt;
&lt;h1&gt;#2 – List Document Libraries and Documents&lt;/h1&gt;
&lt;p&gt;For this example, we’ll make a web part that displays a list of the most recently modified document libraries/documents on the site.  Lots of SharePoint sites contain many libraries, each containing dozens or even hundreds of documents.  Often times it is difficult to view a quick list of the most recently modified documents in these libraries, or even just to view a quick list of all the libraries period.  This template makes it easy to do both of these things.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;u&gt;Step one&lt;/u&gt;&lt;/strong&gt;&lt;/em&gt; is to make sure you have the RSSBus Web Part installed.  &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;See here&lt;/a&gt; for instructions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;u&gt;Step two&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt;, just make sure you have some document libraries with some documents in them.  This step should be pretty easy, if not you’re doing something very very wrong.  :)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;u&gt;Finally, step three&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt;, add the RSSBus WebPart to your page and paste the following template into its source editor.  Click "Apply" in the template editor and the template will go into effect, giving you a list of recently modified libraries and documents.&lt;br /&gt;
&lt;/p&gt;
&lt;div class="rsbtemplateeditor"&gt;
  &lt;div class="rsbheader-left"&gt; &lt;/div&gt;
  &lt;div class="rsbheader-right"&gt; &lt;/div&gt;
  &lt;div class="rsbheader-middle"&gt;&lt;/div&gt;
  &lt;div&gt;
    &lt;div class="rsbbody-left"&gt; &lt;/div&gt;
    &lt;div class="rsbbody-right"&gt; &lt;/div&gt;
    &lt;div class="rsbbody-middle"&gt;
      &lt;div class="rsbscrollarea"&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:info&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="maxlibraries"&lt;/span&gt; &lt;span class="attr"&gt;default&lt;/span&gt;&lt;span class="kwrd"&gt;="5"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="maxdocuments"&lt;/span&gt; &lt;span class="attr"&gt;default&lt;/span&gt;&lt;span class="kwrd"&gt;="5"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:info&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt; &lt;span class="attr"&gt;op&lt;/span&gt;&lt;span class="kwrd"&gt;="spListLists?listtype=DocumentLibrary"&lt;/span&gt; &lt;span class="attr"&gt;save&lt;/span&gt;&lt;span class="kwrd"&gt;="lists"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;span class="kwrd"&gt;&lt;br /&gt;  &amp;lt;&lt;/span&gt;&lt;span class="html"&gt;table&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="100%"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;span class="kwrd"&gt;&lt;br /&gt;  &amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt; &lt;span class="attr"&gt;op&lt;/span&gt;&lt;span class="kwrd"&gt;="feedSort?type=date&amp;amp;sort=-sp:item_modified&amp;amp;feed=[[_feeds.lists | urlencode]]"&lt;/span&gt; &lt;span class="attr"&gt;pagesize&lt;/span&gt;&lt;span class="kwrd"&gt;="[[maxlibraries]]"&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;   &lt;span class="kwrd"&gt; &amp;lt;&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;th&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="background-color:LightGrey; white-space:nowrap"&lt;/span&gt; &lt;span class="attr"&gt;colspan&lt;/span&gt;&lt;span class="kwrd"&gt;="2"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;      &lt;span class="kwrd"&gt;  &amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="[[sp:url]]"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;[[rss:title]]&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;      &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;th&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt; &lt;span class="attr"&gt;op&lt;/span&gt;&lt;span class="kwrd"&gt;="spListDocuments?library=[[rss:title]]"&lt;/span&gt; &lt;span class="attr"&gt;save&lt;/span&gt;&lt;span class="kwrd"&gt;="mydocs"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;br /&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt; &lt;span class="attr"&gt;op&lt;/span&gt;&lt;span class="kwrd"&gt;="feedSort?type=date&amp;amp;sort=-sp:modified&amp;amp;feed=[[_feeds.mydocs | urlencode]]"&lt;/span&gt; &lt;span class="attr"&gt;pagesize&lt;/span&gt;&lt;span class="kwrd"&gt;="[[maxdocuments]]"&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="[[sp:url]]"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;[[rss:title]]&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="today"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="[[sp:modified | todate('MM/dd/yy')]]"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:equals&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="today"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="[[null | date('MM/dd/yy')]]"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;          [[sp:modified | todate('hh:mm:ss')]] &lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:else&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;          [[sp:modified | todate('MM/dd/yy')]] &lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:else&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:equals&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;      &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;span class="kwrd"&gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;table&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div style="WIDTH: 100%"&gt;
    &lt;div class="rsbfooter-left"&gt; &lt;/div&gt;
    &lt;div class="rsbfooter-right"&gt; &lt;/div&gt;
    &lt;div class="rsbfooter-middle"&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;This template lists all of your document libraries and sorts them by their last modified dates.  Then for each of those libraries, it lists the documents within and sorts those by their last modified dates.  The result is a view of the most recently modified documents on the site.  &lt;/p&gt;
&lt;p&gt;After you paste this template into the source editor, click Apply!  You can customize the html in the template if you want, or leave it as is.  At this point you can change maximum number of libraries and documents that will be listed in the view by setting those properties in the property tab of the designer.&lt;/p&gt;
&lt;p&gt;See all posts in this series:  &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;10 DIY SharePoint Web Parts&lt;/a&gt;. &lt;br /&gt;
&lt;a href="http://www.rssbus.com/connectors/default.aspx"&gt;Browse RSSBus Connectors&lt;/a&gt;. &lt;br /&gt;
&lt;a title="http://lancerobinson.net/archive/2009/05/20/basic-rssbus-scripting-cheat-sheet.aspx" href="http://lancerobinson.net/archive/2009/05/20/basic-rssbus-scripting-cheat-sheet.aspx"&gt;Basic RSSBus Scripting Cheat Sheet&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9b57388a-654a-4d26-976b-003fbc578c92" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tags/SharePoint"&gt;SharePoint&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/RSSBus"&gt;RSSBus&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/WebPart"&gt;WebPart&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133310"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133310" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/Lance/aggbug/133310.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lance Robinson</dc:creator>
            <guid>http://geekswithblogs.net/Lance/archive/2009/07/07/10-diy-sharepoint-web-parts-2.aspx</guid>
            <pubDate>Tue, 07 Jul 2009 15:22:04 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/Lance/comments/133310.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/Lance/archive/2009/07/07/10-diy-sharepoint-web-parts-2.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/Lance/comments/commentRss/133310.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/Lance/services/trackbacks/133310.aspx</trackback:ping>
        </item>
        <item>
            <title>Free Web Part (limited time!)</title>
            <link>http://geekswithblogs.net/Lance/archive/2009/06/30/free-web-part-limited-time.aspx</link>
            <description>&lt;p&gt;RSSBus (&lt;a href="http://twitter.com/rssbus"&gt;@rssbus&lt;/a&gt;) is promoting a "limited time offer - one per company" free 10-user site license for the RSSBus SharePoint Web Part.  I don't know how long it will be available, &lt;a href="http://www.rssbus.com/order/options.aspx?sku=RWP2-A"&gt;but here is the link&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The timing of this offer is quite nice for me since I have started the blog post series &lt;a href="http://lancerobinson.net/archive/2009/06/29/10-diy-sharepoint-web-parts.aspx"&gt;"10 DIY SharePoint Web Parts"&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Tags: &lt;a href="http://technorati.com/tags/SharePoint"&gt;SharePoint&lt;/a&gt;, &lt;a href="http://technorati.com/tags/RSSBus"&gt;RSSBus&lt;/a&gt;, &lt;a href="http://technorati.com/tags/WebPart"&gt;WebPart&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133159"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133159" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/Lance/aggbug/133159.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lance Robinson</dc:creator>
            <guid>http://geekswithblogs.net/Lance/archive/2009/06/30/free-web-part-limited-time.aspx</guid>
            <pubDate>Tue, 30 Jun 2009 17:26:55 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/Lance/comments/133159.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/Lance/archive/2009/06/30/free-web-part-limited-time.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/Lance/comments/commentRss/133159.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/Lance/services/trackbacks/133159.aspx</trackback:ping>
        </item>
        <item>
            <title>10 DIY SharePoint Web Parts #1</title>
            <link>http://geekswithblogs.net/Lance/archive/2009/06/30/10-diy-sharepoint-web-parts-1.aspx</link>
            <description>&lt;p&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; MARGIN: 10px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="picturerotator" border="0" alt="picturerotator" align="left" width="99" height="150" src="http://geekswithblogs.net/images/geekswithblogs_net/Lance/WindowsLiveWriter/10SharePointWebPartsYouCanBuildYourself_A0DD/picturerotator_3.jpg" /&gt;This post marks the beginning of a &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;series of postings&lt;/a&gt;, containing examples of SharePoint WebParts that &lt;em&gt;anybody&lt;/em&gt; can build all by themselves.  After that intro you’re probably already wondering what the catch is, and yep, there &lt;em&gt;is&lt;/em&gt; one.  These examples will require the use of the highly acclaimed &lt;a href="http://www.rssbus.com/products/sharepoint/"&gt;RSSBus SharePoint WebPart&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;To read all posts in this series, or to get started with the RSSBus WebPart, &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;go here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt; And now…let’s get on with it!&lt;/p&gt;
&lt;h1&gt;#1 – SharePoint Image Rotator&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;u&gt;Step one&lt;/u&gt;&lt;/strong&gt;&lt;/em&gt; is to make sure you have the RSSBus Web Part installed.  &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;See here&lt;/a&gt; for instructions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;u&gt;Step two&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt;, choose your images and upload them to a Picture Library.  This should be a Picture Library that is located within the same site that you plan to add the RSSBus Web Part to.  If you need to use a Picture Library that is located in a different site, that can be done as well but is a bit more complicated.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;u&gt;Finally, step three&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt;, add the RSSBus WebPart to your page and paste the following template into its source editor.  This template might look a little scary, but don’t worry – its not going to bite.&lt;/p&gt;
&lt;div class="rsbtemplateeditor"&gt;
  &lt;div class="rsbheader-left"&gt; &lt;/div&gt;
  &lt;div class="rsbheader-right"&gt; &lt;/div&gt;
  &lt;div class="rsbheader-middle"&gt;&lt;/div&gt;
  &lt;div&gt;
    &lt;div class="rsbbody-left"&gt; &lt;/div&gt;
    &lt;div class="rsbbody-right"&gt; &lt;/div&gt;
    &lt;div class="rsbbody-middle"&gt;
      &lt;div class="rsbscrollarea"&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;&amp;lt;!-- Set the Picture Library that you want to use  --&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="list"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Picture Library"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="rem"&gt;&amp;lt;!-- Call the spListItems operation, save the results. --&amp;gt;&lt;/span&gt;&lt;span class="kwrd"&gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt; &lt;span class="attr"&gt;op&lt;/span&gt;&lt;span class="kwrd"&gt;="spListItems"&lt;/span&gt; &lt;span class="attr"&gt;save&lt;/span&gt;&lt;span class="kwrd"&gt;="pictures"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="rem"&gt;&amp;lt;!-- Call the feedRandom operation to randomize the saved spListItems results --&amp;gt;&lt;/span&gt;&lt;span class="kwrd"&gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt; &lt;span class="attr"&gt;op&lt;/span&gt;&lt;span class="kwrd"&gt;="feedRandom?feed=[[_feeds.pictures | urlencode]]" pagesize="1"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;  &amp;lt;!-- Output the image as html --&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;img&lt;/span&gt; &lt;span class="attr"&gt;src&lt;/span&gt;&lt;span class="kwrd"&gt;="[[sp:url]]"&lt;/span&gt; width=”150px” &lt;span class="attr"&gt;border&lt;/span&gt;&lt;span class="kwrd"&gt;="0"&lt;/span&gt; &lt;span class="attr"&gt;align&lt;/span&gt;&lt;span class="kwrd"&gt;="right"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div style="WIDTH: 100%"&gt;
    &lt;div class="rsbfooter-left"&gt; &lt;/div&gt;
    &lt;div class="rsbfooter-right"&gt; &lt;/div&gt;
    &lt;div class="rsbfooter-middle"&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Like I said, this template might look a little scary, but its not.  Just paste it into the source editor, change "Picture Library” to the name of your library, and yes, we’re already done!  For best results, size the pictures before uploading them to your library and delete the width=”150px” setting from the img tag in the HTML. &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;See all posts in this series:  &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;10 DIY SharePoint Web Parts&lt;/a&gt;. &lt;br /&gt;
&lt;a href="http://www.rssbus.com/connectors/default.aspx"&gt;Browse RSSBus Connectors&lt;/a&gt;. &lt;br /&gt;
&lt;a title="http://lancerobinson.net/archive/2009/05/20/basic-rssbus-scripting-cheat-sheet.aspx" href="http://lancerobinson.net/archive/2009/05/20/basic-rssbus-scripting-cheat-sheet.aspx"&gt;Basic RSSBus Scripting Cheat Sheet&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
Tags: &lt;a rel="tag" href="http://technorati.com/tags/SharePoint"&gt;SharePoint&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/RSSBus"&gt;RSSBus&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/WebPart"&gt;WebPart&lt;/a&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133147"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=133147" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/Lance/aggbug/133147.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lance Robinson</dc:creator>
            <guid>http://geekswithblogs.net/Lance/archive/2009/06/30/10-diy-sharepoint-web-parts-1.aspx</guid>
            <pubDate>Tue, 30 Jun 2009 15:00:22 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/Lance/comments/133147.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/Lance/archive/2009/06/30/10-diy-sharepoint-web-parts-1.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/Lance/comments/commentRss/133147.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/Lance/services/trackbacks/133147.aspx</trackback:ping>
        </item>
        <item>
            <title>Customize SharePoint RSS Feeds</title>
            <link>http://geekswithblogs.net/Lance/archive/2009/05/19/customize-sharepoint-rss-feeds.aspx</link>
            <description>&lt;p&gt;The default RSS feeds in SharePoint are very basic and I want them to contain more information.  I managed this by generating my own RSS feeds.  Here is how I did it:&lt;/p&gt;
&lt;p&gt;First, install the &lt;a href="http://www.rssbus.com/products/sharepoint/"&gt;RSSBus SharePoint WebPart&lt;/a&gt;.  After running the setup, go to the Site Collection Features page to activate the Web Part.  In order to create custom RSS feeds, you’ll also need to activate the “RSSBus Service Handler” feature.  &lt;/p&gt;
&lt;p&gt;I created a special document library for my feeds, I called it “Really Simple Services”, since RSS feeds can really be thought of as exactly that.  For my first feed, I added a new document to the library and named it sp-rss.rst, with the following contents:&lt;/p&gt;
&lt;div class="scrollarea"&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:info&lt;/span&gt; &lt;span class="attr"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;="My Custom RSS Feed"&lt;/span&gt; &lt;span class="attr"&gt;description&lt;/span&gt;&lt;span class="kwrd"&gt;="This is my custom RSS feed description"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;  &lt;span class="rem"&gt;&amp;lt;!-- this could also come as input in the URL --&amp;gt;&lt;/span&gt;    &lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="list"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Shared Documents"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;item&lt;/span&gt;&lt;span class="kwrd"&gt;="_meta"&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="rss:title"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Custom SharePoint RSS: [list]"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;        &lt;br /&gt;    &lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt; &lt;span class="attr"&gt;op&lt;/span&gt;&lt;span class="kwrd"&gt;="spListItems"&lt;/span&gt; &lt;span class="attr"&gt;output&lt;/span&gt;&lt;span class="kwrd"&gt;="out"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:push&lt;/span&gt; &lt;span class="attr"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;="[rss:title | def('untitled item')]"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;   [out.*]   &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:push&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Now I can call this custom RSS feed as you would expect, ie &lt;a href="http://myserver/Really Simple Services/sp-rss.rsb"&gt;http://myserver/Really Simple Services/sp-rss.rsb&lt;/a&gt;. Except when I hit that URL instead of downloading a document, I’ll get an RSS feed.  This example generates an RSS feed out of a specific list, but I can change it so that it generates an RSS feed out of *any* list by getting the list from the URL.  For example:&lt;/p&gt;
&lt;div class="scrollarea"&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:info&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="list"&lt;/span&gt; &lt;span class="attr"&gt;default&lt;/span&gt;&lt;span class="kwrd"&gt;="Shared Documents"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:info&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;item&lt;/span&gt;&lt;span class="kwrd"&gt;="_meta"&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="rss:title"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Custom SharePoint RSS: [list]"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;        &lt;br /&gt;    &lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt; &lt;span class="attr"&gt;op&lt;/span&gt;&lt;span class="kwrd"&gt;="spListItems"&lt;/span&gt; &lt;span class="attr"&gt;output&lt;/span&gt;&lt;span class="kwrd"&gt;="out"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:push&lt;/span&gt; &lt;span class="attr"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;="[rss:title | def('untitled item')]"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;   [out.*]   &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:push&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;If I now call the same URL, I’ll still get the Shared Documents.  But if I add a specific list to the URL, I’ll get that list instead, ie: &lt;a href="http://myserver/Really Simple Services/sp-rss.rsb?list=Other Documents"&gt;http://myserver/Really Simple Services/sp-rss.rsb?list=Other Documents&lt;/a&gt;. The difference in the script itself is that the “list” name has been moved from an rsb:set (hard-coded) to the rsb:info input.  &lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:57442c96-aa90-4b12-a28e-13d487e81353" style="margin: 0px; padding: 0px; display: inline; float: none;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/RSSBus" rel="tag"&gt;RSSBus&lt;/a&gt;, &lt;a href="http://technorati.com/tags/SharePoint" rel="tag"&gt;SharePoint&lt;/a&gt;, &lt;a href="http://technorati.com/tags/RSS" rel="tag"&gt;RSS&lt;/a&gt;, &lt;a href="http://technorati.com/tags/WebPart" rel="tag"&gt;WebPart&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=132280"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=132280" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/Lance/aggbug/132280.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lance Robinson</dc:creator>
            <guid>http://geekswithblogs.net/Lance/archive/2009/05/19/customize-sharepoint-rss-feeds.aspx</guid>
            <pubDate>Wed, 20 May 2009 02:25:34 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/Lance/comments/132280.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/Lance/archive/2009/05/19/customize-sharepoint-rss-feeds.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/Lance/comments/commentRss/132280.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/Lance/services/trackbacks/132280.aspx</trackback:ping>
        </item>
        <item>
            <title>Usenet Newsgroup Browser in SharePoint</title>
            <link>http://geekswithblogs.net/Lance/archive/2009/05/19/usenet-newsgroup-browser-in-sharepoint.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://www.flickr.com/photos/lmrobins/3546271986/"&gt;&lt;img border="0" alt="" style="display: block; float: none; margin-left: auto; margin-right: auto;" src="http://farm3.static.flickr.com/2431/3546271986_4d0323cfa9.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;I added a little newsgroup browser to my SharePoint site with about a one page &lt;a href="http://www.rssbus.com/products/sharepoint/"&gt;RSSBus SharePoint WebPart&lt;/a&gt; template.  It works by importing the RSSBus &lt;a href="http://www.rssbus.com/connectors/info.aspx?con=RSSBus.NntpOps.info"&gt;NntpOps Connector&lt;/a&gt;.  It calls its nntpListArticles operation to list the articles of a particular newsgroup and displays them in a table.  Then when an article is clicked on, it calls the nntpGetArticle operation to retrieve the actual article – don’t worry – it will only retrieve the first 1000 lines of the article – if the thread is larger than that it will provide a link to view the message in Google Groups intead so that your SharePoint page doesn’t end up with a huge newsgroup article on it!  Here is the WebPart template itself – just copy and paste it into your own RSSBus SharePoint WebPart (with the NntpOps connector installed) and it will work right away.  This template browses the &lt;a href="http://groups.google.com/group/microsoft.public.sharepoint.windowsservices/topics?lnk=rgh"&gt;microsoft.public.sharepoint.windowsservices&lt;/a&gt; group, but you can set your own news server, group, etc.&lt;/p&gt;
&lt;div class="scrollarea" style="height: 300px;"&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:import&lt;/span&gt; &lt;span class="attr"&gt;lib&lt;/span&gt;&lt;span class="kwrd"&gt;="RSSBus.NntpOps"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="height:100;overflow:auto"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;table&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="98%"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;th&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="background-color:LightGrey; white-space:nowrap"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Subject&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;th&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;                              &lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;th&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="background-color:LightGrey; white-space:nowrap"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Author&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;th&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;                        &lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;th&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="background-color:LightGrey; white-space:nowrap"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Size&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;th&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;                            &lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;th&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="background-color:LightGrey; white-space:nowrap"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Date&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;th&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;                                &lt;br /&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;&lt;br /&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="group"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="microsoft.public.sharepoint.windowsservices"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="range"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="25"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="msnews.microsoft.com"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt; &lt;span class="attr"&gt;op&lt;/span&gt;&lt;span class="kwrd"&gt;="nntpListArticles"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="white-space:nowrap"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="?msgnumber=[[nntp:number]]"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;[[nntp:subject | truncate('60')]]&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="white-space:nowrap"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;[[nntp:author]]&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="white-space:nowrap"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;[[nntp:size]]&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;     &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="white-space:nowrap"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;[[nntp:date]]&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;   &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;table&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:check&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="_request.msgnumber"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;hr&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt; &lt;span class="attr"&gt;op&lt;/span&gt;&lt;span class="kwrd"&gt;="nntpGetArticle?maxlines=1000&amp;amp;article=[[_request.msgnumber]]"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="headers"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;table&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="98%"&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="background-color:LightGrey"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="75px"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;From:&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="mailto:[[nntp:author | htmlencode]]"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;[[nntp:author | htmlencode]]&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;      &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;       &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="75px"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Date:&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;[[nntp:date]]&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;      &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt; &lt;span class="attr"&gt;width&lt;/span&gt;&lt;span class="kwrd"&gt;="75px"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Subject:&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;[[nntp:subject]]&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;      &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt; &lt;span class="attr"&gt;colspan&lt;/span&gt;&lt;span class="kwrd"&gt;="2"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;="&lt;span class="attr"&gt;http:&lt;/span&gt;//&lt;span class="attr"&gt;groups&lt;/span&gt;.&lt;span class="attr"&gt;google&lt;/span&gt;.&lt;span class="attr"&gt;com&lt;/span&gt;/&lt;span class="attr"&gt;groups&lt;/span&gt;?&lt;span class="attr"&gt;threadm&lt;/span&gt;=[[&lt;span class="attr"&gt;nntp:id&lt;/span&gt; | &lt;span class="attr"&gt;Replace&lt;/span&gt;(&lt;span class="kwrd"&gt;'&amp;lt;'&lt;/span&gt;, &lt;span class="kwrd"&gt;''&lt;/span&gt;) | &lt;span class="attr"&gt;Replace&lt;/span&gt;('&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;', '') | urlencode]]"&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;View in Google Groups&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;td&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;      &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;tr&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;table&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="body"&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;="height:400;overflow:auto"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;hr&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    [[nntp:body | Replace('0A','&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;br&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;','true')]]&lt;br /&gt; &lt;span class="kwrd"&gt; &amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;p&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;="&lt;span class="attr"&gt;http:&lt;/span&gt;//&lt;span class="attr"&gt;groups&lt;/span&gt;.&lt;span class="attr"&gt;google&lt;/span&gt;.&lt;span class="attr"&gt;com&lt;/span&gt;/&lt;span class="attr"&gt;groups&lt;/span&gt;?&lt;span class="attr"&gt;threadm&lt;/span&gt;=[[&lt;span class="attr"&gt;nntp:id&lt;/span&gt; | &lt;span class="attr"&gt;Replace&lt;/span&gt;(&lt;span class="kwrd"&gt;'&amp;lt;'&lt;/span&gt;, &lt;span class="kwrd"&gt;''&lt;/span&gt;) | &lt;span class="attr"&gt;Replace&lt;/span&gt;('&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;', '') | urlencode]]"&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;View in Google Groups&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:check&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;If you want to make the news server and group editable via the “Modified Shared WebPart” property settings instead of having it hard coded, thats easy to do too.  Just kill the rsb:set lines where they are hard-coded in the tempate, and at the top of the empty add the following:&lt;/p&gt;
&lt;div class="scrollarea"&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:info&lt;/span&gt; &lt;span class="attr"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;="RSSBus SharePoint WebPart: USENET Newsgroup Browser"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="Server"&lt;/span&gt; &lt;span class="attr"&gt;default&lt;/span&gt;&lt;span class="kwrd"&gt;="msnews.microsoft.com"&lt;/span&gt; &lt;span class="attr"&gt;required&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="Group"&lt;/span&gt; &lt;span class="attr"&gt;default&lt;/span&gt;&lt;span class="kwrd"&gt;="microsoft.public.sharepoint.windowsservices"&lt;/span&gt; &lt;span class="attr"&gt;required&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="Range"&lt;/span&gt; &lt;span class="attr"&gt;default&lt;/span&gt;&lt;span class="kwrd"&gt;="25"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;rsb:info&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;this tells the WebPart to create 3 inputs – Server, Group, and Range.  The NntpOps Connector will be able to see those and work with them.&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4b711583-877e-4171-bf96-a786f1cf3e8f" style="margin: 0px; padding: 0px; display: inline; float: none;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/RSSBus" rel="tag"&gt;RSSBus&lt;/a&gt;, &lt;a href="http://technorati.com/tags/SharePoint" rel="tag"&gt;SharePoint&lt;/a&gt;, &lt;a href="http://technorati.com/tags/WebPart" rel="tag"&gt;WebPart&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=132276"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=132276" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/Lance/aggbug/132276.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Lance Robinson</dc:creator>
            <guid>http://geekswithblogs.net/Lance/archive/2009/05/19/usenet-newsgroup-browser-in-sharepoint.aspx</guid>
            <pubDate>Wed, 20 May 2009 01:12:37 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/Lance/comments/132276.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/Lance/archive/2009/05/19/usenet-newsgroup-browser-in-sharepoint.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/Lance/comments/commentRss/132276.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/Lance/services/trackbacks/132276.aspx</trackback:ping>
        </item>
    </channel>
</rss>