Community Server MVP

Community Server, CSMVPs Comments

Community Server MVP

The news is out: Today Telligent awarded me a Community Server MVP. Though I am not that active in the fora, my participation in the CS community were deemed worthy enough to justify the nomination. At least my contribution to the Alabaster CSModule package is legalized now.

Congratulations to Dave Stokes and Russ Goldin, who were awarded too.

I'm curious if Keyvan's comment about MVP programs got Telligent mediate on new nominations. ūüėČ

Anyway, I feel honored, and looking forward to the collaboration with Telligent. Can't wait to get hands on CS 3.0...

MSDN Blogs and TechNet Blogs updated to CS 2.1

Community Server Comments

Dave Burke mentioned on CS Daily News last Monday that both MSDN Blogs and TechNet Blogs have been updated to Community Server 2.1. However, in my opinion they missed to make use of one of CS's most interesting new features: tag support.

I used to have MSDN Blogs' mainfeed in my aggregator, but deleted the subscription almost one year ago. There are just too many bloggers, and the signal-to-noise ratio is somewhat low. Therefore, instead of subscribing the main feed I'd rather subscribe to specific global tags, e.g. CLR or WPF.

Fortunately, it's already there. You may have noticed in the previous paragraph that both CLR and WPF are hyperlinks. So tags are there, it's just that they are not first-class citizens. In fact, the links to the sites' tag clouds are and So I ask, "Why aren't these links on the sites' home pages?"

(However, of course the global tagging system works only if all bloggers commit to a common set of terms. If one tags his posts with WPF, another one Windows Presentation Foundation, and a third one uses Avalon, you would have to subscribe to all three of these terms.)

Remote Access to SQL Server Express

Today I tried to access a SQL Express server remotely for the first time. Because I'm writing this you may already guess that I had some trouble. In fact, I got several different error messages while playing around with configuration of the SQL server, e.g. SQL server does not allow remote connections, Server does not exist or access denied etc. After struggling with the SQL Server Configuration Manager and SQL Server Surface Area Configuration for about an hour, I finally consulted Google and found this article: Configuring SQL Server Express 2005 for Remote Access when SQL Server does not allow remote connections. It provides detailed step-by-step instructions, which finally helped me to solve my problem.

Windows Live Writer 1.0 Beta Update

Software Comments

Today an update for Windows Live Writer 1.0 Beta was published:

The following is a summary of the changes in the Writer 1.0 (Beta) Update:

  • Tagging support
  • Support for Blogger Beta
  • Categories are sorted by name and support scrolling, plus improved support for reading categories from your blog
  • Improved startup performance
  • Paste is enabled for Title region and TAB/SHIFT+TAB navigation between title and body supported
  • Insert hyperlink added to context menu when text is selected
  • Title attribute in Insert Link dialog
  • Custom date support for Community Server
  • Improved keyboard shortcuts for switching views
  • Change spell-check shortcut key to F7
  • Add "png" to insert image dialog file type filter
  • More robust¬†image posting to¬†Live Spaces
  • Improved style detection for blogs¬†
  • Fixed issues with pasting URLs and links
  • Remember last window size and position when opening a new post
  • Open post dialog retrieves¬†more than 25 old posts

Updated coComment support for Community Server 2.1

Yesterday the guys at coComment updated their scripts. They also refreshed the example for Community Server, but that's targetting CS 2.0. There are some breaking changes in the API of CS 2.1, so that code won't work with Telligent's latest release. Keyvan Nayyeri updated the code some time ago. I polished it a little bit and incorporated the latest changes from coComment:

<%@ Import Namespace="CommunityServer.Components" %>
<%@ Import Namespace="CommunityServer.Blogs.Components" %>

<% CSContext context = CSContext.Current; %>
<% Weblog currentBlog = Weblogs.GetWeblog(context.ApplicationKey); %>
<% BlogThreadQuery query = new BlogThreadQuery(); %>
<% query.PostID = context.PostID; %>
<% if (context.PostName != null) { %>
<%   query.PostName = context.PostName; %>
<% } %>
<% query.IncludeCategories = false; %>
<% query.ReturnFullThread = false; %>
<% query.SectionID = currentBlog.SectionID; %>
<% PostSet postSet = WeblogPosts.GetPosts(query, true); %>
<% postSet.Organize(); %>
<% WeblogPost blogPost = postSet.ThreadStarter as WeblogPost; %>
<% bool isAuthor = context.IsAuthenticated; %>

<script type="text/javascript">
coco =
    tool       : "<%= SiteStatistics.CommunityServerVersionVersionInfo %>",
    siteurl    : "<%= Globals.FullPath(currentBlog.Url) %>",
    sitetitle  : "<%= currentBlog.Name %>",
    pageurl    : "<%= Globals.FullPath(BlogUrls.Instance().Post(blogPost)) %>",
    pagetitle  : "<%= blogPost.Subject %>",<% if (isAuthor) { %>
    author     : "<%= context.User.DisplayName %>",<% } else{ %>
    authorID   : "<%= tbName.UniqueID %>",<% } %>
    formID     : "aspnetForm",
    textareaID : "<%= tbComment.UniqueID %>",
    buttonID   : "<%= btnSubmit.UniqueID %>"
<script id="cocomment-fetchlet" src=""

If you run CS 2.1 on ASP.NET 1.1, you have to change formID from aspnetForm to __aspnetForm.

What I don't understand however is why the xxxID variables require the name of the related control instead of the ID.