Contents tagged with SharePoint Forums
-
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).
-
Installing and Configuring the SharePoint Forums Web Part
I’ve detailed and completed the instructions for installing and configuring the Forums Web Part for your systems. There’s been a lot of people who have either never editing web.config to add SafeControl entries, or never created a custom security policy file and are a little lost in step 3 or 4.
You can find the complete instructions here on the CodePlex Wiki. Each step contains a link to a more detailed page outining what has to be done (with examples). Hopefully these instructions are complete enough for everyone.
Yeah, the system really needs an installer.
-
SharePoint Forums, what else
On CodePlex.
Acitvity: 2
Popularity: 10Yeah, yeah. 21 projects in total so nothing to write home about, but I have to toot my own horn at least once in awhile.
-
Documenting the SharePoint Forums Web Part
I've started putting together the documentation for the SharePoint Forums Web Part (SFWP anyone?) on the CodePlex site so let me know if there's anything you're looking for specifically (and feel free to jump into the discussion forums there to get some open discussion around features, bugs, etc. started). I've also started a FAQ here that you can use for a quick reference on things if you're not into reading lots of text (like most of us are).
Also note that I've removed the download link that used to be on downloads.bilsimser.com and all downloads of the Web Part need to be done through the CodePlex download link here (this will require you to agree to the license agreement). The Web Part is released under the Creative Commons Attribution-ShareAlike 2.5 License. This basically means that:
- Commercial use of the Web Part is allowed
- Modifications (including derivative works) of the Web Part are allowed as long as they are released under the same license as this one
Please respect this when using, modifying, and sharing the Forums Web Part.
-
SharePoint Forums on CodePlex
CodePlex kicks ass. There. I said it.
And my SharePoint Forums Web Part project has a new home. On CodePlex. Cool.
CodePlex is the brainchild of Microsoft and is basically a public facing Visual Studio Team Foundation workspace (the first one that I know of) for hosting and sharing of community projects. If you’re familiar with sites like SourceForge and GotDotNet, it’s very similar. SourceForge is closer to what CodePlex offers (or the other way around if you prefer) in that you have discussion forums, file releases, news, source code, a Wiki, etc. except that rather than hosted on Linux and using CVS/Subversion it’s all ASP.NET 2.0 baby and Team Foundation Server.
Although (and feel free to quote me on this) GDN just plain blows monkey chunks. When I go there, navigation is a nightmare and half the time I end up looking at the main page when I thought I was in a project. Also (just today for instance) I joined a new project, was approved and all that then tried to download the project files and was asked to join. I gave up after signing in a dozen ways to Sunday (oh and how I just love Passport). Nuff said.
I really love SourceForge and it’s served me well (and the other 60,000 projects hosted on it). Will CodePlex be the next SourceForge? I don’t know but I do know I’m going to enjoy working with CodePlex that much more. Complete Visual Studio integration, wikis, work items, tracking, forums, etc. That just works for me.
Okay, some people will gripe and say SourceForge (or the much improved GForge) is much easier to use and doesn’t require a $15,000 client to access it. Fear not as you can use the “tf” command line tool to use even if you don’t have Team Suite (which means you can still use say the free Express edition for development but still access your project on CodePlex). That’s the beauty of TFS, it’s open ended and I’m sure the command line client won’t be the last one you see (hint: hey TortoiseCVS and TortoiseSVN guys, it would be great if someone could put together a cool TortoiseTS project).
The main thing that I’m digging is the Wiki support so I’m just going to fill the site with documentation on the Web Part so I don’t have to keep posting tidbits on my blog or through emails. The collaboration features of CodePlex are going to be quite cool too since I could (eventually) have a team around the world working on the Web Part, all checking stuff in etc. in a nice interface without having to leave the comfort of Visual Studio.
Yeah, I know. You’re all saying Bil has just become a Microsoft brainwashed addict and has gone off his rocker spouting gobs of Team Server propaganda. Like we care since so many other sites have done far more for far less so what’s the big deal. I’m sure people will continue to say sites like SourceForge (and others) far surpass what CodePlex could ever be. Guys, don’t review the movie just from the trailer. Sure, CodePlex isn’t something that we haven’t seen before but it’s a damn better step forward than what GDN offers and (IMHO) can only get bigger and better. Time will tell.
I’ve just got the Forum project site setup and will be adding documentation, releases, and source code to it over the next week or so. There are some forums there, so feel free to sign up on CodePlex (it’s free of course) to ask questions, share experiences (good, bad, or ugly), suggest features, and all that jazz. Feel free to visit the site for updates as well and collaboration on the project (and I’ll be posting updates here but most of them will redirect to pages on CodePlex) and let’s make it the most popular one on the system (at least until something better comes along).
Oh yeah, while this is my first project on CodePlex (and from what I was told, the first non-MS project hosted there) this certainly won’t be my last project on CodePlex.
You can check out my SharePoint Forums CodePlex site here. I’ve also posted the file as a release now so please use this link to grab it (this includes a license agreement page you need to agree to in order to download the file) as I’ll be removing the old one. SharePoint Forums is released under the Creative Commons Attribution-ShareAlike 2.5 License.
P.S. sorry for the over abundant use of the word “cool” in this blog. It’s been a good (and long) caffeine enriched day.
-
More SharePoint Forums Web Part Fun
Just a minor glitch and a quick update. Some people are experiencing problems with security and installation of the web part. Primarily this is usually caused by the AppPool id for the SharePoint site to be running as NETWORK_SERVICE (which generally doesn’t have any privileges). If you use a local or domain account, this problem should go away (and is a recommended setup anyways).
Also on the point of hosting the Web Part. I built it so it can live anywhere (a portal area, a WSS site, a document library) however for Web Part Pages in Document Libraries, the forums are having a little trouble figuring out it’s own home. After posting a message or editing something in the Admin panel, you might find it “kicks” you out to the Document Library or the main site. I’ll see about fixing this in a drop later this week or early next (don’t want to do a release just for one bug) so if you can either host it on a WSS site (on the main page) or a Portal area, you’ll be laughing. Otherwise you might think things are behaving weirdly.
Weirdly?
Is that a word? Sounds like a member of the episode of the Flintstones where they had the creepy family.
Weirdly Gruesome.
Odd.
-
SharePoint Forums Updates
I haven’t got the site for submitting bugs, discussions, etc. for my SharePoint Forums Web Part but that should be along shortly. Some of you might be wondering where some of the features of the Web Part are (like RSS feeds). These are coming but due to time as I got into building it, I went for quality over quantity.
Here’s a list of the features that are being worked on and those that are planned (my wishlist).
Currently Being Worked On For Future Release
- Import tool to read in and convert existing discussion list messages (not sure how the mapping to categories will go here)
- Ability to sync a forum up to an external NNTP server and newsgroup(s)
- Language support for more than just U.S. English
- Topic/message search
Wish List
These are items that have been requested, were planned, but have yet to be scheduled or decided on.- RSS feeds (web part, forum, topic)
- Email notifications from topics, replies, etc.
- Locking of topics (so nobody but admin can add posts)
- Password protect forum (not sure if this is needed)
- Sticky topics/announcement type posts
- Active topics list (return a list of all topics with replies)
- Inactive topics
- New topics (show topics since your last visit)
- Print topics
- Supports smileys/emoticons
- Todays topics
- Jump to forum feature (a small drop down box on the page to quickly navigate around)
- Mark all unread messages read (messages don’t have a read/unread state now so this will be a large change)
- Paged navigation of topics
Some of these features will come automatically (like RSS and Email) with version 2.0 which will ship with SharePoint 2007 (and is being actively worked on so you’ll have a release as soon as the product is ready later this year). If you have any more feel free to send them my way.
Expect a new release every 3–6 weeks (depending on my schedule). Once the new site is up, you’ll be able to add your own items, download the source code, etc.
-
SharePoint Forums... go get 'em
I’m very happy to say that the SharePoint Forums Web Part is ready for you to install. I cleaned a few things up from the last week with the testers but most people reported no problems and only suggestions (which is always a good thing). There were a couple of problems with permissions however if you follow the installation instructions below you should be golden.
I do apologize for not putting together an MSI or something. I did go down that path using WPPackager, however two problems. One is I couldn’t get the permission setup correct and the second thing is that the Forums uses a common library that I’m giving out which needs to go into the GAC but the Forum Web Part assemblies can go into the bin directory. I couldn’t find a way to split this up and then couldn’t get WPPackager to just package a regular file so it either meant doing it by hand (which is what I did) or building a two installers using two different tool sets.
In any case, installation does require a bit of configuration but it’s painless. If some adventurous soul out there wants to put together an installer I’ll throw you a cool SharePoint prize.
You can download version 1.0.0.0 of the Web Part from here. For those that have previous versions installed, please remove them and delete your forums. If you really want to retain the old forums I can tell you how to do this but email me privately as it involves some extra steps.
Here are the web part installation instructions. These instructions are also in the zip in a text file called DRINKME.TXT.
Step 1
Install “BilSimser.SharePoint.Common.dll” to the GACStep 2
Copy "BilSimser.SharePoint.WebParts.Forums.dll" and "BilSimser.SharePoint.WebParts.Forums.Core.dll" to your SharePoint web site bin directory (if it's the default, it's c:\inetpub\wwwroot).Step 3
Add the following SafeControl entries to your web.config file:
<SafeControl Assembly="BilSimser.SharePoint.WebParts.Forums, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e516dadc23877c32" Namespace="BilSimser.SharePoint.WebParts.Forums.Controls" TypeName="*" />
<SafeControl Assembly="BilSimser.SharePoint.WebParts.Forums, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e516dadc23877c32" Namespace="BilSimser.SharePoint.WebParts.Forums" TypeName="*" />
<SafeControl Assembly="BilSimser.SharePoint.WebParts.Forums, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e516dadc23877c32" Namespace="BilSimser.SharePoint.WebParts.Forums.Controls.Common" TypeName="*" />
<SafeControl Assembly="BilSimser.SharePoint.WebParts.Forums, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e516dadc23877c32" Namespace="BilSimser.SharePoint.WebParts.Forums.Controls.Base" TypeName="*" />Step 4
Add the following to a custom policy file (PublicKeyBlob split for clarity but needs to be one line):
<CodeGroup
class="UnionCodeGroup"
version="1"
PermissionSetName="FullTrust">
<IMembershipCondition
version="1"
class="StrongNameMembershipCondition"
PublicKeyBlob="0024000004800000940000000602000000240000525341310004000001000100F15CA89A
80D45C052CC5003DDAD661CEA98168E5B12A7BEC2A8B455D1E7D043C9248BC192A16B02B4D1CCF41738C31797
CFFED01C70EE6247222243FA3B10706368EDE73C57BAF586582F83CB9391DA711DFF5B8169A9AD6169D6023B5
C6572136233AC331010CE4C808143B2E2AB18FE59A872340DB76F71180623789336DAB">
</IMembershipCondition>
</CodeGroup>IMPORTANT!
This entry needs to go AFTER the FirstMatchCodeGroup and BEFORE the ASP.NET UnionCodeGroup!Step 5
iisreset (or recycle your AppPool)Step 6
Import SharePointForums.dwp onto a WSS site or SPS area page where you are an Administrator.Step 7
Configure, and have fun!I’ll post a quick set of docs (somewhere) on doing basic stuff but watch for blog entries on various tricks you can do. Email me at bsimser@shaw.ca if you have problems, questions, suggestions, small marsupials, concealed logging chains, etc.