Earlier this week, Dave Burke left a comment to my We've Been Community Serverized! post.
I'm thinking it would be nice to have a list of CodeBetter.com
bloggers on your aggregated page when time permits. Have all of you
.NET studs listed on one page.
This, unfortunately, is not an out of the box control for Community Server,
so I went source code spelunking to figure out how to do it. I’ll
have to say, I’m digging the way they built the CS application. Is
very well thought out. The code separation is great. Ease of skinning and modification was definitely a high priority for them, and it shows. It’s not all rosy under the covers but for version 1, it’s one of the best open source code apps I’ve seen.
Without further ado, here’s how I created the “Sorted Blogger List”
Step 1. Download the Source Code
Get my source mods here.
Step 2. Add CollectionView.cs to your Project
You’ll need an easy way to sort the business entity
collections to enable sorting of the blogger list (by post count, for
automatic blogger ego stroking ;) ). You can add the code from my Sort/Filter Your Business Entity Collections with a NEW CollectionView
to your project somewhere. I added it to my
“CS\src\Components\Provider\” directory, not sure if this was the right
place or not, but it works.
Step 3. Add AggregateCompactBlogList.cs Control
Add this source file to your “CS\src\Blogs\Controls\AggregateBlogControls” directory
Step 4. Add the Skin-AggregateCompactBlogList.ascx Control
Add this source file to your “CS\src\Web\Themes\default\Skins\Blogs” directory
Step 5. Add the Control to Your default.aspx page
The final step is to add the control somewhere, like so:
<blog:aggregatecompactbloglist id="AggCompactBlogList" runat="Server"/>
That’s it. You should now have a list of all bloggers, grouped by blog category, just like good ol’ .TEXT used to have.
-Brendan