<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://thomasfreudenberg.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>Thomas Freudenberg : coComment</title><link>http://thomasfreudenberg.com/blog/archive/tags/coComment/default.aspx</link><description>Tags: coComment</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><item><title>coComment for CS 2007 updated</title><link>http://thomasfreudenberg.com/blog/archive/2007/04/24/cocomment-for-cs-2007-updated.aspx</link><pubDate>Tue, 24 Apr 2007 17:09:00 GMT</pubDate><guid isPermaLink="false">483d7ed9-aa38-4432-af18-89f61e4445bf:28125</guid><dc:creator>Thomas Freudenberg</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://thomasfreudenberg.com/blog/rsscomments.aspx?PostID=28125</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://thomasfreudenberg.com/blog/commentapi.aspx?PostID=28125</wfw:comment><comments>http://thomasfreudenberg.com/blog/archive/2007/04/24/cocomment-for-cs-2007-updated.aspx#comments</comments><description>
&lt;p&gt;Every day you can learn something new. Today it was &lt;a href="http://scottwater.com/" rel="acquaintance"&gt;Scott&lt;/a&gt; who taught me &lt;a href="http://weblogs.asp.net/scottgu/archive/2005/12/21/433692.aspx"&gt;ControlAdapter&lt;/a&gt;s after he read my post about &lt;a href="http://thomasfreudenberg.com/blog/archive/2007/04/23/cocomment-support-for-cs-2007.aspx"&gt;coComment with CommunityServer 2007&lt;/a&gt;. You know, ControlAdapters are not only good for tweaking CSS.&lt;/p&gt;
&lt;p&gt;My original solution was a replacement for the WeblogPostCommentForm, i.e. for every blog theme you had to edit its &lt;i&gt;post.aspx&lt;/i&gt;, register my new control and replace the original control.&lt;/p&gt;
&lt;p&gt;ControlAdapters however give you the power to inject your code into any desired existing control. In a central file you specify which controls you want to customize, and that&amp;#39;s it. No editing of any pages or controls is required.&lt;/p&gt;
&lt;p&gt;So I took the chance and transformed my custom comment form into a ControlAdapter. In fact, it&amp;#39;s as easy as writing a control. Here&amp;#39;s the simplified code, just in case you&amp;#39;re interested:&lt;br /&gt;&lt;div style="overflow-x: auto;"&gt;&lt;pre&gt;&lt;span style="color:#0000FF"&gt;public&lt;/span&gt; &lt;span style="color:#0000FF"&gt;class&lt;/span&gt; WeblogPostCommentFormAdapter : ControlAdapter
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000FF"&gt;protected&lt;/span&gt; &lt;span style="color:#0000FF"&gt;override&lt;/span&gt; &lt;span style="color:#0000FF"&gt;void&lt;/span&gt; OnPreRender(EventArgs e)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000FF"&gt;base&lt;/span&gt;.OnPreRender(e);

&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; WeblogPostCommentForm commentForm = &lt;span style="color:#0000FF"&gt;base&lt;/span&gt;.Control &lt;span style="color:#0000FF"&gt;as&lt;/span&gt; WeblogPostCommentForm;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000FF"&gt;if&lt;/span&gt; (commentForm != &lt;span style="color:#0000FF"&gt;null&lt;/span&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000FF"&gt;string&lt;/span&gt; coCommentScript = GetCoCommentScript(commentForm);
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000FF"&gt;if&lt;/span&gt; (!String.IsNullOrEmpty(coCommentScript))
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; CSControlUtility.Instance().RegisterStartupScript(&lt;span style="color:#0000FF"&gt;base&lt;/span&gt;.Control, 
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000FF"&gt;typeof&lt;/span&gt; (WeblogPostCommentForm), &amp;quot;&lt;span style="color:#8B0000"&gt;cocomment&lt;/span&gt;&amp;quot;, coCommentScript, &lt;span style="color:#0000FF"&gt;false&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000FF"&gt;private&lt;/span&gt; &lt;span style="color:#0000FF"&gt;static&lt;/span&gt; &lt;span style="color:#0000FF"&gt;string&lt;/span&gt; GetCoCommentScript(WeblogPostCommentForm commentForm)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#008000"&gt;// just boring stuff which creates the javascript code to make coComment happy&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
}
&lt;/pre&gt;&lt;/div&gt; &lt;br /&gt;&lt;/p&gt;&lt;p&gt;Just drop the attached assembly to your &lt;span style="font-style:italic;"&gt;~/bin&lt;/span&gt; folder and add following line to the &lt;span style="font-style:italic;"&gt;controlAdapters&lt;/span&gt; section in &lt;span style="font-style:italic;"&gt;~/App_Browsers/default.browser&lt;/span&gt;:&lt;div style="overflow-x: auto;"&gt;&lt;pre&gt;&lt;span style="color:#0000FF"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000"&gt;adapter&lt;/span&gt; &lt;span style="color:#FF0000"&gt;controlType&lt;/span&gt;=&lt;span style="color:#0000FF"&gt;&amp;quot;CommunityServer.Blogs.Controls.WeblogPostCommentForm&amp;quot;&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#FF0000"&gt;adapterType&lt;/span&gt;=&lt;span style="color:#0000FF"&gt;&amp;quot;ThomasFreudenberg.CS2007.WeblogPostCommentFormAdapter, ThomasFreudenberg.CS2007&amp;quot;&lt;/span&gt; &lt;span style="color:#0000FF"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;That&amp;#39;s all, without further editing of any files&lt;sup&gt;1&lt;/sup&gt; coComment support is enabled for all blog themes automagically.&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;sup&gt;1&lt;/sup&gt; unless of course if you&amp;#39;re already using the assembly I published yesterday; in this case revert all changes done to your &lt;span style="font-style:italic;"&gt;post.aspx&lt;/span&gt;&amp;#39;&lt;/p&gt;
&lt;img src="http://thomasfreudenberg.com/aggbug.aspx?PostID=28125" width="1" height="1"&gt;</description><enclosure url="http://thomasfreudenberg.com/blog/attachment/28125.ashx" length="303104" type="application/x-msdownload" /><category domain="http://thomasfreudenberg.com/blog/archive/tags/Community+Server/default.aspx">Community Server</category><category domain="http://thomasfreudenberg.com/blog/archive/tags/coComment/default.aspx">coComment</category></item><item><title>coComment support for CS 2007</title><link>http://thomasfreudenberg.com/blog/archive/2007/04/23/cocomment-support-for-cs-2007.aspx</link><pubDate>Mon, 23 Apr 2007 18:34:00 GMT</pubDate><guid isPermaLink="false">483d7ed9-aa38-4432-af18-89f61e4445bf:28102</guid><dc:creator>Thomas Freudenberg</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://thomasfreudenberg.com/blog/rsscomments.aspx?PostID=28102</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://thomasfreudenberg.com/blog/commentapi.aspx?PostID=28102</wfw:comment><comments>http://thomasfreudenberg.com/blog/archive/2007/04/23/cocomment-support-for-cs-2007.aspx#comments</comments><description>
&lt;p&gt;If you are one of my two regular readers, you may have noticed that I published &lt;a href="http://thomasfreudenberg.com/blog/archive/tags/coComment/default.aspx"&gt;many posts&lt;/a&gt; regarding &lt;a href="http://www.cocomment.com/"&gt;coComment&lt;/a&gt;. In fact, I published instructions to integrate coComment in original &lt;a href="http://thomasfreudenberg.com/blog/archive/2006/02/09/adding-coComment-support-to-CommunityServer.aspx"&gt;CommunityServer&lt;/a&gt; and &lt;a href="http://thomasfreudenberg.com/blog/archive/2006/09/19/Updated-coComment-support-for-Community-Server-2.1.aspx"&gt;CS2.1SP1&lt;/a&gt; (for CS2.0 and CS2.1 &lt;a href="http://nayyeri.net/" rel="friend"&gt;Keyvan&lt;/a&gt; was faster than me &lt;img src="http://thomasfreudenberg.com/emoticons/emotion-4.gif" alt="Stick out tongue" /&gt;)&lt;/p&gt;

&lt;p&gt;(if you think I write so much about coComment is because I love it so much, you totally missed the point of my blog)&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;Anyway, if you follow the old instructions you&amp;#39;ll see that there&amp;#39;s bunch of script code you have to add to your blog theme. Unfortunately, that solution does not work anymore with CS 2007, because the controls in the comment form are wrapped in a new Chameleon control. I did not see a chance to access the ids of the contained controls and continue the old solution with my limited ASP.NET knowledge.&lt;/p&gt;

&lt;p&gt;Instead, I developed another solution. I simply inherited a new control from &lt;em&gt;WeblogPostCommentForm&lt;/em&gt;, where I have all access to the contained elements. And up to now I didn&amp;#39;t know how easy it is to &lt;a href="http://msdn2.microsoft.com/en-us/library/system.web.ui.clientscriptmanager.registerclientscriptblock.aspx"&gt;add some script&lt;/a&gt; in your code to be added to the rendered HTML&lt;/p&gt;

&lt;p&gt;Long story short, here&amp;#39;s my solution for coComment support in CS2007:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Drop the attached &lt;i&gt;ThomasFreudenberg.CS2007.dll&lt;/i&gt; into your &lt;i&gt;~/bin&lt;/i&gt; folder.&lt;/li&gt;

&lt;li&gt;Open &lt;i&gt;post.aspx&lt;/i&gt; of your desired blog theme&lt;/li&gt;

&lt;ol&gt;
&lt;li&gt;Add following line right after the imports:&lt;br /&gt;&lt;pre style="overflow: auto;"&gt;&lt;span style="background-color:#FFFF00; color:Black"&gt;&amp;lt;%@ Register TagPrefix=&amp;quot;TFr&amp;quot; Namespace=&amp;quot;ThomasFreudenberg.CS2007&amp;quot;
&amp;#160;&amp;#160;&amp;#160; Assembly=&amp;quot;ThomasFreudenberg.CS2007&amp;quot; %&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/li&gt;

&lt;li&gt;Replace &lt;i&gt;&amp;lt;CSBlog:WeblogPostCommentForm â€¦&lt;/i&gt; with &lt;i&gt;&amp;lt;&lt;b&gt;TFr&lt;/b&gt;:WeblogPostCommentForm â€¦&lt;/i&gt;&lt;/li&gt;

&lt;li&gt;and &lt;i&gt;&amp;lt;/CSBlog:WeblogPostCommentForm&amp;gt;&lt;/i&gt; with &lt;i&gt;&amp;lt;/&lt;b&gt;TFr&lt;/b&gt;:WeblogPostCommentForm&amp;gt;&lt;/i&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;

&lt;p&gt;In fact, for me as a non-web developer that approach seems much more natural to me than adding fancy instructions in the web control.&lt;/p&gt;
&lt;img src="http://thomasfreudenberg.com/aggbug.aspx?PostID=28102" width="1" height="1"&gt;</description><enclosure url="http://thomasfreudenberg.com/blog/attachment/28102.ashx" length="303104" type="application/x-msdownload" /><category domain="http://thomasfreudenberg.com/blog/archive/tags/Community+Server/default.aspx">Community Server</category><category domain="http://thomasfreudenberg.com/blog/archive/tags/Development/default.aspx">Development</category><category domain="http://thomasfreudenberg.com/blog/archive/tags/coComment/default.aspx">coComment</category></item><item><title>Updated to CS2.1 SP1 and fixed an issue</title><link>http://thomasfreudenberg.com/blog/archive/2006/11/15/updated-to-cs2-1-sp1-and-fixed-an-issue.aspx</link><pubDate>Tue, 14 Nov 2006 21:17:00 GMT</pubDate><guid isPermaLink="false">483d7ed9-aa38-4432-af18-89f61e4445bf:18202</guid><dc:creator>Thomas Freudenberg</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://thomasfreudenberg.com/blog/rsscomments.aspx?PostID=18202</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://thomasfreudenberg.com/blog/commentapi.aspx?PostID=18202</wfw:comment><comments>http://thomasfreudenberg.com/blog/archive/2006/11/15/updated-to-cs2-1-sp1-and-fixed-an-issue.aspx#comments</comments><description>&lt;p&gt;I just upgraded my site to Community Server 2.1 SP1. I wouldn't post this if I did not encounter an issue, though you may experience this error only if you use &lt;a href="http://thomasfreudenberg.com/blog/archive/2006/09/19/Updated-coComment-support-for-Community-Server-2.1.aspx"&gt;my coComment support for CS&lt;/a&gt;. In fact, it occurs only if you use &lt;a href="http://code.communityserver.org/?path=CS+Tree%5cCS+2.1%5cBlogs%5cComponents%5cBlogThreadQuery.cs"&gt;BlogThreadQuery&lt;/a&gt; and set &lt;span style="font-style:italic;"&gt;ReturnFullThread&lt;/span&gt; to &lt;span style="font-style:italic;"&gt;false&lt;/span&gt;. In this case, the stored procedure &lt;span style="font-style:italic;"&gt;cs_weblog_PostSet&lt;/span&gt; does not return &lt;span style="font-style:italic;"&gt;ApplicationPostType&lt;/span&gt; for found posts, but the code tries to retrieve it from the &lt;span style="font-style:italic;"&gt;IDataReader&lt;/span&gt;.&lt;br&gt;&lt;/p&gt;&lt;p&gt;I attached a corrected version of that SP to this post. In fact, I only added &lt;span style="font-style:italic;"&gt;P.ApplicationPostType,&lt;/span&gt; in line 128.&lt;/p&gt;&lt;img src="http://thomasfreudenberg.com/aggbug.aspx?PostID=18202" width="1" height="1"&gt;</description><enclosure url="http://thomasfreudenberg.com/blog/attachment/18202.ashx" length="12202" type="text/plain" /><category domain="http://thomasfreudenberg.com/blog/archive/tags/Site+news/default.aspx">Site news</category><category domain="http://thomasfreudenberg.com/blog/archive/tags/Community+Server/default.aspx">Community Server</category><category domain="http://thomasfreudenberg.com/blog/archive/tags/coComment/default.aspx">coComment</category></item><item><title>Updated coComment support for Community Server 2.1</title><link>http://thomasfreudenberg.com/blog/archive/2006/09/19/Updated-coComment-support-for-Community-Server-2.1.aspx</link><pubDate>Tue, 19 Sep 2006 18:47:00 GMT</pubDate><guid isPermaLink="false">483d7ed9-aa38-4432-af18-89f61e4445bf:17777</guid><dc:creator>Thomas Freudenberg</dc:creator><slash:comments>9</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://thomasfreudenberg.com/blog/rsscomments.aspx?PostID=17777</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://thomasfreudenberg.com/blog/commentapi.aspx?PostID=17777</wfw:comment><comments>http://thomasfreudenberg.com/blog/archive/2006/09/19/Updated-coComment-support-for-Community-Server-2.1.aspx#comments</comments><description>&lt;p&gt;Yesterday the guys at coComment &lt;a href="http://www.cocomment.com/teamblog/?p=117"&gt;updated their scripts&lt;/a&gt;. They also refreshed the example for Community Server, but that&amp;#39;s targetting CS 2.0. There are some breaking changes in the API of CS 2.1,&amp;nbsp;so that code won&amp;#39;t work with Telligent&amp;#39;s latest release.&amp;nbsp;Keyvan Nayyeri &lt;a href="http://nayyeri.net/archive/2006/07/21/Adding-CoComment-support-to-Community-Server-2.1.aspx"&gt;updated the code&lt;/a&gt; some time ago. I polished it a little bit and incorporated the latest changes from coComment:&lt;/p&gt;
 
 &lt;div class="wlWriterSmartContent" id="C411E4BC-FA5A-4068-9F25-1AA2B5A98D76:33a8c112-25a4-4725-af88-f1eefecc92e8" style="margin:0px;padding:0px;display:inline;float:none;"&gt;&lt;div style="display:block;background-color:#f7f7ff;"&gt;
&lt;pre&gt;&lt;table&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%@ Import Namespace=&amp;quot;CommunityServer.Components&amp;quot; %&amp;gt;&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%@ Import Namespace=&amp;quot;CommunityServer.Blogs.Components&amp;quot; %&amp;gt;&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%&lt;/span&gt; CSContext context = CSContext.Current; &lt;span style="background-color:#ffff00;color:Black;"&gt;%&amp;gt;&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%&lt;/span&gt; Weblog currentBlog = Weblogs.GetWeblog(context.ApplicationKey); &lt;span style="background-color:#ffff00;color:Black;"&gt;%&amp;gt;&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%&lt;/span&gt; BlogThreadQuery query = new BlogThreadQuery(); &lt;span style="background-color:#ffff00;color:Black;"&gt;%&amp;gt;&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%&lt;/span&gt; query.PostID = context.PostID; &lt;span style="background-color:#ffff00;color:Black;"&gt;%&amp;gt;&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%&lt;/span&gt; if (context.PostName != null) { &lt;span style="background-color:#ffff00;color:Black;"&gt;%&amp;gt;&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%&lt;/span&gt; query.PostName = context.PostName; &lt;span style="background-color:#ffff00;color:Black;"&gt;%&amp;gt;&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%&lt;/span&gt; } &lt;span style="background-color:#ffff00;color:Black;"&gt;%&amp;gt;&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%&lt;/span&gt; query.IncludeCategories = false; &lt;span style="background-color:#ffff00;color:Black;"&gt;%&amp;gt;&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%&lt;/span&gt; query.ReturnFullThread = false; &lt;span style="background-color:#ffff00;color:Black;"&gt;%&amp;gt;&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%&lt;/span&gt; query.SectionID = currentBlog.SectionID; &lt;span style="background-color:#ffff00;color:Black;"&gt;%&amp;gt;&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%&lt;/span&gt; PostSet postSet = WeblogPosts.GetPosts(query, true); &lt;span style="background-color:#ffff00;color:Black;"&gt;%&amp;gt;&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%&lt;/span&gt; postSet.Organize(); &lt;span style="background-color:#ffff00;color:Black;"&gt;%&amp;gt;&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%&lt;/span&gt; WeblogPost blogPost = postSet.ThreadStarter as WeblogPost; &lt;span style="background-color:#ffff00;color:Black;"&gt;%&amp;gt;&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%&lt;/span&gt; bool isAuthor = context.IsAuthenticated; &lt;span style="background-color:#ffff00;color:Black;"&gt;%&amp;gt;&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;script&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;type&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;coco =&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;{&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   : &amp;quot;&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%&lt;/span&gt;= SiteStatistics.CommunityServerVersionVersionInfo &lt;span style="background-color:#ffff00;color:Black;"&gt;%&amp;gt;&lt;/span&gt;&amp;quot;,&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;siteurl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;: &amp;quot;&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%&lt;/span&gt;= Globals.FullPath(currentBlog.Url) &lt;span style="background-color:#ffff00;color:Black;"&gt;%&amp;gt;&lt;/span&gt;&amp;quot;,&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sitetitle  : &amp;quot;&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%&lt;/span&gt;= currentBlog.Name &lt;span style="background-color:#ffff00;color:Black;"&gt;%&amp;gt;&lt;/span&gt;&amp;quot;,&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pageurl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;: &amp;quot;&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%&lt;/span&gt;= Globals.FullPath(BlogUrls.Instance().Post(blogPost)) &lt;span style="background-color:#ffff00;color:Black;"&gt;%&amp;gt;&lt;/span&gt;&amp;quot;,&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pagetitle  : &amp;quot;&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%&lt;/span&gt;= blogPost.Subject &lt;span style="background-color:#ffff00;color:Black;"&gt;%&amp;gt;&lt;/span&gt;&amp;quot;,&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%&lt;/span&gt; if (isAuthor) { &lt;span style="background-color:#ffff00;color:Black;"&gt;%&amp;gt;&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;author&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &amp;quot;&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%&lt;/span&gt;= context.User.DisplayName &lt;span style="background-color:#ffff00;color:Black;"&gt;%&amp;gt;&lt;/span&gt;&amp;quot;,&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%&lt;/span&gt; } else{ &lt;span style="background-color:#ffff00;color:Black;"&gt;%&amp;gt;&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;authorID   : &amp;quot;&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%&lt;/span&gt;= tbName.UniqueID &lt;span style="background-color:#ffff00;color:Black;"&gt;%&amp;gt;&lt;/span&gt;&amp;quot;,&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%&lt;/span&gt; } &lt;span style="background-color:#ffff00;color:Black;"&gt;%&amp;gt;&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;formID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &amp;quot;aspnetForm&amp;quot;,&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;textareaID : &amp;quot;&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%&lt;/span&gt;= tbComment.UniqueID &lt;span style="background-color:#ffff00;color:Black;"&gt;%&amp;gt;&lt;/span&gt;&amp;quot;,&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;buttonID   : &amp;quot;&lt;span style="background-color:#ffff00;color:Black;"&gt;&amp;lt;%&lt;/span&gt;= btnSubmit.UniqueID &lt;span style="background-color:#ffff00;color:Black;"&gt;%&amp;gt;&lt;/span&gt;&amp;quot;&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;}&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;script&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;script&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;id&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;cocomment-fetchlet&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;src&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;&lt;a class="linkification-ext" href="http://www.cocomment.com/js/enabler.js" title="Linkification: http://www.cocomment.com/js/enabler.js"&gt;http://www.cocomment.com/js/enabler.js&lt;/a&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
&lt;tr&gt;
		
&lt;td&gt;&lt;span style="color:#0000ff;"&gt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&lt;/span&gt;    &lt;span style="color:#ff0000;"&gt;type&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
	
&lt;tr&gt;
		
&lt;td&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;script&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;If you run CS 2.1&amp;nbsp;on ASP.NET 1.1, you have to change &lt;em&gt;formID&lt;/em&gt; from &amp;quot;aspnetForm&amp;quot; to &amp;quot;__aspnetForm&amp;quot;.&lt;/p&gt;

&lt;p&gt;What I don&amp;#39;t understand however is why the &lt;em&gt;xxxID&lt;/em&gt; variables require the name of the related control instead of the ID.&lt;/p&gt;&lt;img src="http://thomasfreudenberg.com/aggbug.aspx?PostID=17777" width="1" height="1"&gt;</description><category domain="http://thomasfreudenberg.com/blog/archive/tags/Community+Server/default.aspx">Community Server</category><category domain="http://thomasfreudenberg.com/blog/archive/tags/Development/default.aspx">Development</category><category domain="http://thomasfreudenberg.com/blog/archive/tags/coComment/default.aspx">coComment</category></item><item><title>What's next</title><link>http://thomasfreudenberg.com/blog/archive/2006/07/22/Whats-next.aspx</link><pubDate>Sat, 22 Jul 2006 01:06:00 GMT</pubDate><guid isPermaLink="false">483d7ed9-aa38-4432-af18-89f61e4445bf:16868</guid><dc:creator>Thomas Freudenberg</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://thomasfreudenberg.com/blog/rsscomments.aspx?PostID=16868</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://thomasfreudenberg.com/blog/commentapi.aspx?PostID=16868</wfw:comment><comments>http://thomasfreudenberg.com/blog/archive/2006/07/22/Whats-next.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://thomasfreudenberg.com/photos/images/16855/original.aspx" target="_blank"&gt;&lt;img src="http://thomasfreudenberg.com/photos/images/16855/400x258.aspx" border="0" alt="" hspace="8" vspace="4" align="right" /&gt;&lt;/a&gt;As mentioned in my &lt;a href="http://thomasfreudenberg.com/blog/archive/2006/07/22/Upgraded-to-Community-Server-2.1-beta-1.aspx"&gt;last post&lt;/a&gt;, I&amp;#39;m working on several extensions for Community Server 2.1. I used to use the &lt;a href="http://communityserver.org/files/folders/add-ons/entry499284.aspx"&gt;Intensive.CodeHighlighter library&lt;/a&gt; by &lt;a href="http://intensivedesign.co.uk/"&gt;Gary McPherson&lt;/a&gt;, but I could not find any updated version. Therefore I &amp;quot;re-engineered&amp;quot; a .NET 2.0 version and improved its configuration handling. No custom &lt;em&gt;configSection&lt;/em&gt; is required anymore.&lt;br /&gt; &lt;/p&gt;

&lt;p&gt;Secondly, I was working on a solution for enabling &lt;a href="http://www.cocomment.com/"&gt;coComment&lt;/a&gt; in CS2.x. &lt;a href="http://www.scottelkin.com"&gt;Scott Elkin&lt;/a&gt; asked my two days ago for some hints because the coComment support in CS 2.x was broken if you give our posts names. However, after I found out about the BlogThreadQuery, I saw that Keyvan Nayyeri already &lt;a href="http://nayyeri.net/archive/2006/07/21/Adding-CoComment-support-to-Community-Server-2.1.aspx"&gt;published the same instructions&lt;/a&gt; I was preparing.&lt;/p&gt;
&lt;p&gt;Anyway, what&amp;#39;s already running on this site is my custom spam rule using &lt;a href="http://akismet.com/"&gt;Akismet&lt;/a&gt;. You can see the module&amp;#39;s settings to the right. I&amp;#39;d really like to see it in action, but up to now there was no spam knocking on my door. But I&amp;#39;m convinced that it will take only a couple of hours until the first spam will be rejected. As soon as I&amp;#39;m sure of its effectiveness I&amp;#39;ll publish it.&lt;br /&gt;&lt;/p&gt;&lt;img src="http://thomasfreudenberg.com/aggbug.aspx?PostID=16868" width="1" height="1"&gt;</description><category domain="http://thomasfreudenberg.com/blog/archive/tags/Community+Server/default.aspx">Community Server</category><category domain="http://thomasfreudenberg.com/blog/archive/tags/Development/default.aspx">Development</category><category domain="http://thomasfreudenberg.com/blog/archive/tags/coComment/default.aspx">coComment</category><category domain="http://thomasfreudenberg.com/blog/archive/tags/Akismet/default.aspx">Akismet</category></item><item><title>coComment Logo for my blog</title><link>http://thomasfreudenberg.com/blog/archive/2006/02/12/coComment-logo.aspx</link><pubDate>Sun, 12 Feb 2006 14:05:00 GMT</pubDate><guid isPermaLink="false">483d7ed9-aa38-4432-af18-89f61e4445bf:13766</guid><dc:creator>Thomas Freudenberg</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://thomasfreudenberg.com/blog/rsscomments.aspx?PostID=13766</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://thomasfreudenberg.com/blog/commentapi.aspx?PostID=13766</wfw:comment><comments>http://thomasfreudenberg.com/blog/archive/2006/02/12/coComment-logo.aspx#comments</comments><description>
&lt;p&gt;Jayson Knight &lt;a href="http://thomasfreudenberg.com/blog/archive/2006/02/12/more-coComment.aspx#13764"&gt;requested&lt;/a&gt; a logo for coComment to put on his blog. Though I think he refered to the comment form, I created two different &amp;quot;blog buttons&amp;quot; (or how these 80x15 images are called). Here they are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;img src="http://thomasfreudenberg.com/images/cocomment.gif" alt="" width="80" height="15" /&gt; is shown on every page and indicates that my blog supports coComment. It links to my coComment conversations.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;img src="http://thomasfreudenberg.com/images/coenabled.gif" alt="" width="80" height="15" /&gt; is used in the comment form to inform the user that she can use coComment with my blog.&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; I added a small explanation to define the scope of each of the images.&lt;/p&gt;&lt;img src="http://thomasfreudenberg.com/aggbug.aspx?PostID=13766" width="1" height="1"&gt;</description><category domain="http://thomasfreudenberg.com/blog/archive/tags/coComment/default.aspx">coComment</category></item><item><title>More coComment</title><link>http://thomasfreudenberg.com/blog/archive/2006/02/12/more-coComment.aspx</link><pubDate>Sun, 12 Feb 2006 10:07:00 GMT</pubDate><guid isPermaLink="false">483d7ed9-aa38-4432-af18-89f61e4445bf:13755</guid><dc:creator>Thomas Freudenberg</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://thomasfreudenberg.com/blog/rsscomments.aspx?PostID=13755</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://thomasfreudenberg.com/blog/commentapi.aspx?PostID=13755</wfw:comment><comments>http://thomasfreudenberg.com/blog/archive/2006/02/12/more-coComment.aspx#comments</comments><description>
&lt;p&gt;&lt;a href="http://dbvt.com/"&gt;Dave Burke&lt;/a&gt; entered the &lt;a href="http://www.cocomment.com/"&gt;coComment&lt;/a&gt; zone and &lt;a href="http://dbvt.com/blog/archive/2006/02/12/3918.aspx"&gt;said&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;The thing is, there&amp;#39;s no way to know if a blog (particularly a CS blog)
supports CoComment. We CS guys may want to add a &amp;quot;CoComment Enabled&amp;quot;
message or something to our blog comment form until the CoComment
capture process is finalized.&lt;/blockquote&gt;

&lt;p&gt;Well, apparently they are &lt;a href="http://www.cocomment.com/tools/integrate"&gt;working on it&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
For advanced bloggers who would like to more fully integrate coComment features in their own blog, coComment will offer:
&lt;ul&gt;
&lt;li&gt;The ability to add elements of the coComment service to blogs based
on non-standard blogging platforms in order to ease the usage of coComment
for commenters (automated capture).
&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;and just a couple of minutes ago &lt;a href="http://jaysonknight.com/blog"&gt;Jayson Knight&lt;/a&gt; &lt;a href="http://dbvt.com/blog/archive/2006/02/12/3918.aspx#3919"&gt;confirmed it&lt;/a&gt; in a comment to Dave&amp;#39;s post:&lt;/p&gt;
&lt;blockquote&gt;Wahoo! Dual shoutouts...thanks! I&amp;#39;ve actually been in pretty close
communication (both on and offline) with the CoComment devs about this
service, namely this thread: &lt;a rel="nofollow" href="http://www.cocomment.com/teamblog/?p=27#comments" target="_new"&gt;http://www.cocomment.com/teamblog/?p=27#comments&lt;/a&gt; and this one: &lt;a rel="nofollow" href="http://www.cocomment.com/teamblog/?p=21#comments" target="_new"&gt;http://www.cocomment.com/teamblog/?p=21#comments&lt;/a&gt;.
Merlin (the guy who seems to be in charge) has stated that he has his
designers working on a solution where coco enabled blogs will display
some sort of icon in the comment form box to let folks know it accepts
coComments. I then asked &amp;quot;hey, why not ditch the bookmarklet all
together and automate it&amp;quot;...they&amp;#39;re one step ahead of me and said
they&amp;#39;d have some new code for us early this week (their blog is already
automated; if you have a coco account and leave a comment it&amp;#39;s
automatically tracked...look ma, no bookmarklet!). I highly recommend
keeping up w/ their blog, so far they&amp;#39;ve been extremely receptive to
ideas concerning coco. These guys are gonna be rock stars!&lt;/blockquote&gt;

&lt;p&gt;BTW, when I hear the term coComment, somehow I must think of coconut. This leads me to a better name for their service: &lt;em&gt;coCoNet&lt;/em&gt;.&lt;img src="http://thomasfreudenberg.com/Images/emoticons/smiley_wink.gif" alt="" /&gt;
&lt;/p&gt;&lt;img src="http://thomasfreudenberg.com/aggbug.aspx?PostID=13755" width="1" height="1"&gt;</description><category domain="http://thomasfreudenberg.com/blog/archive/tags/coComment/default.aspx">coComment</category></item><item><title>Revised coComment support</title><link>http://thomasfreudenberg.com/blog/archive/2006/02/09/adding-coComment-support-to-CommunityServer.aspx</link><pubDate>Wed, 08 Feb 2006 20:05:00 GMT</pubDate><guid isPermaLink="false">483d7ed9-aa38-4432-af18-89f61e4445bf:13631</guid><dc:creator>Thomas Freudenberg</dc:creator><slash:comments>15</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://thomasfreudenberg.com/blog/rsscomments.aspx?PostID=13631</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://thomasfreudenberg.com/blog/commentapi.aspx?PostID=13631</wfw:comment><comments>http://thomasfreudenberg.com/blog/archive/2006/02/09/adding-coComment-support-to-CommunityServer.aspx#comments</comments><description>&lt;p&gt;Yesterday Jayson Knight &lt;a href="http://jaysonknight.com/blog/archive/2006/02/08/7008.aspx"&gt;described&lt;/a&gt; how to add &lt;a href="http://cocomment.com/"&gt;coComment&lt;/a&gt; support to CommunityServer. I&amp;#39;m a user of coComment too, therefore I added Jayson&amp;#39;s hack to my blog.&lt;/p&gt;
&lt;p&gt;However, I don&amp;#39;t like how the URL to the blog post is rendered (it&amp;#39;s the rewritten URL, not the friendly one), so I decided to fix that. Furthermore, his solution does not work if you&amp;#39;re logged in in CommunityServer, because in this case there&amp;#39;s no field for the comment author&amp;#39;s name. No offense, Jayson, since you admitting that your implemention is only a quick hack ;)&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Anyway, here&amp;#39;s what I came up with:&lt;/p&gt;&lt;pre&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;&lt;span style="color: Black;background-color: Yellow;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;&amp;lt;%@ Import Namespace="CommunityServer.Components" %&amp;gt;&lt;/span&gt;
&lt;span style="color: Black;background-color: Yellow;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;&amp;lt;%@ Import Namespace="CommunityServer.Blogs.Components" %&amp;gt;&lt;/span&gt;
&lt;span style="color: Black;background-color: Yellow;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;&amp;lt;% WeblogPost currentPost = WeblogPosts.GetWeblogEntry(CSContext.Current.BlogGroupID, CSContext.Current.PostID); %&amp;gt;&lt;/span&gt;
&lt;span style="color: Black;background-color: Yellow;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;&amp;lt;% bool isAuthor = CSContext.Current.IsAuthenticated &amp;amp;&amp;amp; CSContext.Current.User.UserID == currentPost.AuthorID; %&amp;gt;&lt;/span&gt;
&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: Maroon;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;script&lt;/span&gt; &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;type&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;="text/javascript"&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;&amp;gt;&lt;/span&gt;
    var blogTool                = "&lt;span style="color: Black;background-color: Yellow;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;&amp;lt;%=SiteStatistics.CommunityServerVersionVersionInfo %&amp;gt;&lt;/span&gt;";
    var blogURL                 = "&lt;span style="color: Black;background-color: Yellow;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;&amp;lt;%=Globals.FullPath(currentPost.Weblog.HomePage) %&amp;gt;&lt;/span&gt;";
    var blogTitle               = "&lt;span style="color: Black;background-color: Yellow;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;&amp;lt;%=currentPost.Weblog.Name %&amp;gt;&lt;/span&gt;";
    var postURL                 = "&lt;span style="color: Black;background-color: Yellow;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;&amp;lt;%=Globals.FullPath(BlogUrls.Instance().Post(currentPost)) %&amp;gt;&lt;/span&gt;";
    var postTitle               = "&lt;span style="color: Black;background-color: Yellow;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;&amp;lt;%=currentPost.Subject %&amp;gt;&lt;/span&gt;";
    var commentAuthorLoggedIn   = &lt;span style="color: Black;background-color: Yellow;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;&amp;lt;%=Convert.ToString(isAuthor).ToLower() %&amp;gt;&lt;/span&gt;;
&lt;span style="color: Black;background-color: Yellow;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;&amp;lt;% if (isAuthor) { %&amp;gt;&lt;/span&gt;
    var commentAuthor           = "&lt;span style="color: Black;background-color: Yellow;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;&amp;lt;%=CSContext.Current.User.DisplayName %&amp;gt;&lt;/span&gt;";
&lt;span style="color: Black;background-color: Yellow;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;&amp;lt;% } else{ %&amp;gt;&lt;/span&gt;
    var commentAuthorFieldName  = "&lt;span style="color: Black;background-color: Yellow;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;&amp;lt;%=tbName.UniqueID %&amp;gt;&lt;/span&gt;";
&lt;span style="color: Black;background-color: Yellow;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;&amp;lt;% } %&amp;gt;&lt;/span&gt;
    var commentFormName         = "__aspnetForm";
    var commentTextFieldName    = "&lt;span style="color: Black;background-color: Yellow;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;&amp;lt;%=tbComment.UniqueID %&amp;gt;&lt;/span&gt;";
    var commentButtonName       = "&lt;span style="color: Black;background-color: Yellow;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;&amp;lt;%=btnSubmit.UniqueID %&amp;gt;&lt;/span&gt;";
&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: Maroon;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;script&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 11px;font-weight: normal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;Update:&lt;/strong&gt;&lt;/font&gt; There were two bugs: the value for &lt;em&gt;commentAuthorLoggedIn&lt;/em&gt; was quoted and must be lower cased, and &lt;em&gt;commentButton&lt;strong&gt;ID&lt;/strong&gt;&lt;/em&gt; must be &lt;em&gt;commentButton&lt;strong&gt;Name&lt;/strong&gt;&lt;/em&gt;. I updated the script above.&lt;br /&gt;&lt;img src="http://thomasfreudenberg.com/aggbug.aspx?PostID=13631" width="1" height="1"&gt;</description><category domain="http://thomasfreudenberg.com/blog/archive/tags/Site+news/default.aspx">Site news</category><category domain="http://thomasfreudenberg.com/blog/archive/tags/Community+Server/default.aspx">Community Server</category><category domain="http://thomasfreudenberg.com/blog/archive/tags/coComment/default.aspx">coComment</category></item></channel></rss>