<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blog.danbartels.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" 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/"><channel><title>Dan Bartels</title><link>http://blog.danbartels.com/default.aspx</link><description>Dan Bartels online engineering logbook...  Items that I find useful organized for my use, and indexed by google for yours.  Here you can find information about Microsoft C# programming, SQL SERVER 2005, Telligent Systems CommunityServer, Dot Net Nuke, Windows Vista / Longhorn, and just about anything else that would compel me to type.</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Adding a site wide widget</title><link>http://blog.danbartels.com/archive/2009/03/16/adding-a-site-wide-widget.aspx</link><pubDate>Tue, 17 Mar 2009 02:42:00 GMT</pubDate><guid isPermaLink="false">689e881c-f887-4caa-a108-8998bed89a27:689461</guid><dc:creator>DanB</dc:creator><slash:comments>0</slash:comments><comments>http://blog.danbartels.com/comments/689461.aspx</comments><wfw:commentRss>http://blog.danbartels.com/commentrss.aspx?PostID=689461</wfw:commentRss><description>&lt;P&gt;Starting with CS2008 telligent introduced the ContentFragementList as well as several out of the box widgets.&amp;nbsp; This is pretty much old news, but I thought it would be good to cover a very basic scenario...&lt;/P&gt;
&lt;P&gt;User story:&amp;nbsp; An admin of a site wants the ability to add a news flash from time to time, that appears on the right sidebar of all pages on their site..&lt;/P&gt;
&lt;P&gt;To accomplish this we will add a &amp;lt;CSControl:ContentFragmentList&amp;gt; to the master.Master in the left sidebar column (above the lcr content region)&lt;/P&gt;
&lt;P&gt;Add the following markup to the master.Master just about the LCR&amp;nbsp;&amp;lt;asp:ContentPlaceHolder&amp;gt;&amp;nbsp;: (Update the CssClasses as appropriate for your sidebar)&lt;/P&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;CSControl&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;:&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;ContentFragmentList&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;runat&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="server"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;Property&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="SiteSideWidgets"&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;ItemTemplate&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;CSControl&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;:&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;ContentFragment&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;runat&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="server"&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;LeaderTemplate&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;div&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;class&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="CommonContentBox"&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;CSControl&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;:&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;ContentFragmentData&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;Property&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="FragmentHeader"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;runat&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="server"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;Tag&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="H4"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;CssClass&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="CommonContentBoxHeader"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;/&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;div&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;class&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="CommonContentBoxContent"&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;LeaderTemplate&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;TrailerTemplate&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;div&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;CSControl&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;:&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;ContentFragmentData&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;ResourceName&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="ViewMore"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;LinkTo&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="More"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;runat&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="server"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;Tag&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="Div"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;CssClass&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;="CommonContentBoxFooter"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;/&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;div&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;TrailerTemplate&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;CSControl&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;:&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;ContentFragment&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;ItemTemplate&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;CSControl&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;:&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;ContentFragmentList&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;P&gt;To make this new ContentFragmentList accessable for editing via the control panel; edit your theme.config file and add the following to your &amp;lt;dynamicConfiguration&amp;gt; section.&lt;/P&gt;
&lt;P&gt;Assuming you are using something similar to the Hawaii theme, you will already have a &amp;lt;propertyGroup&amp;gt; called sidebar, so add the following &amp;lt;property&amp;gt; to it...&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;property&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;id&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;SiteSideWidgets&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;Text&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Site Widgets&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;applicationTypes&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Core&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;dataType&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Custom&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;controlType&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;CommunityServer.Controls.ContentFragmentsCustomControl, CommunityServer.Controls&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;BR&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;defaultValue&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;defaultValue&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;BR&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;property&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;P&gt;We will leave the default template blank, so when the time comes, the administrator can go into "Site Administration" under the Control Panel, to the "Site Content" / "Site Theme" tab, and in this case, you should see a "Sidebar" tab in the theme editor, and on that page, see the widget box to configure your new site wide widget panel.&lt;/P&gt;
&lt;P&gt;Now the site admin, can add a highighted post, or even a "Generic Content" widget, to type an HTML note, all users will see on all pages of the site.&lt;/P&gt;
&lt;P&gt;You can find much more detail about these controls at Ben Tied's post on the subject.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://getben.com/archive/2008/04/18/community-server-2008-how-to-support-widgets-in-a-custom-theme.aspx"&gt;http://getben.com/archive/2008/04/18/community-server-2008-how-to-support-widgets-in-a-custom-theme.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Note: even though you have defined this ContentFragmentList in a site wide location, because there are several different theme areas (a blog theme, and hub theme) you will need to add the &amp;lt;property&amp;gt; to a &amp;lt;DynamicConfiguration&amp;gt; &amp;lt;PropertyGroup&amp;gt; for each of these where you want the content to be visible.&amp;nbsp; It is not currently possible to have a ContentFragmentList share its configuration between different themes.&lt;/P&gt;&lt;img src="http://blog.danbartels.com/aggbug.aspx?PostID=689461" width="1" height="1"&gt;</description><category domain="http://blog.danbartels.com/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category><category domain="http://blog.danbartels.com/archive/tags/CS+2008/default.aspx">CS 2008</category></item><item><title>Installing telnet.exe on Windows 2008 Server</title><link>http://blog.danbartels.com/archive/2009/01/20/installing-telnet-exe-on-windows-2008-server.aspx</link><pubDate>Wed, 21 Jan 2009 04:18:00 GMT</pubDate><guid isPermaLink="false">689e881c-f887-4caa-a108-8998bed89a27:677368</guid><dc:creator>DanB</dc:creator><slash:comments>0</slash:comments><comments>http://blog.danbartels.com/comments/677368.aspx</comments><wfw:commentRss>http://blog.danbartels.com/commentrss.aspx?PostID=677368</wfw:commentRss><description>&lt;P&gt;Open a command window and run&lt;/P&gt;
&lt;P&gt;servermanagercmd -install telnet-client&lt;/P&gt;
&lt;P&gt;and your windows will install telnet for you.&lt;/P&gt;
&lt;P&gt;Dan&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blog.danbartels.com/aggbug.aspx?PostID=677368" width="1" height="1"&gt;</description><category domain="http://blog.danbartels.com/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category></item><item><title>Using the Telligent.Tasks service to send CommunityServer Emails</title><link>http://blog.danbartels.com/archive/2008/09/09/using-the-telligent-tasks-service-to-send-communityserver-emails.aspx</link><pubDate>Tue, 09 Sep 2008 15:27:00 GMT</pubDate><guid isPermaLink="false">689e881c-f887-4caa-a108-8998bed89a27:658524</guid><dc:creator>DanB</dc:creator><slash:comments>3</slash:comments><comments>http://blog.danbartels.com/comments/658524.aspx</comments><wfw:commentRss>http://blog.danbartels.com/commentrss.aspx?PostID=658524</wfw:commentRss><description>&lt;P&gt;Telligent has a Windows Service job which can be run to offload some of the Tasks / Job processing from your web server...&amp;nbsp; The most common configuration is to use the task server for running the Enterprise Search Indexing jobs, although you could use it to do your Search Barrel Indexing as well...&amp;nbsp; &lt;/P&gt;
&lt;P&gt;The second most common item is to use the tasks service to send outgoing emails...&amp;nbsp; Communityserver queues emails into the SQL database by default, and uses a "job" to send them.&lt;/P&gt;
&lt;P&gt;The key to using the Telligent tasks service for a job that normally runs under the web site&amp;nbsp;is setting up the CommunityServer "context" in the task service...&lt;/P&gt;
&lt;P&gt;This involves copying a few items your cs site folders, into the tasks service folder:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;languages folder (and its sub folders)&lt;/LI&gt;
&lt;LI&gt;siteurls.config&lt;/LI&gt;
&lt;LI&gt;communityserver.config&lt;/LI&gt;
&lt;LI&gt;connectionstrings.config&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;dlls&amp;nbsp;from your web/bin folder&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;It is not necessary to remove any tasks from your communityserver.config, as the tasks service loads its task list from the tasks.config file...&lt;/P&gt;
&lt;P&gt;Finally you need to edit the tasks.config to set up the cs context object for your site..&amp;nbsp; To the tasks.config file&lt;/P&gt;
&lt;P&gt;Add to the \tasks node:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;lt;Sites&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;add name="[AppName from your aspnet_Applications table]&amp;nbsp;" siteUrl="[site url without http://]" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/Sites&amp;gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;and&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;lt;Modules&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name="SiteSettingsModule" type="Telligent.Tasks.CommunityServer.SiteSettingsModule, Telligent.Tasks.CommunityServer" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name="ServiceTaskModule" type="Telligent.Tasks.ServiceTaskModule, Telligent.Tasks" /&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;/Modules&amp;gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;and then you should be able to configure the email task by adding a thread to the \tasks\threads node&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Thread minutes="5"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;task name = "Emails" type = "CommunityServer.MailRoom.Components.EmailJob, CommunityServer.MailGateway.MailRoom" enabled = "true" enableShutDown = "false" failureInterval = "1" numberOfTries = "10" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Thread&amp;gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;This will use the SMTP server set in your database (its set via the administration section of the CommunityServer Control Panel / Settings / Email Settings; and send your emails to the SMTP server every 5 minutes.&lt;/P&gt;
&lt;P&gt;Dan&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blog.danbartels.com/aggbug.aspx?PostID=658524" width="1" height="1"&gt;</description><enclosure url="http://blog.danbartels.com/attachment/658524.ashx" length="6108" type="application/x-zip-compressed" /><category domain="http://blog.danbartels.com/archive/tags/Community+Server/default.aspx">Community Server</category><category domain="http://blog.danbartels.com/archive/tags/CS+2007/default.aspx">CS 2007</category><category domain="http://blog.danbartels.com/archive/tags/CS+2008/default.aspx">CS 2008</category></item><item><title>Web browsers are good, everyone should have one</title><link>http://blog.danbartels.com/archive/2008/09/03/web-browsers-are-good-everyone-should-have-one.aspx</link><pubDate>Wed, 03 Sep 2008 20:05:00 GMT</pubDate><guid isPermaLink="false">689e881c-f887-4caa-a108-8998bed89a27:657009</guid><dc:creator>DanB</dc:creator><slash:comments>0</slash:comments><comments>http://blog.danbartels.com/comments/657009.aspx</comments><wfw:commentRss>http://blog.danbartels.com/commentrss.aspx?PostID=657009</wfw:commentRss><description>&lt;P&gt;&lt;SPAN class=mceItemHidden&gt;Yes, well now it seems like everyone is making one; and many users have two or three...&amp;nbsp; &lt;SPAN class=mceItemHiddenSpellWord&gt;Google&lt;/SPAN&gt; has launched Chrome &lt;/SPAN&gt;&lt;A href="http://www.google.com/chrome"&gt;&lt;SPAN class=mceItemHidden&gt;&lt;SPAN class=mceItemHiddenSpellWord&gt;http&lt;/SPAN&gt;://&lt;SPAN class=mceItemHiddenSpellWord&gt;www&lt;/SPAN&gt;.&lt;SPAN class=mceItemHiddenSpellWord&gt;google&lt;/SPAN&gt;.com/chrome&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN class=mceItemHidden&gt;&amp;nbsp;the latest development in the browser wars...&amp;nbsp; We have IE8 shaping up (currently in beta 2 form) and &lt;SPAN class=mceItemHiddenSpellWord&gt;Firefox&lt;/SPAN&gt; 3 now out; and what seemed like a "nice try" by apple to bring Safari to the Windows world...&amp;nbsp; (Thats all of course failing to mention the exploding mobile browser market)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=mceItemHidden&gt;It sure is hard to remember the good old days, when Microsoft crushed &lt;SPAN class=mceItemHiddenSpellWord&gt;netscape&lt;/SPAN&gt; and it looked like for better or worse there was only one browser that mattered.&amp;nbsp; All this competition is good, but it leaves the web developers in the middle, trying to support each browsers peculiarities in order to ensure site visitors a consistent experience.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Dan&lt;/P&gt;&lt;img src="http://blog.danbartels.com/aggbug.aspx?PostID=657009" width="1" height="1"&gt;</description></item><item><title>CS Membership for the Membershipless </title><link>http://blog.danbartels.com/archive/2008/06/10/cs-membership-for-the-membershipless.aspx</link><pubDate>Wed, 11 Jun 2008 00:57:00 GMT</pubDate><guid isPermaLink="false">689e881c-f887-4caa-a108-8998bed89a27:607142</guid><dc:creator>DanB</dc:creator><slash:comments>3</slash:comments><comments>http://blog.danbartels.com/comments/607142.aspx</comments><wfw:commentRss>http://blog.danbartels.com/commentrss.aspx?PostID=607142</wfw:commentRss><description>&lt;P&gt;From time to time I find myself pulling down a live Community Server database for testing.&amp;nbsp; When the database also has a remote membership system it can be very time consuming to try to download and configure both a CS database and a Membership system and keeping those databases in sync.&lt;/P&gt;
&lt;P&gt;I have created a SQL script which can create simple membership data for all the membership in a CS database.&amp;nbsp; You set the application name, and&amp;nbsp;script allows you to specify the name of one user which will be added to the system administrator role.&amp;nbsp; It will create the asp.net membership tables and entries as necessary, it auto assigns all other users to the everyone role; and sets any user passwords to "password" (obviously this is just for local testing).&lt;/P&gt;
&lt;P&gt;This script builds an ASP.NET 2.0 Membership system, for use by CS2007 and CS2008 databases.&lt;/P&gt;
&lt;P&gt;Dan&lt;/P&gt;&lt;img src="http://blog.danbartels.com/aggbug.aspx?PostID=607142" width="1" height="1"&gt;</description><enclosure url="http://blog.danbartels.com/attachment/607142.ashx" length="135800" type="application/octet-stream" /><category domain="http://blog.danbartels.com/archive/tags/Community+Server/default.aspx">Community Server</category><category domain="http://blog.danbartels.com/archive/tags/CS+2007/default.aspx">CS 2007</category><category domain="http://blog.danbartels.com/archive/tags/CS+2008/default.aspx">CS 2008</category><category domain="http://blog.danbartels.com/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>Integrating Graffiti Logins with an asp.net datastore (like CommunityServer)</title><link>http://blog.danbartels.com/archive/2008/05/05/integrating-graffiti-logins-with-an-asp-net-datastore-like-communityserver.aspx</link><pubDate>Mon, 05 May 2008 19:17:00 GMT</pubDate><guid isPermaLink="false">689e881c-f887-4caa-a108-8998bed89a27:569605</guid><dc:creator>DanB</dc:creator><slash:comments>3</slash:comments><comments>http://blog.danbartels.com/comments/569605.aspx</comments><wfw:commentRss>http://blog.danbartels.com/commentrss.aspx?PostID=569605</wfw:commentRss><description>&lt;P&gt;As announced way back at CSDC 07 (&lt;A href="http://kevinharder.com/blog/live-blogging-the-csdc-part-3/"&gt;&lt;SPAN class=mceItemHidden&gt;&lt;SPAN class=mceItemHiddenSpellWord&gt;http&lt;/SPAN&gt;://&lt;SPAN class=mceItemHiddenSpellWord&gt;kevinharder&lt;/SPAN&gt;.com/&lt;SPAN class=mceItemHiddenSpellWord&gt;blog&lt;/SPAN&gt;/live-&lt;SPAN class=mceItemHiddenSpellWord&gt;blogging&lt;/SPAN&gt;-the-&lt;SPAN class=mceItemHiddenSpellWord&gt;csdc&lt;/SPAN&gt;-part-3/&lt;/SPAN&gt;&lt;/A&gt;) graffiti was designed to be able to integrate directly with an existing asp.net membership store...&amp;nbsp; the key is in the configuration....&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=mceItemHidden&gt;So first thing is to get the membership set up...&amp;nbsp; this requires several changes to your web.&lt;SPAN class=mceItemHiddenSpellWord&gt;config&lt;/SPAN&gt; on your graffiti site...&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=mceItemHidden&gt;You will need a connection string in the &amp;lt;&lt;SPAN class=mceItemHiddenSpellWord&gt;ConnectionStrings&lt;/SPAN&gt;&amp;gt; section pointing to the database which has your asp.net &lt;SPAN class=mceItemHiddenSpellWord&gt;auth&lt;/SPAN&gt; tables.. it will look something like this...&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;add&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;name&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;SPAN class=mceItemHidden&gt;Graffiti_&lt;SPAN class=mceItemHiddenSpellWord&gt;ASPNetMembership&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;SPAN class=mceItemHidden&gt;&lt;SPAN class=mceItemHiddenSpellWord&gt;connectionString&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;SPAN class=mceItemHidden&gt;server=(local);&lt;SPAN class=mceItemHiddenSpellWord&gt;uid&lt;/SPAN&gt;=;&lt;SPAN class=mceItemHiddenSpellWord&gt;pwd&lt;/SPAN&gt;=;Trusted_Connection=yes;database=&lt;SPAN class=mceItemHiddenSpellWord&gt;CommunityServer&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; /&amp;gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;SPAN class=mceItemHidden&gt;Since I am using an active community, I will go to the CS site and create the default graffiti roles...&amp;nbsp; (&lt;SPAN class=mceItemHiddenSpellWord&gt;gAdmin&lt;/SPAN&gt;, &lt;SPAN class=mceItemHiddenSpellWord&gt;gManager&lt;/SPAN&gt;, and &lt;SPAN class=mceItemHiddenSpellWord&gt;gContributor&lt;/SPAN&gt;, and add you current &lt;SPAN class=mceItemHiddenSpellWord&gt;admin&lt;/SPAN&gt; to the &lt;SPAN class=mceItemHiddenSpellWord&gt;gAdmin&lt;/SPAN&gt; role)... Otherwise you need to run the script "Graffiti_&lt;SPAN class=mceItemHiddenSpellWord&gt;ASPNet&lt;/SPAN&gt;_Membership_Provider_Data.&lt;SPAN class=mceItemHiddenSpellWord&gt;sql&lt;/SPAN&gt;"; this script will try to create a new application so you really only want to run portions of it, ensuring the correct &lt;SPAN class=mceItemHiddenSpellWord&gt;applicationid&lt;/SPAN&gt; &lt;SPAN class=mceItemHiddenSpellWord&gt;guid&lt;/SPAN&gt; in order to have all logins under a single &lt;SPAN class=mceItemHiddenSpellWord&gt;aspnet&lt;/SPAN&gt; forms &lt;SPAN class=mceItemHiddenSpellWord&gt;auth&lt;/SPAN&gt; "application".&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Next you need to update the "User Provider".&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;add&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;key&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;SPAN class=mceItemHidden&gt;Graffiti::Users::&lt;SPAN class=mceItemHiddenSpellWord&gt;IGraffitiUserController&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;value&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; =&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;SPAN class=mceItemHidden&gt;Graffiti.Core.&lt;SPAN class=mceItemHiddenSpellWord&gt;ASPNetGraffitiUserController&lt;/SPAN&gt;, Graffiti.Core&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;/&amp;gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;SPAN class=mceItemHidden&gt;and finally uncomment the included &amp;lt;membership /&amp;gt;, &amp;lt;&lt;SPAN class=mceItemHiddenSpellWord&gt;roleManager&lt;/SPAN&gt; /&amp;gt; and &amp;lt;profile /&amp;gt; sections of the web.&lt;SPAN class=mceItemHiddenSpellWord&gt;config&lt;/SPAN&gt;; be sure to update the &lt;SPAN class=mceItemHiddenSpellWord&gt;applicationName&lt;/SPAN&gt; property of each by default graffiti uses "/graffiti" for the application name, by default cs uses "&lt;SPAN class=mceItemHiddenSpellWord&gt;dev&lt;/SPAN&gt;"&amp;nbsp; if you want to use existing cs users, you will need the application name that exists in your &lt;SPAN class=mceItemHiddenSpellWord&gt;aspnet&lt;/SPAN&gt;_&lt;SPAN class=mceItemHiddenSpellWord&gt;Applicaitons&lt;/SPAN&gt; table.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=mceItemHidden&gt;Thats it...&amp;nbsp; you should be able to log into graffiti using your existing cs users...&amp;nbsp; but wait, theres more...&amp;nbsp; we can now do shared authentication / single &lt;SPAN class=mceItemHiddenSpellWord&gt;signon&lt;/SPAN&gt; with a few more steps...&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=mceItemHidden&gt;First, you will need to specify validation and decryption keys for all the applications you want to share logins... this goes in the web.&lt;SPAN class=mceItemHiddenSpellWord&gt;config&lt;/SPAN&gt; under &amp;lt;system.web&amp;gt; (edit the &lt;SPAN class=mceItemHiddenSpellWord&gt;guids&lt;/SPAN&gt; a bit for security)&lt;/SPAN&gt;&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;SPAN class=mceItemHidden&gt;&lt;SPAN class=mceItemHiddenSpellWord&gt;machineKey&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;SPAN class=mceItemHidden&gt;&lt;SPAN class=mceItemHiddenSpellWord&gt;validationKey&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;F090935F6E49C2C797F69BBAAD8402ABD2EE0B667A8B4&lt;BR&gt;AD972A119482D15A4127461DB1DC347C1A63AE5F1CCFAACFF1B72A7F0A281B&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;SPAN class=mceItemHidden&gt;&lt;SPAN class=mceItemHiddenSpellWord&gt;decryptionKey&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ABAA84D7EC4BB56D75D217CECFFB9628809BDB8BF91CFCD64568A145BE59719F&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;validation&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;SHA1&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;decryption&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;AES&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;/&amp;gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;*Note: if you are updating an existing applicaitons machine keys, you should really change the name of the "auth cookie" to prevent existing persisted logins from getting a decryption exception.&amp;nbsp; This will also force all users to re-login...&lt;/P&gt;
&lt;P&gt;As infered by the note above, we have to use the same cookie names for our applications... this is done by editing the &amp;lt;authentication&amp;gt; section of the web.config (I typically just link to the existing communityserver cookie, by changing the graffiti web.config as below)&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;authentication&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;mode&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Forms&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;BR&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;forms&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;name&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;.CommunityServer&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;protection&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;All&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;timeout&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;60000&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;loginUrl&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;~/login/&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;slidingExpiration&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;true&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;/&amp;gt;&lt;BR&gt;&amp;lt;/&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;authentication&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;*Note: you could redirect all users to the cs login page by providing an absolute path to the login url, the page will redirect back to the graffiti site properly; this also has the advantage of leveraging the CS registration forms and process.&lt;/P&gt;
&lt;P&gt;and finally we need to use the same cookie name for the &amp;lt;roleManager&amp;gt; by editing the cookieName property...&amp;nbsp; again I set the property in graffiti equal to the default cs value ".CSRoles" (without this step, your username will show in graffiti, but if you didn't use the graffiti login form, you would not have any more permissions on the site than anonymous, until you re-logged in).&lt;/P&gt;
&lt;P&gt;A few items of interest...&amp;nbsp; at this time it appears that graffiti lowercases all the user names, and uses that for the "ProperName" so CS users without an extended attribute "ProperName" will only see their lowercased user names, a CSModule would be a good way to keep display name in sync with this "ProperName" field.&amp;nbsp; Of course you will have to use the CS membership system to edit your users; but it appears that graffitis "people" page can only be used to edit users in the local graffiti database anyways (likely the only user you will see in graffiti is admin).&lt;/P&gt;
&lt;P&gt;Dan&lt;/P&gt;&lt;img src="http://blog.danbartels.com/aggbug.aspx?PostID=569605" width="1" height="1"&gt;</description><category domain="http://blog.danbartels.com/archive/tags/Community+Server/default.aspx">Community Server</category><category domain="http://blog.danbartels.com/archive/tags/Graffiti/default.aspx">Graffiti</category><category domain="http://blog.danbartels.com/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>CS REST in Javascript</title><link>http://blog.danbartels.com/archive/2008/04/30/cs-rest-in-javascript.aspx</link><pubDate>Thu, 01 May 2008 03:12:00 GMT</pubDate><guid isPermaLink="false">689e881c-f887-4caa-a108-8998bed89a27:564050</guid><dc:creator>DanB</dc:creator><slash:comments>0</slash:comments><comments>http://blog.danbartels.com/comments/564050.aspx</comments><wfw:commentRss>http://blog.danbartels.com/commentrss.aspx?PostID=564050</wfw:commentRss><description>&lt;P&gt;CS Rest Endpoints return XML, but JSON is much cooler for working with the data in javascript, you can get the results back in JSON and actually iterate through collections and such...&amp;nbsp; To convert the data to JSON, in leu of server calls to do this, Thomas Frank has posted a nice JS library to pull this off...&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.thomasfrank.se/xml_to_json.html"&gt;http://www.thomasfrank.se/xml_to_json.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Dan&lt;/P&gt;&lt;img src="http://blog.danbartels.com/aggbug.aspx?PostID=564050" width="1" height="1"&gt;</description><category domain="http://blog.danbartels.com/archive/tags/Community+Server/default.aspx">Community Server</category><category domain="http://blog.danbartels.com/archive/tags/REST/default.aspx">REST</category><category domain="http://blog.danbartels.com/archive/tags/CS+API/default.aspx">CS API</category><category domain="http://blog.danbartels.com/archive/tags/CS+2008/default.aspx">CS 2008</category></item><item><title>Color outside the lines with the CS API</title><link>http://blog.danbartels.com/archive/2008/04/30/color-outside-the-lines-with-the-cs-api.aspx</link><pubDate>Wed, 30 Apr 2008 21:31:00 GMT</pubDate><guid isPermaLink="false">689e881c-f887-4caa-a108-8998bed89a27:563766</guid><dc:creator>DanB</dc:creator><slash:comments>0</slash:comments><comments>http://blog.danbartels.com/comments/563766.aspx</comments><wfw:commentRss>http://blog.danbartels.com/commentrss.aspx?PostID=563766</wfw:commentRss><description>&lt;P&gt;With the release of CS2008, we have released the REST webservice code for the first time...&amp;nbsp; This webservice has a client API which is used by the server, and actually is in the bin folder of your CS site...&amp;nbsp; CommunityServer.WebServices.dll.&amp;nbsp; Referencing this file in a project will allow you to do things like.&lt;/P&gt;
&lt;P&gt;Service rest = new Service("&lt;A href="http://localhost/cs"&gt;http://localhost/cs&lt;/A&gt;");&lt;BR&gt;List&amp;lt;BlogGroup&amp;gt; blogGroups = rest.Blogs.GetBlogGroups();&lt;/P&gt;
&lt;P&gt;This is all being documented here at &lt;A href="http://api.communityserver.org/"&gt;http://api.communityserver.org&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;There are some places however, where the client api might not yet have an implementation for accessing endpoints on the server.&amp;nbsp; For those cases I wrapped and exposed the communications calls in the dll.&amp;nbsp; Allowing for calls like.&lt;/P&gt;
&lt;P&gt;ManualRequest rest = new ManualRequest("&lt;A href="http://localhost/cs"&gt;http://localhost/cs&lt;/A&gt;");&lt;BR&gt;BlogGroupListSerialized blogGroupListSerialized = &lt;BR&gt;rest.Get(rest.Urls.BlogGroupsUrl()).GetResponseObject&amp;lt;BlogGroupListSerialized&amp;gt;();&lt;/P&gt;
&lt;P&gt;The methods return strings, which are XML..&amp;nbsp; So you can use the GetResponseObject to get the related Type, or just use XPath and open the doc as native XML.&lt;/P&gt;
&lt;P&gt;A place where we are missing some client api methods for example are things like post extedned attributes or ratings...&lt;/P&gt;
&lt;P&gt;RatingListSerialized ratingListSerialized = rest.Get(rest.Urls.BlogPostRatingUrl(blogId, blogPostId));&lt;/P&gt;
&lt;P&gt;or&lt;/P&gt;
&lt;P&gt;//rate a post with 4 stars&lt;BR&gt;&lt;FONT color=#0000ff size=2&gt;int &lt;/FONT&gt;&lt;FONT size=2&gt;responseRating = rest.Put(rest.Urls.BlogPostRatingUrl(blogId, blogPostId, username), "&amp;lt;int&amp;gt;4&amp;lt;/int&amp;gt;");&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;Extended attributes are availabe for "Section" objects, "Post" objects and "User" objects (except for posts in a group / hub)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;endpoint urls would be like&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;/api/blogs.ashx/blogs/{blogid}/attributes returns an ExtendedAttributeListSerialized object which is a list of ExtendedAttributeSerialized objects (Supports GET HEAD and POST)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;ExtendedAttributeListSerialized attributeListSerialized = rest.Get("&lt;A href="http://localhost/cs/api/blogs.ashx/blogs/10/attributes"&gt;http://localhost/cs/api/blogs.ashx/blogs/10/attributes&lt;/A&gt;");&lt;/P&gt;
&lt;P&gt;or&lt;/P&gt;
&lt;P&gt;/api/blogs.ashx/blogs/{blogid}/attributes/{attribute name} which returns a &amp;lt;string&amp;gt; (Supports GET HEAD PUT and DELETE)&lt;/P&gt;
&lt;P&gt;string attribute = rest.Get("&lt;A href="http://localhost/cs/api/blogs.ashx/blogs/10/attributes/abouttitle"&gt;http://localhost/cs/api/blogs.ashx/blogs/10/attributes/abouttitle&lt;/A&gt;");&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;Only site admins can access extended attribute urls. You PUT and POST XML encoded strings...&amp;nbsp; like &amp;lt;string&amp;gt;Hello World&amp;lt;/string&amp;gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;A compiled DLL (DanBartels.CS.REST.Dll) is included as well as the source and some basic unit tests...&amp;nbsp; Assuming you have your CS install available with the sample data at &lt;A href="http://localhost/cs"&gt;http://localhost/cs&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Dan&lt;/P&gt;&lt;img src="http://blog.danbartels.com/aggbug.aspx?PostID=563766" width="1" height="1"&gt;</description><enclosure url="http://blog.danbartels.com/attachment/563766.ashx" length="480146" type="application/x-zip-compressed" /><category domain="http://blog.danbartels.com/archive/tags/Community+Server/default.aspx">Community Server</category><category domain="http://blog.danbartels.com/archive/tags/REST/default.aspx">REST</category><category domain="http://blog.danbartels.com/archive/tags/CS+API/default.aspx">CS API</category><category domain="http://blog.danbartels.com/archive/tags/CS+2008/default.aspx">CS 2008</category></item><item><title>Online Music - Great Free Service - Pandora.com</title><link>http://blog.danbartels.com/archive/2008/02/26/online-music-great-free-service-pandora-com.aspx</link><pubDate>Tue, 26 Feb 2008 14:52:00 GMT</pubDate><guid isPermaLink="false">689e881c-f887-4caa-a108-8998bed89a27:493807</guid><dc:creator>DanB</dc:creator><slash:comments>5</slash:comments><comments>http://blog.danbartels.com/comments/493807.aspx</comments><wfw:commentRss>http://blog.danbartels.com/commentrss.aspx?PostID=493807</wfw:commentRss><description>&lt;P&gt;&lt;SPAN class=mceItemHidden&gt;I have enjoyed streaming a vast variety of Internet music for some time...&amp;nbsp; I like the ability to discover new artists and music as well as a nearly infinite selection of styles and artists to suit my mood.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=mceItemHidden&gt;I have to say of all of the services I have tried, Yahoo music did the best.&amp;nbsp; They had a decent selection of &lt;SPAN class=mceItemHiddenSpellWord&gt;downloadable&lt;/SPAN&gt; music, but even more content they could stream to you, and I made great use of their "Artist Fan Station" Feature...&amp;nbsp; which let you browse to an artist, and hear similar music, either by that artists or by other artists which were rated highly by people who liked that artist.&amp;nbsp; They made extensive use of their music and artist rating systems to &lt;SPAN class=mceItemHiddenSpellWord&gt;datamine&lt;/SPAN&gt; information, the result was very good;&amp;nbsp; Their client software, Vista, and then X64 support was terrible...&amp;nbsp; and left me searching for a new music service..&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=mceItemHidden&gt;So I tried URGE, Microsoft's answer... well it worked in X64 and supported plays for sure; even used the same back end data of Yahoo music for the library, but their client was dumb, dumb, dumb...&amp;nbsp; a few celebrity &lt;SPAN class=mceItemHiddenSpellWord&gt;raido&lt;/SPAN&gt; stations, bad "similar artist" selections, no access to music that wasn't &lt;SPAN class=mceItemHiddenSpellWord&gt;downloadable&lt;/SPAN&gt;; which cut the artist and song selection way down for me...&amp;nbsp; and ultimately I couldn't find any music I wanted to listen to that I didn't already own.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=mceItemHidden&gt;Then came &lt;SPAN class=mceItemHiddenSpellWord&gt;Zune&lt;/SPAN&gt;...&amp;nbsp; Well its better, but again their UI is frustrating, you cant really discover anything, unless its new and advertised to you "Clear Channel Style"...&amp;nbsp; So much for broadening your music tastes, or discovering new artists..&amp;nbsp; and they seemed to do away with the idea of radio stations all together....&amp;nbsp; And ratings, well I guess I wast sophisticated enough to rate my own music...&amp;nbsp; So there were starts, but I don't know where they came from...&amp;nbsp; The future &lt;SPAN class=mceItemHiddenSpellWord&gt;ui&lt;/SPAN&gt;, got worse not better, it got even harder to make your own &lt;SPAN class=mceItemHiddenSpellWord&gt;playlists&lt;/SPAN&gt;, apparently if they weren't going to do "stations" then neither should you...&amp;nbsp; If this wasn't pretty much the only way to manage music on my mp3 player, it would be so &lt;SPAN class=mceItemHiddenSpellWord&gt;uninstalled&lt;/SPAN&gt;. (just waiting for the USB Mass Storage Driver for the &lt;SPAN class=mceItemHiddenSpellWord&gt;Zune&lt;/SPAN&gt;, so it will show up as a drive letter, no wonder why Microsoft doesn't want one out there)...&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=mceItemHidden&gt;Then relief finally came my way...&amp;nbsp; A really nice radio station only type of service...&amp;nbsp; &lt;/SPAN&gt;&lt;A class="" href="http://www.pandora.com/"&gt;&lt;SPAN class=mceItemHidden&gt;&lt;SPAN class=mceItemHiddenSpellWord&gt;Pandor&lt;/SPAN&gt;&lt;/SPAN&gt;a.com&lt;/A&gt;...&amp;nbsp; O and its free...&amp;nbsp; You set up your own stations based on artists or songs you like, and it streams away; the music index is based off the&lt;A class="" href="http://www.pandora.com/corporate/mgp"&gt; Music Genome Project&lt;/A&gt;&lt;SPAN class=mceItemHidden&gt;&amp;nbsp;a database of music based on musical styles and characteristic (not marketing and advertising&lt;/SPAN&gt;&amp;nbsp;departments)...&amp;nbsp;&amp;nbsp;their client is&lt;SPAN class=mceItemHidden&gt;&amp;nbsp;flash based, and so it runs in your browser...&amp;nbsp; if you find a new song or artist, you can just bookmark it, and head over to Amazon and pickup the Mp3's ... no &lt;SPAN class=mceItemHiddenSpellWord&gt;drm&lt;/SPAN&gt;, no hassle, no subscription, and off you go...&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=mceItemHidden&gt;If you haven't tried &lt;/SPAN&gt;&lt;A class="" href="http://www.pandora.com/"&gt;&lt;SPAN class=mceItemHidden&gt;&lt;SPAN class=mceItemHiddenSpellWord&gt;Pandor&lt;/SPAN&gt;&lt;/SPAN&gt;a&lt;/A&gt;&lt;SPAN class=mceItemHidden&gt;, I strongly recommend you check it out.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=mceItemHidden&gt;Thanks for the tip&amp;nbsp;&lt;A class="" href="http://wyattpreul.com/"&gt;Wyatt&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Dan&lt;/P&gt;&lt;img src="http://blog.danbartels.com/aggbug.aspx?PostID=493807" width="1" height="1"&gt;</description><category domain="http://blog.danbartels.com/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blog.danbartels.com/archive/tags/Yahoo+Music/default.aspx">Yahoo Music</category><category domain="http://blog.danbartels.com/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blog.danbartels.com/archive/tags/Zune/default.aspx">Zune</category><category domain="http://blog.danbartels.com/archive/tags/MP3/default.aspx">MP3</category><category domain="http://blog.danbartels.com/archive/tags/Pandora/default.aspx">Pandora</category><category domain="http://blog.danbartels.com/archive/tags/Music/default.aspx">Music</category></item><item><title>Improve Vista Performance</title><link>http://blog.danbartels.com/archive/2008/02/26/improve-vista-performance.aspx</link><pubDate>Tue, 26 Feb 2008 14:41:00 GMT</pubDate><guid isPermaLink="false">689e881c-f887-4caa-a108-8998bed89a27:493806</guid><dc:creator>DanB</dc:creator><slash:comments>1</slash:comments><comments>http://blog.danbartels.com/comments/493806.aspx</comments><wfw:commentRss>http://blog.danbartels.com/commentrss.aspx?PostID=493806</wfw:commentRss><description>&lt;P&gt;&lt;SPAN class=mceItemHidden&gt;Ran across these couple of tips on the Internet the other day, and thought I would pass them along...&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=mceItemHidden&gt;First, my own tip, make sure you have the latest video driver installed...&amp;nbsp; chances are pretty good that your video card is the lowest&amp;nbsp; ranked item in your preformance index, its amazing what a new driver can do for the performance and stability of your system (not always a good thing, but in general its a good idea to keep your driver updated).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Second, disk per&lt;SPAN class=mceItemHidden&gt;&lt;SPAN class=mceItemHiddenSpellWord&gt;formance&lt;/SPAN&gt;...&amp;nbsp; Vista has advanced output caching support for SATA drives...&amp;nbsp; if you have a batter backup, or are on a laptop...&amp;nbsp; Go into device manager, and right click on your disks, select properties, then on the policies tab, mark the "Enable Write Caching" and "Enable Advanced Per&lt;SPAN class=mceItemHiddenSpellWord&gt;formance&lt;/SPAN&gt;" options.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=mceItemHidden&gt;Lastly, I would recommend disabling the network "auto tuning" feature, its supposed to dynamically adjust the packet size for network performance, but lets face it, our home networks are not what this was targeted at.&amp;nbsp; Its actually hurting your network performance, by trying to tune it...&amp;nbsp; Open an administrative command prompt, and type....&amp;nbsp;&amp;nbsp; "&lt;SPAN class=mceItemHiddenSpellWord&gt;netsh&lt;/SPAN&gt; int &lt;SPAN class=mceItemHiddenSpellWord&gt;tcp&lt;/SPAN&gt; set global &lt;SPAN class=mceItemHiddenSpellWord&gt;autotuninglevel&lt;/SPAN&gt;=normal"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=mceItemHidden&gt;The attached article also talks about how to disable UAP, the &lt;SPAN class=mceItemHiddenSpellWord&gt;popup&lt;/SPAN&gt; asking for administrative permission when you do a task that requires it...&amp;nbsp; I run with UAP enabled, but I realize most people despise it...&amp;nbsp; There is a nice tool out there...&amp;nbsp; Tweak UAC to help kill the feature, if you are in need of that, this should help you get it done (&lt;/SPAN&gt;&lt;A href="http://www.tweak-uac.com/"&gt;&lt;SPAN class=mceItemHidden&gt;&lt;SPAN class=mceItemHiddenSpellWord&gt;http&lt;/SPAN&gt;://&lt;SPAN class=mceItemHiddenSpellWord&gt;www&lt;/SPAN&gt;.tweak-&lt;SPAN class=mceItemHiddenSpellWord&gt;uac&lt;/SPAN&gt;.com/&lt;/SPAN&gt;&lt;/A&gt;)&lt;/P&gt;
&lt;P&gt;Dan&lt;/P&gt;
&lt;P&gt;&lt;A href="http://vista.blorge.com/2008/02/25/how-to-fix-three-broken-features-of-vista/"&gt;&lt;SPAN class=mceItemHidden&gt;&lt;SPAN class=mceItemHiddenSpellWord&gt;http&lt;/SPAN&gt;://vista.&lt;SPAN class=mceItemHiddenSpellWord&gt;blorge&lt;/SPAN&gt;.com/2008/02/25/how-to-fix-three-broken-features-of-vista/&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blog.danbartels.com/aggbug.aspx?PostID=493806" width="1" height="1"&gt;</description><category domain="http://blog.danbartels.com/archive/tags/Windows+Vista+_2800_Longhorn_2900_/default.aspx">Windows Vista (Longhorn)</category><category domain="http://blog.danbartels.com/archive/tags/x64+-+64+bit+Windows/default.aspx">x64 - 64 bit Windows</category><category domain="http://blog.danbartels.com/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blog.danbartels.com/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category></item><item><title>ScriptResource.axd Time Sensative</title><link>http://blog.danbartels.com/archive/2008/01/24/scriptresource-axd-time-sensative.aspx</link><pubDate>Thu, 24 Jan 2008 19:02:00 GMT</pubDate><guid isPermaLink="false">689e881c-f887-4caa-a108-8998bed89a27:493805</guid><dc:creator>DanB</dc:creator><slash:comments>0</slash:comments><comments>http://blog.danbartels.com/comments/493805.aspx</comments><wfw:commentRss>http://blog.danbartels.com/commentrss.aspx?PostID=493805</wfw:commentRss><description>&lt;P&gt;&lt;SPAN class=mceItemHidden&gt;In CS 2008 we have our &lt;SPAN class=mceItemHiddenSpellWord&gt;javascript&lt;/SPAN&gt; files linked through the &lt;SPAN class=mceItemHiddenSpellWord&gt;scriptresource&lt;/SPAN&gt;.&lt;SPAN class=mceItemHiddenSpellWord&gt;axd&lt;/SPAN&gt; handler.&amp;nbsp; This is very similar to the &lt;SPAN class=mceItemHiddenSpellWord&gt;webresource&lt;/SPAN&gt;.&lt;SPAN class=mceItemHiddenSpellWord&gt;axd&lt;/SPAN&gt; handler in that it serves content from within a &lt;SPAN class=mceItemHiddenSpellWord&gt;dll&lt;/SPAN&gt;.&amp;nbsp; The gotcha is that the &lt;SPAN class=mceItemHiddenSpellWord&gt;scriptresource&lt;/SPAN&gt; handler will throw an exception if the &lt;SPAN class=mceItemHiddenSpellWord&gt;timestamp&lt;/SPAN&gt; of the assembly is newer than the current server time...&amp;nbsp; This is not timezone aware.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=mceItemHidden&gt;The result...&amp;nbsp; Your in central time, you compile CS, and deploy it to your server in say pacific time, and &lt;SPAN class=mceItemHiddenSpellWord&gt;vola&lt;/SPAN&gt;...&amp;nbsp; you get &lt;SPAN class=mceItemHiddenSpellWord&gt;javascript&lt;/SPAN&gt; errors....&amp;nbsp; why?&amp;nbsp; well the &lt;SPAN class=mceItemHiddenSpellWord&gt;scriptresource&lt;/SPAN&gt;.&lt;SPAN class=mceItemHiddenSpellWord&gt;axd&lt;/SPAN&gt; will throw an exception because it thinks the &lt;SPAN class=mceItemHiddenSpellWord&gt;dll&lt;/SPAN&gt; is invalid because its &lt;SPAN class=mceItemHiddenSpellWord&gt;timestamp&lt;/SPAN&gt; is newer than the server time....&amp;nbsp; the error magically goes away in two hours, because now the server thinks the &lt;SPAN class=mceItemHiddenSpellWord&gt;dll&lt;/SPAN&gt; time is &lt;SPAN class=mceItemHiddenSpellWord&gt;ok&lt;/SPAN&gt;...&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=mceItemHidden&gt;Its important to note, this is not a CS bug, but rather how the Microsoft script handler &lt;SPAN class=mceItemHiddenSpellWord&gt;scriptresource&lt;/SPAN&gt;.&lt;SPAN class=mceItemHiddenSpellWord&gt;axd&lt;/SPAN&gt; is coded.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;To work around the issue, set the time on your development workstation to the same time as your server, before you build.&lt;/P&gt;
&lt;P&gt;Dan&lt;/P&gt;&lt;img src="http://blog.danbartels.com/aggbug.aspx?PostID=493805" width="1" height="1"&gt;</description><category domain="http://blog.danbartels.com/archive/tags/Community+Server/default.aspx">Community Server</category><category domain="http://blog.danbartels.com/archive/tags/Microsoft/default.aspx">Microsoft</category></item><item><title>Windows Vista SP1 RC1 Released</title><link>http://blog.danbartels.com/archive/2007/12/12/windows-vista-sp1-rc1-released.aspx</link><pubDate>Wed, 12 Dec 2007 17:07:00 GMT</pubDate><guid isPermaLink="false">689e881c-f887-4caa-a108-8998bed89a27:452535</guid><dc:creator>DanB</dc:creator><slash:comments>0</slash:comments><comments>http://blog.danbartels.com/comments/452535.aspx</comments><wfw:commentRss>http://blog.danbartels.com/commentrss.aspx?PostID=452535</wfw:commentRss><description>&lt;P&gt;Microsoft has made the current release of Vista RC1 available to early adoptors via Windows Update or as a stand alone download (~850mb).&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9de6260e-4275-482d-9524-de850c4dd91c&amp;amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=9de6260e-4275-482d-9524-de850c4dd91c&amp;amp;DisplayLang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Dan&lt;/P&gt;
&lt;P&gt;You may also note a Office 2007 Sp1 was released today&lt;/P&gt;
&lt;P&gt;&lt;A href="http://office.microsoft.com/en-us/downloads/default.aspx?ofcresset=1"&gt;http://office.microsoft.com/en-us/downloads/default.aspx?ofcresset=1&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The Vista SP1 Download is a small Zip file with some documentation and a registry script to make it so you can see the SP in Windows Update&lt;/P&gt;
&lt;P&gt;reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\VistaSp1 /f &amp;gt; NUL 2&amp;gt;&amp;amp;1&lt;BR&gt;reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\WindowsUpdate\VistaSP1 /f &amp;gt; NUL 2&amp;gt;&amp;amp;1&lt;/P&gt;
&lt;P&gt;reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\VistaSp1 /v Beta1 /t REG_SZ /d c92ef077-adc4-46ef-b96b-02a42d60ede5 /f&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;Further, you can get the stand-alone installers at&lt;/P&gt;
&lt;P&gt;32 bit - &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=be34577a-e925-48fb-9d6d-50fe9461f808&amp;amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=be34577a-e925-48fb-9d6d-50fe9461f808&amp;amp;DisplayLang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;64 bit - &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c21c3978-3b7d-4d64-873b-3c9d26982d7a&amp;amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=c21c3978-3b7d-4d64-873b-3c9d26982d7a&amp;amp;DisplayLang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blog.danbartels.com/aggbug.aspx?PostID=452535" width="1" height="1"&gt;</description><category domain="http://blog.danbartels.com/archive/tags/Vista/default.aspx">Vista</category></item><item><title>Kevin Harder Live Blogging the CSDC</title><link>http://blog.danbartels.com/archive/2007/10/21/kevin-harder-live-blogging-the-csdc.aspx</link><pubDate>Sun, 21 Oct 2007 14:38:00 GMT</pubDate><guid isPermaLink="false">689e881c-f887-4caa-a108-8998bed89a27:387094</guid><dc:creator>DanB</dc:creator><slash:comments>1</slash:comments><comments>http://blog.danbartels.com/comments/387094.aspx</comments><wfw:commentRss>http://blog.danbartels.com/commentrss.aspx?PostID=387094</wfw:commentRss><description>&lt;P&gt;We are having an awesome time at the Community Server Developers conference, developers from around the &lt;STRIKE&gt;country&lt;/STRIKE&gt; world have converged to hear about the future and direction of Telligent development.&lt;/P&gt;
&lt;P&gt;Kevin Harder has been blogging the event for those who can only attend in spirit.&amp;nbsp; We have been recording all of the presentations; and hopefully our video blogging champion Ado, will have some downloads soon...&lt;/P&gt;
&lt;P&gt;Dan&lt;/P&gt;
&lt;P&gt;Check out the live blog at &lt;/P&gt;
&lt;P&gt;&lt;A href="http://kevinharder.com/blog/archive/2007/10/20/live-blogging-the-csdc.aspx"&gt;http://kevinharder.com/blog/archive/2007/10/20/live-blogging-the-csdc.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://kevinharder.com/blog/archive/2007/10/20/live-blogging-the-csdc-part-2.aspx"&gt;http://kevinharder.com/blog/archive/2007/10/20/live-blogging-the-csdc-part-2.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://kevinharder.com/blog/archive/2007/10/21/live-blogging-the-csdc-part-3.aspx"&gt;http://kevinharder.com/blog/archive/2007/10/21/live-blogging-the-csdc-part-3.aspx&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blog.danbartels.com/aggbug.aspx?PostID=387094" width="1" height="1"&gt;</description><category domain="http://blog.danbartels.com/archive/tags/Community+Server/default.aspx">Community Server</category><category domain="http://blog.danbartels.com/archive/tags/CS+2007/default.aspx">CS 2007</category></item><item><title>Win2008 RC0 install fails x8007045d</title><link>http://blog.danbartels.com/archive/2007/10/15/win2008-rc0-install-fails-x8007045d.aspx</link><pubDate>Mon, 15 Oct 2007 15:20:00 GMT</pubDate><guid isPermaLink="false">689e881c-f887-4caa-a108-8998bed89a27:379840</guid><dc:creator>DanB</dc:creator><slash:comments>0</slash:comments><comments>http://blog.danbartels.com/comments/379840.aspx</comments><wfw:commentRss>http://blog.danbartels.com/commentrss.aspx?PostID=379840</wfw:commentRss><description>&lt;P&gt;The current installer locks access to the disk open, so if you did something, like asked it to "format" your disk prior to installing Windows Server 2008, the format process will silently fail, the copy files will silently fail, and you will get a x8007045d during the expanding files portion of the install.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You will need to reboot, choose repair instead of install, click next on the choose OS dialog, then command prompt, and manually format your drive (format c:).&amp;nbsp; You should then be able to continue the installation.&lt;/P&gt;
&lt;P&gt;Dan&lt;/P&gt;&lt;img src="http://blog.danbartels.com/aggbug.aspx?PostID=379840" width="1" height="1"&gt;</description><category domain="http://blog.danbartels.com/archive/tags/Windows+Vista+_2800_Longhorn_2900_/default.aspx">Windows Vista (Longhorn)</category><category domain="http://blog.danbartels.com/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category></item><item><title>Amazon Mp3 has arrived (public beta)</title><link>http://blog.danbartels.com/archive/2007/09/25/amazon-mp3-has-arrived-public-beta.aspx</link><pubDate>Tue, 25 Sep 2007 16:29:00 GMT</pubDate><guid isPermaLink="false">689e881c-f887-4caa-a108-8998bed89a27:379838</guid><dc:creator>DanB</dc:creator><slash:comments>0</slash:comments><comments>http://blog.danbartels.com/comments/379838.aspx</comments><wfw:commentRss>http://blog.danbartels.com/commentrss.aspx?PostID=379838</wfw:commentRss><description>&lt;P&gt;&lt;SPAN class=mceItemHidden&gt;As I speculated based on &lt;SPAN class=mceItemHiddenSpellWord&gt;internet&lt;/SPAN&gt; rumors nearly a year ago (&lt;/SPAN&gt;&lt;A href="http://blog.danbartels.com/archive/2006/12/26/good-bye-yahoo-music-hello-zune.aspx"&gt;&lt;SPAN class=mceItemHidden&gt;&lt;SPAN class=mceItemHiddenSpellWord&gt;http&lt;/SPAN&gt;://&lt;SPAN class=mceItemHiddenSpellWord&gt;blog&lt;/SPAN&gt;.&lt;SPAN class=mceItemHiddenSpellWord&gt;danbartels&lt;/SPAN&gt;.com/archive/2006/12/26/good-bye-yahoo-music-hello-&lt;SPAN class=mceItemHiddenSpellWord&gt;zune&lt;/SPAN&gt;.&lt;SPAN class=mceItemHiddenSpellWord&gt;aspx&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN class=mceItemHidden&gt;)&amp;nbsp; Amazon has jumped into the &lt;SPAN class=mceItemHiddenSpellWord&gt;online&lt;/SPAN&gt; music sales foray...&amp;nbsp; Now you didn't need to be psychic to guess this, it seems to be a natural fit for the e-tailer.&amp;nbsp; While the .89 and .99 cent 256 &lt;SPAN class=mceItemHiddenSpellWord&gt;kbit&lt;/SPAN&gt; Mp3 tracks are arguably more expensive that Russian site (AllOfMp3.com and their derivatives) its nice to have a DRM free music choice in the popular Mp3 format.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Check out their selection&amp;nbsp;&lt;A class="" href="http://www.amazon.com/b/ref=gw_br_mp3/103-9101608-2003818?%5Fencoding=UTF8&amp;amp;node=163856011&amp;amp;pf_rd_m=ATVPDKIKX0DER&amp;amp;pf_rd_s=left-nav-1&amp;amp;pf_rd_r=1TZSHSCCBHG7G7NESZ7G&amp;amp;pf_rd_t=101&amp;amp;pf_rd_p=311501601&amp;amp;pf_rd_i=507846"&gt;Amazon.com Mp3&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=mceItemHidden&gt;I just hope that&amp;nbsp;now that they have built the marketplace, they find ways&amp;nbsp;to play nice with the independent music scene,&amp;nbsp; I&amp;nbsp;would also love to see a subscription option!&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Dan&lt;/P&gt;&lt;img src="http://blog.danbartels.com/aggbug.aspx?PostID=379838" width="1" height="1"&gt;</description><category domain="http://blog.danbartels.com/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category><category domain="http://blog.danbartels.com/archive/tags/Yahoo+Music/default.aspx">Yahoo Music</category></item></channel></rss>