Fear and Loathing
Gonzo blogging from the Annie Leibovitz of the software development world.
-
Calgary Code Camp, tommorow!
Hey kids, it’s almost time for the first ever Calgary Code Camp! Tommorow morning, bright and early starting at 8AM at the 5 Calgary Downtown Suites Hotel we’re going out and doing it.
I’m giving two presentations at the camp. First is a development session on using ASP.NET 2.0 Web Parts (not SharePoint), Master Pages, and Providers to build your own personal portals and web sites. Right after that I’ll be going through 20 essential .NET tools you can’t do without (20 tools in 75 minutes, that’s 3 minutes per tool plus startup and question time, pretty wild). There’s also plenty of cool presentations all day from John Bristowe, James Kovacs, Richard Campbell, Jean-Paul Boodhoo, and others. Be there or be square.
There will also be lots of goodies as a couple of the sponsors have some givaways and baggies of stuff so be sure to show up to get yours (because what better way to spend a Saturday in Cowtown than to get free schwag and listen to geeks like us for the whole day?)
After the camp the files for the presentation will be online on the site with code and slides for you to download.
-
SharePoint Forums Roadmap
Things are rolling along with the SharePoint Forums Web Part and I’m just mowing through the current various work items. These are either features that I’ve had planned, bugs identified by users, or suggestions from the forums.
The next release is scheduled for June 19 after I get back from TechEd. You can view the release roadmap for the next version here on CodePlex which will show the current work items assigned to this release. Currently there are 5 closed items (RSS feeds added, a couple of bugs fixed) and 2 being worked on (search and multi-language support). I’ll probably keep this pace of new releases every month until all the features get added that everyone wants.
Serious work started on the 2007 version of the Forums for MOSS 2007. This will be delivered as a Feature that you’ll be able to make available to a site/farm/server/whatever. There are some nice things in 2007 that will help ease maintenence on the forums like better integration with security.
Keep things coming by participating in the forums on CodePlex, tracking down bugs, and making suggestions for future improvement.
-
SharePoint Forums, the Domain Model
Here's the Domain Model for the SharePoint Forums Code.
This was built in VS2005, but there are some difficulties with the class diagram. All the collections are strongly typed, yet if you try to connect say a property called Messages (from the Topic class) to the MessagesCollection, the designer complains that it's a weakly typed collection. So in some cases it's an assocation, in others it's an association shown as a collection (when the designer decided that it was okay).
The RepositoryRegistry is a class that handles access to all the Repository classes. The various domain entities (Forum, Topic, Category, Message) are shown with their associations. The Repository classes are access points for the Web Part class (not shown) to access the list data (through a data access service that lives in the Common assembly). The Mapper classes translate domain objects to list structures (and vice-versa). The ListBuilder (and various builders) along with the ListDirector implement the Builder pattern that create the lists (if needed) on startup.
There are no SharePoint objects here (except a reference to the SPUser class in the ForumUser class through a property called UserDetails, which lets me not have to duplicate things like email addresses and display names) and everything SharePoint is either in the Web Part class or the Data Access Layer.
There are a few base abstract classes or interfaces that could be added here (now that I look at the design from this viewpoint) like creating a base Mapper, Dao, and Repository class or interface.
I haven't uploaded the code yet as I'm trying to figure out how to do this with Team Explorer. Team Explorer lives inside Visual Studio 2005. Unfortunately the forums are still a 1.1 project and I really don't want to create a fork just to upload the files to the server so trying to figure out the command line tools to check the code in to CodePlex.
Feel free to comment on or ask questions about choices I made in the domain. It's pretty clean overall and well positioned for testing (there are about 80 unit tests in the system) as well as being loosely coupled and easy to add new features.
-
Delete and SharePoint Forums
So I'm sitting with a quandry and figured I would solicit feedback.
A long time ago, in an IDE far, far, away I added a ranking system to the SharePoint Forums Web Part. This is the typical ranking system you see on forums. New user joins forum, gets rank of "Newbie" and after some # of posts, becomes a "Member" (or "Journeyman" or "Apprentice" or [insert witty title here]). All is good in the world.
Currently the Web Part tracks all the posts a user makes. It doesn't track where they make that post, just that they did. Hence if the ranking system was in place, after # number of posts you graduate from one title to the next. Titles are all configurable by the admin. Okay, so the ranking system isn't in the current version (it was pulled late in the game to simplify hunting down any problems the first release would have) but deleting posts affects it and that's where you come in.
When you delete say a forum from the system (and all topics and a posts in each topic) you skew the numbers. Now the counts are thrown off. Say a user posts 100 messages in a single forum and the admin decides to blow that forum away. Now the user has 100 posts in his profile, but there are only 50 messages in the entire system (and nothing from that user because all his posts were in one forum which is now gone).
So, is it worth the time/effort/bother to go through and update each users post count as each post is deleted (which can be time consuming) or does it matter that Jimmy has a post count that isn't indicitive of how many posts are in the system (i.e. some users might have higher post counts than the number of messages in the system).
Like I said, looking for some feedback to determine how important delete is in the system. Feel free to leave comments here, post a message on the forums (I've started a thread here), or email me.
Thanks!
-
SharePoint Forums growing like wildfire
Hey there. I just wanted to thank EVERYONE for the amazing support, feedback, and collaboration on the SharePoint Forums Web Part. I’m hoping it’s installed for everyone and working for you. I think it meets a need and I’ve got other projects in the oven that will do the same.
There are a few emails here and there with problems, but mostly it’s people not following all the instructions completely. Again, I do apologize for not putting together a big dummies installer so people are getting a little lost with editing files they’ve never touched before. Feel free to berate me at TechEd (now sold out) later next month.
As for popularity and growth, the project went onto CodePlex a week ago and has gone from zero to hero. It’s now #2 in activity (just behind the CodePlex project which everyone goes to for talking about the site, so I don’t expect to surpass that) and it’s #3 in popularity (just inches behind the Atlas toolkit, and already leaving MSBee and NUnitLite in the dust). How those numbers are calculated I don’t know but something must be happening (because I can only reload the page so many times a day).
13,000 hits and 400 downloads. With 3,154,273 trillion (yeah, it’s a big number) installed SharePoint customers out there I suppose I have a way to go to get market share but hey, Rome wasn’t burned in a day you know.
Keep on contributing and reporting. There’s plenty of docs online now for installing so next step is to start writing user type stuff. I may not be able to react with weekly iterations like the P&P guys, but I will keep the releases fresh with new features and bug fixes. There’s been some awesome feedback in the forums already and the next release is planned for June (probably going to move to after TechEd since I’ll be gone all that week being a Microsquishy monkey).
There’s an RSS feed here from CodePlex that will give you updates to all changes on the site (wiki, releases, forum postings, etc.) so it’s a little chatty. Also I’ve created a new tag for posts here that will be aggregated to the News Feed tab on the CodePlex project. This is only for posts that concern the web part so if you’re subscribed to my regular feed, you’ll get it anyways.
From here, it can only get better (and I’m just looking at the changes needed now for the 2007 version which will be ready when MOSS 2007 ships later this year).
-
Feedburner
Hi guys,
If you’re subscribed to this blog (using the default RSS feed) can you please update your feeds to read from feedburner instead (http://feeds.feedburner.com/bsimser). I can actually do better formatting, trimming, etc. as a provider of the feed to you and in the case this blog moves, you’ll always have the latest. Also if you’re consuming this feed on a mobile device, the feed coming from FeedBurner is much better formatted for that layout.
Thanks!
-
Keeping up with SharePoint development online
This is way cool (and hot off the presses, thanks L!). As a developer for the new Microsoft Office SharePoint Server 2007 (and Windows SharePoint Services v3) it's good to have a place to go. Now you do.
Check out the following links that will keep you on top of development for all things related to SharePoint:
- SharePoint Server 2007 Developer Portal
- Windows SharePoint Services Developer Portal
- Online MSDN Documentation for Microsoft Office SharePoint Server SDK
- Online MSDN Documentation for Windows SharePoint Services SDK
Awesome stuff!
-
Thanks to everyone at weblogs.asp.net!
Just wanted to thank everyone involved in the upgrade of weblogs.asp.net to Community Server. It seemed to have gone seamlessly and all my posts (with code snippets) survived. Earlier testing of the CS upgrade found that they were stripping embedded HTML out of posts. I use a plugin for Visual Studio called HtmlAsSource that lets me load up some code, select it, copy it to the clipboard, and paste it into a blog post just as you would see it in Visual Studio. I was involved in testing the upgrade a few weeks ago and these posts became gobbly-goop (technical term) so I'm glad to see that fixed.
The other great thing are the new features. Search is great now so just search on my blog for Forums and you get all the posts about my SharePoint forums web part. Search for TechEd and you'll get all the TechEd posts. Yes, even the snozzberries taste like snozzberries.
Other nice features are the highlighted tags (where size does matter and shows how many posts are filed under a particular tag), the option to email a post to someone, a single link to post an entry to digg, and subscription features for those that don't want to subscribe to an RSS or Atom feed.
Anyways, thanks guys. Job well done!
-
It's beta 2 time!
Hey kids, what time is it? It's beta 2 time!
The public beta of Office 2007 is now online and available to anyone. The link is here for you to download the files. This includes all of the Office 2007 client (Word, Excel, Powerpoint, etc.) and servers which includes Microsoft Office SharePoint Server (MOSS) 2007.
With the release of the public beta there are a couple of things to note. You'll have to register and go through a few pages of entering your name, address, blood type, first girlfriends bra size, and other sundry information. After you fill all that in, you'll be whisked away to the download page where your Internet connection will grind away for hours. Note that if you have installation keys for a previous version, you'll still need to go through the registration to get a new set. The old installation keys will not work with this version.
Enjoy!
-
Windows SharePoint Services SDK v3
Seems that the SDK for Microsoft Office SharePoint Services v3 is now available on Microsoft downloads. You can grab it here. This is to compliment the SharePoint Server 2007 SDK that’s available here.
Get your beta 2 engines started up!