SharePoint to Liferay Migration Tool

XTIVIA team members hard at work

We see increasing interest in the market and among our customers in migrating team sites and general collaboration sites from SharePoint to Liferay, a leader in the Gartner Magic Quadrant for Horizontal Portals. A key aspect of these platform migrations is the migration of data – users, sites, and all types of content (web content, documents, lists, discussions). Depending on the volume of data that you have accumulated in SharePoint, this data migration can be a major undertaking and a manual migration might well be impractical if not impossible. At XTIVIA, we have developed an automated SharePoint Liferay Migration Tool for migrating SharePoint sites, users and content to Liferay, and can thereby help you avoid human error, speed up your data migration, and reduce your migration costs.

SharePoint Liferay Migration Tool Architecture

The migration tool was architected as a desktop tool that would migrate the content from the SharePoint site to the Liferay site. This is done using the SharePoint Client API in a C# desktop application. In addition, it uses remote database access to retrieve IIS form based user information that is not available through the SharePoint Client API. Once the users, sites, and content are retrieved via the SharePoint Client API and T-SQL queries it is mapped to a series of RESTful service calls provided by the SharePoint Import Services developed by XTIVIA for the Liferay environment.

SharePoint Liferay Migration Tool Architecture

Figure 1: SharePoint Liferay Migration Tool Architecture

Configuration Driven

The desktop tool provides a series of components that understand SharePoint lists and tables, as well as Liferay Users, Web Content, Message Boards, Categories, Documents and Media and Pages. A configuration language using JSON is provided to describe the existing SharePoint sites, lists and tables and the Liferay sites, users, etc… It also provides the mapping from the SharePoint components to the Liferay components. This allows for a reusable tool that does not require custom coding to support multiple SharePoint and Liferay sites. The following is an example of mapping web content with categorization.


{
"ListName": "Communications",
"ListType": "Communications2JournalArticle",
"ListConversionParameters": {
"JournalFolderName": "Communications",
"DocumentFolderName": "Communication Attachments",
"StructureName": "Communication",
"TemplateName": "Communication",
"DisplayPageUrl": "/communication-details",
"DisplayPagePrivate": true,
"VocabulariesMap": {
"CommunicationSection": {
"Vocabulary": "Business Unit",
"MappingType": "FromSharepoint"
},
"IsFeatured": {
"Vocabulary": "Communication Type",
"MappingType": "BooleanMap",
"True": "Featured",
"False": "Standard"
},
"BusinessMaterials": {
"Vocabulary": "Business Materials",
"MappingType": "FromSharepoint"
},
"ProductMaterials": {
"Vocabulary": "Product Materials",
"MappingType": "FromSharepoint"
},
"TrainingMaterials": {
"Vocabulary": "Training Materials",
"MappingType": "FromSharepoint"
},
"FoundationMaterials": {
"Vocabulary": "Foundation Materials",
"MappingType": "FromSharepoint"
},
"MarketingChannel": {
"Vocabulary": "Marketing Channel",
"MappingType": "FromSharepoint"
}
}
}
}

Repeatable and Restartable

Another feature of the tool is that it maps the SharePoint Id within the Liferay component to allow both restarting the tool if it is stopped in the middle of the transfer as well as allowing it to be rerun if new data is added as an existing item will not be duplicated.

Logging and Monitoring

The tool provides a log of the SharePoint ID mapping to the new Liferay ID as well as of successful and failed conversions. This allows manual intervention for the small percentage of items that were not migrated in an automated fashion.

SharePoint Liferay Migration Tool Summary

In summary this tool was used to convert an existing SharePoint site that was in production to a new Liferay site that was used to replace the existing SharePoint site. It was accomplished with a minimal amount of manual intervention. Twenty pieces of content and four documents and media files were transferred manually out of thousands of items.

If you need assistance with your Liferay Implementation or help with your SharePoint to Liferay migration, do reach out to us.

 

If you liked what you read, please share this helpful post with your friends and co-workers on your favorite social media here:

Leave a Comment