Monday 26 September 2011

Co-Authoring in SP2010

Simultaneous editing of Office documents on a SharePoint 2010 server is facilitated by a local cache on each user's PC and a file provider component on the Web front end of the SharePoint server.


In this example, two users with Word 2010 are working simultaneously on the same Word file stored on a SharePoint 2010 server (either the free SharePoint Foundation 2010 or the full SharePoint Server 2010). The first time each user opens the file, a copy of that file is transferred over the network connection and stored in a cache on the user's machine. In this case, because the users are employing one of the Office desktop applications for coauthoring, the new Office Document Cache associated with Office 2010 is used.

As each user makes changes to the file, Word 2010 sends XML messages containing information about the user's changes to a file provider on the SharePoint server. In the case of Word 2010 (as well as PowerPoint 2010), it sends changes only when the user manually saves the file. For Excel Web App, OneNote 2010, and OneNote Web App, these changes are sent every few seconds. These messages are formatted in a new Microsoft protocol, File Synchronization Service via SOAP over HTTP (MS-FSSHTTP).The file provider coordinates changes from different users and synchronizes those changes to the master file stored in the SharePoint server's database. (SharePoint uses SQL Server to store data.) It also sends messages containing the units of change back to the clients that haven't yet incorporated these changes.

Paragraph-level locking in Word 2010 prevents two users from changing the same text simultaneously. Other products lack such granular content locking and instead offer various methods for reconciling simultaneous changes to the same material. For example, PowerPoint 2010 asks the second user saving the file to manually reconcile any conflicts, while OneNote 2010 attempts to incorporate both changes (e.g., if one user changes text and another moves it, the reconciled file will contain the changed text in the new location).

In all cases, only data about the changed component, rather than the entire file, is sent across the network. For instance, if a user changes an image in a PowerPoint slide, only the changed image is sent to the file provider. This offers users fast loading time for changes (after the initial loading of the file into the local cache, which can take a few seconds), fast propagation of edits to all users, and (in the case of the desktop applications) offline support—if the network goes down, users can continue to make changes to the cached version of the file, and those changes are automatically propagated back to the file provider when connectivity is restored.

Note : For Coauthoring to work correctly, Require Check Out ( Versioning Settings ) for document library should be turned off.
Watch this Video for a quick demo on how it works.


Outlook Calendar Synchronization Problem

Error Description: When trying to connect Outlook to SharePoint Calendar , we receive error message like below.

Task 'SharePoint' reported error (0x80070005) : 'You do not have permission to view this SharePoint List .Contact the SharePoint site administrator. HTTP 302.’
 


The calendar gets synchronized from SharePoint to Outlook for the first time (asks for authentication), however any subsequent events updated to SharePoint list or Outlook calendar do not synchronize.

This problem is arises due to a limitation related to our need to encrypt traffic to the site to provide appropriate security.

For Eg Outlook Calendar Sync fails with error when AAM(Alternate Access Mapping) has

Default Zone: https://SharePoint

Intranet Zone: http://SharePoint


Error: Task 'SharePoint' reported error (0x80070005) : 'You do not have permission to view this SharePoint List .Contact the SharePoint site administrator. HTTP 302.'

However If we change the Intranet Zone to Internet Zone like below
 

Default Zone: https://SharePoint

Internet Zone: http://SharePoint
 

The outlook calendar sync should hopefully work.

Reason being the order in which the AAMs are added to the property by SharePoint.

SPUrlZone.Intranet

SPUrlZone.Default

SPUrlZone.Extranet

SPUrlZone.Internet

SPUrlZone.Custom
 

Hence the Intranet zone would be the first zone leveraged by the Outlook sync.