<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" version="2.0"><channel><title>KevinHarder.com: Blog</title><link>http://kevinharder.com/blog/</link><description /><generator>Graffiti CMS 1.2 (build 1.2.0.1451)</generator><lastBuildDate>Sun, 09 Nov 2008 14:04:00 GMT</lastBuildDate><geo:lat>32.998132</geo:lat><geo:long>-96.790886</geo:long><creativeCommons:license>http://creativecommons.org/licenses/by-nc/3.0/</creativeCommons:license><image><link>http://kevinharder.com</link><url>http://kevinharder.com/images/title.jpg</url><title>KevinHarder.com</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/KevinHarder" type="application/rss+xml" /><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FKevinHarder" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FKevinHarder" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FKevinHarder" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FKevinHarder" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>Graffiti Silverlight Photo Gallery Plugin Updates</title><link>http://kevinharder.com/blog/graffiti-silverlight-photo-gallery-plugin-updates/</link><pubDate>Sun, 09 Nov 2008 14:04:00 GMT</pubDate><guid isPermaLink="false">http://kevinharder.com/blog/graffiti-silverlight-photo-gallery-plugin-updates/</guid><dc:creator>Kevin Harder</dc:creator><slash:comments>9</slash:comments><category domain="http://kevinharder.com/blog/">Blog</category><description>&lt;p&gt;Last spring I &lt;a href="http://kevinharder.com/blog/add-a-silverlight-photo-gallery-to-your-graffiti-site/"&gt;wrote a set of plugins&lt;/a&gt; for &lt;a href="http://graffiticms.com"&gt;Graffiti CMS&lt;/a&gt; that add a Silverlight 1.0 photo gallery to Graffiti. They used the open source &lt;a href="http://www.codeplex.com/SlideShow2"&gt;Slide.Show&lt;/a&gt; Silverlight photo gallery control written by Vertigo Software to render the actual gallery.&lt;/p&gt;
&lt;p&gt;Since then Microsoft has released a new version of Silverlight with big improvements. Vertigo decided to both update the original Slide.Show control and create a new version called Slide.Show2:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Slide.Show was updated to support Silverlight 2.0 and Firefox 3.0. It also has minor improvements to the Flickr provider. However it still uses the old style way of deploying the Silverlight with JavaScript. Most likely only bug fixes will be added to this version.&lt;/li&gt;
    &lt;li&gt;Slide.Show2 is a port of the original Slide.Show to managed code and Silverlight 2.0. It is deployed as a compressed/compiled XAP file, which some older servers might have problems serving. It does not yet support Picasa as a data source. This new version is likely to be updated in the future with new features.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://kevinharder.com/files/media/image/WindowsLiveWriter/GraffitiSilverlightPhotoGalleryPluginUpd_12B5E/image_2.png"&gt;&lt;img height="184" width="244" border="0" align="right" style="border-width: 0px; display: inline; margin-left: 0px; margin-right: 0px;" title="Graffiti.Slide.Show Plugin" alt="Graffiti.Slide.Show Plugin" src="http://kevinharder.com/files/media/image/WindowsLiveWriter/GraffitiSilverlightPhotoGalleryPluginUpd_12B5E/image_thumb.png" /&gt;&lt;/a&gt;I decided to follow suit and create two different updated versions of the original Graffiti.Slide.Show plugin. Everyone using the release version of the plugin should upgrade to one of these new versions.&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Graffiti.Slide.Show version 1.2&lt;/strong&gt; has the latest and greatest bits. It uses Slide.Show2 to render the gallery and requires Graffiti 1.1. This version supports storing photos on the web server or in Flickr. I recommend using v1.2 if possible. You can see it in action on my &lt;a target="_blank" href="http://kevinharder.com/photos/"&gt;Photos page&lt;/a&gt;.&lt;/li&gt;
    &lt;li&gt;For those who can&amp;rsquo;t run v1.2, I also created &lt;strong&gt;Graffiti.Slide.Show version 1.1&lt;/strong&gt;. This uses the original updated Slide.Show control to render the gallery and requires Graffiti 1.0.1 or above. It supports storing photos on the web server, in Flickr, or in Picasa.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can download the updated plugin in my downloads section here:    &lt;br /&gt;
&lt;a href="http://kevinharder.com/downloads/graffiti/slide-show-plugin/"&gt;http://kevinharder.com/downloads/graffiti/slide-show-plugin/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Please upgrade your plugin and share any feedback! There are also links on the download page to get the complete source code of the plugins if you are interested in how they work. And a &lt;a target="_blank" href="http://groups.google.com/group/graffiti-slideshow-plugins"&gt;Google Groups mailing list&lt;/a&gt; for discussion and updates. If you&amp;rsquo;d like to contribute to the Graffiti.Slide.Show plugins, check out the Google Code project at &lt;a href="http://code.google.com/p/graffiti-slideshow/"&gt;http://code.google.com/p/graffiti-slideshow/&lt;/a&gt;.&lt;/p&gt;&lt;hr /&gt;
&lt;p&gt;
Tagged as 
&lt;a href="http://kevinharder.com/tags/graffiti/"&gt;graffiti&lt;/a&gt;
,
&lt;a href="http://kevinharder.com/tags/plugins/"&gt;plugins&lt;/a&gt;
,
&lt;a href="http://kevinharder.com/tags/slide-show/"&gt;slide-show&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Similar Posts&lt;/strong&gt;&lt;br /&gt;
&lt;ol id="similarPosts" class="splist"&gt;
&lt;li&gt;&lt;a href="http://kevinharder.com/downloads/graffiti/slide-show-plugin/"&gt;Slide.Show Photo Gallery Plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://kevinharder.com/blog/add-a-silverlight-photo-gallery-to-your-graffiti-site/"&gt;Add a Silverlight photo gallery to your Graffiti site&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://kevinharder.com/blog/enhance-your-graffiti-powered-blog/"&gt;Enhance your Graffiti powered blog&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=Onl7UkOhtqA:G4ADQsKWTYc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=Onl7UkOhtqA:G4ADQsKWTYc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=Onl7UkOhtqA:G4ADQsKWTYc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=Onl7UkOhtqA:G4ADQsKWTYc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=Onl7UkOhtqA:G4ADQsKWTYc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=Onl7UkOhtqA:G4ADQsKWTYc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=Onl7UkOhtqA:G4ADQsKWTYc:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=Onl7UkOhtqA:G4ADQsKWTYc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=Onl7UkOhtqA:G4ADQsKWTYc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/KevinHarder/~4/Onl7UkOhtqA" height="1" width="1"/&gt;</description><georss:point>33.203 -96.881</georss:point></item><item><title>Enhance your Graffiti powered blog</title><link>http://kevinharder.com/blog/enhance-your-graffiti-powered-blog/</link><pubDate>Sun, 13 Apr 2008 00:47:00 GMT</pubDate><guid isPermaLink="false">http://kevinharder.com/blog/enhance-your-graffiti-powered-blog/</guid><dc:creator>Kevin Harder</dc:creator><slash:comments>2</slash:comments><category domain="http://kevinharder.com/blog/">Blog</category><description>&lt;p&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="200" alt="Graffiti Blog Extensions Plugin" width="200" align="right" border="0" src="http://kevinharder.com/files/media/image/WindowsLiveWriter/EnhanceyourGraffitipoweredblog_10602/BlogExtensionsPlugin_square_3.png" /&gt;Graffiti is an awesome CMS and an excellent blogging platform. But there a few advanced features that are common in blogs but don't really make much sense in a general CMS which we left out on purpose. The idea was that we would create an official Telligent Graffiti plugin to add these blogging features for people using Graffiti to run a blog.&lt;/p&gt;
&lt;p&gt;The Blog Extensions plugin was one of the first things I got to work on when I switched from the CS/Harvest team to the Graffiti team at Telligent. It was nice to take some of the experience I had from working on the blogging component in Community Server and use it on another project. We decided to start with four features for the initial version of the plugin:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Support for receiving and automatically sending both &lt;a target="_blank" href="http://www.sixapart.com/pronet/docs/trackback_spec"&gt;trackbacks&lt;/a&gt; and &lt;a target="_blank" href="http://www.hixie.ch/specs/pingback/pingback"&gt;pingbacks&lt;/a&gt;. These are two different protocols for the same purpose - to let another blogger know that you linked to his or her post. Some other blogging/CMS platforms only support one or the other, but Graffiti (and Community Server) fully support both. After you add or update a post the plugin will scan the body for any links, retrieve the web page that each link points to, and check if the remote site supports trackbacks or pingbacks, and send one if they do.&lt;/li&gt;
    &lt;li&gt;Adds a Comment RSS feed to display all comments for all posts in a single feed located at /feed/comments/. This is really useful when you want to follow all of the comments on a blog without having to check each post's web page every day.&lt;/li&gt;
    &lt;li&gt;Can send a &lt;a target="_blank" href="http://www.weblogs.com/api.html"&gt;weblog update ping&lt;/a&gt; to services such as &lt;a target="_blank" href="http://pingomatic.com/"&gt;Ping-O-Matic&lt;/a&gt;, &lt;a target="_blank" href="http://www.technorati.com/"&gt;Technorati&lt;/a&gt;, &lt;a target="_blank" href="http://www.weblogs.com/"&gt;Weblogs.com&lt;/a&gt;, and many more (the list is configurable). This is a way to let the various blog search services know that you have published or updated a post.&lt;/li&gt;
    &lt;li&gt;Extends the core RSS feeds with &lt;a target="_blank" href="http://www.georss.org/"&gt;GeoRSS&lt;/a&gt; support. GeoRSS is a simple way to encode a geographic location for each post in your feed. Some web sites and services look for this information to enable people to search for content written in or about specific locations. The plugin allows you to set a default location (where most of your posts are written at or about) and optionally override it for each post via an automatically created custom field.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each feature can be individually enabled or disabled. &lt;a href="http://jeftek.com/"&gt;Jef Kazimer&lt;/a&gt; wrote a very detailed blog post about &lt;a target="_blank" href="http://jeftek.com/web/graffiticms/using-the-graffiticms-blog-extensions-plug-in/"&gt;how to configure and enable the plugin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The Blog Extensions plugin requires Graffiti version 1.0.1 or above (Service Pack 1). While working on the plugin we realized that we needed add a few additional events and methods to the core to enable the plugin to do everything that we wanted it to do, which were included in the service pack. So it won't run on the original (v1.0) release of Graffiti.&lt;/p&gt;
&lt;p&gt;After the plugin was released to the integrated Graffiti marketplace, we decided to also make the Blog Extensions an open source project. This way interested community developers can contribute, and other developers who want to create plugins for Graffiti can look at the source as an example. You can download the source code, leave feedback, and contribute on the &lt;a href="http://code.google.com/p/graffitiblogext/"&gt;Google Code project site&lt;/a&gt;.&lt;/p&gt;&lt;hr /&gt;
&lt;p&gt;
Tagged as 
&lt;a href="http://kevinharder.com/tags/graffiti/"&gt;graffiti&lt;/a&gt;
,
&lt;a href="http://kevinharder.com/tags/plugins/"&gt;plugins&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Similar Posts&lt;/strong&gt;&lt;br /&gt;
&lt;ol id="similarPosts" class="splist"&gt;
&lt;li&gt;&lt;a href="http://kevinharder.com/blog/now-graffiti-powered/"&gt;Now Graffiti Powered&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://kevinharder.com/blog/first-graffiti-update-delivers-tasty-new-events/"&gt;First Graffiti Update Delivers Tasty New Events&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://kevinharder.com/blog/live-blogging-the-csdc-part-3/"&gt;Live Blogging the CSDC - Part 3&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=-DWivVBBhQA:HQnJejLWD64:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=-DWivVBBhQA:HQnJejLWD64:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=-DWivVBBhQA:HQnJejLWD64:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=-DWivVBBhQA:HQnJejLWD64:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=-DWivVBBhQA:HQnJejLWD64:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=-DWivVBBhQA:HQnJejLWD64:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=-DWivVBBhQA:HQnJejLWD64:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=-DWivVBBhQA:HQnJejLWD64:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=-DWivVBBhQA:HQnJejLWD64:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/KevinHarder/~4/-DWivVBBhQA" height="1" width="1"/&gt;</description><georss:point>33.203 -96.881</georss:point></item><item><title>Source Code for Graffiti Silverlight Photo Gallery plugin released</title><link>http://kevinharder.com/blog/source-code-for-graffiti-silverlight-photo-gallery-plugin-released/</link><pubDate>Thu, 10 Apr 2008 18:17:00 GMT</pubDate><guid isPermaLink="false">http://kevinharder.com/blog/source-code-for-graffiti-silverlight-photo-gallery-plugin-released/</guid><dc:creator>Kevin Harder</dc:creator><slash:comments>1</slash:comments><category domain="http://kevinharder.com/blog/">Blog</category><description>&lt;p&gt;A few weeks ago I released a beta version of the Silverlight photo gallery plugin for Graffiti CMS that I have been working on, along with &lt;a href="http://kevinharder.com/blog/add-a-silverlight-photo-gallery-to-your-graffiti-site/"&gt;a blog post describing it&lt;/a&gt;. I wrote then that:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Once they get tested a little more I'll make any needed changes and re-release it, along with the full source code... They are being released as a &lt;em&gt;beta&lt;/em&gt; because I have not had time to fully test every combination of the options.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Since then I have not received much in the way of feedback, so I'll be optimistic and assume everything works splendidly. I have not made any changes since that release either, although there are a few features I would like to add to future versions of the plugin (thumbnail support, reading EXIF info, improved config UI).&lt;/p&gt;
&lt;p&gt;Between working on the next version of Graffiti, other plugins and widgets, and of course the new baby, I know it will be slow going in adding those features in. So instead of just releasing a source code drop in a zip file as I usually do for my personal projects, I decided to create a &lt;a href="http://code.google.com/p/graffiti-slideshow/"&gt;Google Code project&lt;/a&gt; for this set of plugins. That way if there are other developers interested in improving the plugins they can do so with relative ease.&lt;/p&gt;
&lt;p&gt;I will keep the &lt;a href="http://kevinharder.com/downloads/graffiti/slide-show-plugin/"&gt;Slide.Show Photo Gallery Plugin download page&lt;/a&gt; on this site updated to point to the latest compiled and source code releases in the project. You can also use SVN (my source control system of choice) to grab the latest code from the project by following the instructions &lt;a href="http://code.google.com/p/graffiti-slideshow/source/checkout"&gt;here&lt;/a&gt;. If/when you find bugs or have suggestions please use the &lt;a href="http://code.google.com/p/graffiti-slideshow/issues/list"&gt;Issues page&lt;/a&gt; in Google Code project. And, although it's probably overkill, I also setup a &lt;a href="http://groups.google.com/group/graffiti-slideshow-plugins"&gt;developer and news mailing list&lt;/a&gt; for the project that you can subscribe to if you are interested in participating or following future development.&lt;/p&gt;
&lt;p&gt;Even if you have no interest in a Silverlight photo gallery, the source code may be of educational interest if you are considering writing a complex Graffiti plugin.&lt;/p&gt;&lt;hr /&gt;
&lt;p&gt;
Tagged as 
&lt;a href="http://kevinharder.com/tags/graffiti/"&gt;graffiti&lt;/a&gt;
,
&lt;a href="http://kevinharder.com/tags/plugins/"&gt;plugins&lt;/a&gt;
,
&lt;a href="http://kevinharder.com/tags/slide-show/"&gt;slide-show&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Similar Posts&lt;/strong&gt;&lt;br /&gt;
&lt;ol id="similarPosts" class="splist"&gt;
&lt;li&gt;&lt;a href="http://kevinharder.com/blog/add-a-silverlight-photo-gallery-to-your-graffiti-site/"&gt;Add a Silverlight photo gallery to your Graffiti site&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://kevinharder.com/blog/now-graffiti-powered/"&gt;Now Graffiti Powered&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://kevinharder.com/blog/new-text-to-cs-2007-blogs-migration-tool-available/"&gt;New .Text to CS 2007 Blogs migration tool available&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=kWEgygHBj_g:lz7dDGYfogI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=kWEgygHBj_g:lz7dDGYfogI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=kWEgygHBj_g:lz7dDGYfogI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=kWEgygHBj_g:lz7dDGYfogI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=kWEgygHBj_g:lz7dDGYfogI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=kWEgygHBj_g:lz7dDGYfogI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=kWEgygHBj_g:lz7dDGYfogI:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=kWEgygHBj_g:lz7dDGYfogI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=kWEgygHBj_g:lz7dDGYfogI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/KevinHarder/~4/kWEgygHBj_g" height="1" width="1"/&gt;</description><georss:point>33.203 -96.881</georss:point></item><item><title>Cadence is born</title><link>http://kevinharder.com/blog/cadence-is-born/</link><pubDate>Thu, 03 Apr 2008 02:05:01 GMT</pubDate><guid isPermaLink="false">http://kevinharder.com/blog/cadence-is-born/</guid><dc:creator>Kevin Harder</dc:creator><slash:comments>3</slash:comments><category domain="http://kevinharder.com/blog/">Blog</category><description>&lt;p&gt;My beautiful new daughter Cadence Danielle Harder was born this morning. She weighed 7 pounds and 10 ounces, and was 20 inches long. Megan did a fantastic job and both her and the baby are healthy and doing great.&lt;/p&gt;
&lt;p&gt;Photos from her first day can be found on my &lt;a href="http://kevinharder.com/photos/"&gt;photo gallery page&lt;/a&gt; on this site, and on &lt;a href="http://flickr.com/photos/kevinharder/sets/72157604360190624/detail/"&gt;my Flickr account&lt;/a&gt;. I am taking the next two weeks on PTO/holiday.&amp;nbsp;So please be warned that any work-related emails you send to me&amp;nbsp;may have an&amp;nbsp;even more delayed response than usual.&lt;/p&gt;&lt;hr /&gt;
&lt;p&gt;
Tagged as 
&lt;a href="http://kevinharder.com/tags/family/"&gt;family&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Similar Posts&lt;/strong&gt;&lt;br /&gt;
&lt;ol id="similarPosts" class="splist"&gt;
&lt;li&gt;&lt;a href="http://kevinharder.com/blog/live-blogging-the-csdc-part-3/"&gt;Live Blogging the CSDC - Part 3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://kevinharder.com/blog/add-a-silverlight-photo-gallery-to-your-graffiti-site/"&gt;Add a Silverlight photo gallery to your Graffiti site&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://kevinharder.com/blog/live-blogging-the-csdc-part-2/"&gt;Live Blogging the CSDC - Part 2&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=23hBSOCiHQo:1VC-iQNtV40:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=23hBSOCiHQo:1VC-iQNtV40:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=23hBSOCiHQo:1VC-iQNtV40:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=23hBSOCiHQo:1VC-iQNtV40:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=23hBSOCiHQo:1VC-iQNtV40:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=23hBSOCiHQo:1VC-iQNtV40:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=23hBSOCiHQo:1VC-iQNtV40:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=23hBSOCiHQo:1VC-iQNtV40:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=23hBSOCiHQo:1VC-iQNtV40:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/KevinHarder/~4/23hBSOCiHQo" height="1" width="1"/&gt;</description><georss:point>33.203 -96.881</georss:point></item><item><title>Add a Silverlight photo gallery to your Graffiti site</title><link>http://kevinharder.com/blog/add-a-silverlight-photo-gallery-to-your-graffiti-site/</link><pubDate>Sat, 22 Mar 2008 04:36:14 GMT</pubDate><guid isPermaLink="false">http://kevinharder.com/blog/add-a-silverlight-photo-gallery-to-your-graffiti-site/</guid><dc:creator>Kevin Harder</dc:creator><slash:comments>6</slash:comments><category domain="http://kevinharder.com/blog/">Blog</category><description>&lt;p&gt;A few weeks ago &lt;a href="http://blogs.msdn.com/gduthie/default.aspx"&gt;Andrew Duthie&lt;/a&gt; modified the default &lt;a href="http://graffiticms.com/"&gt;Graffiti&lt;/a&gt; theme by adding in the &lt;a href="http://www.codeplex.com/SlideShow"&gt;Slide.Show Silverlight photo gallery control&lt;/a&gt;, with a hand written configuration and data xml files, and shared it with the Graffiti team at &lt;a href="http://telligent.com"&gt;Telligent&lt;/a&gt;. I had not seen the Slide.Show control before and it looked amazing! Especially for being free and relatively new.&lt;/p&gt;  &lt;p&gt;Slide.Show was developed by &lt;a href="http://www.vertigo.com/SlideShow.aspx"&gt;Vertigo Software&lt;/a&gt; as a demonstration of Silverlight's power and flexibility. It was then released as an open source project on &lt;a href="http://www.codeplex.com/SlideShow"&gt;CodePlex&lt;/a&gt;. It consists of a few javascript files that retrieve the album and photo data via XML, JSON, or a built-in Flickr provider and renders the Silverlight.&lt;/p&gt;  &lt;p&gt;I thought it would make a great Graffiti plugin. The plugin can render the necessary javascript and dynamically create the configuration and data xml files so you don't have to modify your theme or manually create any xml files. I also found an additional Slide.Show data provider javascript that allows it to retrieve photos from Google Picasa Web Album which was written by &lt;a href="http://www.wesleyriley.com"&gt;Wesley Riley&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;So I built three very similar plugins that use the Slide.Show control to display a photo gallery on a post page. The difference between them is in where they get the photos from:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Slide.Show Photo Gallery Plugin&lt;/strong&gt; - This plugin looks for photos on the web server. Create a folder to be the &amp;quot;root&amp;quot; of the photo gallery and enter that in the plugin configuration. Inside of this root folder, create subfolders for each album. Put the image files that go in each album in the respective album folder. You can optionally create a plain text file called &amp;quot;album.txt&amp;quot; inside each album folder that contains the album description.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Flickr Slide.Show Photo Gallery Plugin&lt;/strong&gt; - This plugin uses the Flickr API to retrieve photos from a user account on Flickr. Flickr sets are displayed as albums in the gallery. This is currently &lt;a href="http://kevinharder.com/photos/"&gt;running on this site&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Picasa Slide.Show Photo Gallery Plugin&lt;/strong&gt; - This plugin uses the Picasa API to retrieve photos from a user account on Google Picasa Web Albums. Albums in Picasa are displayed as albums in the gallery.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You can now download a beta version of these plugins now on the &lt;a href="http://kevinharder.com/downloads/graffiti/slide-show-plugin/"&gt;download page&lt;/a&gt;. You need to have &lt;a href="http://www.microsoft.com/silverlight/default.aspx"&gt;Silverlight 1.0&lt;/a&gt; installed to view the gallery.&lt;/p&gt;  &lt;p&gt;If you try out one of these plugins, please send me feedback about any issues you run into and suggested improvements. You can use the contact form on this site or email me at kevin _at_ kevinharder.com. Once they get tested a little more I'll make any needed changes and re-release it, along with the full source code.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Disclaimer:&lt;/strong&gt; They are being released as a &lt;em&gt;beta&lt;/em&gt; because I have not had time to fully test every combination of the options. Also, I have seen one instance where the Picasa plugin would not download pictures from the Picasa API for some reason, but then worked after a refresh. I had started working on a feature to automatically generate thumbnail images when using the folder version of the plugin, but removed it from this version as I need to get more info about what sizes Slide.Show uses. Use these plugins at your own risk.&lt;/p&gt;&lt;hr /&gt;
&lt;p&gt;
Tagged as 
&lt;a href="http://kevinharder.com/tags/graffiti/"&gt;graffiti&lt;/a&gt;
,
&lt;a href="http://kevinharder.com/tags/plugins/"&gt;plugins&lt;/a&gt;
,
&lt;a href="http://kevinharder.com/tags/slide-show/"&gt;slide-show&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Similar Posts&lt;/strong&gt;&lt;br /&gt;
&lt;ol id="similarPosts" class="splist"&gt;
&lt;li&gt;&lt;a href="http://kevinharder.com/blog/live-blogging-the-csdc-part-2/"&gt;Live Blogging the CSDC - Part 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://kevinharder.com/blog/now-graffiti-powered/"&gt;Now Graffiti Powered&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://kevinharder.com/blog/live-blogging-the-csdc-part-3/"&gt;Live Blogging the CSDC - Part 3&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=JBARWeZZDb4:m_Cf8E7fWdI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=JBARWeZZDb4:m_Cf8E7fWdI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=JBARWeZZDb4:m_Cf8E7fWdI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=JBARWeZZDb4:m_Cf8E7fWdI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=JBARWeZZDb4:m_Cf8E7fWdI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=JBARWeZZDb4:m_Cf8E7fWdI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=JBARWeZZDb4:m_Cf8E7fWdI:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=JBARWeZZDb4:m_Cf8E7fWdI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=JBARWeZZDb4:m_Cf8E7fWdI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/KevinHarder/~4/JBARWeZZDb4" height="1" width="1"/&gt;</description><georss:point>33.203 -96.881</georss:point></item><item><title>First Graffiti Update Delivers Tasty New Events</title><link>http://kevinharder.com/blog/first-graffiti-update-delivers-tasty-new-events/</link><pubDate>Tue, 11 Mar 2008 17:18:38 GMT</pubDate><guid isPermaLink="false">http://kevinharder.com/blog/first-graffiti-update-delivers-tasty-new-events/</guid><dc:creator>Kevin Harder</dc:creator><slash:comments>1</slash:comments><category domain="http://kevinharder.com/blog/">Blog</category><description>&lt;p&gt;Graffiti 1.0 Service Pack 1 (a.k.a. v1.0.1), the very first update of Graffiti CMS, was publicly released this morning. Go &lt;a href="http://get.graffiticms.com/"&gt;download it&lt;/a&gt; and update your sites. Or install it if you haven't yet tried out Graffiti!&lt;/p&gt;  &lt;p&gt;You can read the full list of included changes and fixes on the &lt;a href="http://graffiticms.com/blog/1-0-sp-1/"&gt;official Graffiti blog&lt;/a&gt;. But to sum it up, we fixed just about every bug that had been reported to us since the initial release and threw in a few new features and lots of extensibility goodness.&lt;/p&gt;  &lt;p&gt;My favorite things in v1.0.1 are all the new events that were created to enable Graffiti plugins to add a whole lot of additional functionality to a (IMHO) elegant and flexible core. A couple of plugins I have been working on recently take advantage of the new events, such as the soon-to-be-released Blog Extensions plugin and Slide.Show Photo Gallery plugin. Here is the scoop on the new events:&lt;/p&gt; &lt;dl&gt;&lt;dt&gt;&lt;strong&gt;AfterInsert&lt;/strong&gt; - DataObjectEventHandler(DataBuddyBase dataObject, EventArgs e) &lt;/dt&gt;&lt;dd&gt;Called after an object is inserted into the database. The dataObject parameter is the object that was inserted, such as a Post or Category.&lt;/dd&gt;&lt;dt&gt;&lt;strong&gt;AfterUpdate&lt;/strong&gt; - DataObjectEventHandler(DataBuddyBase dataObject, EventArgs e) &lt;/dt&gt;&lt;dd&gt;Called after an object is updated in the database. The dataObject parameter is the object that was inserted, such as a Post or Category.&lt;/dd&gt;&lt;dt&gt;&lt;strong&gt;RenderPostBody&lt;/strong&gt; - RenderPostBodyEventHandler(StringBuilder sb, PostEventArgs e) &lt;/dt&gt;&lt;dd&gt;Called when the body of a post is being rendered (i.e. $post.Body). The StringBuilder param lets you append additional content to the end of the post body when it is being displayed. The PostEventArgs contains a PostRenderLocation enum that tells you whether the body is being written out to a Web page or RSS feed (or other).&lt;/dd&gt;&lt;dt&gt;&lt;strong&gt;RenderHtmlHeader&lt;/strong&gt; - RenderContentEventHandler(StringBuilder sb, EventArgs e) &lt;/dt&gt;&lt;dd&gt;Called by the $macros.Head() method, which is used in the layout.view file to generate all of the HTML head elements needed by Graffiti, such as meta tags, javascript, etc. The StringBuilder param lets you append additional content in the HTML head section.&lt;/dd&gt;&lt;dt&gt;&lt;strong&gt;RssItem** &lt;/strong&gt;- RssPostEventHandler(XmlTextWriter writer, PostEventArgs e) &lt;/dt&gt;&lt;dd&gt;Called while Graffiti is generating the item element in a RSS feed. By adding elements to the XmlTextWriter parameter your plugin can add additional elements to each RSS item.&lt;/dd&gt;&lt;dt&gt;&lt;strong&gt;RssNamespace&lt;/strong&gt; - RssEventHandler(XmlTextWriter writer, EventArgs e) &lt;/dt&gt;&lt;dd&gt;Called while Graffiti is generating the namespaces in a RSS feed. The XmlTextWriter param can be used to add additional namespaces to the RSS feed. This is often needed when adding additional elements to the feed.&lt;/dd&gt;&lt;/dl&gt;  &lt;p&gt;** Note: The RssItem event is not actually new, but the delegate changed in v1.0.1. In the initial Graffiti release it passed a RssToolkit RssItem in the params which wasn't very useful for adding additional (non-RSS-core) elements. So we changed how Graffiti generates RSS feeds to use a plain XmlTextWriter which gives more flexibility.&lt;/p&gt;  &lt;p&gt;In addition to the actual events listed above, there were two new virtual methods added to the abstract GraffitiEvent class, which is what all Graffiti plugins inherit from. These methods are EventEnabled() and EventDisabled(), and as you can probably guess they are called when a plugin is enabled or disabled in the Graffiti control panel. Your plugin can optionally use them to do any desired setup or cleanup tasks, such as writing out a file.&lt;/p&gt;  &lt;p&gt;We also added a few nifty utility classes to Graffiti.Core that plugins can use to do some pretty advanced stuff if needed. There's a new GRequest class that makes it easy to send HttpRequests and read the response. This is very similar to the CSRequest class that long been a part of Community Server. And there is a ManagedThreadPool class you can use to do long-running tasks (such as sending trackbacks) on a background thread.&lt;/p&gt;  &lt;p&gt;Have fun extending Graffiti!&lt;/p&gt;&lt;hr /&gt;
&lt;p&gt;
Tagged as 
&lt;a href="http://kevinharder.com/tags/graffiti/"&gt;graffiti&lt;/a&gt;
,
&lt;a href="http://kevinharder.com/tags/plugins/"&gt;plugins&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Similar Posts&lt;/strong&gt;&lt;br /&gt;
&lt;ol id="similarPosts" class="splist"&gt;
&lt;li&gt;&lt;a href="http://kevinharder.com/blog/now-graffiti-powered/"&gt;Now Graffiti Powered&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://kevinharder.com/blog/live-blogging-the-csdc-part-3/"&gt;Live Blogging the CSDC - Part 3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://kevinharder.com/blog/live-blogging-the-csdc-part-2/"&gt;Live Blogging the CSDC - Part 2&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=gOdBpNhr6EM:x4YRsw0sHrM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=gOdBpNhr6EM:x4YRsw0sHrM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=gOdBpNhr6EM:x4YRsw0sHrM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=gOdBpNhr6EM:x4YRsw0sHrM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=gOdBpNhr6EM:x4YRsw0sHrM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=gOdBpNhr6EM:x4YRsw0sHrM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=gOdBpNhr6EM:x4YRsw0sHrM:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=gOdBpNhr6EM:x4YRsw0sHrM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=gOdBpNhr6EM:x4YRsw0sHrM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/KevinHarder/~4/gOdBpNhr6EM" height="1" width="1"/&gt;</description><georss:point>33.203 -96.881</georss:point></item><item><title>Now Graffiti Powered</title><link>http://kevinharder.com/blog/now-graffiti-powered/</link><pubDate>Sun, 09 Mar 2008 03:20:00 GMT</pubDate><guid isPermaLink="false">http://kevinharder.com/blog/now-graffiti-powered/</guid><dc:creator>Kevin Harder</dc:creator><slash:comments>4</slash:comments><category domain="http://kevinharder.com/blog/">Blog</category><description>&lt;p&gt;Last night I migrated this blog from Community Server 2007.1 to &lt;a href="http://graffiticms.com/"&gt;Graffiti&lt;/a&gt;. Although it might be hard to tell that at first glance because it is using a very similar theme.&lt;/p&gt;
&lt;p&gt;When the first batch of &lt;a target="_blank" href="http://telligenti.com"&gt;Telligenti&lt;/a&gt; jumped from CS to Graffiti a couple months ago, I had thought I would keep my blog on CS for the foreseeable future. Mostly because I've been working on CS for several years so it was hard to imagine not using it, and also for dogfooding new versions. Back when I first created this site back in 2004, it was running a combination of .Text and nGallery. Then I migrated to Community Server 1.0 and upgraded to pretty much every alpha, beta, and stable version of CS since then up to v2007.1.&lt;/p&gt;
&lt;p&gt;But about a month ago I switched over to the Graffiti team here at Telligent, and the more I work with it the more I love how simple yet flexible it is. So I decided to migrate my blog after all, and started planning out tasks I wanted to complete beforehand:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;I created a Graffiti version of my Gulf Coasting theme that I had &lt;a href="http://kevinharder.com/downloads/communityserver/gulf-coasting-theme-for-cs-2007-1/"&gt;written for CS 2007&lt;/a&gt; last summer. You can download this theme for free from the Graffiti Marketplace that is integrated in the Graffiti control panel, and I'll put it up for download here soon.&lt;/li&gt;
    &lt;li&gt;To make Graffiti a top notch blogging platform, I created a Blog Extensions plugin that extends graffiti with a few advanced blogging features that we left out of the core to keep it simple. This plugin adds the ability to automatically send &amp;amp; receive trackbacks and pingbacks, sends blog update pings, adds a comments RSS feed, and support for GeoRSS. It's running on this site right now, and we are planning on releasing this as an official Telligent plugin in the near future.&lt;/li&gt;
    &lt;li&gt;To go along with the new ability to receive trackbacks (via plugin), I added support for importing trackbacks from CS to the CS 2007 migrator and some new Chalk collections that on the post page. These changes will be included in the upcoming Graffiti service pack release.&lt;/li&gt;
    &lt;li&gt;I wanted to keep a simple photo gallery on my site, and a short while ago &lt;a href="http://blogs.msdn.com/gduthie/"&gt;Andrew Duthie&lt;/a&gt; sent us a sample Graffiti theme where he had added the very slick open source &lt;a href="http://www.codeplex.com/SlideShow"&gt;Slide.Show Silverlight photo gallery control&lt;/a&gt;. I was really impressed with how polished and configurable that control is, so I created another Graffiti plugin that embeds it and allows you to add a photo gallery to a post page. It supports photos uploaded to your web site or saved in Flickr. This plugin is also &lt;a href="http://kevinharder.com/photos/"&gt;running on this site&lt;/a&gt;. I'll release it (with source code) when the aforementioned Graffiti service pack is available, as it requires some of the new events that were recently added to core.&lt;/li&gt;
    &lt;li&gt;I am using &lt;a href="http://richmercer.com"&gt;Rich Mercer's&lt;/a&gt; Permanent Redirect Graffiti plugin, which redirects requests to posts and tags using the Community Server format to the new Graffiti paths. It is working wonderfully, and combined with a few IIS redirects that I setup for my downloads and a few other urls, should hopefully prevent anyone from getting a 404 error on my site. Unless of course you just type some random url in.=)&lt;/li&gt;
    &lt;li&gt;Lastly, I am also using &lt;a href="http://ndepth.net/"&gt;Jayme Davis's&lt;/a&gt; SkinnyWeb plugin to compress the output source for faster download times, and one that &lt;a href="http://simpable.com/"&gt;Scott Watermasysk&lt;/a&gt; wrote to display related posts inside the RSS feed.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now that my site is running on shiny new bits, I feel inspired to start blogging again. Expect lots of new Graffiti related posts and projects coming soon, and I'll try and mix it up with a few Community Server tips every now and then as well.&lt;/p&gt;&lt;hr /&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Similar Posts&lt;/strong&gt;&lt;br /&gt;
&lt;ol id="similarPosts" class="splist"&gt;
&lt;li&gt;&lt;a href="http://kevinharder.com/blog/live-blogging-the-csdc-part-3/"&gt;Live Blogging the CSDC - Part 3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://kevinharder.com/blog/live-blogging-the-csdc-part-2/"&gt;Live Blogging the CSDC - Part 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://kevinharder.com/blog/the-gulf-coasting-debut/"&gt;The Gulf Coasting Debut&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=AoWFQKYOW04:P3omLxmyWnE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=AoWFQKYOW04:P3omLxmyWnE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=AoWFQKYOW04:P3omLxmyWnE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=AoWFQKYOW04:P3omLxmyWnE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=AoWFQKYOW04:P3omLxmyWnE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=AoWFQKYOW04:P3omLxmyWnE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=AoWFQKYOW04:P3omLxmyWnE:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=AoWFQKYOW04:P3omLxmyWnE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=AoWFQKYOW04:P3omLxmyWnE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/KevinHarder/~4/AoWFQKYOW04" height="1" width="1"/&gt;</description><georss:point>33.203 -96.881</georss:point></item><item><title>Three Girls</title><link>http://kevinharder.com/blog/three-girls/</link><pubDate>Mon, 24 Dec 2007 00:02:54 GMT</pubDate><guid isPermaLink="false">http://kevinharder.com/blog/three-girls/</guid><dc:creator>Kevin Harder</dc:creator><slash:comments>7</slash:comments><category domain="http://kevinharder.com/blog/">Blog</category><description>&lt;p&gt;I couple months ago I announced that my wife and I are &lt;a href="http://kevinharder.com/blog/archive/2007/10/16/another-upcoming-addition-to-the-harder-family.aspx" target="_blank"&gt;expecting a new baby Harder&lt;/a&gt; in April of 2008. We already have two girls in our household - my seven year old stepdaughter Mackenzie and my 21 month old daughter Jillian.&lt;/p&gt; &lt;p&gt;And so as you might have expected, the new baby is also a girl. =) We found out a few weeks ago during the second ultrasound. Mackenzie is very excited that she will have a second sister.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=N_rJWbv44nU:BoDxiLS2rXY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=N_rJWbv44nU:BoDxiLS2rXY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=N_rJWbv44nU:BoDxiLS2rXY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=N_rJWbv44nU:BoDxiLS2rXY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=N_rJWbv44nU:BoDxiLS2rXY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=N_rJWbv44nU:BoDxiLS2rXY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=N_rJWbv44nU:BoDxiLS2rXY:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=N_rJWbv44nU:BoDxiLS2rXY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=N_rJWbv44nU:BoDxiLS2rXY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/KevinHarder/~4/N_rJWbv44nU" height="1" width="1"/&gt;</description><georss:point>33.203 -96.881</georss:point></item><item><title>Live Blogging the CSDC - Part 3</title><link>http://kevinharder.com/blog/live-blogging-the-csdc-part-3/</link><pubDate>Sun, 21 Oct 2007 14:15:51 GMT</pubDate><guid isPermaLink="false">http://kevinharder.com/blog/live-blogging-the-csdc-part-3/</guid><dc:creator>Kevin Harder</dc:creator><slash:comments>11</slash:comments><category domain="http://kevinharder.com/blog/">Blog</category><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;This is the third part in my series of live blogging the Community Server Developer Conference. This post will cover the sessions and events on Sunday, Oct 21, 2007.&lt;/p&gt; &lt;p&gt;&amp;nbsp; &lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/CSDC-Panorama_2.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="61" alt="CSDC-Panorama" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/CSDC-Panorama_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;9:00 AM &lt;/strong&gt;- The second day of the CSDC kicks off with Ado playing a video clip of &lt;a href="http://telligenti.com/nkeith/Default.aspx" target="_blank"&gt;Nicole Keith&lt;/a&gt; doing her best Lara Croft impersonation while playing a video game at Dave &amp;amp; Busters last night.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt;&amp;nbsp;&lt;a href="http://tellivideo.telligent.com/NicoleCroft.wmv" target="_blank"&gt;Watch the video of Nicole!&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;9:04 AM&lt;/strong&gt; - Nicole begins her presentation on the Telligent Partner program. She describes all of the benefits that partners receive and how to become a partner. She mentions that she would really like to get case studies from Telligent Partners about using Community Server and other Telligent products. Nicole also mentioned that partners can call her anytime to talk about their products and services so she is familiar with them and can recommend them to other Telligent customers.&lt;/p&gt; &lt;p&gt;&lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00001.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="DSC00001" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00001_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00003.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="DSC00003" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00003_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;9:14 AM&lt;/strong&gt; - Nicole finishes her session and announces Scott Watermasysk will be up next.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;9:16 AM&lt;/strong&gt; - A video demo of the new Graffiti application is now playing on the screen. It&amp;#39;s set to some rocking music and looks very similar to the famous &amp;quot;Web 2.0&amp;quot; youtube video.&lt;/p&gt; &lt;p&gt;&lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00006.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="139" alt="DSC00006" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00006_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00004.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="139" alt="DSC00004" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00004_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;9:25 AM&lt;/strong&gt; - The video ends and Scott Watermasysk gives an update on the agenda for the rest of today. Things have been switched up a bit. Scott will be giving a session now on Community Server Extensibility, and following that will be a session on CS Shared Membership and then lunch. After lunch is the CS Tips &amp;amp; Tricks session followed by an Open Q&amp;amp;A. If time allows after the Q&amp;amp;A, Scott will do a live Graffiti demo.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;9:28 AM&lt;/strong&gt; - Scott is now beginning the extensibility presentation. He&amp;#39;s talking about how, as far as he knows, CS 2007 themes will work without having to change in 2008.&amp;nbsp; And he starts going through the many ways that you can extend Community Server without changing the core code.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;9:33 AM&lt;/strong&gt; - First up is CS Modules, which are probably the most powerful way to customize both the behavior and user experience of Community Server. Scott talks about all of the events that are available for modules to subscribe to and the various types of events such as post, user, section, groups, search, rate, exceptions, configuration, and probably more.&lt;/p&gt; &lt;p&gt;&lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00008.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="139" alt="DSC00008" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00008_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;9:40 AM&lt;/strong&gt; - Scott is showing several demos of how to use CS Modules (and events). &lt;/p&gt; &lt;p&gt;&lt;strong&gt;9:52 AM&lt;/strong&gt; - CS Module demos are over and Scott is now talking about the CS Spam Rules. Spam Rules are another way to extend CS. Developers can create custom rules and CS will automatically find them and render a dynamic UI for configuration any options listed in the rule. Site admins can also choose what rules to use, and enter custom threshold scores for when a post should be moderated or auto-deleted.&lt;/p&gt; &lt;p&gt;&lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00009.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="139" alt="DSC00009" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00009_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;9:58 AM&lt;/strong&gt; - Scott is now covering providers and explaining why CS uses providers for various types of things such as data, email, search, membership, and points. And how you can use them to customize a CS application.&lt;/p&gt; &lt;p&gt;&lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00011.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="139" alt="DSC00011" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00011_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;10:04 AM&lt;/strong&gt; - We have moved onto Tasks, which were formally called &amp;quot;CS Jobs&amp;quot; in CS 1.x and 2.x versions.&amp;nbsp; For 2007, the task framework has been greatly improved and supported by more than just Community Server.&amp;nbsp; Developers can create their own tasks by implementing the ITask interface. Tasks can run in both CS sites, but also in the Telligent Tasks Service (a windows service).&lt;/p&gt; &lt;p&gt;Scott is going through the tasks included in CS 2007 and explaining that some tasks that access collections in the web site App Domain have to be run &amp;quot;online&amp;quot; and on every web server if you have a web farm. Other tasks just do data tasks and should only be run from one box, either via a CS web site or the Tasks Service.&lt;/p&gt; &lt;p&gt;Tasks are grouped into threads in the XML configuration. So you can control whether a task should be on it&amp;#39;s own thread at X interval, or grouped with specific other tasks sharing a thread.&lt;/p&gt; &lt;p&gt;&lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00012.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="139" alt="DSC00012" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00012_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;10:11 AM&lt;/strong&gt; - Scott mentions a few ways that developers can extend CS web pages without changing existing controls: QueryOverrides, SubForms, and Action Controls.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;10:14 AM&lt;/strong&gt; - The presentation is over and Scott is now taking questions from the floor. The first question is about getting rid of the ApplicationType enum, which has long been an annoying pain for developers wanting to create application add-ons. Scott answered that he definitely wants to do that, it&amp;#39;s just a matter of making sure what we do change it to is the right solution so we don&amp;#39;t have to change it again in the future. Hopefully this is something that will be included in CS 2008.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;10:17 AM&lt;/strong&gt; - Questions about Telligent Tasks. Telligent is planning on releasing a stand-alone MSI to install the tasks windows service in the near future. Currently you get the tasks service when you install Enterprise Search, and Enterprise Reporting uses it as well.&amp;nbsp; It was asked whether task configuration will use dynamic theming, and the answer is that we&amp;#39;d like to if when have time to go back and change all of the tasks to do that. Going forward we are trying to avoid XML configuration where possible.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;10:20 AM&lt;/strong&gt; - Scott acknowledges we need much better documentation around events and some of the other technical details about extending CS. He says we will be using a tech writer in the near future to help with this.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;10:25 AM&lt;/strong&gt; - Questions are finished and we are now taking a short break before the next session.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;10:33 AM&lt;/strong&gt; - A &lt;a href="http://telligent.com/blog/" target="_blank"&gt;Tellicast&lt;/a&gt; is now playing on the screen about the Graffiti hack-a-thon that was held in August.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;10:40 AM&lt;/strong&gt; - &lt;a href="http://www.tankete.com/core/blogs/jose_lema/" target="_blank"&gt;Jose Lema&lt;/a&gt; is on stage and is starting his session on Community Server Shared Membership. Shared Membership, which used to be known by it&amp;#39;s code name &amp;quot;Morpheus&amp;quot; is the ability to use separate databases for CS content and membership information. This allows multiple CS sites, which may be running on multiple databases, to share a common membership db and therefore common users.&lt;/p&gt; &lt;p&gt;&lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00014.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="139" alt="DSC00014" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00014_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;10:43 AM&lt;/strong&gt; - Jose is explaining how shared membership works internally. Community Server will pull the content and user information separately from the two different databases (or they could be the same db) but uses ASP.NET caching extensively to reduce the number of database calls that are needed.&lt;/p&gt; &lt;p&gt;&lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00013.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="139" alt="DSC00013" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00013_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;10:45 AM&lt;/strong&gt; - There are two integration scenarios that Jose is going over - a simple and a more complex one.&amp;nbsp; The simple one is to allow multiple CS sites to share a single membership store by creating two connections strings in your connectionstrings.config file, one for each database. Then change the ASP.NET membership elements in the web.config to use the membership database conn string name. The last step is to make sure all of the CS sites sharing the membership database have the same application name.&lt;/p&gt; &lt;p&gt;The example given was a set of popular Microsoft developer community sites that are powered by Community Server 2007. Weblogs.asp.net, &lt;a href="http://forums.asp.net" target="_blank"&gt;forums.asp.net&lt;/a&gt;, &lt;a href="http://blogs.iis.net" target="_blank"&gt;blogs.iis.net&lt;/a&gt;, &lt;a href="http://forums.iis.net" target="_blank"&gt;forums.iis.net&lt;/a&gt;, &lt;a href="http://www.silverlight.com" target="_blank"&gt;Silverlight.net&lt;/a&gt;, and &lt;a href="http://windowsclient.net" target="_blank"&gt;WindowsClient&lt;/a&gt;.net all share a common membership database to allow users to have a single account and profile for all of those sites.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;10:50 AM&lt;/strong&gt; - Jose is covering some of the &amp;quot;gotchas&amp;quot; when changing multiple CS sites from each using their own membership db to sharing a single one. You will need to clean up any existing duplicate users or roles, and make sure role ids in the product permissions table point to the new shared role ids. He showed some sample sql statements to do this.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;10:59 AM&lt;/strong&gt; - Jose now goes over the &amp;quot;Complex Integration Scenario.&amp;quot;&amp;nbsp; This is when you want to allow a Community Server site to leverage the membership database with another site that is &lt;strong&gt;not&lt;/strong&gt; running CS. If the other site is running on ASP.NET 2.0, you can do this with stored procedure integration by copying sprocs into the membership database. Otherwise you&amp;#39;ll need to do some code integration by creating a new membership provider that tells CS how to access the other site&amp;#39;s membership information.&lt;/p&gt; &lt;p&gt;&lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00015.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="139" alt="DSC00015" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00015_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;11:08 AM&lt;/strong&gt; - Tips &amp;amp; Tricks about shared membership are now being displayed and discussed. Some of the items mentioned are a recommendation to not set the Cache Factor to 0 (i.e. setting CS to not use caching) because cache is leveraged for bulk membership look-ups. Also users in the centralized membership store are not created in each local CS site using that db until the user logs into that site for the first time.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00016.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="139" alt="DSC00016" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00016_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00019_1.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="139" alt="DSC00019" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00019_thumb_1.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;11:20 AM&lt;/strong&gt; - Jose finishes his slides and is taking technical audience questions about shared membership.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;11:26 AM&lt;/strong&gt; - Shared membership Q&amp;amp;A is finished and Jose announces that it is time for lunch! We will be eating lunch in the same room and watching a demo by Telligent partner &lt;a href="http://www.appliedi.net/" target="_blank"&gt;Applied Innovations&lt;/a&gt; who was kind enough to sponsor today&amp;#39;s lunch.&lt;/p&gt; &lt;p&gt;&lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/IMG_1155.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="IMG_1155" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/IMG_1155_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;11:30 - 12:15&lt;/strong&gt; - Everyone eats the Mexican lunch and listens to the Applied Innovations demo. At the end the AI folk do a drawing to give away two Zunes to attendees. Michael Treyfry and Lisa Fisher were the winners.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;12:25 PM&lt;/strong&gt; - We file into a new conference room for the last couple sessions of the conference. Meanwhile another Tellicast episode is showing on the screen - this one is the remote Halo 3 launch party one filmed at Microsoft&amp;#39;s Dallas campus.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;12:34 PM&lt;/strong&gt; - The Tellicast ends and &lt;a href="http://unprofessionalcommunityserver.com/scott.jpg" target="_blank"&gt;Scott Watermasysk&lt;/a&gt; is back on the stage to present his Community Server Tips &amp;amp; Tricks session. Meanwhile &lt;a href="http://unprofessionalcommunityserver.com/JAL.jpg" target="_blank"&gt;Jose Lema&lt;/a&gt; is juggling 5 black squishy balls in the back of the room.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;12:37 PM&lt;/strong&gt; - Scott starts out the session noting that it will be a casual one with audience questions and participation greatly encouraged. He has about 20 or so prizes to give away from Wrox and other sponsors.&amp;nbsp; The first two slides are &amp;quot;Keep it fun&amp;quot; followed by a picture of Jose drinking a fruity beverage at Dave &amp;amp; Busters last night.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;12:40 PM&lt;/strong&gt; - One of the first tips Scott mentions is that you can remove the HTML Scrubber CS Module (by tweaking the communityserver.config file) if you trust the people writing posts on your CS site not to put nasty stuff in the post.&amp;nbsp; The Scrubber modules removes all html/script that is not in the allowed markup white list in the cs.config file, and is definitely recommended that you leave it for sites where the public can post forum or blog posts.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;12:43 PM&lt;/strong&gt; - Scott talks about using Chameleon User Controls. He is now going over the format of the SiteUrls.config file and explaining how to add to or modify it. He also explains about how he uses the ISAPI_Rewrite tool to make all the links on his site work without the &amp;quot;.aspx&amp;quot; extensions.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;12:52 PM&lt;/strong&gt; - There&amp;#39;s a question about embedding videos, including youtube videos, in CS posts. Scott mention that he wants to add some code that will parse links and look for youtube video urls and use a consistent style of linking or embedding them.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;12:58 PM&lt;/strong&gt; - It is asked how integrated CS and Graffiti are. Scott&amp;#39;s first answer of they are currently dating, hope to get married in 6-8 months, and he hopes they have kids doesn&amp;#39;t quite satisfy. His second (real) answer is that CS 2008 and Graffiti V1 will be able to share membership, but other than that will take some custom code if you want to integrate them together on the same site. But he will write up some docs about how to do that, and future versions of Graffiti will play much nicer with CS.&lt;/p&gt; &lt;p&gt;&lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00020.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="139" alt="DSC00020" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart3_8223/DSC00020_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;1:24 PM&lt;/strong&gt; - Many additional questions are asked on a wide range of topics such as single sign on with LDAP, cookies, using virtual servers, and more.&amp;nbsp; Scott then talks about his next slide which recommends to use Shared Membership instead of virtualization.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;1:29 PM&lt;/strong&gt; - Tips #6a and #6b in the slides are &amp;quot;Subforms are your friend&amp;quot; and &amp;quot;Extended Attribs&amp;quot;. Extended attribs exist on many CS objects (posts, sections, users) and lets you add and use an unlimited # of custom properties to them.&amp;nbsp; The drawback is that they are serialized in the database and so not directly queryable (you have to retrieve the object first).&lt;/p&gt; &lt;p&gt;&lt;strong&gt;1:43 PM&lt;/strong&gt; - Scott talks about how with the Service Pack format we have used for CS recently that we include only files that have changed since the prev version. His tip is to have a great Diff tool to use to compare the contents of files and folders. His (and mine) recommendation is &lt;a href="http://www.scootersoftware.com/moreinfo.php?c=features" target="_blank"&gt;Beyond Compare&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;1:46 PM&lt;/strong&gt; - Tip # 9: Don&amp;#39;t forget the obvious - Backups and use Http Compression. Tip # 10: Remember Simple is OK. On a separate topic it is noted that there is an article on docs.communityserver.org under the theming category that describes how to add additional fields to the user registration page and save them in the user profile.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;2:08 PM&lt;/strong&gt; - The questions wrap up and Scott says this is the end. Goodbye everyone!&lt;/p&gt; &lt;p&gt;This concludes the CSDC live blogging. However I&amp;#39;d like to post some more in-depth analysis and additional photos &amp;amp; videos in the next few days.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=J4QQ5ktFT3M:KOyw6a48Z6E:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=J4QQ5ktFT3M:KOyw6a48Z6E:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=J4QQ5ktFT3M:KOyw6a48Z6E:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=J4QQ5ktFT3M:KOyw6a48Z6E:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=J4QQ5ktFT3M:KOyw6a48Z6E:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=J4QQ5ktFT3M:KOyw6a48Z6E:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=J4QQ5ktFT3M:KOyw6a48Z6E:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=J4QQ5ktFT3M:KOyw6a48Z6E:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=J4QQ5ktFT3M:KOyw6a48Z6E:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/KevinHarder/~4/J4QQ5ktFT3M" height="1" width="1"/&gt;</description><georss:point>33.203 -96.881</georss:point></item><item><title>Live Blogging the CSDC - Part 2</title><link>http://kevinharder.com/blog/live-blogging-the-csdc-part-2/</link><pubDate>Sat, 20 Oct 2007 17:53:38 GMT</pubDate><guid isPermaLink="false">http://kevinharder.com/blog/live-blogging-the-csdc-part-2/</guid><dc:creator>Kevin Harder</dc:creator><slash:comments>9</slash:comments><category domain="http://kevinharder.com/blog/">Blog</category><description>&lt;p&gt;This post is the second in the three part series of Live Blogging the Community Server Developers Conference. &lt;a href="http://kevinharder.com/blog/archive/2007/10/20/live-blogging-the-csdc.aspx" target="_blank"&gt;Part 1&lt;/a&gt; covered the morning sessions and lunch on Saturday October 20, 2007. This post (part 2) covers the afternoon sessions on Saturday, and &lt;a href="http://kevinharder.com/blog/archive/2007/10/21/live-blogging-the-csdc-part-3.aspx"&gt;Part 3&lt;/a&gt; covers Sunday Oct 21.&lt;/p&gt; &lt;hr /&gt; &lt;p&gt;&lt;strong&gt;12:35 PM&lt;/strong&gt; - &lt;a href="http://geekcowboy.com/" target="_blank"&gt;Wyatt Preul&lt;/a&gt; is now on stage presenting more info about customizing Community Server 2007. He talks about the very powerful dynamic configuration feature that was added in CS 2007 to dynamically render UI to customize theme properties.&lt;/p&gt; &lt;p&gt;&lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1163.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="IMG_1163" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1163_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;12:50 PM&lt;/strong&gt; - &lt;a href="http://getben.com" target="_blank"&gt;Ben Tiedt&lt;/a&gt; is back by popular demand. Ben is talking about the upcoming Chameleon/Theme changes in CS 2008. Thankfully there are very little changes to the existing logic so what developers have already learned will still apply. But there are some cool new features coming.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;QueryOverrides Extensions. Ben is talking about plugable query extensions and how you will be able to load data from xml. &lt;li&gt;LinkTo Logic improvements. There will now be a IgnoreLinkPermission option. &lt;li&gt;WIDGETS!&amp;nbsp; The long-requested feature is being added to CS 2008 right now. Widgets are a mechanism for end-user theming based on dynamic configuration.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;1:00 PM&lt;/strong&gt; - Ben is giving a demo of using Widgets in CS 2008. The first &amp;quot;crash&amp;quot; of the day occurs when he unexpectedly gets a server error while working with some of the widget code that is still in active development. =)&lt;/p&gt; &lt;p&gt;&lt;strong&gt;1:05 PM&lt;/strong&gt; - Now we are seeing how to implement your own widgets for CS 2008. Ben is showing the simple code needed and how to add them to various places throughout CS by using a new Control Panel screen.&lt;/p&gt; &lt;p&gt;&lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1165.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="IMG_1165" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1165_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1166.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="IMG_1166" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1166_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1167.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="IMG_1167" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1167_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;1:25 PM&lt;/strong&gt; - Ben has finished his demos on how to create widgets and is now taking questions from the audience.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;1:33 PM - &lt;/strong&gt;After answering numerous questions about dynamic theming and widgets, Ben and Wyatt are exiting the stage. There will now be a 10 minute break before the next session.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;1:37 PM&lt;/strong&gt; - &lt;a href="http://jasona.net" target="_blank"&gt;Jason Alexander&lt;/a&gt; and &lt;a href="http://kevinharder.com" target="_blank"&gt;Kevin Harder&lt;/a&gt; (me) will be presenting a session on the new Telligent Enterprise Reporting product for the next hour (after the 10 min break). So there will not be any updates to this post until that is finished. But hopefully someone will take a few pics of our session that I&amp;#39;ll post below after our presentation.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;1:40 PM &lt;/strong&gt;- The &lt;a href="http://telligent.com/blog/archive/tellicast-episode-4.aspx" target="_blank"&gt;Telliterns Rock-Off Tellicast&lt;/a&gt; is being played while Jason and Kevin get ready for the Reporting session.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;1:50 - 2:40 PM&lt;/strong&gt; - The Enterprise Reporting presentation rocks (I may be a bit biased). We gave a brief overview of the platform and the Community Server reports, and spent most of the time showing how developers can use the reporting framework to build their own reports. Afterwards we answered quite a few questions and the audience seemed pretty excited about the new reporting product. Below are some photos taken during our session. Note: that is Jason&amp;#39;s Mac - it&amp;#39;s the first time I&amp;#39;ve used one in years :P.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1168.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="IMG_1168" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1168_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1170.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="IMG_1170" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1170_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;We announced that the first public demo will probably be released in the next week. However everyone is encouraged to try out the public Enterprise Reporting Demo site whenever possible:&amp;nbsp; &lt;a href="http://reports.communityserver.org/demo"&gt;http://reports.communityserver.org/demo&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;2:49 PM&lt;/strong&gt; - We&amp;#39;re back! The Enterprise Reporting demo is over and we are now watching the infamous Steve Balmer &amp;quot;Developers, Developers, Developers!&amp;quot; video as a prelude to the REST Web Services presentation. Everyone gets pumped up while simultaneously knowing this song will be in their heads for rest of the day.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;2:54 PM&lt;/strong&gt; - &lt;a href="http://simpable.com/" target="_blank"&gt;Scott Watermasysk&lt;/a&gt; and &lt;a href="http://blog.danbartels.com/" target="_blank"&gt;Dan Bartels&lt;/a&gt; are now on stage presenting what is probably one of the most eagerly anticipated features of Community Server 2008: the robust web services stack.&amp;nbsp; Scott explains why REST was chosen over SOAP (playing nicely with other platforms/technologies).&lt;/p&gt; &lt;p&gt;&lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1176.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="IMG_1176" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1176_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1174.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="IMG_1174" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1174_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;3:00 PM&lt;/strong&gt; - There will be a single .NET assembly that wraps all the HTTP goo which you can use when calling the CS web services. If you are using .NET for your client app, all you&amp;#39;ll need to do is reference that one assembly and it contains all the methods needed to read/write data with the web services. Very cool! &lt;/p&gt; &lt;p&gt;&lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1178.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="IMG_1178" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1178_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;3:05 PM&lt;/strong&gt; - After a few slides the power point is banished away for the rest of this session and Visual Studio is opened. The developers rejoice.&amp;nbsp; Scott and Dan are showing the XML that is returned by the new CS web services and the various end-points you can use.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;3:10 PM&lt;/strong&gt; - Dan is giving a demo of how to create a simple WinForms application that uses the CS web services to read and display post data. He then shows a demo of another windows app that he has previously built which allows you to interact and make changes to posts. And only a few lines of code were needed thanks to the Web Services API assembly previously mentioned.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1183.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="IMG_1183" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1183_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1179.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="IMG_1179" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1179_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;3:22 PM&lt;/strong&gt; - More demos of using the web services, showing increasing sophistication and using various types of data (posts, sections, users). &lt;/p&gt; &lt;p&gt;&lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1180.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="IMG_1180" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1180_thumb.jpg" width="244" border="0" /&gt;&lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1182.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="IMG_1182" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1182_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;3:30 PM&lt;/strong&gt; - Scott and Dan are taking some questions from the floor. They confirm this will be included in the initial CS 2008 release. It&amp;#39;s asked whether these demos will be released publicly. Scott answers that yes demos will be released but he&amp;#39;d like to improve the ones we showed at the CSDC a little to make them better examples. Dan notes that &lt;a href="http://www.tankete.com/core/blogs/jose_lema/" target="_blank"&gt;Jose Lema&lt;/a&gt; hasn&amp;#39;t really done much work in the web services project too much laughter. Scott clarifies that he is &lt;em&gt;capable,&lt;/em&gt; just hasn&amp;#39;t had a chance yet.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;3:35 PM&lt;/strong&gt; - More questions. Scott talks about how the web services stack uses user tokens and the type of data returned is dependent on the permissions of the user account that is provided when calling the services. He explains about how security is handled in response to audience questions.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;3:40 PM&lt;/strong&gt; - Q&amp;amp;A continues. Scott is now talking about how managing data via web services should be much faster than using the Control Panel, as you won&amp;#39;t have to download the stylesheet, scripts, etc.&amp;nbsp; He confirms that the services uses the same internal API as the web pages and so uses the same caching, events, and other built-in CS features.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;3:44 PM&lt;/strong&gt; - Nick asks whether it would be possible to use the services stack for displaying CS data in WPF or Silverlight. Scott replies that it is certainly possible, and humorously mentions that the WinForm demos shows we aren&amp;#39;t exactly skilled in creating good-looking windows client applications. Dan continues to show off additional demos in the background as Scott answers more questions. This session has definitely drawn the most questions today by far!&lt;/p&gt; &lt;p&gt;&lt;strong&gt;3:47 PM&lt;/strong&gt; - One more demo is shown, this time using Graffiti. They created a Graffiti widget that uses the Community Server web services to retrieve forum data from CS and display it within Graffiti.&lt;/p&gt; &lt;p&gt;&lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1184.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="IMG_1184" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1184_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;3:53 PM&lt;/strong&gt; - The web services presentation ends. Music is playing as Jose Lema sets up for the next presentation. He&amp;#39;ll be giving an overview of the Community Server 2008 features.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;3:58 PM&lt;/strong&gt; - Jose is on stage giving a quick overview of the upcoming version of Community Server. First up is the new and improved social networking features: friends, groups (also known as hubs), messages, media gallery, and user files/photos. CS 2008 will have no more &amp;quot;stalkers&amp;quot; (on-way friends) - two people can add each other to become true friends.&amp;nbsp; Private message being vastly improved and pulled outside of forums - you&amp;#39;ll be able to have private conversations with any other member and forward existing posts. Activity log lists (i.e. Wyatt made a new post, Ben joined today) will be a built-in feature. &lt;/p&gt; &lt;p&gt;&lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1189.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="IMG_1189" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1189_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;4:08 PM&lt;/strong&gt; - File Galleries and Photo Galleries will be merged into a super &amp;quot;Media Gallery&amp;quot; application that will let you upload and share all types of media files: photos, files, videos, etc. There will also be a centralized file system where all types of files (media gallery files, blog files, user files,etc) will be stored in the same place. Amazon&amp;#39;s storage web service is mentioned again as one of the future options. The web services will also be able access the file store.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;4:12 PM&lt;/strong&gt; - The user interface is being improved with customizable widgets, plugable viewers for various file types, and big changes to the Control Panel UI.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;4:15 PM&lt;/strong&gt; - Jose announces that custom themes will require no rework! CS will support OpenID. Permissions are being both enhanced and simplified where needed. The little-used virtualization and user-selectable themes are being removed to simplify the API and UI. The Feed Reader application will not be included in CS 2008 and will instead be made available in the future as a separate &amp;quot;funkified&amp;quot; application.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;4:17 PM&lt;/strong&gt; - We are now seeing some demos of the current development build of CS 2008. Jose show&amp;#39;s off the greatly improved Control Panel screens for managing forums and permissions.&lt;/p&gt; &lt;p&gt;&lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1190.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="IMG_1190" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1190_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;a href="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1191.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="IMG_1191" src="http://kevinharder.com/images/blog/WindowsLiveWriter/LiveBloggingtheCSDCPart2_B54A/IMG_1191_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;4:24 PM&lt;/strong&gt; - Groups (formerly known as &amp;quot;Hubs&amp;quot;) make their debut in the demo. Jose describes how you can create many groups within your community site and each group has it&amp;#39;s own blog/forum/files/etc.&amp;nbsp; For example you could create a community site about baseball and in addition to general league-wide forums or other apps, there could be a group for each team with team-specific content. User Invitations, which were added back in CS 2.1, can now be leveraged with groups to invite people to a group.&lt;/p&gt; &lt;p&gt;Another new UI concept is that you can manage a group and add content all from within the public site pages. You do not need to go inside of the control panel! Also you can use widgets, RSS, tags, dynamic theming, and all the other cool CS features inside of hubs. Groups can be open, invite only, or completely private.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;4:30 PM&lt;/strong&gt; - Jose wraps up his talk by announcing &amp;quot;we&amp;#39;re done!&amp;quot;.&amp;nbsp; But then adds that we are shooting for a beta in January with a final public release during the first quarter.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;4:32 PM&lt;/strong&gt; - Ado announces there is a wedding starting in this room very soon and we need to get out of here. =)&amp;nbsp; Time to head to Dave &amp;amp; Busters for a night of fun.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt;&amp;nbsp; You can continue reading the CSDC live blogging series in &lt;em&gt;&lt;a href="http://kevinharder.com/blog/archive/2007/10/21/live-blogging-the-csdc-part-3.aspx" target="_blank"&gt;Live Blogging the CSDC - Part 3&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=osDoIKdHWhE:Ly9JWFdJ-AY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=osDoIKdHWhE:Ly9JWFdJ-AY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=osDoIKdHWhE:Ly9JWFdJ-AY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=osDoIKdHWhE:Ly9JWFdJ-AY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=osDoIKdHWhE:Ly9JWFdJ-AY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=osDoIKdHWhE:Ly9JWFdJ-AY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=osDoIKdHWhE:Ly9JWFdJ-AY:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KevinHarder?a=osDoIKdHWhE:Ly9JWFdJ-AY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KevinHarder?i=osDoIKdHWhE:Ly9JWFdJ-AY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/KevinHarder/~4/osDoIKdHWhE" height="1" width="1"/&gt;</description><georss:point>33.203 -96.881</georss:point></item></channel></rss>
