Live Blogging the CSDC - Part 3
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.
9:00 AM - The second day of the CSDC kicks off with Ado playing a video clip of Nicole Keith doing her best Lara Croft impersonation while playing a video game at Dave & Busters last night.
Update: Watch the video of Nicole!
9:04 AM - 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.
9:14 AM - Nicole finishes her session and announces Scott Watermasysk will be up next.
9:16 AM - A video demo of the new Graffiti application is now playing on the screen. It's set to some rocking music and looks very similar to the famous "Web 2.0" youtube video.
9:25 AM - 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 & Tricks session followed by an Open Q&A. If time allows after the Q&A, Scott will do a live Graffiti demo.
9:28 AM - Scott is now beginning the extensibility presentation. He's talking about how, as far as he knows, CS 2007 themes will work without having to change in 2008. And he starts going through the many ways that you can extend Community Server without changing the core code.
9:33 AM - 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.
9:40 AM - Scott is showing several demos of how to use CS Modules (and events).
9:52 AM - 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.
9:58 AM - 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.
10:04 AM - We have moved onto Tasks, which were formally called "CS Jobs" in CS 1.x and 2.x versions. For 2007, the task framework has been greatly improved and supported by more than just Community Server. 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).
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 "online" 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.
Tasks are grouped into threads in the XML configuration. So you can control whether a task should be on it's own thread at X interval, or grouped with specific other tasks sharing a thread.
10:11 AM - Scott mentions a few ways that developers can extend CS web pages without changing existing controls: QueryOverrides, SubForms, and Action Controls.
10:14 AM - 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's just a matter of making sure what we do change it to is the right solution so we don't have to change it again in the future. Hopefully this is something that will be included in CS 2008.
10:17 AM - 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. It was asked whether task configuration will use dynamic theming, and the answer is that we'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.
10:20 AM - 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.
10:25 AM - Questions are finished and we are now taking a short break before the next session.
10:33 AM - A Tellicast is now playing on the screen about the Graffiti hack-a-thon that was held in August.
10:40 AM - Jose Lema is on stage and is starting his session on Community Server Shared Membership. Shared Membership, which used to be known by it's code name "Morpheus" 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.
10:43 AM - 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.
10:45 AM - There are two integration scenarios that Jose is going over - a simple and a more complex one. 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.
The example given was a set of popular Microsoft developer community sites that are powered by Community Server 2007. Weblogs.asp.net, forums.asp.net, blogs.iis.net, forums.iis.net, Silverlight.net, and WindowsClient.net all share a common membership database to allow users to have a single account and profile for all of those sites.
10:50 AM - Jose is covering some of the "gotchas" 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.
10:59 AM - Jose now goes over the "Complex Integration Scenario." This is when you want to allow a Community Server site to leverage the membership database with another site that is not 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'll need to do some code integration by creating a new membership provider that tells CS how to access the other site's membership information.
11:08 AM - Tips & 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.
11:20 AM - Jose finishes his slides and is taking technical audience questions about shared membership.
11:26 AM - Shared membership Q&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 Applied Innovations who was kind enough to sponsor today's lunch.
11:30 - 12:15 - 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.
12:25 PM - 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's Dallas campus.
12:34 PM - The Tellicast ends and Scott Watermasysk is back on the stage to present his Community Server Tips & Tricks session. Meanwhile Jose Lema is juggling 5 black squishy balls in the back of the room.
12:37 PM - 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. The first two slides are "Keep it fun" followed by a picture of Jose drinking a fruity beverage at Dave & Busters last night.
12:40 PM - 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. 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.
12:43 PM - 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 ".aspx" extensions.
12:52 PM - There'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.
12:58 PM - It is asked how integrated CS and Graffiti are. Scott's first answer of they are currently dating, hope to get married in 6-8 months, and he hopes they have kids doesn'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.
1:24 PM - Many additional questions are asked on a wide range of topics such as single sign on with LDAP, cookies, using virtual servers, and more. Scott then talks about his next slide which recommends to use Shared Membership instead of virtualization.
1:29 PM - Tips #6a and #6b in the slides are "Subforms are your friend" and "Extended Attribs". Extended attribs exist on many CS objects (posts, sections, users) and lets you add and use an unlimited # of custom properties to them. The drawback is that they are serialized in the database and so not directly queryable (you have to retrieve the object first).
1:43 PM - 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 Beyond Compare.
1:46 PM - Tip # 9: Don'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.
2:08 PM - The questions wrap up and Scott says this is the end. Goodbye everyone!
This concludes the CSDC live blogging. However I'd like to post some more in-depth analysis and additional photos & videos in the next few days.

This post is the second in the three part series of Live Blogging the Community Server Developers Conference
We are having an awesome time at the Community Server Developers conference, developers from around the
Pingback from Live Blogging the CSDC - Part 3 - Kevin Harder
This weekend was the first annual Community Server Developer Conference . With around 100 attendees from
Did you read Day 1 first? It was a rough start for me this morning as I battle an oncoming cold, here
NOTE: This post is the first in the three part series of Live Blogging the Community Server Developers
blog bits CSDC 2007 is now history. Ben confirms there will be CSDC presentation videos coming. Kevin
blog bits CSDC 2007 is now history. Ben confirms there will be CSDC presentation videos coming. Kevin
CSDC 2007 is now history. Ben confirms there will be CSDC presentation videos coming. Kevin Harder provided