A friend of mine from St. Louis, Todd Kitta, helped author a recent SharePoint 2010 book titled SharePoint Server 2010 Enterprise Content Management, published by the same publisher as my book, Wrox. He wrote the book with some of his fellow co-workers at KnowledgeLake, a St. Louis based company that is one of the leaders in document imaging with SharePoint integration. (Please note, this book is not a KnowledgeLake production, but just happens to be written by several colleagues who happen to know a lot about document management.) I was especially interested in reading this book because, frankly, I have a lot of questions about enterprise content management in SharePoint, but specifically how to handle some of the specific issues involved when working with sites with large volumes of documents. (Because my focus is typically on building Publishing sites, the sites I help build tend to contain a lot of textual and visual content, and are generally more “web content”-centric than document-centric, so this topic is one I don’t deal with that often and I need to learn more about.)

I think the first thing that I appreciated about this book is the level of detail to which it goes concerning certain topics. There’s a good market out there for beginner-level books (and in fact the book I helped author was one of these), and even sometimes the advanced level books, while good, are trying to cover advanced topics covering such a broad range that even the in-depth topics aren’t that in-depth. I feel like, much like the BCS book I read, this ECM book did a great job of shining a laser beam on the exact topic that the book was intended to cover. In addition, Microsoft’s documentation tries to outline the “how” of the product, but it’s not going to tell you when to do what so much, because Microsoft is leaving the application of the product up to you. This book gives some very concrete examples and reasoning for how and why you would do certain things in SharePoint if your SharePoint solution was acting as an ECM repository.

The first section gives a nice overview of the components that make up an ECM solution, and an overview of SharePoint 2010 in general. The second section of the book makes up the “meat” of the book, discussing the “pillars” of an ECM environment, such as document management, workflow, search, infrastructure, etc. The last section of the book talks about several somewhat unrelated, but helpful topics including: how to work with various file types; what third party companies are out there with products to help you out; and how to migrate your existing ECM solution to SharePoint 2010.

I just wanted to highlighted some of the topics that I found the most helpful in the book.

  • Document Management
    I though this chapter would be a snoozer. I mean, who doesn’t know that SharePoint stores documents? This chapter surprised me with detailed information I wasn’t expected, such as examples of how to work with the Managed Metadata Service and Document IDs programmatically. It also explained about how the Managed Metadata navigation works and mentioned the Content Organizer. These are concepts that aren’t always implemented in “run of the mill” SharePoint sites.
  • Workflows
    While this chapter covered many of the common workflow topics such as using out of the box workflows, as well as using SharePoint Designer, Visio, and Visual Studio to create workflows, this chapter covered a little-mentioned topic, and that is “pluggable workflow services.” These are workflows that can interact with an outside system. For example, building one of these can allow your HR system to initiate a workflow in SharePoint.
  • Collaboration
    I got a little thrown by this chapter title because “collaboration” used to be Microsoft’s catch-all term for what SharePoint 2007 did. However, I quickly realized that this chapter covered what is commonly described as the “social media” functionality of SharePoint. (It makes sense, because “social” means people are interacting with one another, which is what happens during collaboration as well.) Like the other chapters, what I appreciated about this chapter was that it didn’t just walk through the out of the box functionality, but it outlined how to programmatically interact with things like the “tagging” mechanism, or “notes” (i.e. user comments on items). This is actually going to come in handy on my current project. (I love it when books are practical!)
  • Search
    Obviously, search is a topic that easily warrants its own book. The author of this chapter did a great job of summing up details in a single chapter. This was one of my favorite chapters because it talked not just about search features (i.e. how search works) but it gave great guidance as to how to scale your search infrastructure. This is an incredibly complex topic (that has changed quite a bit from SharePoint 2007) and the author did as good a job as I think is possible to explain the relationships between the search indexers, databases, query engines, etc. I especially appreciated the sections that outlined how to balance out database size and query performance.
  • Web Content Management
    OK, so this is my bread and butter, and I wrote a chapter on WCM for the Six-in-One book. It turns out we mentioned many of the same things, so at least I know I wasn’t completely out to lunch when writing my own chapter! 🙂
  • Records Management
    This is a topic I’ve recently learned a lot about, based on an application I wrote for a records-retention company. I appreciated how the chapter started out talking about the people involved with records management (i.e. records managers, compliance officers, etc.) and didn’t just jump right into functionality. Along those lines, the chapter did a good job of talking about how the legal rules you need to be adhering to is the true determiner of how you construct your technical solution. Like the other chapters, this chapter gave programmatic examples of interacting with records, routing rules, etc.
  • Digital Asset Management
    Although this can seem tangential to some degree to typical ECM solutions, it’s actually more frequently discussed and implemented in ECM solutions that I think most would believe. The major thing to keep in mind when dealing with DAM solutions in SharePoint is that SharePoint stores everything in a database. By nature, images usually are really big documents, so it’s important to decide what sort of performance and cost considerations are involved when companies decide to store large digital assets in SharePoint. This chapter covers topics such as Remote Blob Storage, which are integral to this type of discussion. (Remember that KnowledgeLake’s bread and butter is helping people store scanned images in SharePoint document libraries, so I feel good knowing the author of this chapter knows what they’re talking about!)
  • Document Imaging
    Again, I don’t typically think of document imaging as being a core part of an ECM solution, but I would say that probably 90% of my clients have mentioned at some point in their conversation with me that in parallel to me building an Intranet for them, they’re in discussions with third party vendors regarding how to scan documents and store them in SharePoint.  This chapter is a little different from the other chapters, in that it walks you through the steps of building a sample application. It’s very detailed, but gives you a true “soup to nuts” type of overview of the application elements you’d need to make this work.
  • Electronic Forms with InfoPath
    InfoPath forms: you love ’em or you hate ’em. If you’re in the former camp, then you’re probably using InfoPath in your ECM solution. This chapter gives an overview of how InfoPath integrates with SharePoint, and gives you a brief sample walk-through that you can follow to set up your own sample InfoPath form in SharePoint. This chapter is rather short, but is a nice overview of the basic InfoPath features. (Like some other topics covered in the book, if you’re interested in more, you might seek out a book that covers just InfoPath.)
  • Scalable ECM Architecture
    This was by far my favorite chapter, mainly because I am a developer and not an IT person and know almost nothing about architecture! This chapter goes in detail about how to set up your SharePoint farm to handle large volume.

Although this book was published later than most others, I think most of its concepts will probably hold true even through the next version of SharePoint (although that is purely conjecture on my part! Please don’t read anything into that statement. 🙂 ) I highly recommend this book for those who want to know the details of how to build a robust ECM environment with SharePoint 2010.