Author: Phil Wickland
Publisher: Manning, 2011
Aimed at: SharePoint developers
Pros: Good introduction to the various ways you can customise SharePoint to be more than just static webpages
Cons: Tries to cover a lot of different design environments in too few pages
Reviewed by: Kay Ewbank
SharePoint is an application that’s hard to avoid, and that has great potential that nearly everyone ignores.
Most SharePoint sites are so straightforward they could have been designed by robots, but you can do some very snazzy things in SharePoint if you put a bit more effort in. As a programmer, you can also make good money out of automating SharePoint, so getting to grips with workflows could well be worth your while.
If you’re not familiar with workflows, they are essentially like flowcharts that describe how information flows around SharePoint systems.
SharePoint comes with its own set of standard workflows, but you can go a lot further. You can create custom forms with InfoPath, model workflows with Visio, and at the top end design your own workflows using Visual Studio.
The book starts with an introduction to SharePoint workflows and why they’re useful, how to add them to SharePoint objects, and a quick guide on how to build your own custom workflow. Of course, as soon as you get onto creating custom workflows you are essentially starting to program, and I’m not sure how easy a non-programmer would find this. Fortunately, as a programmer you should whizz through it.
Part Two of the book gets on to using the SharePoint Designer to create workflows. This browser-based interface has pre-defined actions that you can use for task management, and you can also create custom task processes to handle more complex tasks where you want to update the status, reassign it to another user, or have it expire. I thought this part of the book was reasonably good, but I have worked with SharePoint Designer before so wasn’t actually trying to learn my way around it. A chapter on advanced SharePoint Designer workflows covers security, managing records, and using Business Connectivity Services, which lets you connect to external data sources such as SQL Server.
One of the problems the book has is that there are so many ways to interact with SharePoint. For example, there are short chapters on using Visio (12 pages) and InfoPath (25 pages). These are both hefty applications in their own right, so trying to get to grips with the package and how you use it to work with SharePoint is probably a book in its own right. If you’re a reasonable programmer, you should manage to make sense of what’s being covered, but others might struggle.
The latter half of the book moves on to what is probably the heart of the topic - custom Visual Studio workflows. This section starts with creating a simple sequential workflow in Visual Studio, and takes you through designing state machine workflows, where sets of tasks are grouped and the workflow is held until a particular state is reached - in progress until the form is completed, for example. You’re shown the details of creating and using forms including InfoPath forms in your Visual Studio workflows, using data with your forms, and using ASP.NET forms. There’s a chapter on working with tasks in Visual Studio, and another on custom activities - essentially subroutines.
The main problem with this book is that it tries to cover a lot of ground and a number of levels of complexity. I can’t imagine that anyone who needs the details of how to click on the Office Ribbon in the Custom Designer will be able to cope with coding the custom activity validator in C# in the latter part of the book. On the other hand, if you know how to program, you can use the more basic descriptions to find your way around SharePoint and the different environments you can work in, and looked at from this end, it gives a useful introduction.