<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.componentart.com/BLOGS/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>Phil Tucker</title><link>http://www.componentart.com/BLOGS/phil/default.aspx</link><description>Absurdity is it&amp;#39;s own message.</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Debug Build: 61019.2)</generator><item><title>Editor's Second Skin</title><link>http://www.componentart.com/BLOGS/phil/archive/2008/03/31/editor-s-second-skin.aspx</link><pubDate>Mon, 31 Mar 2008 13:30:00 GMT</pubDate><guid isPermaLink="false">c19e7ad3-6f2a-44cb-a9a2-6a12e252d531:17928</guid><dc:creator>Phil</dc:creator><slash:comments>1</slash:comments><comments>http://www.componentart.com/BLOGS/phil/comments/17928.aspx</comments><wfw:commentRss>http://www.componentart.com/BLOGS/phil/commentrss.aspx?PostID=17928</wfw:commentRss><description>&lt;p&gt;With a mandate to continuously improve our products and suite as a whole each version of Web.UI can bring many upgrades. With Editor 2008.1 we decided to add a new method of skinning the Editor control. Previously, developers were required to employ our sample UserControl skins and not directly embed the Editor on to their ASPX page. While this kept the ASPX clear of detailed Template, ToolBar and Widget code, it abstracted the Editor tag and added an extra layer to the control hierarchy. Editor 2008.1 introduces a new skinning mechanism which accomplishes the goal of allowing a clean ASPX yet eliminates the need to refer to the Editor through a UserControl.&lt;/p&gt;&lt;p&gt;In Editor 2008.1 we have divided the required control references into a combination of Widgets, Templates and ToolBar definitions.&amp;nbsp;None of which&amp;nbsp;need to be defined inline. By separating the elements of the Editor it allows the control to optimized by only loading the widgets required by each specific skin or template of the Editor, this eliminates quite a bit of overhead depending on how minimal the skin is.&lt;/p&gt;&lt;h4&gt;How Skins Work in Editor 2008.1&lt;/h4&gt;&lt;p&gt;The main&amp;nbsp;template&amp;nbsp;for the Editor can be defined either inline or&amp;nbsp;by setting the Editor TemplateFile property. These files are located, or should be placed in the skin directory,&lt;/p&gt;&lt;p&gt;&lt;strong&gt;skins\skin_name\templates\&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Templates define the layout of the Editor instance. References are included in this Template for various&amp;nbsp;elements of the Editor:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;$$&lt;strong&gt;ToolBars[0]&lt;/strong&gt;$$&lt;/li&gt;&lt;li&gt;$$&lt;strong&gt;breadcrumbs&lt;/strong&gt;$$&lt;/li&gt;&lt;li&gt;$$&lt;strong&gt;wordcount&lt;/strong&gt;$$&lt;/li&gt;&lt;li&gt;$$&lt;strong&gt;charactercount&lt;/strong&gt;$$&lt;/li&gt;&lt;li&gt;$$&lt;strong&gt;parent&lt;/strong&gt;$$&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;ToolBars definitions one of the few elements which must still be defined inline in&amp;nbsp;the Editor&amp;nbsp;&amp;lt;ToolBars&amp;gt; collection, however, each ToolBar&amp;#39;s Items may be defined in XML and referenced via ToolBar&amp;#39;s &lt;strong&gt;SiteMapXml&lt;/strong&gt; property.&lt;/p&gt;&lt;div style="font-family:courier new;background-color:#e5e5e5;text-align:left;border:#808080 1px solid;padding:10px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;ToolBars&amp;gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;ComponentArt:ToolBar&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RunAt=&amp;quot;server&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Id=&amp;quot;CoreToolBar&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ImagesBaseUrl=&amp;quot;../../skins/blackice/images/toolbar/&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CssClass=&amp;quot;toolbar&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Height=&amp;quot;25&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DefaultItemImageWidth=&amp;quot;23&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DefaultItemImageHeight=&amp;quot;21&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UseFadeEffect=&amp;quot;false&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SiteMapXmlFile=&amp;quot;CoreToolBar.xml&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ClientEvents&amp;gt;&lt;br /&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;lt;ItemMouseUp EventHandler=&amp;quot;font_toolbar_mouseup&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ClientEvents&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ComponentArt:ToolBar&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/ToolBars&amp;gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;When defining ToolBarItems, whether in XML for use with SiteMapXml or inline, each ToolBarItem is given an &lt;strong&gt;EditorCommandType&lt;/strong&gt;. The EditorCommandType both defines the function of this ToolBarItem within the Editor context and dictates which Widget, if any, should be loaded to accompany this ToolBarItem.&lt;/p&gt;&lt;div style="font-family:courier new;background-color:#e5e5e5;text-align:left;border:#808080 1px solid;padding:10px;"&gt;&amp;lt;Items&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;ToolBarItem EditorCommandType=&amp;quot;FormatStyle&amp;quot; &amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;ToolBarItem EditorCommandType=&amp;quot;FormatFontFace&amp;quot; &amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;ToolBarItem EditorCommandType=&amp;quot;FormatFontSize&amp;quot; &amp;gt; &lt;/div&gt;&lt;p&gt;Once the Template, ToolBars and ToolBarItems are defined, the Editor is ready to go! Of course, these steps are already taken in our samples and one may simply copy the skins directory and an Editor control tag to their application. This document is meant as a reference to some inner workings for those interested in skinning.&lt;/p&gt;&lt;p&gt;Customizing any of our sample skins is as easy as editing any of the elements defined above as well as any of the Widgets. &lt;/p&gt;&lt;h4&gt;Customizing Skins in Editor 2008.1&lt;/h4&gt;&lt;p&gt;ToolBars can be added or removed from the ToolBars collection in the Editor control tag, ToolBars may also be removed by removing their placeholder from the skin template.&lt;/p&gt;&lt;p&gt;ToolBarItems may be removed, added or edited by editing the corresponding xml file, such as &lt;strong&gt;StandardToolBar.xml&lt;/strong&gt;. If they are defined inline with each ToolBar editing can be done there as well.&lt;/p&gt;&lt;p&gt;Any other aspect of an existing skin may be customized through editing the template file, the widget UserControls for each ToolBarItem &lt;strong&gt;skins\skin_name\widgets\&lt;/strong&gt; and/or the corresponding image and CSS files. For example, to alter the InsertEditMedia Dialog you would edit the file &lt;strong&gt;skins\skin_name\widgets\InsertEditMedia.ascx&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;&lt;img height="302" src="http://www.componentart.com/blogs/phil/images/widgets.gif" width="325" /&gt;&lt;/p&gt;&lt;p&gt;The UserControl method of skinning is still available, relevant files can be found in &lt;strong&gt;integrated_skins\&lt;/strong&gt;. While this method is still functional and available, it will most likely not be supported in a future iteration of the Editor control and may not contain all future fixes. The javascript engine to accompany this method, &lt;strong&gt;scripts.js&lt;/strong&gt;, is now compiled into the &lt;strong&gt;ComponentArt.Web.UI.DLL&lt;/strong&gt;. Therefore cannot&amp;nbsp;easily be&amp;nbsp;edited when using the new skinning method.&lt;/p&gt;&lt;p&gt;We&amp;#39;ve found this new skinning method to be easiler, both when implementing and when making customizations than it&amp;#39;s older counterpart. hopefully you will too.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.componentart.com/BLOGS/phil/archive/2008/03/31/editor-s-second-skin.aspx&amp;amp;;subject=Editor%27s+Second+Skin" target="_blank" title = "Post http://www.componentart.com/BLOGS/phil/archive/2008/03/31/editor-s-second-skin.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.componentart.com/BLOGS/phil/archive/2008/03/31/editor-s-second-skin.aspx&amp;amp;;title=Editor%27s+Second+Skin" target="_blank" title = "Post http://www.componentart.com/BLOGS/phil/archive/2008/03/31/editor-s-second-skin.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.componentart.com/BLOGS/phil/archive/2008/03/31/editor-s-second-skin.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.componentart.com/BLOGS/phil/archive/2008/03/31/editor-s-second-skin.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.componentart.com/BLOGS/phil/archive/2008/03/31/editor-s-second-skin.aspx&amp;amp;title=Editor%27s+Second+Skin" target="_blank" title = "Post http://www.componentart.com/BLOGS/phil/archive/2008/03/31/editor-s-second-skin.aspx"&gt;reddit!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.componentart.com/BLOGS/aggbug.aspx?PostID=17928" width="1" height="1"&gt;</description><category domain="http://www.componentart.com/BLOGS/phil/archive/tags/Editor+Web.UI+2008.1+Skinning+UserControls/default.aspx">Editor Web.UI 2008.1 Skinning UserControls</category></item><item><title>Dynamically Assigning Event Handlers w/ Arguments to Instance Methods in Javascript</title><link>http://www.componentart.com/BLOGS/phil/archive/2007/02/16/dynamically-assigning-event-handlers-w-arguments-to-prototypes-in-javascript.aspx</link><pubDate>Fri, 16 Feb 2007 21:34:00 GMT</pubDate><guid isPermaLink="false">c19e7ad3-6f2a-44cb-a9a2-6a12e252d531:1576</guid><dc:creator>Phil</dc:creator><slash:comments>2</slash:comments><comments>http://www.componentart.com/BLOGS/phil/comments/1576.aspx</comments><wfw:commentRss>http://www.componentart.com/BLOGS/phil/commentrss.aspx?PostID=1576</wfw:commentRss><description>&lt;p&gt;I ran into a speed bump of sorts when attempting to assign an object instance method as a DOM event handler, there&amp;#39;s some information floating around the net, but a post on the topic can&amp;#39;t hurt. Something like this on the server side would usually fit the bill:&lt;/p&gt;&lt;pre style="font-family:courier new;background-color:#e2e2e2;border:#a0a0a0 1px solid;"&gt;spaghetti.Attributes.Add(&amp;quot;&lt;span style="color:#8b0000;"&gt;onmousemove&lt;/span&gt;&amp;quot;,&lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.Id+&amp;quot;&lt;span style="color:#8b0000;"&gt;.myMouseMoveHandler(event)&lt;/span&gt;&amp;quot;);
&lt;/pre&gt;&lt;p&gt;However since we want to create this same result completely on the client-side we&amp;#39;ll need to do this in the class constructor, something like this:&lt;/p&gt;&lt;pre style="font-family:courier new;background-color:#e2e2e2;border:#a0a0a0 1px solid;"&gt;&lt;span style="color:#0000ff;"&gt;document&lt;/span&gt;.getElementById(&amp;#39;spaghetti&amp;#39;).onmousemove = &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.myMouseMoveHandler;&lt;/pre&gt;&lt;p&gt;May work in some situations, but arguments cannot be passed when assigning this way, also, unless the handler function is defined within the constructor it won&amp;#39;t be available yet. Something like this:&lt;/p&gt;&lt;pre style="font-family:courier new;background-color:#e2e2e2;border:#a0a0a0 1px solid;"&gt;&lt;span style="color:#0000ff;"&gt;document&lt;/span&gt;.getElementById(&amp;#39;spaghetti&amp;#39;).onmousemove = &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Function&lt;/span&gt; (&amp;#39;e&amp;#39;,id+&amp;#39;.myMouseMoveHandler(e);&amp;#39;);&lt;/pre&gt;&lt;p&gt;Again will only work if the handler method has been defined within the constructor, but at least an argument may be passed. Next we add the dreaded eval so it can be evaluated on the fly, allowing us to define the handler method for the object instance outside of&amp;nbsp;the constructor:&lt;/p&gt;&lt;pre style="font-family:courier new;background-color:#e2e2e2;border:#a0a0a0 1px solid;"&gt;&lt;span style="color:#0000ff;"&gt;document&lt;/span&gt;.getElementById(&amp;#39;spaghetti&amp;#39;).onmousemove = &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Function&lt;/span&gt; (&amp;#39;e&amp;#39;,&amp;#39;&lt;span style="color:#0000ff;"&gt;eval&lt;/span&gt;(&amp;quot;&lt;span style="color:#8b0000;"&gt;&amp;#39;+id+&amp;#39;.myMouseMoveHandler(e);&lt;/span&gt;&amp;quot;);&amp;#39;);&lt;/pre&gt;&lt;p&gt;Figured it was just convoluted enough to warrant a blog post.&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.componentart.com/BLOGS/phil/archive/2007/02/16/dynamically-assigning-event-handlers-w-arguments-to-prototypes-in-javascript.aspx&amp;amp;;subject=Dynamically+Assigning+Event+Handlers+w%2f+Arguments+to+Instance+Methods+in+Javascript" target="_blank" title = "Post http://www.componentart.com/BLOGS/phil/archive/2007/02/16/dynamically-assigning-event-handlers-w-arguments-to-prototypes-in-javascript.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.componentart.com/BLOGS/phil/archive/2007/02/16/dynamically-assigning-event-handlers-w-arguments-to-prototypes-in-javascript.aspx&amp;amp;;title=Dynamically+Assigning+Event+Handlers+w%2f+Arguments+to+Instance+Methods+in+Javascript" target="_blank" title = "Post http://www.componentart.com/BLOGS/phil/archive/2007/02/16/dynamically-assigning-event-handlers-w-arguments-to-prototypes-in-javascript.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.componentart.com/BLOGS/phil/archive/2007/02/16/dynamically-assigning-event-handlers-w-arguments-to-prototypes-in-javascript.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.componentart.com/BLOGS/phil/archive/2007/02/16/dynamically-assigning-event-handlers-w-arguments-to-prototypes-in-javascript.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.componentart.com/BLOGS/phil/archive/2007/02/16/dynamically-assigning-event-handlers-w-arguments-to-prototypes-in-javascript.aspx&amp;amp;title=Dynamically+Assigning+Event+Handlers+w%2f+Arguments+to+Instance+Methods+in+Javascript" target="_blank" title = "Post http://www.componentart.com/BLOGS/phil/archive/2007/02/16/dynamically-assigning-event-handlers-w-arguments-to-prototypes-in-javascript.aspx"&gt;reddit!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.componentart.com/BLOGS/aggbug.aspx?PostID=1576" width="1" height="1"&gt;</description><category domain="http://www.componentart.com/BLOGS/phil/archive/tags/Dynamic/default.aspx">Dynamic</category><category domain="http://www.componentart.com/BLOGS/phil/archive/tags/Event+Handler/default.aspx">Event Handler</category><category domain="http://www.componentart.com/BLOGS/phil/archive/tags/Javascript/default.aspx">Javascript</category></item><item><title>Telligent Community Server 2.1</title><link>http://www.componentart.com/BLOGS/phil/archive/2006/10/31/Telligent-Community-Server-2.1-Blogs-Online.aspx</link><pubDate>Tue, 31 Oct 2006 09:45:00 GMT</pubDate><guid isPermaLink="false">c19e7ad3-6f2a-44cb-a9a2-6a12e252d531:16</guid><dc:creator>Phil</dc:creator><slash:comments>0</slash:comments><comments>http://www.componentart.com/BLOGS/phil/comments/16.aspx</comments><wfw:commentRss>http://www.componentart.com/BLOGS/phil/commentrss.aspx?PostID=16</wfw:commentRss><description>&lt;p&gt;We here at ComponentArt have long been working with the good folks at &lt;a href="http://telligent.com/"&gt;Telligent Systems&lt;/a&gt; and have been using a highly modified version of their &lt;a href="http://communityserver.org/"&gt;Community Server&lt;/a&gt; on our main site for quite some time. When&amp;nbsp;we decided to set up some&amp;nbsp;development/corporate blogs, selecting software didn&amp;#39;t take long. I&amp;#39;m currently involved in a number of projects here at ComponentArt, both in development and support of our products, the most recent being the implementation of Community Server 2.1 for these blogs. I&amp;#39;m sure&amp;nbsp;you all&amp;nbsp;envy me the tip-toeing through skin files and templates to get that look just right, but seriously, Telligent have a great product which we managed to completely customize and skin in less than three days. Some URL redirection, which it supports though a .config file, some virtual directory shuffling and we&amp;#39;ve got CS stripped down to the blog meat we wanted. Here&amp;#39;s to hoping these blogs provide the development community with some interesting reading now and then. Cheers.&lt;/p&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.componentart.com/BLOGS/phil/archive/2006/10/31/Telligent-Community-Server-2.1-Blogs-Online.aspx&amp;amp;;subject=Telligent+Community+Server+2.1" target="_blank" title = "Post http://www.componentart.com/BLOGS/phil/archive/2006/10/31/Telligent-Community-Server-2.1-Blogs-Online.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.componentart.com/BLOGS/phil/archive/2006/10/31/Telligent-Community-Server-2.1-Blogs-Online.aspx&amp;amp;;title=Telligent+Community+Server+2.1" target="_blank" title = "Post http://www.componentart.com/BLOGS/phil/archive/2006/10/31/Telligent-Community-Server-2.1-Blogs-Online.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.componentart.com/BLOGS/phil/archive/2006/10/31/Telligent-Community-Server-2.1-Blogs-Online.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.componentart.com/BLOGS/phil/archive/2006/10/31/Telligent-Community-Server-2.1-Blogs-Online.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.componentart.com/BLOGS/phil/archive/2006/10/31/Telligent-Community-Server-2.1-Blogs-Online.aspx&amp;amp;title=Telligent+Community+Server+2.1" target="_blank" title = "Post http://www.componentart.com/BLOGS/phil/archive/2006/10/31/Telligent-Community-Server-2.1-Blogs-Online.aspx"&gt;reddit!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.componentart.com/BLOGS/aggbug.aspx?PostID=16" width="1" height="1"&gt;</description><category domain="http://www.componentart.com/BLOGS/phil/archive/tags/Telligent/default.aspx">Telligent</category><category domain="http://www.componentart.com/BLOGS/phil/archive/tags/Blogs/default.aspx">Blogs</category><category domain="http://www.componentart.com/BLOGS/phil/archive/tags/Community+Server/default.aspx">Community Server</category></item></channel></rss>