October 2011 - Posts

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. 

image

Once the external list is created, look for the Sync to SharePoint Workspace button in the ribbon. 

image

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.

image

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.

This week at SharePoint Conference (#SPC11), I had the pleasure of giving a talk about the benefits of using SharePoint as an Extranet platform.  I discuss the benefits and considerations of using SharePoint for an Extranet when it comes to on-premises solutions.  I know I am likely to get the question, “What about SharePoint Online though?”  It’s a great question and the more you think about it SharePoint Online is a great option for serving up an Extranet to your customers, partners, and vendors.  Why you say?  Well, let’s break it down to the things we have to think about when implementing an Extranet on-premises.

Target audience

The target audience of an extranet is typically, customers, partners, and vendors.  It is also useful for remote employees when you don’t want them to have to log in to a VPN every time they need to view a document.  The types of documents you often see on an extranet are reports, invoices, contracts, and anything else that you might need to collaborate on.  As you will see, SharePoint Online is a great fit for this and quite possibly could be the fastest way to launch an Extranet for you organization.

The Network

In order to make an Extranet happen, one of the things that must occur is that you get that SharePoint environment exposed to the Internet in whatever way works for your organization.  This is a huge consideration.  It involves you getting network architects involved and various other people to find a way to poke a hole through your firewalls to allow SharePoint to work externally.  There are simple solutions to this and extremely advanced solutions.  The more stringent your network requirements are the more you have to consider this.  With SharePoint Online, Microsoft has already made all of the hard decisions about getting SharePoint onto the Internet so you don’t have to.  You just sign up, create your users, put some content out there and you are good to go.

Authentication

SharePoint provides many different ways to authenticate On-Premises.  You can use Active Directory with NTLM or Kerberos, Forms Based Authentication (FBA) with the ASP.NET membership provider, LDAP provider, Active Directory, or something custom.  You can also use a trusted identity provider with Windows Live or ADFS 2.0  That’s a lot of options and that’s not even close to all of them.  Each one has its own set of considerations.  When I am doing an Extranet, I prefer a solution where we don’t have to manage the users credentials or password resets.  That makes Windows Live ID and other Trusted Identity Providers very attractive.  There are so many options, but why should you have to worry about it.  Office 365 makes it easy.

What does SharePoint Online provide?  Well, it uses a flavor of Windows Live.  You can create users easily using the administration portal.  However, you don’t have to.  Probably the coolest feature in SharePoint Online is the option to share with external users.  I wrote a post a while back on how to configure this that you should check out.  All you have to do is type the users E-mail address in.  When the user receives an E-mail, they click on it and they sign in with their Windows Live account.  You can assign permissions on this users Windows Live account just like they were a regular user.  Out-of-the-box (cloud), SharePoint Online allows you to share with up to 50 external users. If you need more external users, you can purchase more (in 50 packs I believe).

SharePoint Functionality

SharePoint Online probably has most of the functionality you probably need out-of-the-box when it comes to sharing documents with partners.  You can obviously create document libraries, set up content types, use search, and even apply some policies.  Various licenses even include Office Web Apps for read (and optionally write) functionality which makes it really easy for users to view content without even having to download it.  It really is a great platform for sharing documents with people outside your company.

Going “around” your IT department

IT people will hate this.  However, business users who have to deal with slowly reacting IT departments will love it.  A business user can sign up for Office 365 and have a SharePoint Online site in under an hour.  I assure you no IT department out there will be able to match that.  Even if your IT department reacts quickly, more than likely someone in the food chain will want to hold it up to “evaluate it” and make themselves feel important.  I’m not saying to go out and not get IT buy in, but it really is an option for unresponsive IT departments.  Of course, with SharePoint Online you have governance considerations as well and I could see companies making policies stating that all SharePoint Online usage needs to go through IT.  Your business users may do what they need to do though.  I can definitely see this being a challenge.

Summary

You’ve seen the considerations for running an Extranet now.  SharePoint Online is a great fit and can be provisioned quickly.  Hopefully this post will help you make the right decision when it comes to provisioning an Extranet. 

I’m also giving two talks at this year’s conference and I would love for you to see them.

  • #SPC348Extending SharePoint 2010 for your customers and partners will cover everything you wanted to know about creating an Extranet with SharePoint 2010. Although, this topic is nothing new, this is a great talk for people just now looking to consider an extranet for his or her organization.
  • #SPC364Making the most of Search in SharePoint Online. I am beyond excited about this talk because I get to talk about Search and SharePoint Online in the same talk. You might just be amazed at what you can do with Search in the cloud. I’ve got some great demos built using Silverlight and the Search API that you will want to see whether you want to extend search off-premises or on-premises.

Enough with the shameless plug. :) Get ready and I’ll see you at the conference. You can follow me on twitter @coreyroth.

I’m pleased to announce that I was renewed as a SharePoint MVP again.  My first year as an MVP was totally awesome and I can’t wait to see what the next year has in store.  I once again want to thank everyone at Microsoft and the SharePoint community.  Hands down, SharePoint has the best technical community out there and I am proud to be a part of it.  The timing is great as I am on the way to SharePoint Conference 2011 (#SPC11).  I am looking forward to seeing old friends again and meeting some people in person for the first time.  I am lucky enough to be presenting two sessions at SPC and I am really excited.  If you’re at the conference this year, be sure and check out my sessions.  I look forward to seeing you there.  Thanks!

I’m also giving two talks at this year’s conference and I would love for you to see them.

  • #SPC348Extending SharePoint 2010 for your customers and partners will cover everything you wanted to know about creating an Extranet with SharePoint 2010. Although, this topic is nothing new, this is a great talk for people just now looking to consider an extranet for his or her organization.
  • #SPC364Making the most of Search in SharePoint Online. I am beyond excited about this talk because I get to talk about Search and SharePoint Online in the same talk. You might just be amazed at what you can do with Search in the cloud. I’ve got some great demos built using Silverlight and the Search API that you will want to see whether you want to extend search off-premises or on-premises.

Enough with the shameless plug. :) Get ready and I’ll see you at the conference. You can follow me on twitter @coreyroth.

It’s not uncommon to run into an error or two when you first setup Office Web Apps.  Here is a common one you might run into with the PowerPoint Web App and it actually has a simple solution.  You might encounter the error below when using the View in Browser or Edit in Browser functionality in SharePoint with a PowerPoint file.

The service is temporarily unavailable. Please try again later.

PowerPointWebAppServiceUnavailableError

I thought this was kind of a strange error, but I’ve seen worse.  I proceeded to begin my usual troubleshooting process.  I opened up the ULS logs and I actually found nothing.  This is actually one of those few cases where there is no information in the ULS logs but there is information in the Application Event Log.  I saw an error listed and it provided the exact answer to me.

There are no instances of the Microsoft.Office.Server.PowerPoint.SharePoint.Administration.PowerPointWebService started on any server in this farm. Ensure that at least one instance is started on an application server in the farm using the Services on Server page in Central Administration.

Sure enough, I opened Services on Server in Central Administration and the PowerPoint Service had not been started on this particular virtual machine.  I started the service and the error was resolved.