Fear and Loathing
Gonzo blogging from the Annie Leibovitz of the software development world.
-
SharePoint Forums Language Pack
I’ve put together a language pack (just a zip file) for the latest release of the SharePoint Forums Web Part. Thanks to the efforts of people in the community, there’s a translation file for German (1031) and the Russian (1049) languages. Instructions on where to unzip the file are included in the zip and this file will be updated as more languages are translated and made available.
Please check out this page on the Wiki on how to create a translation file for your language. You can download the language pack from here on the CodePlex site.
EDIT: Just updated the release of the language pack to version 11 with the addition of the Ukranian language and a spelling correction to the Russian language files.
-
SharePoint Learning Kit now available on CodePlex
CodePlex just keeps getting groovier and groovier with SharePoint projects. Here's the latest. It's the SharePoint Learning Kit and the first Community Technology Preview (CTP) is available for you to download. For those of you familiar with Class Server, this is the same thing. For those that are not familiar with it here's the blurb from the site:
SharePoint Learning Kit (SLK) is a SCORM 2004-conformant e-learning delivery and tracking application built as a SharePoint v3 solution. It works with either Windows SharePoint Services 2007 or SharePoint Portal Server 2007, and has the following core features:
- Supports SCORM 1.2, SCORM 2004, and Class Server content, allowing users to store and manage this content in SharePoint document libraries.
- Supports a learner-centric or instructor-led (assigned) workflow.
- Allows assignment, tracking and grading of both e-learning and non-e-learning content.
In this CTP you can install and configure the SLK Solution and use it to assign SCORM 2004 content on a SharePoint site. Learners can view a list of their assignments with the assignment list web part, and can interact with the assigned content. The learner's interactions are stored in the SLK database.
This CTP also has SDK and source code downloads for developers to review SLK and the underlying Microsoft Learning Components (MLC) API to determine whether it might be suitable for their applications.
Very cool stuff. You can check it out here on it's new CodePlex home.
-
DotNetNuke and SharePoint, part deux
First off I have a tremendous amount of respect for Shaun Walker and the DotNetNuke guys. They took a free sample starter application from Microsoft and created an entire after-market. Just look at how you go online and pay $30 for a DNN skin or $50 for a DNN module. No really, I'm not being asinine here. I really do respect them, the community that’s grown up around their efforts, the work they do and the future that DNN brings.
Shaun has put together a giant matrix of DNN features and how they par up against SharePoint (2003 version, SPS and WSS v2 so I'll consider the features of both as the one column in his matrix) and the upcoming Microsoft Office SharePoint Server (MOSS) 2007. He also throws in ASP.NET 2.0 which is good, but for this lengthy discussion I'll just ignore it.
I’m not going to nitpick about the things that are ticked on the DNN site but not the SharePoint one (unless they should be) but mostly focus on his comments on the DNN benefits column as I think some of them need either explanation or comparison to say a SharePoint benefit for the same bullet point. If a DNN benefit is stated, I just want to be sure it’s not being overstated where SharePoint does the same job (or vice-versa).
I wanted to cover in-depth a few things he mentions, some things he omits, places where I don’t agree with his statements and my own reflections on the comparison. As you may know I did the big DNN vs. SharePoint showdown of my own awhile ago (which got a lot of great discussion going and feedback, including great stuff from Shaun) so let's see where this one goes. Overall he does a good job of making the comparison and it’s going to be a great reference for the future. Consider this blog post my Coles Notes (or Cliff’s Notes for you guys down south) on Shaun’s matrix. Here are Bil’s Notes ;)
Usability
- A couple of points that need help here. The DNN benefits listed are things like “unlimited pages per site” and “unlimited modules per page”. While SharePoint does have some published limits, I have yet to see anyone exceed or come close to them (except maybe Microsoft themselves). And after you get 10 or 20 modules (or Web Parts) on a page any page is going to become un-usable, no matter what the technology is due to the fact you’re pulling so much data down. It’s like users that say they want 10,000 rows on a web page. Can you do it? Sure, if you like waiting for 5 minutes for each page refresh.
- Using a DataView Web Part I can put the same module on as many pages as I want. I don’t see how this is any different than what DNN does today (although setting a module to show up on each page is sometimes a good thing, sometimes a bad thing [like when you want to get rid of it]).
- Site Search. I feel this is a bit of a red herring. The DNN benefit is that DNN doesn’t use any third party components to do it’s search. However neither does SharePoint. SPS search is done by the search engine, and WSS only installs use SQL Servers full-text search. One would argue that DNN does use a component to do its search, it’s the custom component of DNN itself (which I don’t think allow me to extend it to say search PDF files for example like I can with custom IFilters). Again, I might be wrong here so feel free to correct me please.
- DNN benefits are that it uses site and page templates with content. We have this already in SharePoint 2003 with the built-in templates (Team Site, etc.) and sites you can create as well with 2007 you get master page support and layout template support (in addition to site templates again). Dead heat IMHO.
Bundled Functionality
- A few things are missing from the SharePoint columns here as SharePoint does come with discussion forums (crappy ones, grab mine instead, shameless plug), photo gallery (Picture Library), survey, etc. The other argument here is that it comes with the Custom List template which is the basis for anything you want. So technically, while it doesn’t come OOTB in SharePoint, I can certainly create a FAQ, Blog, or Feedback list in minutes. Okay, you might say I’m stretching on something like the Blog and that could be true. In any case, things like the Custom Forms/Tables should be checked in the SharePoint column as that’s what the Custom List template really is (and personally is better than what DNN provides but I’m a little biased).
Membership & Roles
- I didn’t realize DNN had support for extending the roles provider, but since SharePoint 2007 is based on ASP.NET memberships I would suggest that this can be done as well (but I could be wrong as I’ve never tried to extend the built-in providers in .NET)
- Security role trimming. DNN lists this as a benefit (with trimming for control visibility) and last time I checked I get that with MOSS 2007 (finally) so don’t know how this is a benefit over SharePoint (2003 for sure as it just plain sucked on hiding things users couldn’t do).
Application Extensibility
- I have a bit of a problem with the Developer Tool Support. DNN cites a benefit of supporting the free Web Developer editions and SQL 2005 Express. Contrary to popular belief, I can build Web Parts with the free .NET SDK and a command line, so I don’t need any IDE (professional or otherwise). WSS also makes use of SQL Server 2005 Express for it’s datastore, so not sure how DNN shows this as a benefit. As for the Visual Studio item templates which are not checked for SharePoint, there are web templates available for the IDE (true, no “Express” templates) and the 2007 ones will come along when the product is released. A keen person with some time on their hands could whip up a SharpDevelop (a free, open source, .NET IDE) template if they wanted to for SharePoint. After all, it’s just a class library at the end of the day.
Designer Extensibility
- Definitely kudos to DNN for zip deployments!
Site Extensibility
- I’m a little confused by Site Virtualization comment. DNN says it “supports multiple virtual sites from a single application/database based on URL”. Personally I can create a gaggle of sites on one IIS server and differentiate them with host headers. True, I don’t want to create more than say 10 or 20 on a single server, but I can do it. I can also create a larger gaggle of site collection or even sites (all with different URLs under say different hosts using host headers). Maybe I’m missing something here.
Localization
- Again, single zip distribution for localization files (and not using satellite assemblies) is a bonus on the DNN site. No arguments here.
Document Management
- I have a problem with this section. Okay, he does check off “Secure Document Storage” for DNN but cites that DNNs benefit is that it can store the document on the file system or the database. Okay, in a simple world I guess I’ll buy that as a benefit but calling any document storage a document management feature is thin. If this was a SharePoint matrix list, it would blow away DNN since DNN doesn’t provide check-in/check-out or versioning (let alone any of the records management features coming in MOSS). But yes, storing documents on the file system might be useful as the database storage does take up extra space however you don’t get full text search throughout documents in DNN which is what the extra storage is required for (there are always trade offs), so this is a toss up to me.
Infrastructure
- No Multiple Database Support for SharePoint? Not sure what he’s referring to (and again this might be my lack of understanding of the inner workings of DNN) but I can certainly create a cluster of SQL servers in a farm and have my SharePoint content databases split across them. Sorry, but when Microsoft can host 30,000 team sites in their data centre that’s multiple database support (and then some) to me. Not sure if DNN scales out to that as I don’t know of any really large DNN sites (but feel free to provide some examples as I don’t know everything). I do agree the XCOPY deployment would be grand for SharePoint, but I just think it’s out of the question given all the moving parts it has (see below for more details on the power of PAs that DNN has).
Community
- I don’t know why, but Shaun failed to mention the SharePoint 2003 (and 2007) support forums. Basically there are 4 (or 6 or 8 I can never keep track) managed newsgroups as well as various community forums (like SharePointU for example) and mailing lists (sharepointdiscussions on Yahoo Groups) that all provide this. True, there isn’t a support forum environment like DNN has, running on the SharePoint site at Microsoft but I don’t see NGs being that far off from this (plus the fact that SharePoint forums/newsgroups get hundreds if not thousands of posts a day). So I believe he should have included SharePoint here.
Pricing
- I agree that DNN is free (as in beer) but for example, my web host (webhost4life) provides me with a “free” WSS site (it’s the one running the Application Templates site and some SharePoint sandbox/showcase work). I consider it free because I pay for hosting there, just like my ASP.NET hosting that runs my “free” DNN site. So what’s the difference? Sure, if I was hosting the system myself I would have to pay for a Windows 2003 Server license and there’s an external connector fee (which I think is what he’s referring to with the $40k) but again, if I host my WSS site somewhere else I don’t need to worry about that. Of course there are problems with that too (like I personally can’t deploy my own custom Web Parts on a hosted environment). For a good example of where MOSS 2007 is going as far as hosting intranet facing sites goes, check out Ian Morrish’s site as it looks great and runs 2007 so you can see everything SharePoint will offer in this arena.
Wrap-up
It’s interesting the comments by Joe Brickman on deployment and extensibility. He points to my recent NAnt post on creating an MSI for my Web Part and how you’ll lose people in a hosted environment. I totally agree and think that the PA (Packaged Assembly) system of DotNetNuke is the cat’s meow. I mean, the fact I can download a PA from a vendor and upload it and have it install on my host (no matter what priviledges my host gives me, as long as I have host rights on the DNN system I install which I would) it’s awesome to have new functionality in seconds.
I don’t know if SharePoint will get to that (although the Feature Management system is a step towards that, but you still have to have access to the host to make the feature available). In fact I pondered building my own PA-like system for SharePoint that would allow you to upload a zip file with web parts, etc. through a Web Part and it would deploy itself much like how PAs work.
However I do see a downside here.
I haven’t heard in the DNN community and don’t know the inner workings of DNN to know if it will do security-like checks on a PA so who’s to say that I can create, build, distribute, and release a malignant trojan-like PA on the DNN community. Really. Create a wonderful looking module, offer it for free and have everyone install it. Then months later take down the entire DNN community (or a large part of it) with a module. Yes, a bit extreme but remember the little Sheep desktop gizmo that was floating around years ago? Nobody knew where it came from but everyone ran it. Imagine if the “Users Online” module for DNN was like that? (okay, I’ll stop as we’re getting into Conspiracy Theory territory here and it’s silly).
That’s the downside I see but again, I think the PA distribution system is great and many steps above and beyond what SharePoint has.
Of course, there’s things missing from the matrix since it’s told from the DNN perspective. Like the fact that MOSS has this incredibly complicated “people” network. Just by reading or contributing to someone’s document, or being a member on their site puts them in my social network. This networking aspect is huge and nothing like it exists in anything I’ve seen in DNN. So there are gaps, but there always will be. If the story was told from the SharePoint perspective, it would talk about all these features and leave DNN in the dust in some areas (and miss out in others), like DNN does with SharePoint.
In the end, again, its up to you to decide. Like any good craftsman, choose the right tool for the right job. I think the 2007 version (now that it’s built on ASP.NET 2.0 and they’ve started to think about external users seriously now) will be a step up. Projects like the SharePoint Community Kit will help this effort.
It’s up to you to choose and remember to choose wisely.
-
SharePoint Forums MSI updated on CodePlex
Okay, I've fixed the DWP error and created and replaced the MSI that was on CodePlex. Please download the current version from here if you're having problems adding the Web Part to a page (and don't want to manually edit the file).
Let me know if there are any problems.
God, it's been a crazy morning. I need a vacation.
-
Adding SharePoint Forums Web Part to a page
Okay, stupid error that I need to fix later today when adding the SharePoint Forums Web Part to a Web Part Page.
When an assembly with SafeControl entries is installed in the GAC (like this version is) the DWP file requires that the <Assembly> tag is a fully qualified one (with the public key token, etc.). This is to distinguish it from other assemblies.
The DWP file that is installed doesn't contain the fully qualified name, only the assembly name so SharePoint throws a hissy fit and says it's not safe.
So to fix this:
- Navigate to your wpcatalog folder under c:\inetpub\wwwroot (or wherever SharePoint is installed to)
- Manually find and edit (with Notepad or something) the BilSimser.SharePoint.WebParts.Forums*.dwp file
- Change the <Assembly> tag to read:
<Assembly>BilSimser.SharePoint.WebParts.Forums, Version=1.1.0.0, Culture=neutral, PublicKeyToken=e516dadc23877c32</Asssembly> - Now you can import the web part onto a page from the virtual gallery.
The <Assembly> tag should match the entry in the SafeControls entry in your web.config file.
Stupid error that I should have realized. I'll rebuild the MSI (again) and update it for those that will download it later today.
Sorry about that folks. Sometimes coffee just isn't enough.
-
SharePoint Forums 1.1 Released
Happy times are here again. I’ve finished the packaging and released version 1.1 of the SharePoint Forums Web Part. This contains a fairly large chunk of bug fixes and new functionality. Here’s a rundown:
- Installation. Installation is HUGELY simplified. Just download the MSI and run it. Yeah, should have done that a long time ago.
- Language Support. This release includes a language file (currently only english is available) with translatable strings from the Web Part. The file is just an xml file and you can create your own (using the existing one as a template) and deploy your own language resources (just drop the file onto the server and go). More instructions on creating additional languages will be available on the Wiki shortly and more translatations are to come with upcoming releases (I didn’t get to externalize them all, but it’s a start).
- Date Sorting. Forums and topics were being displayed backwards (oldest to newest) so this has been corrected to “bump” the latest posts to the top
- Todays Topics. You can now click on a link to show all the topics posted today.
- RSS feeds. Each forum has it’s own unique RSS feed you can subscribe to.
- Cleanup of display. A few links (like Delete Topic) have been cleaned up and put in a better place to make it easier to find. Other minor fixes to the display.
- Performance. This was a big boo-boo I made. Now the forums load in under a second (no matter how many posts you have).
- New Admin Functions. There’s a couple of new admin functions like recalcuating the totals (sometimes they get out of whack), deleting all the forums and restarting, and creating a set of sample data to play around with.
Hope you like it! Keep your suggestions coming in the Discussion Forums and Issue Tracker. Next drop is in August (we’re now on monthly drop cycles) with anonymous users, NNTP synchronization, ASP.NET 2.0 and MOSS 2007 support!
You can grab the file from the Releases section on CodePlex or directly from here.
Enjoy!
-
Automating your Web Part builds (and distribution) with WPPackager and NAnt
I’m just finishing up the packaging for the new version of the SharePoint Forums Web Part tonight and thought I would share with you some ideas and concepts around the packaging and distribution of it.
Thanks to Paul Schaeflin who took time out of his busy schedule to put together a CAB installer for me. It was great but I thought I could improve on his foundation. I used that as a basis, but then went back to an additional friend, WPPackager. WPPackager is a sweet little tool that will package up your Web Part assemblies, resources, and additional files and create an MSI for you. The end user just runs the MSI without any fuss or mess screwing around with web.config or custom policy files. There’s a great MSDN article that explains how to use the tool with some examples. Check it out here.
Anyways, so I use NAnt for my builds (free, open source, blah, blah, blah) and with NAnt you can practically automate anything. Here’s part of my NAnt build file for SharePoint Forums:
1 <?xml version="1.0"?>
2 <project name="SharePoint Forums Web Part" default="deploy">
3
4 <property name="config.build" value="Debug" />
5 <property name="output.dir" value="build" />
6 <property name="deploy.dir" value="C:\Inetpub\wwwroot\bin" />
7 <property name="resource.dir" value="C:\Inetpub\wwwroot\wpresources\BilSimser.SharePoint.WebParts.Forums" />
8 <property name="wppackager.dir" value="C:\Program Files\WPPackager" />
9
43 <target name="dist" description="create a distribution MSI for the web part" depends="build">
44
45 <!-- Copy the files needed by WPPackager to the build directory -->
46 <copy todir="${output.dir}" flatten="true">
47 <fileset>
48 <include name="SharePointForums-1.1.0.0.xml" />
49 <include name="src\Manifest.xml" />
50 <include name="src\SharePointForums.dwp" />
51 </fileset>
52 </copy>
53
54 <!-- Use WPPackager to create a MSI -->
55 <exec program="WPPackager.exe" basedir="${wppackager.dir}" workingdir="${output.dir}">
56 <arg value="SharePointForums-1.1.0.0.xml" />
57 </exec>
58
59 </target>
60
61 <target name="install" description="installs the web part using the MSI installer" depends="dist">
62 <exec program="SharePointForums-1.1.0.0.MSI" basedir="${output.dir}" />
63 </target>
64
65 </project>
It’s fairly long and I’ve removed some of the targets for clarity but let’s break it down here. The default target is “deploy” which will in turn call “build” which first calls “clean”. These do what you think and deploy just copies the files to the “C:\Inetpub\wwwroot\bin” directory (or wherever you run your SharePoint server from).
The target we’re interested here is “dist”. The “dist” target will do three things:
- Clean out the build directory and rebuild the system
- Copy all the distribution files needed for the distribution
- Execute the WPPackager.exe program and create an MSI
The build is done through the “build” dependency target which compiles the solution file but first executes the “clean” target which just deletes the build directory. All files are output first to the build directory (here specified as the variable ${output.dir}. This keeps all the dll files in one place rather than hunting all over for a Debug or Release directory.
The WPPackager program needs a single file which contains instructions to build the MSI. Here’s the SharePointForums-1.1.0.0.xml file:
1 <?xml version="1.0" ?>2
3 <!--
4 WPPackager file for SharePoint Forums Web Part
5 Version 1.1.0.0
6 GAC install
7 -->
8
9 <Wppackager xmlns="http://schemas.microsoft.com/WebPart/v1/Wppackager">
10
11 <Manifest FileName="Manifest.xml" />
12
13 <MSI
14 Name="SharePointForums-1.1.0.0"
15 Version="1.1.0.0"
16 Manufacturer="Bil Simser" />
17
18 </Wppackager>
Not much to look at. This just tells WPPackager that I’m building an MSI, giving it a name and version and manufacturer (that’s ME!). The Manifest.xml is the standard one from SharePoint that just lists the assemblies we’re including and the SafeControl entries (these are added to the web.config file auto-magically when the MSI is run).
The WPPackager needs all the files that are going into the distribution (much like if you were using a CAB project in Visual Studio to build a CAB) so the build script (using the “copy” task) copies the Manifest.xml and SharePointForums.dwp file from the Web Part directory into the build directory so WPPackager can find it when it runs.
Finally WPPackager is run using the “exec” task as shown here. This will create SharePointForums-1.1.0.0.MSI in the output directory.
I also use an install target that will run the MSI after it’s built. I do this on a clean system just to test the build and install to make sure everything works (note to self: I’ll probably add an “un-install” target for rolling it back, if I can figure out how to execute the MSI backwards).
One note is on the output of WPPackager. You’ll see something like this:
dist:
[copy] Copying 3 files to 'C:\dev\BilSimser.SharePoint\WebParts\ForumSingleSolution\build'.
[exec] Success: MSI Installer: 'SharePointForums-1.1.0.0' created successfully from 'SharePointForums-1.1.0.0.xml'.
[exec] Note: 'SharePointForums-1.1.0.0' is not signed. Consider signing 'SharePointForums-1.1.0.0' so that the user can identify the source of the MSI.BUILD SUCCEEDED
Total time: 6.2 seconds.
The MSI that gets created is unsigned (and will be untrusted on the installing sever when it’s run). I didn’t want to get into the details of signing here but check out this article on using SignTool. Once you install SignTool you can do something like this in your build file:
signtool sign /a MyFile.msi
Which will sign the file with the best certificate it can find. I haven’t tried it so you’ll have to check it out yourself (I just need to get around to installing the Platform SDK, something I normally don’t do). Until then you’ll just have to trust me ;)
That’s about it for automating your distributions with NAnt. A similar build could be created with MSBuild and it’s format so I may create that when I move the project over to the 2007 platform later this month. Otherwise, with a few simple tools and commands you can have a nice little automated MSI builder so you don’t have to put your users through hell (like I did) on editing web.config files manually and trying to locate the “bin” folder (sorry about that guys).
BTW, WPPackager is being discontinued. Please read, speak up, and support the post here from Maurice Prather on it. Personally it’s a nice tool once you get to know it. It’s not perfect, but at least it a) creates an MSI for you b) inserts the SafeControl entries for you and c) will apply a custom policy file for you (it copies whatever is there and adds your own policy entries). Additionally, it will roll all this back all these changes when you un-install the Web Part from the Add/Remove Program Files menu. You could probably do the same with a custom installer but then you need to mess with the web.config file (finding the right node, adding entries to it, etc.) and backing up and creating custom policy files (as well as rolling this back during an un-install). Neither rocket nor science, but not just a few if/then/else statements either so WPPackager helps. A lot.
At this point, there’s no slick way I know of to install Web Parts in 2007 (yet), although Todd Baginski’s SharePoint Feature Manager is looking good, but it still needs things to manage and won’t install the Web Parts/Solutions for you. Hopefully someone will have something put together (perhaps a resurrection of WPPackager?) for 2007 as we really do need to in order to deliver packages to you, the consumer, and not have you go through crazy setups like in the past (or is it the present?).
Watch for the Web Part release later tonight on CodePlex.
-
Kicking it up a notch with SharePoint
If you’re into the whole Emeril thing you might like this. With the tremendous help of Gavin Joyce, I’ve setup a new community site called SharePointKicks.com.
SharePointKicks is very much like it’s other *kicks siblings. Members of the site submit stories (usually blog posts but can be anything) and have the ability to “kick” a story up if they like it (or down if they don’t). The more kicks a story gets, the higher up the site food chain it is. This is very much like the digg.com mentality of community rated content and takes away that *I* in *TEAM*. After all, do you really want a single MVP or Microsquishy drone always spouting off what’s best? Why not have everyone (including yourself) do it instead.
That’s what the kick sites do. And it works. You end up with a nice filtered view of the world. If a post isn’t popular, you won’t see it until it is. There won’t be dupes (or at least that’s the plan) like other aggregated sites (isn’t it a pain when 8 people all blog about the same thing?) so the signal::noise ratio should also be reduced. And you’ll get the choice content that appeals to the masses so you can focus on what’s important.
Yeah, it all sounds good on paper so time will tell how good it really is.
Anyways, there are a few ways you can participate in growing this community:
- Just visit the site. You’ll get links to blogs/articles/etc. that others find useful so hopefully that’ll be useful to you.
- Register on the site. The great thing is that you can register on one site (say SharePointKicks or DotNetKicks.com) and your registration is used on all of the kicks sites with one login. Once registered you’ll be able to submit your own stories or kick other peoples stories to increase visibility.
- Contribute to the site. As a registered user, you can add stories to the site. These can be your own blog entries (yes, we’re all about shameless self-promotion) or nuggets of SharePoint goodness you’ve found around the web that you want to share. If enough people find it interesting, it’ll be jerked up the popularity stack for all to see.
- Blog about it. A site like this doesn’t work with one guy behind the curtain pulling all the strings. It only works with people like you. If you’re a SharePoint blogger, then go ahead and submit your own story.
As a SharePoint blogger (or ones who blog about SharePoint, yes that means you Sahil) it would be great for you to get your readers to kick your own content for you. It’s like having a million monkeys do all that typing for you. All you have to do is add the following HTML to a SharePoint related blog posting you want people to share:
<a href="http://www.sharepointkicks.com/kick/?url=[URL]"><img src="http://www.sharepointkicks.com/Services/Images/KickItImageGenerator.ashx?url=[URL]"></a>
And replace the [URL] with the permalink to the actual item. This will create an image link (like the one below) and a registered user on any of the *kick sites can just click on it to “kick” your blog entry. If it’s the first entry on the site, you’ll be asked to provide a short description and select a category.
Mmmmm. Metadata. Metadata good.
Just put something useful in the description. Consider this the abstract item you’re kicking, the thing that will suck people into it and make them want to click on the link to find out more.
If it’s an entry that’s already been kicked, your kick total will be added. Once a story has been kicked a few times, it shows up on the home page and in the categories that are available on the site.
Finally if you’re just looking to help out the site, click on the Find stories to kick link on the right hand menu. This will present all the recent items submitted and give you the ability to be the publisher and kick it up onto the homepage.
Very cool.
Many thanks for Gavin for getting the site setup so quickly (I registered the domain around 9AM this morning, by 11:30AM the site was up and running) and Monty Grusendorf who’s helping out with the site duties (watch for more SharePoint stuff from Monty soon!)
So go. Spread the word. And Kick it!
-
CodePlex comes out of Beta
For those of you that have been following this stuff, CodePlex has “officially” come out of Beta and is now live. CNET has an article on it here, but it’s pretty thin and doesn’t contain much information. Here’s a quote from one of the CodePlex guys:
“From this point we will release a new version of the site every three weeks to continue to incorporate more improvements and any resolve any issues. You can watch the version number displayed in the bottom right corner to see when a new version has been released.”
They’re no longer moderating project creation and will accept any new project, but they’re queuing the projects up to ensure that the number of projects doesn’t exceed their server capabilities so it might be a delay between when you request a project and the time it gets created. The team is also on a 3 week iteration cycle and will be releasing a new version every 3 weeks to incorporate bug fixes and enhancements.
Of course, I might be a little biased, but CodePlex rocks so check it out.
-
Installing the SharePoint Forums Web Part
The biggest problem that I keep hearing about with the SharePoint Forums Web Part is installation. I think there is a flaw so that you will, almost always, get at least one error on security but with a page refresh this goes away (at least with all the tests I've done where I'm running as non-admin, non-Full trust, I get this).
However the biggest problem that everyone is talking about is the steps they're going through installing the web part and the errors they're getting. Here's an example:
"I've read all the documetation and followed it exactly and installed the dll files in the c:\inetpub\wwwroot directory but it still doesn't work."
Okay, this is wrong. The documentation does not say this, it says to find the directory where SharePoint is installed and in a default setup it will be this. It also says to create the "bin" folder (where the assemblies are) if it doesn't exist.
It's feedback like this that is causing problems with people installing the web part.
I'll be the first to admit, if the documentation is wrong (and it might be) then I'll update it so that anyone can install this. I'll also be the first to admit that if you've never installed a custom web part (and there are a lot of people that haven't) that these instructions can be a little daunting. We are working on an installer to make it as idiot-proof as possible and hopefully reduce it to a one-click install. The problem is that there are several moving parts that need to happen for the web part to make it into a virgin system including:
- Copying the assemblies to the "bin" folder
- Adding the SafeControl entries to the web.config file
- Creating a custom policy file
- Setting the custom policy file in the web.config
- Adding an assembly to the "gac"
These are non-trivial steps, but as far as I know I've documented them as much as possible on the Wiki site. So please refer to the installation instructions here first and foremost. Also remember to click on the hyperlink for each step, as it contains a more detailed set of instructions.
Like I said, if the instructions are incorrect or missing information (even the smallest thing) please let me know. Did I screw up? Maybe? Did you just assume things and skip steps? Possibly. I've been communicating with a *lot* of people and *almost* everytime, they've just ignored what the documentation said and put things in weird places (I even had one guy that copied the dll files to the 60 hive, which is just completely wrong).
Okay, enough of my ranting. Since I can't be at everyones machine to do the install for them the documentation (until a complete installer comes along) is the next best thing. Please help make it a complete and accurate document.
Thanks.