Friday, 6 February 2009

Sharepoint Administration Toolkit 3.0 and spdiag now available

The Sharepoint Administration Toolkit 3.0 is now available in 32-bit and 64-bit flavours. This release add the Sharepoint Diagnostics Tool (spdiag) for collecting performance stats from disparate sources and helping out with the troubleshooting process. An spdiag user guide has also been made available.


Custom-Built Microsoft Office SharePoint Server 2007 Branded Sites and Webpart Development - info@mediawole.com

Saturday, 31 January 2009

Disposing SharePoint Services Objects Updated (2009) and SharePoint Dispose Checker

Microsoft has finally released an update to the "Best Practices: Using Disposable Windows SharePoint Services Objects" article. If you've never heard about, glanced through, or read this article, it's required reading for every WSS/MOSS developer and worth printing off.

It's terribly important to remember that, even though you're writing code for a managed environment (.NET), you're not always dealing with managed objects; think of your MOSS objects (well, some of them anyway) as unmanaged resources that require special handling just like files and database connections. If you don't dispose of these objects properly, they'll sit in memory until the IIS application pool falls over and your site crashes. It happens and the existence of this article suggests it happens too much! The flip side is disposing of MOSS objects that shouldn't be disposed, which can also have negative consequences.

To coincide with this guidance, the SharePoint Dispose Checker tool (SPDisposeCheck) has also been released on the MSDN Code Gallery. Pointing this tool at your custom MOSS assemblies will tell you where you've gone wrong. The tool won't find every problem and may also report errors which are not actually problems but in general it's a great addition to your toolbox and a perfect compliment to the guidance. The tool can be used with MOSS or WSS assemblies. Note the -xml parameter doesn't work with this release--leave it off the call and pipe the output to a txt file. 

The tool is installed to "C:\Program Files\Microsoft\SharePoint Dispose Check" and running against the sample spits out a list of problems that look something like this:
ID: SPDisposeCheckID_160
Module: SPDisposeExamples.exe
Method: SPDisposeExamples.SPWebLeak.SPLimitedWebPartManagerLeak
Statement: webPartManager := page.{Microsoft.SharePoint.SPFile}GetLimitedWebPartManager(1)
Source: C:\ROGERLA\Demo\SPDisposeExamples\SPWebLeak.cs
Line: 42
Notes: Dispose/Close was not called on SPLimitedWebPartManager.Web
More Information: http://blogs.msdn.com/rogerla/archive/2008/02/12/sharepoint-2007-and-wss-3-0-dispose-patterns-by-example.aspx#SPDisposeCheckID_160
Interpreting the SPDisposeCheck's output isn't difficult but note the tool may output a lot of information before telling you about the problems encountered. Scanning the westernaustralia.com .dlls resulted in a 10MB text file to report three problems so I'd suggest you start reading the output file from the bottom up or run the tool without the -debug parameter. Also make sure you read the readme file as it's not only quite useful but brief.

Finally, despite being labelled "Best Practice", this guidance has danced around since it was first published in 2006. But don't worry, Roger Lamb keeps and excellent, up-to-date
blog post on how to implement this guidance and any changes that come up. Apparently Roger's blog will be the default location where updates are published prior to incorporation into the doc proper. 


Custom-Built Microsoft Office SharePoint Server 2007 Branded Sites and Webpart Development - info@mediawole.com

Friday, 16 January 2009

Perth 'Hots Up' while MOSS 2007 Jobs Cool Down

Eighteen months ago a job search on seek.com.au returned many pages of Perth-based jobs for SharePoint/MOSS developers and the whole situation felt out of control (kind of like today's temperature here in the city). MOSS 2007 was new-ish and the Microsoft marketing machine was working overtime. Everyone had to have MOSS and they wanted it now! As a MOSS dev looking to move employers, the streets were seemingly paved with gold--any job offer would be very much on my terms and it would pay well (especially as a contractor).

To satisfy my curiosity (I'm not job hunting at the moment), today I repeated the original search I ran on seek in mid-2007 and the results were, well... few: two listings for 'MOSS 2007' and eight listings for 'SharePoint'--only three of which included the word 'SharePoint' in the title. Maybe it's the time of year and the global economy is definitely out of sorts but I've got to admit this was surprising!


Custom-Built Microsoft Office SharePoint Server 2007 Branded Sites and Webpart Development - info@mediawole.com

Friday, 2 January 2009

Software KVM

I never knew such a thing existed but Synergy is a software-based client/server application for sharing a mouse and keyboard across two systems and it's free. Note I didn't mention anything about the video side because the video aspect isn't covered by this tool. 

After some minor but clunky configuration to identify the server and tell the server where it sits physically in relation to the clients, this thing is dead easy to use: it's just like moving between windows on your extended Windows desktop except keyboard input is automatically "focused" (eg. no click required) on your moused-into computer, if that makes sense. 

I've got two machines on my desktop at work: my laptop with its desktop extended to a 22" Samsung and my VPC host machine--a grunty box with a single 17" monitor. By putting the lot side-by-side I can now remove one keyboard and mouse from my desktop--a minor win but pretty cool nonetheless. 


Custom-Built Microsoft Office SharePoint Server 2007 Branded Sites and Webpart Development - info@mediawole.com

Tuesday, 16 December 2008

WSS 3.0 vs MOSS 2007

The Microsoft WSS/MOSS product comparison table can be found here:


WSS doesn't include the features listed here:



Custom-Built Microsoft Office SharePoint Server 2007 Branded Sites and Webpart Development - info@mediawole.com

Friday, 12 December 2008

Search 2 Launched on westernaustralia.com

It's been a busy week at Tourism! In addition to pushing out new web sites, my team has also been busy launching the next iteration of search on www.westernaustralia.com. Although wa.com is a MOSS-based web site, it uses a custom search system built in-house to meet an exacting set of requirements and keep half the planet happy. 

Search 2, as it's known internally, started out as a retrofit of the tours search sub system but quickly evolved into a full rewrite to make search faster, more accurate, and more configurable while introducing new features like spelling suggestions. 

Tourism WA has a paid membership model where tourism operators pay an annual fee to join the Tourism WA Network in return for a listing on westernaustralia.com. As a result, everyone wants to see their product listing on top of the pile when it comes to search results. We also have a lot of custom content on the web site: if you search for "Perth", the MOSS content page related to Perth is listed first; if you search for "hotel", you're probably after accommodation products but the display of the hotel listings in WA are randomised to ensure fairness. Trust me, these are some simple examples--what we end up with is a complex business logic that dictates how search results are weighted and ranked. 

The search implementation on wa.com has a long and sordid history. We started out using the in-built MOSS search and the BDC, crawling MOSS page content and tourism product stored in the Australian Tourism Data Warehouse. The BDC is a great tool for unifying disparate data sources but MOSS search simply didn't give us the configurability required to deliver on the business requirements. 

When panic set in, a Google search box was evaluated. While it did search, as you might expect, it only searched the Google way; it's still sitting in the server room, unused. As everyone fretted over the many problems we were facing, Rick, the developer working on search, went "underground" and built the RDC--or Rick's Data Catalog. The RDC would eventually replace the BDC and MOSS search in our little world. wa.com was launched with this solution, which is actually build on SQL Server Full Text indexing.

The RDC got us across the line after a never ending round of user acceptance testing but fell down in the tours category. It also abused some of the more horrific technologies from some of our older sites like XSLT and inline C#. It was also just a messy proof of concept at the code level and had some major design flaws. An example of the latter was a crawler that couldn't be scheduled and cleared the main index table before initiating the crawl; the problem with this approach was no search results would be returned while the crawler was run--apart from the manual administrator intervention required to actually kick it off and verify the results.

Search 2 is one of those engineering marvels you come across so rarely in the software world. The underlying design is fairly straightforward for what it does and it uses the chosen technology set appropriately--judiciously and as required. In other words, it's not over-engineered and gets on with the job in a logical, unobtrusive way. The grunty data work is relegated to the database where it belongs and the main UI is composed of configurable web parts. 

That's not to say Search 2 didn't take a while to build. Nico, one of most experienced team members when it comes to MOSS and search, has been hard at work on this project since April. UAT progressed over a month and deployment took three days! 

We're already building on top of the Search 2 fundamentals Nico has in place. An online booking engine has passed the proof of concept stages and a new itinerary planner should be out in the new year. Search 2 will also form the basis for a search re-release on the partner sites, which adds another few dimensions to the mix. Working with the Search 2 code base to integrate these components has almost been pleasurable. Either way, who can complain when all of the project stakeholders are happy?!  

Nico's off for a well-deserved Christmas break and I'm quietly confident we won't have any major bedding in problems during the four weeks he's away (unless the database server dies but that's another story). Meanwhile, Search 2 should be humming happily along--have a look for yourself!


Custom-Built Microsoft Office SharePoint Server 2007 Branded Sites and Webpart Development - info@mediawole.com

Fourth Internet-Facing MOSS 2007 Site Launched!

I'm happy to announce we rolled out our latest MOSS 2007-based internet facing web site yesterday afternoon. The Australia's Coral Coast site is the latest (and greatest?) web site to re-launch on the Tourism WA partner site platform, as it's known internally, since June. The dev team did most of the hard development work earlier in the year and we've pretty much handed over to the service delivery and content management team; SDCM are now restructuring each site's information architecture and updating and SEO-ing the content as it's brough across from a corresponding, legacy MCMS site. Even though the dev effort is tapering off (we're still fixing bugs and tweaking), it's amazing to see these templated but distinct internet sites rolling off the line without a hitch.

This site is the last of the regional tourism organisation sites to be relaunched this year but we've got two more to go before this phase of the project wraps up and we move forward with the stack of visitor centre sites and campaign sites. Compare the new Coral Coast site with the MCMS-based Experience Perth site and let me know what you think.


Custom-Built Microsoft Office SharePoint Server 2007 Branded Sites and Webpart Development - info@mediawole.com

Tuesday, 9 December 2008

No mapping between account names and security ids was done

Ran into a bit of stupid today--I doubt the details matter too much but I was attempting to install the Hyper-V MSU and the Hyper-V role in Windows Server 2008 when I came up against this message in both cases:

No mapping between account names and security ids was done

Naturally I told Windows I don't care and to sort itself out but it wouldn't listen.

I finally realised I'd renamed the Administrator account as I normally do but hadn't logged off or rebooted. I rebooted just to be safe and that fixed the problem.


Custom-Built Microsoft Office SharePoint Server 2007 Branded Sites and Webpart Development - info@mediawole.com
 

Windows Server 2008 with Hyper-V vs VMWare Server

Back in March I wrote about my first experience with Windows Server 2008 RTM and the pre-release version of Hyper-V. Despite a fiddly installation issue with my locale set to Australia, I eventually got the problem sorted out and declared that I liked Hyper-V. Then I read Andrew Connell's post extolling the virtues of VMWare Server 2.0 and I abandoned Hyper-V to try it out (we run ESX at Tourism and I'd already noted the portability issues with a Hyper-V-based VM during my own trial). I didn't have a ton of joy with the 2.0 beta so stuck with v1.x while v2.0 RTMd--haven't tried it again since. 

I'm an Andrew Connell fan and when he mentioned he was switching back to Hyper-V I figured I'd revisit. The first real version of Hyper-V has now been released and I was curious to see whether the locale issue went away. AC also cited performance and since I had some gripes with the VMWare Server web interface I wanted to see how it would fare. 

The installation was painless today. Install W2k8 x64, install the MSU, install the Hyper-V role and hey presto. I'm currently installing a W2k8 x86 VM and haven't run into any problems with the VMM service not starting or anything else for that matter. My aim is to build out a base image of the OS, copy or snapshot it, and then go from there with a small farm MOSS build out for dev purposes. 

I'm also very curious to find out for myself how easily I can move VMs around and how far I can get with VPC 2007 VMs under Hyper-V... and maybe vice-versa if possible.


Custom-Built Microsoft Office SharePoint Server 2007 Branded Sites and Webpart Development - info@mediawole.com

Wednesday, 3 December 2008

Christmas Came Early

We're in the throws of all sorts of things physcial here at Tourism WA. Apart from an office refit (no more trestle tables but the dev team is currently stuck in the training room with no windows), the ICT team are completely rebuilding our virtual environment.

So what does that mean? To start with, redundancy in terms of mirrored setups at head office and the data centre. Each environment is getting a rack full of new blades and some of these things shown in the picture--$170k worth of SAN or 10 usable terabytes of storage.

On the software side, we're going VMware ESX 3.5, Windows Server 2008 x64, SQL Server 2008 , MOSS 2007 x64, and .NET 3.5 SP1 (upgrading from Windows Server 2003 x86, SQL Server 2005, MOSS 2007 x86, and .NET 3.0). Should be interesting. 


Custom-Built Microsoft Office SharePoint Server 2007 Branded Sites and Webpart Development - info@mediawole.com