<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jon Kragh's Blog &#187; Community Server</title>
	<atom:link href="http://www.jonkragh.com/index.php/category/community-server/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jonkragh.com</link>
	<description>I think I can, I know I can</description>
	<lastBuildDate>Mon, 02 Nov 2009 11:55:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Extending Community Server User Profiles in Vast Rank</title>
		<link>http://www.jonkragh.com/index.php/extending-community-server-user-profiles-in-vast-rank/</link>
		<comments>http://www.jonkragh.com/index.php/extending-community-server-user-profiles-in-vast-rank/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 02:20:05 +0000</pubDate>
		<dc:creator>Jon Kragh</dc:creator>
				<category><![CDATA[Community Server]]></category>
		<category><![CDATA[Vast Rank]]></category>

		<guid isPermaLink="false">http://www.jonkragh.com/index.php/extending-community-server-user-profiles-in-vast-rank/</guid>
		<description><![CDATA[I built Vast Rank integrating a lot of different pieces of technology, ASP.Net, ASP.NET AJAX, Google Maps API,&#160; Google Ajax Search API,&#160; Google Custom Search, CSS, and the list goes on and on.
I have been a Microsoft oriented developer all of my life so when I built Vast Rank, I wanted to find a decent [...]]]></description>
			<content:encoded><![CDATA[<p>I built <a href="http://www.vastrank.com/" target="_blank">Vast Rank</a> integrating a lot of different pieces of technology, ASP.Net, ASP.NET AJAX, Google Maps API,&#160; Google Ajax Search API,&#160; Google Custom Search, CSS, and the list goes on and on.</p>
<p>I have been a Microsoft oriented developer all of my life so when I built Vast Rank, I wanted to find a decent profile system and forum system&#160; based on .NET that I could build on top of.&#160; Community Server was by far the best platform to use when I started developing Vast Rank in 2007.</p>
<p>One of the challenges that I faced was that I wanted to extend the Community Server User Profiles in such a way that those profiles can be queried based on the extended properties.&#160; Before you follow this post any further, if you are considering going down path, ask yourself “<strong>do I really need to query these extended attributes?</strong>”, because it gets complicated.&#160; If you don’t need to query this extended user profile data, but just store and display it, then I suggest using the out of the box ExtendedAttirute storage mechanism that comes with CS. It is a heck of a lot less work.</p>
<p>Anyway, I spent the time extending user profiles and detailed it in an <a href="http://proactivelogic.com/blog/index.php/2007/11/03/extending-community-server-2007-user-profiles-and-vista-setup/" target="_blank">old post here</a>. In that post I went through changing the source code in the CS SDK, but here I will post a few blurbs from the CS forums that I posted about <strong>how to extend CS User profiles without changing any CS SDK source code</strong>.&#160; I originally did these modifications in CS 2007, then I rolled them into CS 2008.5 in one day.&#160; (Some of the CS code changed a little but it was easy to fix up my extensions to align with these changes).&#160; So the big payoff of using this new strategy: ease of upgrade to new versions of CS.</p>
<p>The basic “A Ha” moment for this new extension strategy was, hey doesn’t CS use the provider model?&#160; Maybe I can hook in at that level to override and extend the CRUD and search operations.&#160; Well that worked.&#160; </p>
<p><strong>I am posting some CS specific source code directly from Vast Rank here:</strong></p>
<p><a href="http://www.jonkragh.com/wp-content/uploads/csextensionstuff.zip">Download</a> </p>
<p>Since so many people were interested in more details around this new strategy, I slotted an hour out of the many other dev things I’m working on to put this up for my friends over in CS land. I figured it was better to get something into your hands than nothing at all…</p>
<p>So… the code posted does not compile because it depends on Community Server (which you can download from them) and my own Service / Data Access Layer (which I’m not posting:) ).&#160; But, if you are pretty good dev you can look through the code and get some “A Ha” moments.</p>
<p>The code has a sample configuration where I load my overridden version of the the CommonDataProvider.&#160; That file in my project is called “VRSqlCommonDataProvider” and it shows how I extended the CRUD and search code.&#160; I also included a few of my theme files where you can see where I integrate the extended data (creating, editing, viewing, and searching profiles).&#160; There are also some sub forms and helpers in there.&#160; You’re just going to have to dig through…</p>
<p>Here are a couple of links to my “A HA” moments from the CS forums. You can test these things live at <a href="http://www.vastrank.com">http://www.vastrank.com</a></p>
<ul>
<li>My “A HA”, I bet I can extend CRUD operations via the provider layer: here: <a href="http://dev.communityserver.com/forums/t/499676.aspx">Extended User Data &#8211; Might have a better way</a> </li>
<li>My “A HA”, I can search this crap too but it’s complicated (I chimed in on this thread):&#160; <a href="http://dev.communityserver.com/forums/t/499348.aspx">Expanding Member Search</a> </li>
</ul>
<p>Please chime in on this post if this helps ya, or if you have any feedback.&#160; As I said it’s a little sloppy but I wanted to get something into my friends hands over on the CS forums.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonkragh.com/index.php/extending-community-server-user-profiles-in-vast-rank/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
