Picture it. Your vice president is about to get on a plane. He or she tells you, “I need a list of all of our products and the latest prices. I want to be able to make changes and have them be effective when I am back in the office.” Look at your custom applications you have now. Is this something you can do? How would you do it without SharePoint? Export the data from some database as a spreadsheet perhaps and then manually import it later with SSIS? Sure that would work but geez that is a lot of work. There are lots of approaches. What if there was a tool that let you take the content from database tables and bring it offline? Your users could edit it and then it would synchronize the changes when they were back online again. Oh wait, there is. It’s called SharePoint Workspace.
SharePoint Workspace, the tool formerly known as Groove, is quite possibly one of the coolest SharePoint tools there is and it is heavily under utilized. I honestly don’t think people understand the true power behind it. I run into very few end users actually using it. The situation I described is completely possible using SharePoint Workspace and Business Connectivity Services (BCS) and it doesn’t require a single line of code. Hard to believe right? Maybe some of you are familiar with this functionality by now, but most people I talk to have no idea it’s available.
Business Connectivity Services lets you expose data from databases, web services, as well as custom .NET applications. You can use the BCS using SharePoint Designer. I’ve written about how to use SPD to configure an external list in a previous post. After you set up your BCS connection, the key is to set up an external list.
Once the external list is created, look for the Sync to SharePoint Workspace button in the ribbon.
This will create a package that sends your data to SharePoint Workspace for you to view and edit. If you have customized the edit forms using InfoPath you will even see those customizations inside SharePoint Workspace as well. Here is what SharePoint Designer looks like with an external list.
I know I’ve been talking about data in a database, but it actually starts with the fact that you can sync many different types of list items including documents. I use this regularly when I am traveling for clients while working on new projects. SharePoint Workspace lets me sync all of the documents in a document library from my project site. I can view documents, edit them, and have my changes synchronized back to the document library when I get back to the office. As a consultant, this functionality is an absolute must have and it ensures I always have all of the latest project documents with me regardless of whether I have an Internet connection or not.
SharePoint Workspace is awesome. The only drawbacks that really affect me right now with it is that it doesn’t support syncing calendars or form libraries. It’s still an excellent tool though. Go try it right now on a document library you have been working with. I promise it will change the way you work on a daily basis. Help me get the word out about this great tool and let’s see what we can do with it!
This weekend, I’m speaking more about SharePoint Workspace at Houston TechFest. If you want to learn more, be sure and attend.