December 2008 - Posts
This post will continue to be maintained to contain the best free utilities and downloads available for WSS and SharePoint 2007. Add your comments and submit your nominations!
To "look under the covers" and diagnose tough issues you need a tool navigate directly into SharePoint's object model. The best not only show you what solutions, features, and event receivers are activated everywhere, but also let you dig into the actual configuration settings on each farm, web application, site collection, site, list, and list item.
SharePoint Manager - The first tool to break from the rest of the CodePlex pack by "just working." SPM provides additional power (and danger) by also letting you change each property.
SharePoint Analyzer - The first free scoping tool released by a company (Bamboo Solutions). That doesn't imply it's going to have a better lifecycle than a community project, but Bamboo has a pretty good track record of providing good product and this started off in good shape. And the latest (1.1) supports x64,
Improvements and extensions to the out-of-box features
Starter Kits - Think of the Community Kit not as a tool to create community sites, but as community-supported improvements to SharePoint. So yes, there are great, complete templates for user groups, schools, weddings, and home owners associations, built by people who actually needed, built and used them (unlike the "we'll get you 65% of the way there" Fab 40 demo-ware). But the real gems for the masses are the new discussion, blog and wiki features to replace the anemic out-of-box versions. Head to the Releases page and look in the box at the top-right to get what you're looking for.
Faceted Search - The people responsible for Search did something unprecedented by releasing not just fixes in service packs and the infrastructure upgrade, but significant new functionality. Faceted search is a contribution that didn't make it into the "officially supported" product set, so they pushed it to CodePlex and continue to update and improve it (v 3.1 as of Jan '09). You can read more about it in the team blog (Part I), though the CodePlex page has pictures to see why Faceted Search is so useful.
Scot Hillier's SharePoint Features - Where the starter kits (above) enhance SharePoint's built-in features, these add what was completely missing. The Log Viewer must be the most popular; anyone who's ever slogged through the ULS logs can instantly appreciate it's ability to filter out the bazillion "Preserving template record with size [x], use count [y], key [z]" messages. There are dozens like that - a toolbar manager, task mover, appSettings manager, theme changer, hierarchical views of content types, and more all the time.
Gary LaPointe's STSADM extensions - These extend the command-line STSADM tool with loads of new commands. First, check out the big list of all the STSADM extensions in here, there are over a hundred. Enjoy.
Visual Studio project templates (STSDEV) - This tool generates projects for all the common SharePoint project types. They're all based on plain old class files, so unlike VSeWSS, STSDEV doesn't require special project types installed to VS to use the projects you create with it. they're also compatible with the next great tool. . .
WSP Builder - So you've bought into SharePoint's great deployment model - everything should be packaged as a SharePoint Feature and SPFeatures should be wrapped up in WSP Solutions. But you'll have to do that by painfully editing a DDF manifest by hand, ugh. WSPBuilder to the rescue! Just point it at a subtree including your deployment files (sorted into .\GAC, .\80\bin, .\12\... anda few others) and bam, instant WSP. I like to add the "/Cleanup false" parameter to leave a copy of the generated manifest where I can see it too.
U2U CAML Query Builder - SQL Server would be hell without it's query builder (and to think the idea had to start with MS-Access), so why write CAML by hand? Thanks to U2U we don't have to. There are a bunch, but this one has a track record of providing good features, a reasonable pace of updates and stability.
Reflector - Lets you see every class, method and property in a .NET assembly (DLL), with the option to translate the MSIL into readable C# or VB code. Not that anyone remembers ILDASM, but this is everything it didn't do and then some. Written by Lutz Roeder and later acquired by Red Gate to (presumably) assure its continued development. Trying to figure out what version is installed to production, but every assembly is still marked 220.127.116.11? Reflector lets you look inside to see the code that's there. Trying to figure out why you've been leaking memory ever since you installed that third party web part? Oh look, they're not disposing of their SPSites. I can't imagine working with .NET without Reflector.
How to build a SharePoint Development Machine
I just got back from the Toronto SharePoint User Group's year-end holiday party and it was a pretty excellent experience.
First to thank our meeting sponsors: Quest Software and Nonlinear Creations for picking up the lunch tab; that was an unexpected but much appreciated holiday surprise. And thanks again to Quest for bringing Joel to town! After a few logistical hurdles at the restaurant, Joel presented a thought-provoking and insightful talk on SharePoint governance, and eventually we let him eat too. There were no less than 5 MVPs in attendance - myself, Reza Alirezaei, and Bill Brockback representing SharePoint, and Rob Windsor and Ed Musters representing VB and C# respectively. There were also a number of local luminaries and past user group speakers including Ruven Gotz, Jason Bero, Ali Kheradvar, and Kanwal Khipple (apologies if I've missed anyone, let me know). Put those names together and that's probably half the speaker line-up of the SharePoint Camp!
It was a great room to be in.We welcomed some new faces, and there were a lot of great questions and discussion all around. We waited a little while for the food (and apologies to those who had to leave sooner) but once it started it was like a never-ending flow of dishes from the kitchen.
I'd like to give an extra special thank-you to the Toronto chapter of "Collaborators Collaborating for Collaboration," also known as the people who make TSPUG meetings work: Bill Brockbank and Susie Ibbotsen, this group continues to exist because you exist. You're the best! Also thanks to our sponsors and all those who provided facilities, catering, speakers, publicity, prizes and photocopiers in 2008 including: Nexient, Microsoft, ISPA, Wrox, INETA, Cyberplex, Infusion Development, Nonlinear Creations, Navantis, SharePoint Buzz, Ideaca, ObjectSharp and MindSharp.
Our January meeting will be a pre-SharePoint Camp volunteer meeting where we'll be stuffing the goodie bags and sharing tips to any first-time (or returning) speakers. That's January 21 at Nexient (NW corner of Yonge and Bloor). All are welcome to attend!
[Photo: Rob Windsor, Reza Alirezaei, Joel oleson, and Eli Robillard]
Joel Oleson joins the Toronto SharePoint User Group this Friday at 12:00 noon!
Where: Spring Rolls, 693 Yonge Street (near Yonge & Bloor)
When: Friday, December 12, 2008 from 11:50 to 1:30
What: A holiday lunch, a great presentation, discussion, some catching up, and prizes!
Seating is limited to 40, and to keep it simple but raise the quality bar for the holidays, we're aiming for a flat $15 cover charge for lunch and a drink. Depending on sponsorship the actual contribution may be less, but it certainly won't be more (thanks to Quest). This is a great chance to meet one of the most respected, knowledgeable people in the SharePoint universe!
If your lunch time is limited to an hour, there's no problem leaving a bit early (though you may miss out on the prizes), but this is why we're asking people to arrive a little before 12 so we can get settled and
Space is limited, so please RSVP to firstname.lastname@example.org. If you RSVP but cannot attend, please let Susie know so someone can take your place. See you there!
Customers often ask "what are the best books for SharePoint programmers?" and while there are a few good lists (like AC's) none contain all my favourites so I'm starting fresh.
Essential Books for SharePoint Development
These are the standard books that make any shelf complete.
Inside Microsoft Windows SharePoint Services 3.0, by Ted Pattison and Dan Larson.This is the best book for any developer starting out with SharePoint, and one of the best references to have around even after you know what you're doing. Once this book helps you understand WSS, you'll have a sound foundation to either go deeper or go beyond outside WSS into MOSS.
Professional SharePoint 2007 Development, by John Holliday, John Alexander, Jeff Julian, Eli Robillard, Brendon Schwartz, Matt Ranlett, J. Dan Attis, Adam Buenz, and Tom Rizzo. I'm a contributing author so I am biased, but this is the best book on developing MOSS solutions. Topics include SharePoint architecture, building a developer machine, using enterprise search, BDC, records management, web content management (including custom field types, site columns, content types, and , online forms, workflow, and the report center. My full review is here including links to sample chapters, the source code and forums to ask the authors questions.
Professional SharePoint 2007 Web Content Management Development, by Andrew Connell. This is the best book for developers working with Publishing Sites. "WCM" describes the features that have to do with using MOSS for public web sites and intranets (internal web sites). It's also a really well-written book with great examples that every SharePoint developer can learn from. Topics include: site columns & content types, search, content deployment, and workflow.
Microsoft SharePoint 2007 Wrox Box. Now this is cool - all of the Wrox titles that are on my list in one box, plus Real World SharePoint (which may not be essential but it's still a really good book, below).
Code Complete (2nd Edition), by Steve McConnell. Not SharePoint specific, but probably the best book on development for any platform. If you want to be a better developer than you are and only read one book, this is the one.
Good Books for SharePoint Development
These have great moments, but for whatever reason are not essential.
Real World SharePoint, by many SharePoint MVPs. People say that Wrox books feel like they're written by too many authors. This one turns that into a positive by providing 15 article-like chapters by the people who know these topics better than anyone else in the world. Intro by Mike Walsh (guru of the SharePoint newsgroups), branding by Heather Solomon, BDC by Nick Swan (BDC Metaman anyone?), web part development by Jan Tielens (creator of the SmartPart), security by Adam Buenz, forms-based authentication by Stacy Draper, workflow using both .aspx pages and InfoPath forms, IRM, upgrading from 2003 to 2007, and workflow using both .aspx pages and InfoPath forms. If any of these topics are for you, chances are it's the best content on the topic you'll find.
Refactoring, by Martin Fowler. Like Code Complete, this book is not about SharePoint but it will make you a better developer. Read it first, this second.
Honourable Mentions, or books I haven't read but hear good things about.
I won't provide Amazon links because I haven't done my homework, but these are easy enough to locate.
Microsoft SharePoint: Building Office 2007 Solutions in C# 2005, Scot Hilier. Scot's a great writer but I intentionaly avoided this book when I heard he had a section on building a developer machine, because I didn't want to be tainted while writing mine. And I never got back to it, I really should.
Workflow in the 2007 Microsoft Office System, David Mann. I used to say it was the best book on SharePoint workflow, but there's another one now so I can't be sure anymore. David's sharp, and the topic is in-demand so this is worth a look if you're going deep.
To be continued (and actively updated). . .
Tell me about any other SharePoint development books I should know about, or send over a review copy (use the Contact link to request an address). I do work through these as deeply as possible before writing about them, so allow some time to absorb their greatness. If I really don't like something, I'm not likely to rip it publicly and any less-than-great contributions will still generate publicity and interest as a user group raffle prize. I do realize that this list is (today) biased to just a few publishers and those authored by SharePoint MVPs, but i do believe this speaks to the quality of the MVPs and the apparent ability of Wrox and MS Press to consistently bring us into projects. These pedestals are not forever, they are targets for the next wave to take aim at. Have at it!