Both Windows SharePoint Services (WSS) 3.0 and Microsoft Office SharePoint Server (MOSS) 2007 have many integration points with Microsoft Office 2007. For example, Microsoft Office Outlook 2007 can synchronize lists for read/write access and Microsoft Office Word 2007 can edit offline documents. As SharePoint use grows, end users find themselves with many sites, libraries, and lists, and keeping tabs on all of them becomes a chore. It's possible to manually create links in My Network Places to SharePoint sites, but maintaining these Network Places is so time-consuming it eventually defeats the original intention of making it easy to locate the sites you most commonly work in.
MOSS, in conjunction with Office 2007 applications, helps ease this pain by automatically maintaining links to various sites and libraries. These links surface in different locations and serve multiple purposes. Some links appear in the file Open and Save dialog boxes, some surface in Outlook for automatic synchronization and offline editing of your personal documents, and others help display a user's public My Site page. By learning how MOSS maintains links and how they find their way into Office applications, you'll provide your users the most bang for their buck and be able to fix things if they go awry.MOSS and My SharePoint Sites
Publishing links into Office applications is closely related to the My Site features in MOSS, so the information in this article doesn't apply to a WSS implementation. You manage MOSS mostly through the Shared Services Administration site.
Figure 1: Membership information on a My Site. Click to expand.
One of the core pieces of the SharePoint integration jigsaw is MOSS's ability to maintain a list of all the SharePoint sites to which you have access. More specifically, MOSS can list all sites to which you've been granted explicit access through the Members group. MOSS maintains knowledge of the members of team sites and presents this information through a user's My Site, as shown in Figure 1. Membership information surfaces in multiple places: SharePoint Sites on your private page, documents and memberships on your public page, and the My SharePoint Sites section of My Links, which appears on all SharePoint sites if you've enabled it. This membership information gives you one-click access to the team sites that are important to you and lets others who view your public profile see which sites you are both members of.
When your Active Directory (AD) account has been explicitly added to the SharePoint group that represents the members of a particular site, that site appears in all these places. The site's members group gives members the right to contribute to the site. By default, this group is called "sitename Members." It's not commonly known, but you can override this default and designate any group within the site to be the members group. Anyone with owner access can do so via Site Actions/Site Settings/People and Groups/Settings/Set Up Groups.
The requirement that you be a member of a site's Members group for that site to show in your My SharePoint Sites list is important, because there are many other ways users can be granted contributor access to a SharePoint site. For example, owners of team sites have contributor access but don't appear in the Members group, so those team sites don't appear in the owners' My SharePoint Sites lists. In such cases, you might want to add owners explicitly to the Members group. Another example is a security group that you add to the Members group. Although members of the security group are members of the team site, the team site won't appear in the My SharePoint Sites lists of members of the security group.
The My SharePoint Sites list requires your account to have an entry in the SharePoint user profile and be maintained by a background profile synchronization task, which runs hourly by default. You can change the frequency of this task using the sync operation of the Stsadm command-line utility (stsadm.exe). To change the frequency to every 5 minutes, use the command
Stsadm –o sync –synctiming "every 5 minutes between 0 and 59"
Note that it isn't necessary to create a My Site for My SharePoint Sites to appear in the My Links part of any SharePoint page, but as you'll see, you must create a My Site to have links published to Office applications. The My SharePoint Sites links are stored in the Shared Services database in a table called UserMemberships, and any links you manually create via your My Links are stored in the table called UserLinks.MOSS—Publishing Links to Office Applications
You can configure MOSS to publish explicit links to sites and libraries, in addition to having it maintain the list of My SharePoint Sites. You can target these links to audiences, AD distribution and security groups, or anyone who has access to the site the link points to. The links that you publish here ultimately find their way into the Open and Save dialog boxes along with those from your My SharePoint Sites list. Targeting a link to users and groups that have access to the team site gives new site users a great way to navigate to libraries within a site by using the Open and Save dialog boxes in Office applications.
Figure 2: Publishing links to Office applications. Click to expand.
You maintain the list of published links by using the Published links to Office client applications option from Shared Services Administration, as shown in Figure 2. The list of links specified here is stored in the SharedListSync table in the Shared Services database. When you create a link in this list, you can specify whether the link is for all users or for targeted users by specifying audiences, AD groups, or members of the team site to which the link relates.Connecting Office to SharePoint via My Site
The connection between Office applications and the links that SharePoint maintains is initiated from the user's My Site. When the user visits My Site, SharePoint checks whether a current connection exists to any My Site and, if it does, whether the connection is to the same site the user is currently viewing. SharePoint makes this determination by interrogating the local registry using the PortalConnect12.PersonalSite.1 or PortalConnect.PersonalSite.1 ActiveX control, which is installed with Office 2007 and Office 2003, respectively.
Figure 3: Setting default My Site. Click to expand.
The registry subkey that's interrogated for Windows XP is HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Common\Portal\PersonalSiteURL. If the subkey value is missing or doesn't point to the site you're viewing, you're given the option to make the site your default My Site, as shown in Figure 3. Setting the default site brings up a dialog informing you that Office can remember your My Site in order to interact with it from Outlook and when opening and saving files. If you continue, the registry subkey value is set to your My Site URL. This URL then acts as the conduit through which your "My SharePoint Sites" are populated for Office application use, as I explain a little later.
SharePoint creates another registry value at HKEY_CURRENT_USER\Software\Microsoft\office\12.0\Common\Open Find\Places\UserDefinedPlaces\PersonalSite\Path to show the My Site location in the Open and Save dialog boxes of Office applications. When you bring up the Open or Save dialog boxes in any Office 2007 application or right-click a recipient in Outlook 2007 to bring up the Persona menu, the application determines whether a connection to My Site has been established. The application looks for the PersonalSiteURL value in the HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Common\Portal\ registry subkey. When this value exists, the application looks in the same subkey for a value called LinkPublishingTimeStamp. This value determines whether Office will ask SharePoint for an updated list of links. Office updates its links once a day, but you can force it to update by removing the LinkPublishingTimeStamp value.
Figure 4: Links written to registry. Click to expand.
When an Office application's links need to be updated the application calls the PublishedLinksService web service's GetLinks method, which stores the updated links in the registry subkey HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Common\Server Links\Published\My Site, as shown in Figure 4. Each value in this subkey represents a link of some sort, and how the value is used depends on the LinkType value associated with the key. The key in Figure 4 will find its way into Outlook for synchronization using the stssync protocol. The Profile Site link subkey, also visible in Figure 4, triggers the View My Site option in the Persona menu. Links for Open and Save dialog boxes are created on disk at Windows_profile\Local Settings\Application Data\Microsoft\Office\My SharePoint Sites and subsequently displayed in the dialog boxes, as shown in Figure 5.
Figure 5: File Open/Save links. Click to expand.
Making SharePoint More Valuable
It might not be immediately apparent to end users, but Office and SharePoint have some neat integration points. By understanding and using these integration points when implementing SharePoint, you'll draw the best experience and maximum value from your investment in this technology. Putting thought into areas such as how best to grant access rights to team sites can increase the usefulness of Office applications in conjunction with SharePoint.