<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Tim Laughlin&amp;#39;s Everything VB.NET Blog</title><link>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2007 SP2 (Build: 20611.960)</generator><creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/tlaughlin" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>Copying an instance of a class object</title><link>http://feedproxy.google.com/~r/tlaughlin/~3/w4_qlHlV3so/copying-an-instance-of-a-class-object.aspx</link><pubDate>Mon, 04 Feb 2008 19:40:18 GMT</pubDate><guid isPermaLink="false">102fc22c-0d21-436e-ad96-79ad0b051b3a:520</guid><dc:creator>tlaughlin</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/rsscomments.aspx?PostID=520</wfw:commentRss><comments>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2008/02/04/copying-an-instance-of-a-class-object.aspx#comments</comments><description>&lt;p&gt;I recently had a need to copy the instance of a fairly complex class object.&amp;nbsp; More specifically what wanted was to load and instance of the object, from a data source.&amp;nbsp; The object had about 40 properties some of which where collections of other classes.&amp;nbsp; &lt;/p&gt; &lt;p&gt;So creating a new instance of the object then setting each property would be more time consuming and less elegant that I would like.&amp;nbsp; Doing as standard set would just set a reference to the first object.&amp;nbsp; So changes on the second object would made on the first instance.&amp;nbsp; This was not the behavior I wanted either.&amp;nbsp; &lt;/p&gt; &lt;p&gt;After doing a Google search and combining a few examples this what I cam up with.&lt;/p&gt;&lt;pre class="csharpcode"&gt;    &lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt; CopyObject( _
        &lt;span class="kwrd"&gt;ByVal&lt;/span&gt; pObjectType &lt;span class="kwrd"&gt;As&lt;/span&gt; Type, _
        &lt;span class="kwrd"&gt;ByVal&lt;/span&gt; pOriginalObject &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Object&lt;/span&gt;, _
        &lt;span class="kwrd"&gt;ByRef&lt;/span&gt; pNewObject &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Object&lt;/span&gt;)

        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; ArPoperties() &lt;span class="kwrd"&gt;As&lt;/span&gt; Reflection.PropertyInfo = _
        pObjectType.GetProperties(Reflection.BindingFlags.&lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;Or&lt;/span&gt; _
        Reflection.BindingFlags.Instance)
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; ObjPropItem &lt;span class="kwrd"&gt;As&lt;/span&gt; Reflection.PropertyInfo
        &lt;span class="kwrd"&gt;For&lt;/span&gt; &lt;span class="kwrd"&gt;Each&lt;/span&gt; ObjPropItem &lt;span class="kwrd"&gt;In&lt;/span&gt; ArPoperties
            &lt;span class="kwrd"&gt;If&lt;/span&gt; ObjPropItem.CanWrite &lt;span class="kwrd"&gt;Then&lt;/span&gt;
                ObjPropItem.SetValue(pNewObject, _
                ObjPropItem.GetValue(pOriginalObject, &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;), &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;)
            &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
        &lt;span class="kwrd"&gt;Next&lt;/span&gt;
    &lt;span class="kwrd"&gt;End&lt;/span&gt; Sub&lt;/pre&gt;&lt;pre class="csharpcode"&gt;As is the goal if this blog.  I hope you find this useful. &lt;/pre&gt;&lt;img src="http://tlaughlin.pandorasystems.com/aggbug.aspx?PostID=520" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/H9Z84BW0YqWhy-sykfeH8ecc4eY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/H9Z84BW0YqWhy-sykfeH8ecc4eY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/H9Z84BW0YqWhy-sykfeH8ecc4eY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/H9Z84BW0YqWhy-sykfeH8ecc4eY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/tlaughlin/~4/w4_qlHlV3so" height="1" width="1"/&gt;</description><category domain="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/tags/Did+You+Know_3F00_/default.aspx">Did You Know?</category><category domain="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/tags/vb.net/default.aspx">vb.net</category><feedburner:origLink>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2008/02/04/copying-an-instance-of-a-class-object.aspx</feedburner:origLink></item><item><title>Quick and Dirty ad rotation in Community Server 2007</title><link>http://feedproxy.google.com/~r/tlaughlin/~3/vwRocmVjHsU/quick-and-dirty-ad-rotation-in-community-server-2007.aspx</link><pubDate>Thu, 03 Jan 2008 19:34:55 GMT</pubDate><guid isPermaLink="false">102fc22c-0d21-436e-ad96-79ad0b051b3a:492</guid><dc:creator>tlaughlin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/rsscomments.aspx?PostID=492</wfw:commentRss><comments>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2008/01/03/quick-and-dirty-ad-rotation-in-community-server-2007.aspx#comments</comments><description>&lt;p&gt;I needed to setup ad rotation for a client in Community Server 2007.&amp;nbsp; The goal was to rotate through a pool of ads for internal events and content.&amp;nbsp; There was no need for tracking impressions and click through rates.&amp;nbsp; So something like adMentor seemed like over kill.&lt;/p&gt; &lt;p&gt;After consulting Google I &lt;a href="http://communityserver.org/forums/p/464518/562181.aspx#562181" target="_blank"&gt;found an old post&lt;/a&gt; on &lt;a href="http://http://communityserver.org/" target="_blank"&gt;CommunityServer.org&lt;/a&gt;. It showed how to use the ASP.NET ad rotator control in CS 2.1.&amp;nbsp; So information here isn&amp;#39;t original.&amp;nbsp; But, it adapted to cs2007.&lt;/p&gt; &lt;p&gt;My client is using a modified version of the Lean and Green theme.&amp;nbsp; So will use that as my example.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Open the Themes\leanandgreen\Common\ad-top.ascx.&lt;/p&gt; &lt;p&gt;below &lt;span class="asp"&gt;&amp;lt;%&lt;/span&gt;-- Place ad mark-up here --&lt;span class="asp"&gt;%&amp;gt; enter.&amp;nbsp; Delete any other text that may be below this tag.&lt;br /&gt;&lt;/span&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre class="csharpcode"&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;align&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;center&amp;quot;&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;asp:AdRotator&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;adRotator&amp;quot;&lt;/span&gt; &lt;br /&gt;&lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;AdvertisementFile&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;ads.xml&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Target&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;_top&amp;quot;&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;/pre&gt;
&lt;p&gt;&lt;span class="kwrd"&gt;This declares the ASP.NET AdRotator control, and obviously centers it.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="kwrd"&gt;repeat these steps for ad-bottom.ascx&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="kwrd"&gt;Create a ads.xml file in the Themes\leanandgreen\Common\ directory.&amp;nbsp; The format of this file should be. (for &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwebuiwebcontrolsadrotatorclasstopic.asp" target="_blank"&gt;more in depth explanation&lt;/a&gt; see MSDN)&lt;/span&gt;&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Advertisements&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;Ad&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;ImageUrl&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;http://www.albinism.org/bannerads/conferencebanner.jpg&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ImageUrl&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;NavigateUrl&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;http://www.albinism.org/noahevents.html?utm_source=AOC&lt;span class="attr"&gt;&amp;amp;amp;&lt;/span&gt;utm_medium=banner&lt;span class="attr"&gt;&amp;amp;amp;&lt;/span&gt;utm_content=conferencebanner&lt;span class="attr"&gt;&amp;amp;amp;&lt;/span&gt;utm_campaign=Conference2008&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;NavigateUrl&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;AlternateText&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Ad: NOAH National Conference Information&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;AlternateText&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;Impressions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;50&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Impressions&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;Keyword&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Conference&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Keyword&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;Ad&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;Ad&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;ImageUrl&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;http://www.albinism.org/bannerads/conferencebanner2.jpg&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ImageUrl&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;NavigateUrl&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;http://www.albinism.org/noahevents.html?utm_source=AOC&lt;span class="attr"&gt;&amp;amp;amp;&lt;/span&gt;utm_medium=banner&lt;span class="attr"&gt;&amp;amp;amp;&lt;/span&gt;utm_content=conferencebanner2&lt;span class="attr"&gt;&amp;amp;amp;&lt;/span&gt;utm_campaign=Conference2008&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;NavigateUrl&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;AlternateText&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Ad: NOAH National Conference Information&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;AlternateText&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;Impressions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;50&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Impressions&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;Keyword&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Conference&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Keyword&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;Ad&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;Ad&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;ImageUrl&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;http://www.albinism.org/bannerads/newcity.jpg&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ImageUrl&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;NavigateUrl&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;http://www.albinism.org/noahevents.html?utm_source=AOC&lt;span class="attr"&gt;&amp;amp;amp;&lt;/span&gt;utm_medium=banner&lt;span class="attr"&gt;&amp;amp;amp;&lt;/span&gt;utm_content=newcity&lt;span class="attr"&gt;&amp;amp;amp;&lt;/span&gt;utm_campaign=Conference2008&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;NavigateUrl&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;AlternateText&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Ad: NOAH National Conference Information&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;AlternateText&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;Impressions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;50&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Impressions&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;Keyword&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Conference&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Keyword&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;Ad&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;Ad&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;ImageUrl&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;http://www.albinism.org/bannerads/giveback.jpg&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ImageUrl&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;NavigateUrl&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;http://www.albinism.org/contribute.html?utm_source=AOC&lt;span class="attr"&gt;&amp;amp;amp;&lt;/span&gt;utm_medium=banner&lt;span class="attr"&gt;&amp;amp;amp;&lt;/span&gt;utm_content=giveback&lt;span class="attr"&gt;&amp;amp;amp;&lt;/span&gt;utm_campaign=Funding&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;NavigateUrl&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;AlternateText&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Ad: Support NOAH Funding&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;AlternateText&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;Impressions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;50&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Impressions&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;Keyword&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Funding&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Keyword&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;Ad&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;Ad&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;ImageUrl&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;http://www.albinism.org/bannerads/purplebowlathonbanner.jpg&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ImageUrl&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;NavigateUrl&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;http://www.events.org/noah08/cpage.aspx?e=12334&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;NavigateUrl&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;AlternateText&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Ad: NOAH Bowl-A-Thon&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;AlternateText&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;Impressions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;50&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Impressions&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;Keyword&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;BowlAThon&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Keyword&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;Ad&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;Ad&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;ImageUrl&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;http://www.albinism.org/bannerads/thingathon.jpg&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ImageUrl&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;NavigateUrl&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;http://www.events.org/noah08/cpage.aspx?e=12334&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;NavigateUrl&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;AlternateText&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Ad: NOAH Bowl-A-Thon&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;AlternateText&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;Impressions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;50&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Impressions&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;Keyword&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;BowlAThon&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Keyword&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;Ad&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;Ad&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;ImageUrl&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;http://www.albinism.org/bannerads/puzzle.jpg&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ImageUrl&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;NavigateUrl&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;http://www.events.org/noah08/cpage.aspx?e=12334&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;NavigateUrl&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;AlternateText&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Ad: NOAH Bowl-A-Thon&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;AlternateText&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;Impressions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;50&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Impressions&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;Keyword&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;BowlAThon&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Keyword&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;Ad&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;Ad&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;ImageUrl&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;http://www.albinism.org/bannerads/whatthingathon.jpg&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ImageUrl&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;NavigateUrl&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;http://www.events.org/noah08/cpage.aspx?e=12334&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;NavigateUrl&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;AlternateText&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Ad: NOAH Bowl-A-Thon&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;AlternateText&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;Impressions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;50&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Impressions&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;Keyword&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;BowlAThon&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Keyword&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;Ad&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;Advertisements&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span class="kwrd"&gt;Finally log into your control panel.&amp;nbsp; Then choose Administration / System Tools / Manage Ads.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="kwrd"&gt;Check Enable ads, check enable inline ad control, finally uncheck SystemAdminstrator if you want you admins to see ads as well.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="kwrd"&gt;Good luck, let me know if you found this helpful, or have any questions.&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;img src="http://tlaughlin.pandorasystems.com/aggbug.aspx?PostID=492" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/fyCr1DEYyMNg9FQAhPeVLPPCZCo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fyCr1DEYyMNg9FQAhPeVLPPCZCo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/fyCr1DEYyMNg9FQAhPeVLPPCZCo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fyCr1DEYyMNg9FQAhPeVLPPCZCo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/tlaughlin/~4/vwRocmVjHsU" height="1" width="1"/&gt;</description><category domain="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/tags/Community+Server/default.aspx">Community Server</category><feedburner:origLink>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2008/01/03/quick-and-dirty-ad-rotation-in-community-server-2007.aspx</feedburner:origLink></item><item><title>Graffiti Beta 1 - Come see my Sandbox</title><link>http://feedproxy.google.com/~r/tlaughlin/~3/kxxvVG8B2cs/graffiti-beta-1-come-see-my-sandbox.aspx</link><pubDate>Sun, 09 Dec 2007 15:53:38 GMT</pubDate><guid isPermaLink="false">102fc22c-0d21-436e-ad96-79ad0b051b3a:463</guid><dc:creator>tlaughlin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/rsscomments.aspx?PostID=463</wfw:commentRss><comments>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2007/12/09/graffiti-beta-1-come-see-my-sandbox.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://telligent.com/"&gt;Telligent&lt;/a&gt; has released their long awaited CMS named &lt;a target="_blank"&gt;Graffiti&lt;/a&gt;.&amp;nbsp; Since I am more into experimenting then writing.&amp;nbsp; I thought the best think to do would be to make my Graffiti Sandbox publicly available.&amp;nbsp; Then I can experiment and write in the same place. &lt;/p&gt; &lt;p&gt;So come on over the &lt;a href="http://graffiti.pandorasystems.com/" target="_blank"&gt;Tim Laughlin&amp;#39;s Graffiti Sandbox&lt;/a&gt;.&amp;nbsp; Subscribe the sites RSS feed and watch my progress.&amp;nbsp; Or chuckle at my failures, as the case my be.&lt;/p&gt; &lt;p&gt;Step one a new skin.&lt;/p&gt; &lt;p&gt;&lt;a href="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/WindowsLiveWriter/GraffitiBeta1ComeseemySandbox_9782/image_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="172" alt="image" src="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/WindowsLiveWriter/GraffitiBeta1ComeseemySandbox_9782/image_thumb.png" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://tlaughlin.pandorasystems.com/aggbug.aspx?PostID=463" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CWB7gzHmigJEfTvNNjS2LaieOGg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CWB7gzHmigJEfTvNNjS2LaieOGg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CWB7gzHmigJEfTvNNjS2LaieOGg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CWB7gzHmigJEfTvNNjS2LaieOGg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/tlaughlin/~4/kxxvVG8B2cs" height="1" width="1"/&gt;</description><category domain="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/tags/Graffiti/default.aspx">Graffiti</category><feedburner:origLink>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2007/12/09/graffiti-beta-1-come-see-my-sandbox.aspx</feedburner:origLink></item><item><title>Consuming web services from AJAX, be careful.</title><link>http://feedproxy.google.com/~r/tlaughlin/~3/74gM8X7IVuM/consuming-web-services-from-ajax-be-careful.aspx</link><pubDate>Wed, 05 Dec 2007 14:47:47 GMT</pubDate><guid isPermaLink="false">102fc22c-0d21-436e-ad96-79ad0b051b3a:457</guid><dc:creator>tlaughlin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/rsscomments.aspx?PostID=457</wfw:commentRss><comments>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2007/12/05/consuming-web-services-from-ajax-be-careful.aspx#comments</comments><description>&lt;p&gt;As you are probably aware AJAX has made it very easy to consume web services asynchronously from the browser.&amp;nbsp; If you are not aware of how to do this here some great resources, on how to do it&lt;/p&gt; &lt;p&gt;&lt;a href="http://weblogs.asp.net/dwahlin/archive/2006/12/28/understanding-asp-net-ajax-web-service-proxies.aspx" target="_blank"&gt;Understanding ASP.NET AJAX Web Service Proxies&lt;/a&gt; - Dan Wahlin - A great introduction to how the technology works. &lt;br /&gt;&lt;a href="http://www.developer.com/net/asp/article.php/10917_3657826_1" target="_blank"&gt;Consuming Web Service Using ASP.NET AJAX&lt;/a&gt; - Blpin Joshi - An example of how to do build a database crud application with client side calls to web services.  &lt;p&gt;The later example I have converted to VB.NET and AJAX 1.0.&amp;nbsp; The original was in C# and a pre release of AJAX.&amp;nbsp; I will also use this example to illustrate some of the security issues that can be introduced unknowingly.  &lt;p&gt;When you start the application it looks something like this: &lt;p&gt;&lt;a href="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/WindowsLiveWriter/ConsumingwebservicesfromAJAXbecareful_B023/image_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="149" alt="Screen Shot" src="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/WindowsLiveWriter/ConsumingwebservicesfromAJAXbecareful_B023/image_thumb.png" width="244" border="0" /&gt;&lt;/a&gt;  &lt;p&gt;As you change the employee ID the First Name and Last Name are updated without a post back.&amp;nbsp; Work like you would hope an AJAX application would.  &lt;p&gt;Now suppose you didn&amp;#39;t want to give the public the ability to add or delete employees you could simply remove the buttons.&amp;nbsp; However, that would not remove the functionality.&amp;nbsp; If you where to look at the source of the page you might be surprised to find this reference:&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;src&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;EmployeeService.asmx/js&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;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;Look at that a reference to an .asmx file.&amp;nbsp; I know actually it&amp;#39;s a reference to a javascript file.&amp;nbsp; However, the web service file name is pretty easy to identify.&amp;nbsp; So what happens if we point a web browser at that file?&amp;nbsp; &lt;br /&gt;&lt;a href="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/WindowsLiveWriter/ConsumingwebservicesfromAJAXbecareful_B023/image_4.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="149" alt="image" src="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/WindowsLiveWriter/ConsumingwebservicesfromAJAXbecareful_B023/image_thumb_1.png" width="244" border="0" /&gt;&lt;/a&gt; 
&lt;p&gt; A nice WSDL of all our functions.&amp;nbsp; Including update and delete.&amp;nbsp; using just this file a person could easily compromise our system.&amp;nbsp; Hiding the Delete and Insert buttons would do little prevent them using the web service directly.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m not saying don&amp;#39;t use these services.&amp;nbsp; But please be aware of the information that is being revealed.&amp;nbsp; Also make sure you secure your asmx files and disable the WSDL. &lt;/p&gt;
&lt;p&gt;Finally, don&amp;#39;t leave any functions in the asmx files that would want executed by the world.&lt;/p&gt;&lt;img src="http://tlaughlin.pandorasystems.com/aggbug.aspx?PostID=457" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/RW3LBia8brBMaAR_7Hjr-SgQaW8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RW3LBia8brBMaAR_7Hjr-SgQaW8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/RW3LBia8brBMaAR_7Hjr-SgQaW8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RW3LBia8brBMaAR_7Hjr-SgQaW8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/tlaughlin/~4/74gM8X7IVuM" height="1" width="1"/&gt;</description><category domain="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/tags/vb.net/default.aspx">vb.net</category><feedburner:origLink>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2007/12/05/consuming-web-services-from-ajax-be-careful.aspx</feedburner:origLink></item><item><title>Modal View Controller (MVC) Framework - This looks Great!</title><link>http://feedproxy.google.com/~r/tlaughlin/~3/18kM1hUgurw/modal-view-controller-mvc-framework-this-looks-great.aspx</link><pubDate>Tue, 13 Nov 2007 18:42:08 GMT</pubDate><guid isPermaLink="false">102fc22c-0d21-436e-ad96-79ad0b051b3a:433</guid><dc:creator>tlaughlin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/rsscomments.aspx?PostID=433</wfw:commentRss><comments>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2007/11/13/modal-view-controller-mvc-framework-this-looks-great.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://weblogs.asp.net/scottgu/default.aspx" target="_blank"&gt;ScottGu&lt;/a&gt; has been blogging about the &lt;a href="http://weblogs.asp.net/scottgu/archive/tags/MVC/default.aspx" target="_blank"&gt;MVC&lt;/a&gt;. This the first really cool thing that I have seen come out of VS 2008.&amp;nbsp; Don&amp;#39;t get my wrong I am looking forward the VS 2008, but nothing huge until now.&lt;/p&gt; &lt;p&gt;Finally, a production quality URL writing system for data driven web sites.&amp;nbsp; With out all the query string stuff.&amp;nbsp; If this works as advertised out data driven sites should have reasonable human readable URLs with out have to do a ton of HttpHandler logic.&amp;nbsp; In ScottGu&amp;#39;s&amp;nbsp; &lt;a href="http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx"&gt;ASP.NET MVC Framework (Part 1) - ScottGu&amp;#39;s Blog&lt;/a&gt;; he does an amazing job of detailing the usage of MVC.&amp;nbsp; I can&amp;#39;t wait for Part 2.&lt;/p&gt; &lt;p&gt;Scott thanks for taking the time to demonstrate the MVC.&amp;nbsp; Your level of detail is greatly appreciated.&lt;/p&gt;&lt;img src="http://tlaughlin.pandorasystems.com/aggbug.aspx?PostID=433" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MF26Zv-9d36u_Vys-RbQ7fLU6y0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MF26Zv-9d36u_Vys-RbQ7fLU6y0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/MF26Zv-9d36u_Vys-RbQ7fLU6y0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MF26Zv-9d36u_Vys-RbQ7fLU6y0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/tlaughlin/~4/18kM1hUgurw" height="1" width="1"/&gt;</description><category domain="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/tags/ASP.NET/default.aspx">ASP.NET</category><feedburner:origLink>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2007/11/13/modal-view-controller-mvc-framework-this-looks-great.aspx</feedburner:origLink></item><item><title>Select Distinct on Datatable</title><link>http://feedproxy.google.com/~r/tlaughlin/~3/SfFEbCZ3h-M/select-distinct-on-datatable.aspx</link><pubDate>Wed, 31 Oct 2007 16:37:16 GMT</pubDate><guid isPermaLink="false">102fc22c-0d21-436e-ad96-79ad0b051b3a:416</guid><dc:creator>tlaughlin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/rsscomments.aspx?PostID=416</wfw:commentRss><comments>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2007/10/31/select-distinct-on-datatable.aspx#comments</comments><description>&lt;p&gt;I was trying to select some distinct rows from a DataSet datatable.&amp;nbsp; After consulting Google and finding very little I finally found &lt;a href="http://weblogs.asp.net/eporter/archive/2005/02/10/370548.aspx" target="_blank"&gt;Erik Porter&amp;#39;s blog entry&lt;/a&gt;.&amp;nbsp; Which a great resource if you are using .NET 1.0 or .NET 1.1 which makes sense since he wrote back in 2005. &lt;/p&gt; &lt;p&gt;He also added a small note that is key if you are using .NET 2.0 and above.&amp;nbsp; the reads.&lt;/p&gt; &lt;p&gt;&amp;quot;&lt;strong&gt;&lt;font color="#ff0000"&gt;UPDATE 2&lt;/font&gt;&lt;/strong&gt;: &lt;a href="http://weblogs.asp.net/jackieg"&gt;Jackie Goldstein&lt;/a&gt; sent me an e-mail&amp;nbsp;pointing out that .NET 2.0&amp;#39;s DataView has a ToTable Method that will build a DataTable based off of the current DataView and also allow you to specify which columns you want in the DataTable as all as being able to say Distinct rows only.&amp;nbsp; I had totally forgotten about this feature and didn&amp;#39;t even know it did distinct rows.&amp;nbsp; Thanks, Jackie!&amp;nbsp; :) &amp;quot;&lt;/p&gt; &lt;p&gt;The .ToTable method is awesome but hard find information on.&amp;nbsp; So here is how I used to create a distinct datatable to populate a drop down list.&lt;/p&gt;&lt;pre class="csharpcode"&gt;    &lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt; GetDepartureAirlines() &lt;span class="kwrd"&gt;As&lt;/span&gt; DataTable
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; ObjDV &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;New&lt;/span&gt; DataView
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; StrARCols(1) &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;
        StrARCols(0) = &lt;span class="str"&gt;&amp;quot;AirlineID&amp;quot;&lt;/span&gt;
        StrARCols(1) = &lt;span class="str"&gt;&amp;quot;AirlineName&amp;quot;&lt;/span&gt;
        ObjDV.Table = mObjFlightDS.Flights
        ObjDV.Sort = &lt;span class="str"&gt;&amp;quot;AirlineName asc&amp;quot;&lt;/span&gt;
        ObjDV.RowFilter = &lt;span class="str"&gt;&amp;quot;FlightType = &amp;#39;D&amp;#39;&amp;quot;&lt;/span&gt;
        &lt;span class="kwrd"&gt;Return&lt;/span&gt; ObjDV.ToTable(&lt;span class="str"&gt;&amp;quot;Airlines&amp;quot;&lt;/span&gt;, &lt;span class="kwrd"&gt;True&lt;/span&gt;, StrARCols)

    &lt;span class="kwrd"&gt;End&lt;/span&gt; Function&lt;/pre&gt;
&lt;p&gt;This greatly simplifies the select distinct requirement.&amp;nbsp; The key is the second parameter in the .ToTable method.&amp;nbsp; The boolean true lets the ADO.NET deal with the distinct requirement based on the columns you choose to include in your new datatable&lt;/p&gt;
&lt;p&gt;Erik, thanks for the quick note and the original post.&amp;nbsp; As you comments indicate your post was of great help.&amp;nbsp; I can only hope this one is half as affective for the ADO.NET 2.0 crowd.&lt;/p&gt;
&lt;p&gt;&lt;font face="Consolas" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://tlaughlin.pandorasystems.com/aggbug.aspx?PostID=416" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/g0c_FG3PfRgvFzFVopx01CoukqA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/g0c_FG3PfRgvFzFVopx01CoukqA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/g0c_FG3PfRgvFzFVopx01CoukqA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/g0c_FG3PfRgvFzFVopx01CoukqA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/tlaughlin/~4/SfFEbCZ3h-M" height="1" width="1"/&gt;</description><category domain="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/tags/vb.net/default.aspx">vb.net</category><category domain="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/tags/.net+2.0/default.aspx">.net 2.0</category><feedburner:origLink>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2007/10/31/select-distinct-on-datatable.aspx</feedburner:origLink></item><item><title>Missed the CSDC - Why I'll never fly US Airways again!</title><link>http://feedproxy.google.com/~r/tlaughlin/~3/7fDEZqwz12U/missed-the-csdc-why-i-ll-never-fly-us-airways-again.aspx</link><pubDate>Mon, 22 Oct 2007 13:17:58 GMT</pubDate><guid isPermaLink="false">102fc22c-0d21-436e-ad96-79ad0b051b3a:401</guid><dc:creator>tlaughlin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/rsscomments.aspx?PostID=401</wfw:commentRss><comments>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2007/10/22/missed-the-csdc-why-i-ll-never-fly-us-airways-again.aspx#comments</comments><description>&lt;p&gt;I didn&amp;#39;t make it to the Community Server Developers Conference, thanks to US Airways new software.&amp;nbsp; &lt;/p&gt; &lt;p&gt;There was weather in North East on Friday that had air travel backed up.&amp;nbsp; However, US Airways was worse off than most.&amp;nbsp; Seems they have a new computer system that either works horribly or they failed to train people on.&amp;nbsp; None the less, the customers are paying the price.&lt;/p&gt; &lt;p&gt;I stood in line a the gate for 40 minutes, in that time the rerouted 1 passenger.&amp;nbsp; I was number four in line.&amp;nbsp; Then the decided those who are going to miss their connection should leave security and go to the check in&amp;nbsp; counter to be rerouted. &lt;/p&gt; &lt;p&gt;Another 30 minute wait - 2 customers.&amp;nbsp; Then they couldn&amp;#39;t get me to Dallas until after noon on the following day.&amp;nbsp; I asked to be booked on one the other alliance carriers and even offered to drive to Boston if need be.&amp;nbsp;&amp;nbsp; They couldn&amp;#39;t figure out how to find any other flights on partner airlines.&amp;nbsp; In the end I decided to I just wanted my money back and would cut my looses.&amp;nbsp; &lt;/p&gt; &lt;p&gt;To which, I got we can&amp;#39;t do that, this is a weather related problem.&amp;nbsp; After holding up everyone for another 20 minutes explaining that their inability to operate their computer was not a weather issue.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Long story short I was given my money back for the airline tickets.&amp;nbsp; Or so I have been told.&amp;nbsp; They couldn&amp;#39;t even print a confirmation, couldn&amp;#39;t load paper in to the printer; if you can believe that!&lt;/p&gt; &lt;p&gt;This was a amazing failure on US Airways part and will be why I will never book another flight on this carrier.&amp;nbsp; &lt;/p&gt;&lt;img src="http://tlaughlin.pandorasystems.com/aggbug.aspx?PostID=401" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0__MRIF_x3Eefb3Fto4_rYSSNZQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0__MRIF_x3Eefb3Fto4_rYSSNZQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0__MRIF_x3Eefb3Fto4_rYSSNZQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0__MRIF_x3Eefb3Fto4_rYSSNZQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/tlaughlin/~4/7fDEZqwz12U" height="1" width="1"/&gt;</description><feedburner:origLink>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2007/10/22/missed-the-csdc-why-i-ll-never-fly-us-airways-again.aspx</feedburner:origLink></item><item><title>Heading to the CSDC</title><link>http://feedproxy.google.com/~r/tlaughlin/~3/X5KNdvyZ7l0/heading-to-the-csdc.aspx</link><pubDate>Tue, 16 Oct 2007 15:13:54 GMT</pubDate><guid isPermaLink="false">102fc22c-0d21-436e-ad96-79ad0b051b3a:390</guid><dc:creator>tlaughlin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/rsscomments.aspx?PostID=390</wfw:commentRss><comments>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2007/10/16/heading-to-the-csdc.aspx#comments</comments><description>&lt;p&gt;I am heading to the &lt;a href="http://csdc.communityserver.org/" target="_blank"&gt;Community Server Developers Conference&lt;/a&gt; at the end of the week.&amp;nbsp; I am&amp;nbsp;totally unprepared! I was hoping to have played a lot more with &lt;a href="http://communityserver.org/"&gt;Community Server 2007&lt;/a&gt; and learned more about Chameleon, but the paying customers have been keeping me busy.&lt;/p&gt; &lt;p&gt;Oh, well I am sure it will still be an interesting event.&amp;nbsp; The agenda looks good and many areas I am interested in.&amp;nbsp;&amp;nbsp; Especially a sneak at Community Server 2008.&amp;nbsp; &lt;/p&gt; &lt;p&gt;I&amp;#39;m hoping &lt;a href="http://telligent.com/"&gt;Telligent&lt;/a&gt; will let us see Graffiti!&amp;nbsp; Maybe get the beta, please.....&lt;/p&gt;&lt;img src="http://tlaughlin.pandorasystems.com/aggbug.aspx?PostID=390" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TDSFV8cRky4E38S71OuQEY2cvCo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TDSFV8cRky4E38S71OuQEY2cvCo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/TDSFV8cRky4E38S71OuQEY2cvCo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TDSFV8cRky4E38S71OuQEY2cvCo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/tlaughlin/~4/X5KNdvyZ7l0" height="1" width="1"/&gt;</description><category domain="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/tags/Community+Server/default.aspx">Community Server</category><category domain="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/tags/Graffiti/default.aspx">Graffiti</category><feedburner:origLink>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2007/10/16/heading-to-the-csdc.aspx</feedburner:origLink></item><item><title>AdSense Video Units</title><link>http://feedproxy.google.com/~r/tlaughlin/~3/qt6gZ9-HQ0E/adsense-video-units.aspx</link><pubDate>Thu, 11 Oct 2007 14:36:58 GMT</pubDate><guid isPermaLink="false">102fc22c-0d21-436e-ad96-79ad0b051b3a:380</guid><dc:creator>tlaughlin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/rsscomments.aspx?PostID=380</wfw:commentRss><comments>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2007/10/11/adsense-video-units.aspx#comments</comments><description>&lt;p&gt;Okay so Google has released Video Units for AdSense.&amp;nbsp; So I thought I would give it a try.&amp;nbsp; Why, because I want to see if they actually match video content to blog content. &lt;/p&gt; &lt;p&gt;Early indications are not promising.&amp;nbsp; The videos, though entertaining don&amp;#39;t have anything to do with the technical content of this blog.&amp;nbsp; That is when there is any content.&amp;nbsp; &lt;/p&gt; &lt;p&gt;The ads displayed have very little to do with this blog either.&amp;nbsp; I am going to leave it up for while see what happens.&amp;nbsp; Maybe it will get better.&amp;nbsp; If nothing else we can all get our fill of Chad Vader.&amp;nbsp; &lt;/p&gt;&lt;img src="http://tlaughlin.pandorasystems.com/aggbug.aspx?PostID=380" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-2_glF0TksJ7trIT63-85qq9jwk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-2_glF0TksJ7trIT63-85qq9jwk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-2_glF0TksJ7trIT63-85qq9jwk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-2_glF0TksJ7trIT63-85qq9jwk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/tlaughlin/~4/qt6gZ9-HQ0E" height="1" width="1"/&gt;</description><category domain="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/tags/adsense/default.aspx">adsense</category><feedburner:origLink>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2007/10/11/adsense-video-units.aspx</feedburner:origLink></item><item><title>CS 2007.1 Released - and worth the install!</title><link>http://feedproxy.google.com/~r/tlaughlin/~3/aj7sCJsWXYs/cs-2007-1-released-and-worth-the-install.aspx</link><pubDate>Wed, 19 Sep 2007 18:17:00 GMT</pubDate><guid isPermaLink="false">102fc22c-0d21-436e-ad96-79ad0b051b3a:354</guid><dc:creator>tlaughlin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/rsscomments.aspx?PostID=354</wfw:commentRss><comments>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2007/09/19/cs-2007-1-released-and-worth-the-install.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://telligent.com/"&gt;Telligent&lt;/a&gt; has just released Community Server 2007.1.&amp;nbsp; The is a point release to &lt;a href="http://communityserver.org/"&gt;Community Server 2007&lt;/a&gt;.&amp;nbsp; I have installed it and then fired up Live Writer to see if I could find any differences.&lt;/p&gt; &lt;p&gt;In Live Writer I went to Weblogs/ Edit weblog settings.&amp;nbsp; Then choose Editing and pressed Update Editing Style.&amp;nbsp; My theme style was downloaded and is now showing in Live Writer.&lt;/p&gt; &lt;p&gt;This makes blogging much nicer.&amp;nbsp; So if only for this reason I would update &lt;a href="http://communityserver.org/"&gt;Community Server 2007&lt;/a&gt;.&amp;nbsp; Though there are many more good reasons to do so.&amp;nbsp; Here is the &lt;a href="http://communityserver.org/blogs/announcements/archive/2007/08/27/community-server-2007-sp3-pre-release.aspx" target="_blank"&gt;list of changes&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Install was flawless by the way.&lt;/p&gt;&lt;img src="http://tlaughlin.pandorasystems.com/aggbug.aspx?PostID=354" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/G3uraJkuKappLpwaqdKJw7Bmwr0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/G3uraJkuKappLpwaqdKJw7Bmwr0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/G3uraJkuKappLpwaqdKJw7Bmwr0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/G3uraJkuKappLpwaqdKJw7Bmwr0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/tlaughlin/~4/aj7sCJsWXYs" height="1" width="1"/&gt;</description><category domain="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/tags/Community+Server/default.aspx">Community Server</category><category domain="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/tags/Windows+Live+Writer/default.aspx">Windows Live Writer</category><feedburner:origLink>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2007/09/19/cs-2007-1-released-and-worth-the-install.aspx</feedburner:origLink></item><item><title>Community Server blogs and code inclusion</title><link>http://feedproxy.google.com/~r/tlaughlin/~3/Lx7-B2SP6ZM/community-server-blogs-and-code-inclusion.aspx</link><pubDate>Fri, 14 Sep 2007 14:16:53 GMT</pubDate><guid isPermaLink="false">102fc22c-0d21-436e-ad96-79ad0b051b3a:341</guid><dc:creator>tlaughlin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/rsscomments.aspx?PostID=341</wfw:commentRss><comments>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2007/09/14/community-server-blogs-and-code-inclusion.aspx#comments</comments><description>&lt;p&gt;So now that I am back to blogging on a more regular basis, I wanted to find an easy way to include formatted code in my blog entries.&amp;nbsp; I think I could the solution for me.&amp;nbsp; It is a plug in for Windows Live Writer called &lt;a href="http://gallery.live.com/liveitemdetail.aspx?li=1f57bd9b-a692-4593-9e9e-e2962d9c0eee&amp;amp;l=8" target="_blank"&gt;Code Insert&lt;/a&gt;.&amp;nbsp; There is also a &lt;a href="http://manoli.net/csharpformat/" target="_blank"&gt;web based interface&lt;/a&gt; for those of you who don&amp;#39;t want to use Live Writer. &lt;/p&gt; &lt;p&gt;One problem I had was in trying to embed the styles in to the code.&amp;nbsp;&lt;a href="http://communityserver.org/"&gt;Community Server 2007&lt;/a&gt; displayed the style section rather than using it as style.&amp;nbsp; The work around was quite easy.&amp;nbsp; &lt;/p&gt; &lt;ol&gt; &lt;li&gt;Copy the &lt;a href="http://manoli.net/csharpformat/csharp.css" target="_blank"&gt;provided style sheet&lt;/a&gt; to notepad.&lt;/li&gt; &lt;li&gt;In your &lt;a href="http://communityserver.org/"&gt;Community Server 2007&lt;/a&gt; /themes/blogs/[yourthemeanme]/styles/ folder save new style sheet as CodeInsert.css&lt;/li&gt; &lt;li&gt;in your &lt;a href="http://communityserver.org/"&gt;Community Server 2007&lt;/a&gt; /themes/blogs/[yourthemeanme]/ folder edit theme.master and add the following line with all the other stylesheets. &lt;/li&gt;&lt;/ol&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;CSBlog:ThemeStyle&lt;/span&gt; &lt;span class="attr"&gt;Href&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;~/style/CodeInsert.css&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Media&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;screen&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;Once you install the plug-in you should see Insert Code in the Insert List.  It will open a window like this.&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&lt;a href="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/WindowsLiveWriter/CommunityServerblogsandcodeinclusion_8B21/image_1.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="232" alt="image" src="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/WindowsLiveWriter/CommunityServerblogsandcodeinclusion_8B21/image_thumb_1.png" width="240" border="0" /&gt;&lt;/a&gt; &lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;Make sure you uncheck the Embed StyleSheet checkbox. &lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;Here come Examples:&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;HTML/asp.net&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;server&amp;quot;&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;CSControl:Head&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Head1&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Server&amp;quot;&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;meta&lt;/span&gt; &lt;span class="attr"&gt;http-equiv&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Content-Type&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;content&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;text/html; charset=UTF-8&amp;quot;&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;meta&lt;/span&gt; &lt;span class="attr"&gt;http-equiv&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Content-Type&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;content&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;text/html; charset=UTF-8&amp;quot;&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;CSBlog:ThemeStyle&lt;/span&gt; &lt;span class="attr"&gt;Href&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;~/style/style.css&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Media&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;screen&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;server&amp;quot;&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;CSBlog:ThemeStyle&lt;/span&gt; &lt;span class="attr"&gt;Href&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;~/style/print.css&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Media&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;print&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;server&amp;quot;&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;CSBlog:ThemeStyle&lt;/span&gt; &lt;span class="attr"&gt;Href&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;~/style/CodeInsert.css&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Media&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;screen&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;server&amp;quot;&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;CSControl:SectionThemeConfigurationDataStyle&lt;/span&gt; &lt;span class="attr"&gt;StyleUrlProperty&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;secondaryCssUrl&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Media&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;screen&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;server&amp;quot;&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;CSBlog:ThemeStyle&lt;/span&gt; &lt;span class="attr"&gt;Href&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;~/style/DynamicStyle.aspx&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Media&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;screen&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;EnsureNotCachedOnPreview&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;true&amp;quot;&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;CSControl:Head&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;head&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;VB.NET&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;Private&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt; LookupSite()
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; StrSiteName &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; ObjSite &lt;span class="kwrd"&gt;As&lt;/span&gt; EntityClasses.SiteEntity

        StrSiteName = Request.Cookies(&lt;span class="str"&gt;&amp;quot;site&amp;quot;&lt;/span&gt;).Value

        mStrSiteName = StrSiteName
        ObjSite = &lt;span class="kwrd"&gt;New&lt;/span&gt; EntityClasses.SiteEntity(mStrSiteName)
        LitSiteName.Text = ObjSite.DisplayName
        &lt;span class="kwrd"&gt;Select&lt;/span&gt; &lt;span class="kwrd"&gt;Case&lt;/span&gt; Request.QueryString(&lt;span class="str"&gt;&amp;quot;type&amp;quot;&lt;/span&gt;)
            &lt;span class="kwrd"&gt;Case&lt;/span&gt; &lt;span class="str"&gt;&amp;quot;cr&amp;quot;&lt;/span&gt;
                mStrDocType = &lt;span class="str"&gt;&amp;quot;c&amp;quot;&lt;/span&gt;
                Page.Title = &lt;span class="str"&gt;&amp;quot;Creative Review - &amp;quot;&lt;/span&gt; &amp;amp; ObjSite.DisplayName
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Select&lt;/span&gt;

&lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt;
&lt;/pre&gt;&lt;pre class="csharpcode"&gt;C#&lt;br /&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; WriteAttribute(&lt;span class="kwrd"&gt;string&lt;/span&gt; name, &lt;span class="kwrd"&gt;string&lt;/span&gt; &lt;span class="kwrd"&gt;value&lt;/span&gt;, &lt;span class="kwrd"&gt;bool&lt;/span&gt; fEncode)
{
   &lt;span class="kwrd"&gt;if&lt;/span&gt; (name == &lt;span class="str"&gt;&amp;quot;action&amp;quot;&lt;/span&gt;)
      {
         &lt;span class="kwrd"&gt;if&lt;/span&gt; (HttpContext.Current.Items[&lt;span class="str"&gt;&amp;quot;RewriteFormHtmlTextWriter.ActionWritten&amp;quot;&lt;/span&gt;] == &lt;span class="kwrd"&gt;null&lt;/span&gt;)
            {
               &lt;span class="kwrd"&gt;value&lt;/span&gt; = CSContext.Current.RawUrl;
               HttpContext.Current.Items[&lt;span class="str"&gt;&amp;quot;RewriteFormHtmlTextWriter.ActionWritten&amp;quot;&lt;/span&gt;] = &lt;span class="kwrd"&gt;true&lt;/span&gt;;
             }
          }

     &lt;span class="kwrd"&gt;base&lt;/span&gt;.WriteAttribute(name, &lt;span class="kwrd"&gt;value&lt;/span&gt;, fEncode);
}&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&amp;nbsp;&lt;/pre&gt;&lt;img src="http://tlaughlin.pandorasystems.com/aggbug.aspx?PostID=341" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CBbB2MjzyB6-fHPHToOk7W5-5MU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CBbB2MjzyB6-fHPHToOk7W5-5MU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CBbB2MjzyB6-fHPHToOk7W5-5MU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CBbB2MjzyB6-fHPHToOk7W5-5MU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/tlaughlin/~4/Lx7-B2SP6ZM" height="1" width="1"/&gt;</description><category domain="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/tags/Community+Server/default.aspx">Community Server</category><category domain="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/tags/Windows+Live+Writer/default.aspx">Windows Live Writer</category><feedburner:origLink>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2007/09/14/community-server-blogs-and-code-inclusion.aspx</feedburner:origLink></item><item><title>Chameleon - A practical experience</title><link>http://feedproxy.google.com/~r/tlaughlin/~3/gVA_oowMf3U/chameleon-a-practical-experience.aspx</link><pubDate>Thu, 13 Sep 2007 17:58:00 GMT</pubDate><guid isPermaLink="false">102fc22c-0d21-436e-ad96-79ad0b051b3a:339</guid><dc:creator>tlaughlin</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/rsscomments.aspx?PostID=339</wfw:commentRss><comments>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2007/09/13/chameleon-a-practical-experience.aspx#comments</comments><description>&lt;p&gt;As I have blogged before how about&amp;nbsp;I am teaching myself how to use &lt;a href="http://communityserver.org/"&gt;Community Server 2007&lt;/a&gt; theme engine, Chameleon.&amp;nbsp; I will continue my series on build &lt;a href="http://tlaughlin.pandorasystems.com/tags/First+Chameleon+Theme/default.aspx" target="_blank"&gt;my first theme&lt;/a&gt;.&amp;nbsp; However today I decided I wanted to tweak a couple things on the &lt;a href="http://community.albinism.org"&gt;NOAH&lt;/a&gt; community site.&amp;nbsp;&lt;/p&gt;
 
&lt;p&gt;The site is using the the Lean and Green theme and running &lt;a href="http://communityserver.org/"&gt;Community Server 2007&lt;/a&gt;. Of course we made some color changes to lean and green,&amp;nbsp; So we are now lean and purple.&amp;nbsp; But up until today there have been no changes to the Chameleon parts of the site.&amp;nbsp; &lt;/p&gt;
 
&lt;p&gt;Today I had two goals.&lt;/p&gt;
 
&lt;ol&gt; 
&lt;li&gt;Reduce the over all length of the right sidebar in the forum section.&amp;nbsp; The&amp;nbsp;sidebar always exceeds the length of&amp;nbsp;the content and is not very visually appealing.&amp;nbsp; As well the&amp;nbsp;Active Users side bar&amp;nbsp;displayed 10 people, out community is small enough that only about 5 people are active on any&amp;nbsp;given day.&amp;nbsp; &lt;/li&gt;
 
&lt;li&gt;The next goal was to draw&amp;nbsp;attention to the fact&amp;nbsp;that we recently added blogging to the site.&amp;nbsp; To accomplish this I wanted to add a list of recent blog entries to the&amp;nbsp;right sidebar&amp;nbsp;in forum section.&lt;/li&gt;
&lt;/ol&gt;
 &lt;h4&gt;Goal 1&lt;/h4&gt; 
&lt;p&gt;So with my limited Chameleon jumped into the /themes/leanandgreen and looked for a place to begin.&amp;nbsp; Forums sound like the sound like the place, then forum.master looked like the next logical step.&amp;nbsp; I opened the file and was amazed at how little markup there is actually in the file, only 135 lines.&amp;nbsp; Okay now what can I find that looks like something I need; scroll down and find:&lt;/p&gt;
 &lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;CSForum:ThreadList&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;DisplayConditions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;CSControl:UserInRoleCondition&lt;/span&gt; &lt;span class="attr"&gt;Role&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Registered Users&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;UseAccessingUser&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;DisplayConditions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;QueryOverrides&lt;/span&gt; &lt;span class="attr"&gt;UserFilter&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;ShowTopicsParticipatedIn&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;GroupID&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;-1&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;ForumID&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;-1&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;PageSize&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;10&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;HeaderTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   5:  &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;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;CommonSidebarArea&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &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;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;CommonSidebarTopRound&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;t1&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;t2&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;t3&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;t4&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;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;pre&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;CSControl:SiteUrl&lt;/span&gt; &lt;span class="attr"&gt;UrlName&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;user_MyForums&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;ResourceName&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Utility_ForumAnchorType_MenuMyForums&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Tag&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;H4&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;CssClass&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;CommonSidebarHeader&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &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;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;CommonSidebarContent&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ul&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;CommonSidebarList&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;HeaderTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;CSForum:ThreadData&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;LinkTo&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Thread&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Property&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Subject&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;TruncateAt&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;22&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Tag&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Li&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;FooterTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ul&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  16:  &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;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  17:  &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;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;FooterTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;CSForum:ThreadList&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;This looks promising, looks like an ASP.NET repeater syntax with some extra stuff.&amp;nbsp; Let take it a part and see what we find.:&lt;/p&gt;

&lt;p&gt;Line 2: Display condition: Must be in role Registered Users, makes sense. Use Accessing user, remember that from theme attempt. So this will display if the current user is in the registered users group.&amp;nbsp; Basically will not display to anonymous users.&amp;nbsp; &lt;/p&gt;

&lt;p&gt;Line 3: QueryOverrides - &lt;span class="attr"&gt;UserFilter&lt;/span&gt; attribute = ShowTopicsParticipatedIn makes sense.&amp;nbsp; All the way on the right low and be hold PageSize = 10.&amp;nbsp; Well, that must be what I want to change. change to 5, reload. Yahoo, it worked.&amp;nbsp; As Staples says &amp;quot;That was easy&amp;quot;.&lt;/p&gt;

&lt;p&gt;Scanning down the page change some a few more PageSize=&amp;quot;10&amp;quot; to PageSize=&amp;quot;5&amp;quot; and I am done with Goal One. Quick sip of coffee and off to goal two.&lt;/p&gt;
&lt;h4&gt;Goal 2&lt;/h4&gt;
&lt;p&gt;Now to the more complicated task.&amp;nbsp; Getting a list of recent blog entries to show up in the forum side bar.&amp;nbsp; Given the experience above I determined the key areas I needed to change are:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;CSForum:ThreadList&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;QueryOverrides&lt;/span&gt; &lt;span class="attr"&gt;UserFilter&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;ShowTopicsParticipatedIn&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;GroupID&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;-1&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;ForumID&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;-1&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;PageSize&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;10&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;CSForum:ThreadData&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;LinkTo&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Thread&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Property&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Subject&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;TruncateAt&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;22&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Tag&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Li&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;So in my true programing style I ask, where can I copy and paste some code from to accomplish this task.&amp;nbsp; Only made sense to find a list of blog entries some where and copy out the elements I need.&amp;nbsp; So went into the /themes/leanandgreen/blogs folder and found postlist.aspx.&amp;nbsp; There where some examples there.&amp;nbsp; After cutting a pasting them together and a few trial and error rounds here is what&amp;nbsp;I came up with.&lt;/p&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;CSBlog:WeblogPostList&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;WeblogPostList1&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Server&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;QueryOverrides&lt;/span&gt; &lt;span class="attr"&gt;SortBy&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;MostRecent&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;SortOrder&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Descending&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;PageSize&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;5&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;IsAggregate&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;HeaderTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &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;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;CommonSidebarArea&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   5:  &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;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;CommonSidebarTopRound&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;t1&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;t2&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;t3&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;t4&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;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;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;CSControl:SiteUrl&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;SiteUrl1&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;UrlName&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;webloghome&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Parameter1&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;-1&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;ResourceName&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Weblog_RecentPostsFromForum&amp;quot;&lt;/span&gt;  &lt;span class="attr"&gt;Tag&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;H4&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;CssClass&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;CommonSidebarHeader&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   7:  &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;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;CommonSidebarContent&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ul&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;CommonSidebarList&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;HeaderTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;CSBlog:WeblogPostData&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;WeblogPostData5&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Property&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Subject&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;LinkTo&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Post&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;TruncateAt&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;22&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Tag&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Li&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ItemTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;FooterTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ul&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  15:  &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;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  16:  &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;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;FooterTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;CSBlog:WeblogPostList&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Some of these lessons learned here&amp;nbsp;quick worth knowing.&lt;/p&gt;

&lt;p&gt;Line 6 - SiteURL control is pretty cool.&amp;nbsp; It basically constructs a URL from the SiteUrls.config file.&amp;nbsp; The UrlName attribute must match a name attribute from the Url elements.&amp;nbsp; This basically derives a URL the include the anchor tag.&amp;nbsp; The second attribute of interest is ResourceName.&amp;nbsp; Since I had done no localization in ASP.NET this concept through me.&amp;nbsp; The long and short of it is the must match a name attribute from the resource element in the resources.xml file.&amp;nbsp; By the that file can be found in /Languages/en-US.&amp;nbsp; Obviously if your doing localization an other language may need to be edited.&amp;nbsp; I needed to add my own resource element since I wanted a different title.&amp;nbsp; The final element is Tag, what HTML do you want this wrapped in.&amp;nbsp; Wow, this is a great control and just make so much sense once you take it apart.&lt;/p&gt;

&lt;p&gt;Line 11: Straight forward, links to a post, TruncateAt=&amp;quot;22&amp;quot; truncates long titles to 22 Characters, way cool idea.&amp;nbsp; Again The Tag attribute makes bullet lists quick!&lt;/p&gt;

&lt;p&gt;In closing, this little exercise was great for me.&amp;nbsp; It opened my eyes to a lot of the concepts of Chameleon.&amp;nbsp; The more I work with Chameleon the more impressed I get. And yes this blog post took me way longer to write than the actual work.&amp;nbsp; &lt;/p&gt;

&lt;p&gt;Hope you find this information helpful and it makes your work in Chameleon that much easier.&amp;nbsp; Please don&amp;#39;t hesitate to give feedback or ask a question.&lt;/p&gt;
&lt;img src="http://tlaughlin.pandorasystems.com/aggbug.aspx?PostID=339" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/r08NKz4N1RtrjOVeKSXWftre1oA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/r08NKz4N1RtrjOVeKSXWftre1oA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/r08NKz4N1RtrjOVeKSXWftre1oA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/r08NKz4N1RtrjOVeKSXWftre1oA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/tlaughlin/~4/gVA_oowMf3U" height="1" width="1"/&gt;</description><category domain="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/tags/Community+Server/default.aspx">Community Server</category><category domain="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/tags/Chameleon/default.aspx">Chameleon</category><feedburner:origLink>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2007/09/13/chameleon-a-practical-experience.aspx</feedburner:origLink></item><item><title>Chameleon Control Documentation</title><link>http://feedproxy.google.com/~r/tlaughlin/~3/UfPzolpUzPM/chameleon-control-documentation.aspx</link><pubDate>Tue, 11 Sep 2007 18:05:43 GMT</pubDate><guid isPermaLink="false">102fc22c-0d21-436e-ad96-79ad0b051b3a:331</guid><dc:creator>tlaughlin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/rsscomments.aspx?PostID=331</wfw:commentRss><comments>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2007/09/11/chameleon-control-documentation.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://docs.communityserver.org/wiki/page.aspx/252/chameleon-control-documentation/"&gt;Community Server Documentation Chameleon Control Documentation&lt;/a&gt; -This documentation was posted today!&amp;nbsp; Timing is everything life.&amp;nbsp; I was looking for this last night while start my first theme, and was getting very frustrated!.&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;Thanks &lt;a href="http://telligent.com/"&gt;Telligent&lt;/a&gt; please keeps the docs coming.&amp;nbsp; I do &lt;a href="http://en.wikipedia.org/wiki/RTFM" target="_blank"&gt;RTFM&lt;/a&gt;. &lt;/p&gt;&lt;img src="http://tlaughlin.pandorasystems.com/aggbug.aspx?PostID=331" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JNmRdVuF7sZ0CgkTOHbmuMifamw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JNmRdVuF7sZ0CgkTOHbmuMifamw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JNmRdVuF7sZ0CgkTOHbmuMifamw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JNmRdVuF7sZ0CgkTOHbmuMifamw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/tlaughlin/~4/UfPzolpUzPM" height="1" width="1"/&gt;</description><category domain="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/tags/Community+Server/default.aspx">Community Server</category><category domain="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/tags/Chameleon/default.aspx">Chameleon</category><feedburner:origLink>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2007/09/11/chameleon-control-documentation.aspx</feedburner:origLink></item><item><title>First CS 2007 Theme - First Impressions</title><link>http://feedproxy.google.com/~r/tlaughlin/~3/gh73koo-bac/first-cs-2007-theme-first-impressions.aspx</link><pubDate>Tue, 11 Sep 2007 14:50:00 GMT</pubDate><guid isPermaLink="false">102fc22c-0d21-436e-ad96-79ad0b051b3a:330</guid><dc:creator>tlaughlin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/rsscomments.aspx?PostID=330</wfw:commentRss><comments>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2007/09/11/first-cs-2007-theme-first-impressions.aspx#comments</comments><description>&lt;p&gt;I have started working on my first &lt;a href="http://communityserver.org/"&gt;Community Server 2007&lt;/a&gt; theme. So this my first exposure to actually developing with Chameleon.&amp;nbsp; Here where my steps:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://communityserver.org/files/folders/documentation/entry580101.aspx" target="_blank"&gt;download the documentation&lt;/a&gt;.&lt;/li&gt; &lt;li&gt;Download the updated &lt;a href="http://communityserver.org/files/folders/themes/entry591715.aspx" target="_blank"&gt;basic theme&lt;/a&gt;.&lt;/li&gt; &lt;li&gt;Install the theme with &lt;a href="http://docs.communityserver.org/wiki/page.aspx/309/creating-a-new-theme-framework/" target="_blank"&gt;these steps&lt;/a&gt;.&amp;nbsp; Note this article assumes you are copying the default theme.&amp;nbsp; You will need to use Basic in place of Default as you work your way through.&amp;nbsp; I tried to use default, but the complexity of it was a big hurdle.&amp;nbsp; Thus Basic is much easier place to start.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;At this point I am still editing the Master.master file, but making progress.&amp;nbsp; I started by adding my style sheet to run after the CS style sheets so allow my styles to override on conflicts.&amp;nbsp; &lt;/p&gt;&lt;pre class="code"&gt;    &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;CSControl&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt;Head&lt;/span&gt; &lt;span&gt;runat&lt;/span&gt;&lt;span&gt;=&amp;quot;Server&amp;quot;&lt;/span&gt; &lt;span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;        &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;meta&lt;/span&gt; &lt;span&gt;http-equiv&lt;/span&gt;&lt;span&gt;=&amp;quot;Content-Type&amp;quot;&lt;/span&gt; &lt;span&gt;content&lt;/span&gt;&lt;span&gt;=&amp;quot;text/html; charset=UTF-8&amp;quot;&lt;/span&gt; &lt;span&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;        &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;CSControl&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt;Style&lt;/span&gt; &lt;span&gt;ID&lt;/span&gt;&lt;span&gt;=&amp;quot;Style1&amp;quot;&lt;/span&gt; &lt;span&gt;runat&lt;/span&gt;&lt;span&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span&gt;Href&lt;/span&gt;&lt;span&gt;=&amp;quot;~/themes/grumpfish/style/DynamicStyle.aspx&amp;quot;&lt;/span&gt; &lt;span&gt;EnsureNotCachedOnPreview&lt;/span&gt;&lt;span&gt;=&amp;quot;true&amp;quot;&lt;/span&gt; &lt;span&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;        &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;CSControl&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt;ThemeStyle&lt;/span&gt; &lt;span&gt;runat&lt;/span&gt;&lt;span&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span&gt;Href&lt;/span&gt;&lt;span&gt;=&amp;quot;~/style/layout4_setup.css&amp;quot;&lt;/span&gt; &lt;span&gt;media&lt;/span&gt;&lt;span&gt;=&amp;quot;screen&amp;quot;&lt;/span&gt; &lt;span&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;        &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;CSControl&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt;ThemeStyle&lt;/span&gt;  &lt;span&gt;runat&lt;/span&gt;&lt;span&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span&gt;Href&lt;/span&gt;&lt;span&gt;=&amp;quot;~/style/layout4_text.css&amp;quot;&lt;/span&gt; &lt;span&gt;media&lt;/span&gt;&lt;span&gt;=&amp;quot;screen&amp;quot;&lt;/span&gt; &lt;span&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;        &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;CSControl&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt;ThemeStyle&lt;/span&gt; &lt;span&gt;runat&lt;/span&gt;&lt;span&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span&gt;Href&lt;/span&gt;&lt;span&gt;=&amp;quot;~/style/screen.css&amp;quot;&lt;/span&gt; &lt;span&gt;media&lt;/span&gt;&lt;span&gt;=&amp;quot;screen&amp;quot;&lt;/span&gt; &lt;span&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;        &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;CSControl&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt;ThemeStyle&lt;/span&gt; &lt;span&gt;runat&lt;/span&gt;&lt;span&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span&gt;Href&lt;/span&gt;&lt;span&gt;=&amp;quot;~/style/print.css&amp;quot;&lt;/span&gt; &lt;span&gt;media&lt;/span&gt;&lt;span&gt;=&amp;quot;print&amp;quot;&lt;/span&gt; &lt;span&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;        &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;asp&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt;ContentPlaceHolder&lt;/span&gt; &lt;span&gt;runat&lt;/span&gt;&lt;span&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span&gt;id&lt;/span&gt;&lt;span&gt;=&amp;quot;headerRegion&amp;quot;&lt;/span&gt; &lt;span&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;    &lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;CSControl&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt;Head&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;Then I started adding my page headers.&amp;nbsp; I kept the original theme headers so I could use them to copy paste from as went.&amp;nbsp; When I have my headers more or less working I will obviously remove the basic theme headers.&amp;nbsp; Not much to look at, but is starting to morph into my design.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/WindowsLiveWriter/FirstCS2007ThemeFirstImpressions_97CD/image_1.png"&gt;&lt;img src="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/WindowsLiveWriter/FirstCS2007ThemeFirstImpressions_97CD/image_thumb_1.png" style="border:0px none;" alt="image" border="0" height="190" width="240" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;I will try post more as I proceed.&amp;nbsp; &lt;/p&gt;&lt;img src="http://tlaughlin.pandorasystems.com/aggbug.aspx?PostID=330" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bHCmvh-fF1Xx_PzelRIHWdafTVQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bHCmvh-fF1Xx_PzelRIHWdafTVQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/bHCmvh-fF1Xx_PzelRIHWdafTVQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bHCmvh-fF1Xx_PzelRIHWdafTVQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/tlaughlin/~4/gh73koo-bac" height="1" width="1"/&gt;</description><category domain="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/tags/Community+Server/default.aspx">Community Server</category><category domain="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/tags/Chameleon/default.aspx">Chameleon</category><category domain="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/tags/First+Chameleon+Theme/default.aspx">First Chameleon Theme</category><feedburner:origLink>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2007/09/11/first-cs-2007-theme-first-impressions.aspx</feedburner:origLink></item><item><title>Telligent - Graffiti</title><link>http://feedproxy.google.com/~r/tlaughlin/~3/hwHoSelUFXo/telligent-graffiti.aspx</link><pubDate>Wed, 29 Aug 2007 18:51:46 GMT</pubDate><guid isPermaLink="false">102fc22c-0d21-436e-ad96-79ad0b051b3a:317</guid><dc:creator>tlaughlin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/rsscomments.aspx?PostID=317</wfw:commentRss><comments>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2007/08/29/telligent-graffiti.aspx#comments</comments><description>&lt;p&gt;So for a month or two the &lt;a href="http://telligent.com/"&gt;Telligent&lt;/a&gt; folks have been hinting at their new product Graffiti.&amp;nbsp; This appear to be a venture into the CMS world which would great!&amp;nbsp; &lt;a href="http://communityserver.org/blogs/dailynews/archive/2007/08/29/sneaking-a-glimpse-of-graffiti.aspx" target="_blank"&gt;The video was released today&lt;/a&gt;.&amp;nbsp; Worth the watch, not much detail, but the little you do see looks cool.&lt;/p&gt; &lt;p&gt;A CMS and &lt;a href="http://communityserver.org/"&gt;Community Server&lt;/a&gt; would be a great combination.&amp;nbsp; Add to that they cool stuff in Community Server 2008 and social networking and &lt;a href="http://telligent.com/"&gt;Telligent&lt;/a&gt; is some one to watch.&amp;nbsp; When are you guys going public?&lt;/p&gt;&lt;img src="http://tlaughlin.pandorasystems.com/aggbug.aspx?PostID=317" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1Z9MJcH6bqOY7BLSqwBjF5_4boc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1Z9MJcH6bqOY7BLSqwBjF5_4boc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1Z9MJcH6bqOY7BLSqwBjF5_4boc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1Z9MJcH6bqOY7BLSqwBjF5_4boc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/tlaughlin/~4/hwHoSelUFXo" height="1" width="1"/&gt;</description><category domain="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/tags/Telligent/default.aspx">Telligent</category><category domain="http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/tags/Graffiti/default.aspx">Graffiti</category><feedburner:origLink>http://tlaughlin.pandorasystems.com/blogs/tlaughlin/archive/2007/08/29/telligent-graffiti.aspx</feedburner:origLink></item></channel></rss>
