It’s no secret that many organizations are beginning to shift their on-premises SharePoint workloads to the cloud and Office 365 – SharePoint Online. You may have seen our recent Spotlight on the Cloud series that dives into considerations as well as migration and management best practices around moving to the cloud. However, some organizations may find themselves needing to move select data from the cloud to on premises for several specific reasons.
Certain customers find that replicating content from the cloud to their local environments fits many workloads such as extranets or for data archival. These workloads move or synchronize data from SharePoint online to on premises environments around the world. To put it differently – if you publish your information to SharePoint online and then synchronize from SharePoint online to remote or endpoints with unreliable connections, the Office 365 environment becomes like a private content distribution network. Customers let SharePoint Online do all the heavy lifting and harness the availability of the cloud services to synchronize to remote environments on demand.
There remains one core problem with bringing back data that was once hosted in the cloud. Due to Microsoft’s cloud-first release model with Office 365, the fundamental versions of SharePoint Online and SharePoint 2013 on premises are different. On premises, the latest release of SharePoint has a major version of 15.0. The Office 365 environment is running the major version of 16.0. This issue is widely known within the Office 365 community, especially when it comes to the release of new features to the tenants.
This issue manifests in content that was once stored in Office 365 and is now on premises. Errors such as the one below will load, saying that SharePoint is unable to find the version of the platform referenced by a page or web part, since that version is still only in the cloud.
|1||w3wp.exe (0x0EC4) 0x564C SharePoint Foundation General 6644 Critical Event manager error: Could not load file or assembly ‘Microsoft.Office.DocumentManagement, Version=22.214.171.124, Culture=neutral, PublicKeyToken=71e9bce111e9429c’ or one of its dependencies. The system cannot find the file specified.|
The end result is that that information that has been published to SharePoint Online cannot be synchronized or migrated to a SharePoint 2013 on premises environment. The full fidelity of information is not maintained between environments, which is not ideal for any organization.
This happens because SharePoint is looking for the “Microsoft.Office.DocumentMangement” assembly in the Global Assembly Cache – specifically for version 126.96.36.199. Currently, there is not a way to move that assembly from the cloud to on premises, so you need to tell SharePoint to look for the version of SharePoint installed on premises, which is 188.8.131.52.
Assembly Version Redirection is used normally during upgrades to redirect requests for Assemblies from the older version to the newest version of SharePoint that has been installed. Fortunately, this capability also supports bindings from new assemblies to old assemblies in addition to the old->new scenario. In less technical terms, this entry tells .Net to look for a different version of the file, similar to how Amazon lists products that have been replaced by newer versions and links consumers to the newest product. Using this feature, we can create a section in our SharePoint web.config that has an assembly redirection for the “Microsoft.Office.DocumentManagement” Assembly, which was referenced in the log above.
So for each affected web application, an administrator would need to insert the following section into their web.config to remediate this issue:
<assemblyIdentity name=”Microsoft.Office.DocumentManagement” publicKeyToken=”71e9bce111e9429c” culture=”neutral” />
<bindingRedirect oldVersion=”184.108.40.206″ newVersion=”220.127.116.11″ />
There should already be existing “DepedentAssembly” sections in the Web.Config, so the administrator should be able to easily insert this section along with them. Once you save the web.config, it will trigger an Application Pool recycling, so modify it with care. This will need to be replicated on each Web Front End in the farm, so plan your updates accordingly.
By leveraging DocAve’s SharePoint migration and SharePoint replication functionalities, customers are able to harness Office 365 in ways that push the boundaries of enterprise content management for non-typical scenarios.
Have any questions about moving content between on-premises and hybrid environments? Leave a comment below or join us in our product forums!