SlideShare a Scribd company logo
Approach and execution of
migrating an MS SharePoint site
into Liferay
Senior Project Manager
A How-To Guide
Alistair Oldfield – Emeldi Group - Official Liferay Partner
Agenda
• Introduction
• Summarize topic: Approach and execution of migrating an MS
SharePoint site into Liferay
• Description of Environment
• Illustrate some of the challenges
• Migration of a SharePoint site to Liferay
• Migration of content
• Migration of functionality (Web parts -> Portlets)
• Evaluation of realized benefits
• Automated
• Repeatable
• Re-Useable
Approach and execution of migrating an
MS SharePoint site into Liferay
SharePoint
2007
.NET
Web Parts
Liferay 6.0
Java
Portlets
Source Environment
• Legacy Portal: Microsoft SharePoint 2007
– Roughly 50 web-part applications (.NET)
• Highly customized behaviour
• Integrated to back-ends and other services (Google Maps, etc.)
– Thousands of pages, articles & documents
• Objective: The existing content must be integrated
(iframe, proxy portlet) with or migrated in the new Liferay
portal solution.
• Decision: Completely decommission legacy portal and
fully migrate (port) content and functionality into Liferay.
Different Technologies & Concepts
Many different approaches to dealing with various concepts
Cannot migrate “ALL” data kept within a MOSS database
• Not necessary
• MOSS data doesn’t always map into Liferay concepts
Focus on what’s important for a site:
• Pages & site map
• Layouts
• Articles / Content
• Documents
• Images
• Theme / style
• Web Parts
Requirements
1-to-1 migration of a SharePoint site from visitor’s point of
view
Automated Migration
• Huge site with 1000s of pages, manual content migration not viable option
Repeatable Migration
• Repeated across DEV, ACC, PROD
• Can redo in case of we need to fix something
Re-useable
• To be re-used for other MOSS-driven portals in other migration projects
Offline
• Snap shot of MOSS DB can be stored in an export package which can be then used
as repeated input to imports at a later time
Approach
Requirements can be satisfied using an export/import
approach:
•Web Part
attributes
•CMS
•Libraries
Inspect
MOSS
•XML
schema
•Export
•Content
•images &
documents
Export
data into
package
Liferay
Services &
API
Import to
Liferay
Migration Overview
Migration of Content
• Full export of MOSS content
into XML package
• Implementation of importer
application using Liferay
services
Migration of Functionality
• Complete re-implementation
of .NET Web Part
applications to JSR-286
compliant portlets
Migration of Content - Layouts
MOSS Web Part Page
• Page
• Layout
• Custom data (per page)
• Web Part Zones
• Web Parts
Liferay Portlet Page
• Page
• Custom Fields (common for
all pages)
Liferay Layout
• Layout (including drop
zones)
• Portlets
MOSS Content Structure
• Webs/sub-webs
• Default Page/Pages
• Layout
• Content Type
• Web Parts
• Libraries
Implement Liferay “Importers”
1. LibraryImporter
2. WebImporter
3. PageImporter
4. LayoutImporter
5. WebPartImporter
Web
Default
Page
Pages
Layout
Content
Type
Web Parts
Web Libraries
Documents Images Lists Other Libs
How MOSS export/import works
Export MOSS into an export package:
Inspection application traverses MOSS structure and exports data to an XML &
media files into a ZIP package (also indexed in XML)
Each XML element is mapped to an importer class
Ex: <page> -> com.emeldi.moss.liferay.PageImporter
Import the export package into Liferay:
1) First Pass: Import libraries using Liferay API
• Documents into Liferay Document Library
• Images into Liferay Image Gallery
• Remember URLs of all imported docs/images (needed later)
2) Second Pass: Depth-first recursion through
exported elements:
• Invoke corresponding “importer” classes
Site is built from the bottom-up
• Child elements (webs, pages, etc.) first
• Parent elements last
WebImporter
Depth-first recursion through
exported elements:
1. Invoke page importer for <default-page> element for
that web (next slide)
2. Recurse until leaf web is encountered
3. Invoke page importer for all <page> elements within
that web (next slide)
4. Return up the stack until root web is imported
PageImporter
1. Using Liferay API create the page
2. From exported MOSS page data (from content-type, etc.) assign:
• Title
• URL
• Custom fields
• Meta data
• Etc..
3. Remember the page URL for later
4. Based on exported MOSS page layout data, perform a look-up against a
Layout Importer mapping and invoke the resolved LayoutImporter (next slide)
Page
Layout
Content
Type
Web
Parts
• Layout X ImporterLayout X
• Layout Y ImporterLayout Y
• Layout Z ImporterLayout Z
LayoutImporters
1. Specialized Importers based on a given page layout
2. Assigns layouts to a page
• Target Liferay layouts must be manually created prior to migration
• Approximations of MOSS layouts
• Similar MOSS layouts can use the same Liferay LayoutImporter
• WebPart X ImporterWebPart X
• WebPart Y ImporterWebPart Y
• WebPart Z ImporterWebPart Z
2. Identifies the MOSS web content and Web
Parts which are located in each drop zone.
3. For each drop zone:
• performs a look-up against a Webpart Importer mapping
• places the corresponding Liferay portlet into the drop zone
(next slide)
• invokes the resolved WebPartImporter (next slide)
WebPartImporters
1. Specialized Importers based on a given MOSS Web Part or web content
2. Each MOSS webpart must have a corresponding Liferay portlet (JSR
168/286) implemented prior to migration (java approximation):
• MOSS Web content  Liferay Web Content Display Portlet
• MOSS custom FAQ Web Part  Custom implemented FAQ portlet
• etc..
Example 1) Importing of an FAQ Web Part:
• MOSS inspection application knows which FAQ Web Part data is necessary to export and exports
it into XML package
• FAQImporter knows how to read this data and insert it into the target application database and
portlet preferences
• FAQ Display Portlet is created and placed into the Layout drop zone
Example 2) Importing of web content (administered HTML markup):
• MOSS inspection application exports HTML markup
• Markup is filtered/re-written (next slide)
• WebContentImporter creates a journal article with filtered markup
• Web Content Display Portlet is created then placed into the Layout drop zone
Markup Filtering/Re-writing
• Remember the first pass (storing of library URLs)?
• Remember the storing of page URLs (on page create)?
Here is why:
• All migrated MOSS markup still has links to legacy MOSS pages and media
(library files)
• These URLs no longer exist in Liferay - now imported into Liferay sitemap,
Document Library, and Image Gallery
• Markup must be re-written before inserted into Journal Article:
<a href=“/Web/Library/doc1.pdf” />  <a href=“/documents/12034/doc1.pdf” />
String transformations performed for: <a>, <img>, <javascript>,
<object> tags
Challenges
SharePoint List imports
• No such feature in Liferay which captures same functionality
• List data transformed into:
• Liferay native data (journal articles)
• Custom application data
Non-automated portions of the migration
• Theme & Layouts
• Custom Portlet implementation (porting of .NET into Java)
Content Issues:
• Legacy style support (may consider manual cleaning)
• URL re-writing
• HTML tidy
• Remove MS bloat from MOSS markup
• &amp; (HTML correction)
Summary
SharePoint inspection application exports all needed data
into XML and ZIP packages
Liferay Import application imports packages into LR using
both Liferay and custom APIs
Custom SharePoint Web Part applications must be ported
into Liferay-deployable portlet applications
Legacy SharePoint URLs must be re-written during import
Result
• Fully automated SharePoint-to-Liferay
Content Migrations – re-useable for other
installations/ projects
• Repeatable across all environment pillars
• Re-useable for future use in other
SharePoint-driven portals
Benefits to the Liferay Community
• Migration from SharePoint to Liferay an often recurring question
for organizations considering a move to Liferay
• We have demonstrated that a re-usable tool exists which allows
for:
• Fully automated content migrations (pages, images, content, etc.)
• Establishing a foundation for introducing ported custom applications
from .NET into Java
• Emeldi has now opened the path allowing organizations to
transition from legacy SharePoint applications into Liferay:
• Economically
• Quickly
Project Reference
ČSOB:
Established in 1964
Diversified
bancassurance group
offering complete
product portfolio to all
client segments
Long-term leader in
many segments, esp.
financing of housing
needs and mutual
funds
Active in the Czech
Republic
Member of KBC Group
Slovakia
ČSOB
ČSOB
Poisťovňa
Czech Republic
ČSOB
ČSOB Pojišťovna Hungary
K&H Bank
K&H Insurance
Belgium
KBC Bank
KBC
Insurance
Bulgaria
CI BANK
DZI Insurance
About the Emeldi Group
• Emeldi is an official Liferay
service partner in the UK,
Czech Republic, & Slovakia
• e-Commerce / Self-Service /
best practices
• Specialized expert team -
Liferay hands-on experience
• Flexible development
process & methodologies
• Innovation is one of the key
differentiators
2
2
• Specialized in delivering
large-scale portal
solutions to Tier 1
enterprises
Thank you
Open for Q&A
Alistair Oldfield – Senior Project Manager
Emeldi Group – Official Liferay Partner
alistair.oldfield@emeldi.com

More Related Content

What's hot

2012 MindSurf - Augmenting Business Process with SharePoint
2012 MindSurf - Augmenting Business Process with SharePoint2012 MindSurf - Augmenting Business Process with SharePoint
2012 MindSurf - Augmenting Business Process with SharePoint
Don Donais
 
Sharepoint 2010 content
Sharepoint 2010 contentSharepoint 2010 content
Sharepoint 2010 content
Smartittrainings
 
SharePoint 2013 – the upgrade story
SharePoint 2013 – the upgrade storySharePoint 2013 – the upgrade story
SharePoint 2013 – the upgrade story
SPC Adriatics
 
Leveraging microsoft’s e discovery platform in your organization
Leveraging microsoft’s e discovery platform in your organizationLeveraging microsoft’s e discovery platform in your organization
Leveraging microsoft’s e discovery platform in your organization
Don Donais
 
Tech Talk Live on Share Extensibility
Tech Talk Live on Share ExtensibilityTech Talk Live on Share Extensibility
Tech Talk Live on Share Extensibility
Alfresco Software
 
Preserving the iMIS Upgrade Path
Preserving the iMIS Upgrade PathPreserving the iMIS Upgrade Path
Preserving the iMIS Upgrade Path
Andrea Robertson
 
Stop Those Prying Eyes Getting To Your Data SPTechCon
Stop Those Prying Eyes Getting To Your Data SPTechConStop Those Prying Eyes Getting To Your Data SPTechCon
Stop Those Prying Eyes Getting To Your Data SPTechCon
Liam Cleary [MVP]
 
How to configure advanced order forms in FileCatalyst Workflow
How to configure advanced order forms in FileCatalyst WorkflowHow to configure advanced order forms in FileCatalyst Workflow
How to configure advanced order forms in FileCatalyst Workflow
FileCatalyst
 
SharePoint Workflows - SharePoint Saturday Twin Cities April 2012
SharePoint Workflows - SharePoint Saturday Twin Cities April 2012SharePoint Workflows - SharePoint Saturday Twin Cities April 2012
SharePoint Workflows - SharePoint Saturday Twin Cities April 2012
Don Donais
 
Eclipse orion
Eclipse orionEclipse orion
Eclipse orion
Nguyen Quang
 
2014 TechFuse - Findability Within SharePoint 2013
2014 TechFuse - Findability Within SharePoint 20132014 TechFuse - Findability Within SharePoint 2013
2014 TechFuse - Findability Within SharePoint 2013
Don Donais
 
Html 5
Html 5Html 5
Html 5
Nguyen Quang
 
European SharePoint Conference Training Week - Installing SharePoint 2013
European SharePoint Conference Training Week - Installing SharePoint 2013European SharePoint Conference Training Week - Installing SharePoint 2013
European SharePoint Conference Training Week - Installing SharePoint 2013
Alan Richards
 
05052015091520
0505201509152005052015091520
05052015091520
Aleem Mohammed Abdul
 
aOS Canadian Tour Share point migration tips
aOS Canadian Tour Share point migration tipsaOS Canadian Tour Share point migration tips
aOS Canadian Tour Share point migration tips
Mike Maadarani
 
The Path through SharePoint Migrations
The Path through SharePoint MigrationsThe Path through SharePoint Migrations
The Path through SharePoint Migrations
Brian Caauwe
 
ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...
ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...
ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...
European Collaboration Summit
 
Share Point
Share PointShare Point
Share Point
Rameshwar Trivedi
 
Building dashboards with Visio Services
Building dashboards with Visio ServicesBuilding dashboards with Visio Services
Building dashboards with Visio Services
Alan Richards
 

What's hot (19)

2012 MindSurf - Augmenting Business Process with SharePoint
2012 MindSurf - Augmenting Business Process with SharePoint2012 MindSurf - Augmenting Business Process with SharePoint
2012 MindSurf - Augmenting Business Process with SharePoint
 
Sharepoint 2010 content
Sharepoint 2010 contentSharepoint 2010 content
Sharepoint 2010 content
 
SharePoint 2013 – the upgrade story
SharePoint 2013 – the upgrade storySharePoint 2013 – the upgrade story
SharePoint 2013 – the upgrade story
 
Leveraging microsoft’s e discovery platform in your organization
Leveraging microsoft’s e discovery platform in your organizationLeveraging microsoft’s e discovery platform in your organization
Leveraging microsoft’s e discovery platform in your organization
 
Tech Talk Live on Share Extensibility
Tech Talk Live on Share ExtensibilityTech Talk Live on Share Extensibility
Tech Talk Live on Share Extensibility
 
Preserving the iMIS Upgrade Path
Preserving the iMIS Upgrade PathPreserving the iMIS Upgrade Path
Preserving the iMIS Upgrade Path
 
Stop Those Prying Eyes Getting To Your Data SPTechCon
Stop Those Prying Eyes Getting To Your Data SPTechConStop Those Prying Eyes Getting To Your Data SPTechCon
Stop Those Prying Eyes Getting To Your Data SPTechCon
 
How to configure advanced order forms in FileCatalyst Workflow
How to configure advanced order forms in FileCatalyst WorkflowHow to configure advanced order forms in FileCatalyst Workflow
How to configure advanced order forms in FileCatalyst Workflow
 
SharePoint Workflows - SharePoint Saturday Twin Cities April 2012
SharePoint Workflows - SharePoint Saturday Twin Cities April 2012SharePoint Workflows - SharePoint Saturday Twin Cities April 2012
SharePoint Workflows - SharePoint Saturday Twin Cities April 2012
 
Eclipse orion
Eclipse orionEclipse orion
Eclipse orion
 
2014 TechFuse - Findability Within SharePoint 2013
2014 TechFuse - Findability Within SharePoint 20132014 TechFuse - Findability Within SharePoint 2013
2014 TechFuse - Findability Within SharePoint 2013
 
Html 5
Html 5Html 5
Html 5
 
European SharePoint Conference Training Week - Installing SharePoint 2013
European SharePoint Conference Training Week - Installing SharePoint 2013European SharePoint Conference Training Week - Installing SharePoint 2013
European SharePoint Conference Training Week - Installing SharePoint 2013
 
05052015091520
0505201509152005052015091520
05052015091520
 
aOS Canadian Tour Share point migration tips
aOS Canadian Tour Share point migration tipsaOS Canadian Tour Share point migration tips
aOS Canadian Tour Share point migration tips
 
The Path through SharePoint Migrations
The Path through SharePoint MigrationsThe Path through SharePoint Migrations
The Path through SharePoint Migrations
 
ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...
ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...
ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...
 
Share Point
Share PointShare Point
Share Point
 
Building dashboards with Visio Services
Building dashboards with Visio ServicesBuilding dashboards with Visio Services
Building dashboards with Visio Services
 

Viewers also liked

CHALLENGER LUXURY COACHES
CHALLENGER LUXURY COACHESCHALLENGER LUXURY COACHES
CHALLENGER LUXURY COACHES
adolph challenger
 
So i have a website, now what?
So i have a website, now what?So i have a website, now what?
So i have a website, now what?
Andrew Dixon
 
Proyecto de vida
Proyecto de vidaProyecto de vida
Proyecto de vida
Jocsan Huicochea
 
Yes
YesYes
DataStarR: A Data Sharing and Publication Infrastructure to Support Research
DataStarR: A Data Sharing and Publication Infrastructure to Support ResearchDataStarR: A Data Sharing and Publication Infrastructure to Support Research
DataStarR: A Data Sharing and Publication Infrastructure to Support Research
IAALD Community
 
Joanna He's Resume 2016 v3
Joanna He's Resume 2016 v3Joanna He's Resume 2016 v3
Joanna He's Resume 2016 v3
Joanna He
 
Slideshare
SlideshareSlideshare
Slideshare
rvihunen
 
Full Throttle Websites
Full Throttle WebsitesFull Throttle Websites
Full Throttle Websites
Andrew Dixon
 
Artifact
ArtifactArtifact
Impact maken en meten met het Nuon Solar team - Steffart Buijs op ClipTalk
Impact maken en meten met het Nuon Solar team - Steffart Buijs op ClipTalkImpact maken en meten met het Nuon Solar team - Steffart Buijs op ClipTalk
Impact maken en meten met het Nuon Solar team - Steffart Buijs op ClipTalk
Clipit
 
Achievements and perspectives of Innovation Platforms on Bananas and Plantain...
Achievements and perspectives of Innovation Platforms on Bananas and Plantain...Achievements and perspectives of Innovation Platforms on Bananas and Plantain...
Achievements and perspectives of Innovation Platforms on Bananas and Plantain...
IAALD Community
 
L Oréal
L OréalL Oréal

Viewers also liked (12)

CHALLENGER LUXURY COACHES
CHALLENGER LUXURY COACHESCHALLENGER LUXURY COACHES
CHALLENGER LUXURY COACHES
 
So i have a website, now what?
So i have a website, now what?So i have a website, now what?
So i have a website, now what?
 
Proyecto de vida
Proyecto de vidaProyecto de vida
Proyecto de vida
 
Yes
YesYes
Yes
 
DataStarR: A Data Sharing and Publication Infrastructure to Support Research
DataStarR: A Data Sharing and Publication Infrastructure to Support ResearchDataStarR: A Data Sharing and Publication Infrastructure to Support Research
DataStarR: A Data Sharing and Publication Infrastructure to Support Research
 
Joanna He's Resume 2016 v3
Joanna He's Resume 2016 v3Joanna He's Resume 2016 v3
Joanna He's Resume 2016 v3
 
Slideshare
SlideshareSlideshare
Slideshare
 
Full Throttle Websites
Full Throttle WebsitesFull Throttle Websites
Full Throttle Websites
 
Artifact
ArtifactArtifact
Artifact
 
Impact maken en meten met het Nuon Solar team - Steffart Buijs op ClipTalk
Impact maken en meten met het Nuon Solar team - Steffart Buijs op ClipTalkImpact maken en meten met het Nuon Solar team - Steffart Buijs op ClipTalk
Impact maken en meten met het Nuon Solar team - Steffart Buijs op ClipTalk
 
Achievements and perspectives of Innovation Platforms on Bananas and Plantain...
Achievements and perspectives of Innovation Platforms on Bananas and Plantain...Achievements and perspectives of Innovation Platforms on Bananas and Plantain...
Achievements and perspectives of Innovation Platforms on Bananas and Plantain...
 
L Oréal
L OréalL Oréal
L Oréal
 

Similar to 2012.10 Liferay Europe Symposium, Alistair Oldfield

Migrating very large site collections
Migrating very large site collectionsMigrating very large site collections
Migrating very large site collections
kiwiboris
 
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the EnterpriseEnvision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT
 
2011.10 Liferay European Symposium. Alistair Oldfield
2011.10 Liferay European Symposium. Alistair Oldfield2011.10 Liferay European Symposium. Alistair Oldfield
2011.10 Liferay European Symposium. Alistair Oldfield
Emeldi Group
 
Sitecore - what to look forward to
Sitecore - what to look forward toSitecore - what to look forward to
Sitecore - what to look forward to
jinto77
 
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JSCross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Thomas Daly
 
DFW SPUG FastTrack migration service for SharePoint
DFW SPUG FastTrack migration service for SharePointDFW SPUG FastTrack migration service for SharePoint
DFW SPUG FastTrack migration service for SharePoint
Avanade
 
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Asish Padhy
 
Cross Site Collection Navigation
Cross Site Collection NavigationCross Site Collection Navigation
Cross Site Collection Navigation
Thomas Daly
 
CUST-2 New Client Configuration & Extension Points in Share
CUST-2 New Client Configuration & Extension Points in ShareCUST-2 New Client Configuration & Extension Points in Share
CUST-2 New Client Configuration & Extension Points in Share
Alfresco Software
 
Share point 2013 Building Websites
Share point 2013 Building WebsitesShare point 2013 Building Websites
Share point 2013 Building Websites
Suhas R Satish
 
Share point development 101
Share point development 101Share point development 101
Share point development 101
Becky Bertram
 
SharePoint Development in Government Environments
SharePoint Development in Government EnvironmentsSharePoint Development in Government Environments
SharePoint Development in Government Environments
Gunjan Datta
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
Talbott Crowell
 
Sps redmond 2014 deck
Sps redmond 2014 deckSps redmond 2014 deck
Sps redmond 2014 deck
Dorinda Reyes
 
Alfresco Summit 2014 - Crafter CMS - Case European Bank
Alfresco Summit 2014 - Crafter CMS - Case European BankAlfresco Summit 2014 - Crafter CMS - Case European Bank
Alfresco Summit 2014 - Crafter CMS - Case European Bank
Piergiorgio Lucidi
 
ECS19 - Katja Jokisalo - Modernize your Intranet
ECS19 - Katja Jokisalo - Modernize your IntranetECS19 - Katja Jokisalo - Modernize your Intranet
ECS19 - Katja Jokisalo - Modernize your Intranet
European Collaboration Summit
 
Migrating Very Large Site Collections (SPSDC)
Migrating Very Large Site Collections (SPSDC)Migrating Very Large Site Collections (SPSDC)
Migrating Very Large Site Collections (SPSDC)
kiwiboris
 
User Interface Tips and Tricks for the Power User - Penelope Coventry
User Interface Tips and Tricks for the Power User - Penelope CoventryUser Interface Tips and Tricks for the Power User - Penelope Coventry
User Interface Tips and Tricks for the Power User - Penelope Coventry
SPC Adriatics
 
SharePoint as Development Platform for the Modern Intranet
SharePoint as Development Platform for the Modern IntranetSharePoint as Development Platform for the Modern Intranet
SharePoint as Development Platform for the Modern Intranet
Haaron Gonzalez
 
SharePoint Development in Government Environments
SharePoint Development in Government EnvironmentsSharePoint Development in Government Environments
SharePoint Development in Government Environments
Gunjan Datta
 

Similar to 2012.10 Liferay Europe Symposium, Alistair Oldfield (20)

Migrating very large site collections
Migrating very large site collectionsMigrating very large site collections
Migrating very large site collections
 
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the EnterpriseEnvision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
 
2011.10 Liferay European Symposium. Alistair Oldfield
2011.10 Liferay European Symposium. Alistair Oldfield2011.10 Liferay European Symposium. Alistair Oldfield
2011.10 Liferay European Symposium. Alistair Oldfield
 
Sitecore - what to look forward to
Sitecore - what to look forward toSitecore - what to look forward to
Sitecore - what to look forward to
 
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JSCross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
 
DFW SPUG FastTrack migration service for SharePoint
DFW SPUG FastTrack migration service for SharePointDFW SPUG FastTrack migration service for SharePoint
DFW SPUG FastTrack migration service for SharePoint
 
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
 
Cross Site Collection Navigation
Cross Site Collection NavigationCross Site Collection Navigation
Cross Site Collection Navigation
 
CUST-2 New Client Configuration & Extension Points in Share
CUST-2 New Client Configuration & Extension Points in ShareCUST-2 New Client Configuration & Extension Points in Share
CUST-2 New Client Configuration & Extension Points in Share
 
Share point 2013 Building Websites
Share point 2013 Building WebsitesShare point 2013 Building Websites
Share point 2013 Building Websites
 
Share point development 101
Share point development 101Share point development 101
Share point development 101
 
SharePoint Development in Government Environments
SharePoint Development in Government EnvironmentsSharePoint Development in Government Environments
SharePoint Development in Government Environments
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
 
Sps redmond 2014 deck
Sps redmond 2014 deckSps redmond 2014 deck
Sps redmond 2014 deck
 
Alfresco Summit 2014 - Crafter CMS - Case European Bank
Alfresco Summit 2014 - Crafter CMS - Case European BankAlfresco Summit 2014 - Crafter CMS - Case European Bank
Alfresco Summit 2014 - Crafter CMS - Case European Bank
 
ECS19 - Katja Jokisalo - Modernize your Intranet
ECS19 - Katja Jokisalo - Modernize your IntranetECS19 - Katja Jokisalo - Modernize your Intranet
ECS19 - Katja Jokisalo - Modernize your Intranet
 
Migrating Very Large Site Collections (SPSDC)
Migrating Very Large Site Collections (SPSDC)Migrating Very Large Site Collections (SPSDC)
Migrating Very Large Site Collections (SPSDC)
 
User Interface Tips and Tricks for the Power User - Penelope Coventry
User Interface Tips and Tricks for the Power User - Penelope CoventryUser Interface Tips and Tricks for the Power User - Penelope Coventry
User Interface Tips and Tricks for the Power User - Penelope Coventry
 
SharePoint as Development Platform for the Modern Intranet
SharePoint as Development Platform for the Modern IntranetSharePoint as Development Platform for the Modern Intranet
SharePoint as Development Platform for the Modern Intranet
 
SharePoint Development in Government Environments
SharePoint Development in Government EnvironmentsSharePoint Development in Government Environments
SharePoint Development in Government Environments
 

More from Emeldi Group

2010. Saleforce.com conference. Dufek
2010. Saleforce.com conference.  Dufek 2010. Saleforce.com conference.  Dufek
2010. Saleforce.com conference. Dufek
Emeldi Group
 
2008. Next Generation OSS. Bartacek and Straka
2008. Next Generation OSS. Bartacek and Straka2008. Next Generation OSS. Bartacek and Straka
2008. Next Generation OSS. Bartacek and Straka
Emeldi Group
 
2009. TMForum, Bystriansky
2009. TMForum, Bystriansky2009. TMForum, Bystriansky
2009. TMForum, Bystriansky
Emeldi Group
 
2016.06 Liferay and Emeldi Road Show, Alistair Oldfield
2016.06 Liferay and Emeldi Road Show, Alistair Oldfield 2016.06 Liferay and Emeldi Road Show, Alistair Oldfield
2016.06 Liferay and Emeldi Road Show, Alistair Oldfield
Emeldi Group
 
2016.05 Liferay Webinar, Alistair Oildfield
2016.05 Liferay Webinar, Alistair Oildfield2016.05 Liferay Webinar, Alistair Oildfield
2016.05 Liferay Webinar, Alistair Oildfield
Emeldi Group
 
2012.10 Oldfield
2012.10 Oldfield2012.10 Oldfield
2012.10 Oldfield
Emeldi Group
 
2012.05, Liferay and Emeldi Road Show, Alistair Oldfield
2012.05, Liferay and Emeldi Road Show, Alistair Oldfield2012.05, Liferay and Emeldi Road Show, Alistair Oldfield
2012.05, Liferay and Emeldi Road Show, Alistair Oldfield
Emeldi Group
 
2012.05 Liferay and Emeldi Road Show, Dusan Bystriansky
2012.05 Liferay and Emeldi Road Show, Dusan Bystriansky2012.05 Liferay and Emeldi Road Show, Dusan Bystriansky
2012.05 Liferay and Emeldi Road Show, Dusan Bystriansky
Emeldi Group
 
10.2010 Liferay European Symposium, Dusan Bystriansky
10.2010 Liferay European Symposium, Dusan Bystriansky10.2010 Liferay European Symposium, Dusan Bystriansky
10.2010 Liferay European Symposium, Dusan Bystriansky
Emeldi Group
 

More from Emeldi Group (9)

2010. Saleforce.com conference. Dufek
2010. Saleforce.com conference.  Dufek 2010. Saleforce.com conference.  Dufek
2010. Saleforce.com conference. Dufek
 
2008. Next Generation OSS. Bartacek and Straka
2008. Next Generation OSS. Bartacek and Straka2008. Next Generation OSS. Bartacek and Straka
2008. Next Generation OSS. Bartacek and Straka
 
2009. TMForum, Bystriansky
2009. TMForum, Bystriansky2009. TMForum, Bystriansky
2009. TMForum, Bystriansky
 
2016.06 Liferay and Emeldi Road Show, Alistair Oldfield
2016.06 Liferay and Emeldi Road Show, Alistair Oldfield 2016.06 Liferay and Emeldi Road Show, Alistair Oldfield
2016.06 Liferay and Emeldi Road Show, Alistair Oldfield
 
2016.05 Liferay Webinar, Alistair Oildfield
2016.05 Liferay Webinar, Alistair Oildfield2016.05 Liferay Webinar, Alistair Oildfield
2016.05 Liferay Webinar, Alistair Oildfield
 
2012.10 Oldfield
2012.10 Oldfield2012.10 Oldfield
2012.10 Oldfield
 
2012.05, Liferay and Emeldi Road Show, Alistair Oldfield
2012.05, Liferay and Emeldi Road Show, Alistair Oldfield2012.05, Liferay and Emeldi Road Show, Alistair Oldfield
2012.05, Liferay and Emeldi Road Show, Alistair Oldfield
 
2012.05 Liferay and Emeldi Road Show, Dusan Bystriansky
2012.05 Liferay and Emeldi Road Show, Dusan Bystriansky2012.05 Liferay and Emeldi Road Show, Dusan Bystriansky
2012.05 Liferay and Emeldi Road Show, Dusan Bystriansky
 
10.2010 Liferay European Symposium, Dusan Bystriansky
10.2010 Liferay European Symposium, Dusan Bystriansky10.2010 Liferay European Symposium, Dusan Bystriansky
10.2010 Liferay European Symposium, Dusan Bystriansky
 

Recently uploaded

Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 

Recently uploaded (20)

Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 

2012.10 Liferay Europe Symposium, Alistair Oldfield

  • 1. Approach and execution of migrating an MS SharePoint site into Liferay Senior Project Manager A How-To Guide Alistair Oldfield – Emeldi Group - Official Liferay Partner
  • 2. Agenda • Introduction • Summarize topic: Approach and execution of migrating an MS SharePoint site into Liferay • Description of Environment • Illustrate some of the challenges • Migration of a SharePoint site to Liferay • Migration of content • Migration of functionality (Web parts -> Portlets) • Evaluation of realized benefits • Automated • Repeatable • Re-Useable
  • 3. Approach and execution of migrating an MS SharePoint site into Liferay SharePoint 2007 .NET Web Parts Liferay 6.0 Java Portlets
  • 4. Source Environment • Legacy Portal: Microsoft SharePoint 2007 – Roughly 50 web-part applications (.NET) • Highly customized behaviour • Integrated to back-ends and other services (Google Maps, etc.) – Thousands of pages, articles & documents • Objective: The existing content must be integrated (iframe, proxy portlet) with or migrated in the new Liferay portal solution. • Decision: Completely decommission legacy portal and fully migrate (port) content and functionality into Liferay.
  • 5. Different Technologies & Concepts Many different approaches to dealing with various concepts Cannot migrate “ALL” data kept within a MOSS database • Not necessary • MOSS data doesn’t always map into Liferay concepts Focus on what’s important for a site: • Pages & site map • Layouts • Articles / Content • Documents • Images • Theme / style • Web Parts
  • 6. Requirements 1-to-1 migration of a SharePoint site from visitor’s point of view Automated Migration • Huge site with 1000s of pages, manual content migration not viable option Repeatable Migration • Repeated across DEV, ACC, PROD • Can redo in case of we need to fix something Re-useable • To be re-used for other MOSS-driven portals in other migration projects Offline • Snap shot of MOSS DB can be stored in an export package which can be then used as repeated input to imports at a later time
  • 7. Approach Requirements can be satisfied using an export/import approach: •Web Part attributes •CMS •Libraries Inspect MOSS •XML schema •Export •Content •images & documents Export data into package Liferay Services & API Import to Liferay
  • 8. Migration Overview Migration of Content • Full export of MOSS content into XML package • Implementation of importer application using Liferay services Migration of Functionality • Complete re-implementation of .NET Web Part applications to JSR-286 compliant portlets
  • 9. Migration of Content - Layouts MOSS Web Part Page • Page • Layout • Custom data (per page) • Web Part Zones • Web Parts Liferay Portlet Page • Page • Custom Fields (common for all pages) Liferay Layout • Layout (including drop zones) • Portlets
  • 10. MOSS Content Structure • Webs/sub-webs • Default Page/Pages • Layout • Content Type • Web Parts • Libraries Implement Liferay “Importers” 1. LibraryImporter 2. WebImporter 3. PageImporter 4. LayoutImporter 5. WebPartImporter Web Default Page Pages Layout Content Type Web Parts Web Libraries Documents Images Lists Other Libs
  • 11. How MOSS export/import works Export MOSS into an export package: Inspection application traverses MOSS structure and exports data to an XML & media files into a ZIP package (also indexed in XML) Each XML element is mapped to an importer class Ex: <page> -> com.emeldi.moss.liferay.PageImporter Import the export package into Liferay: 1) First Pass: Import libraries using Liferay API • Documents into Liferay Document Library • Images into Liferay Image Gallery • Remember URLs of all imported docs/images (needed later) 2) Second Pass: Depth-first recursion through exported elements: • Invoke corresponding “importer” classes Site is built from the bottom-up • Child elements (webs, pages, etc.) first • Parent elements last
  • 12. WebImporter Depth-first recursion through exported elements: 1. Invoke page importer for <default-page> element for that web (next slide) 2. Recurse until leaf web is encountered 3. Invoke page importer for all <page> elements within that web (next slide) 4. Return up the stack until root web is imported
  • 13. PageImporter 1. Using Liferay API create the page 2. From exported MOSS page data (from content-type, etc.) assign: • Title • URL • Custom fields • Meta data • Etc.. 3. Remember the page URL for later 4. Based on exported MOSS page layout data, perform a look-up against a Layout Importer mapping and invoke the resolved LayoutImporter (next slide) Page Layout Content Type Web Parts • Layout X ImporterLayout X • Layout Y ImporterLayout Y • Layout Z ImporterLayout Z
  • 14. LayoutImporters 1. Specialized Importers based on a given page layout 2. Assigns layouts to a page • Target Liferay layouts must be manually created prior to migration • Approximations of MOSS layouts • Similar MOSS layouts can use the same Liferay LayoutImporter • WebPart X ImporterWebPart X • WebPart Y ImporterWebPart Y • WebPart Z ImporterWebPart Z 2. Identifies the MOSS web content and Web Parts which are located in each drop zone. 3. For each drop zone: • performs a look-up against a Webpart Importer mapping • places the corresponding Liferay portlet into the drop zone (next slide) • invokes the resolved WebPartImporter (next slide)
  • 15. WebPartImporters 1. Specialized Importers based on a given MOSS Web Part or web content 2. Each MOSS webpart must have a corresponding Liferay portlet (JSR 168/286) implemented prior to migration (java approximation): • MOSS Web content  Liferay Web Content Display Portlet • MOSS custom FAQ Web Part  Custom implemented FAQ portlet • etc.. Example 1) Importing of an FAQ Web Part: • MOSS inspection application knows which FAQ Web Part data is necessary to export and exports it into XML package • FAQImporter knows how to read this data and insert it into the target application database and portlet preferences • FAQ Display Portlet is created and placed into the Layout drop zone Example 2) Importing of web content (administered HTML markup): • MOSS inspection application exports HTML markup • Markup is filtered/re-written (next slide) • WebContentImporter creates a journal article with filtered markup • Web Content Display Portlet is created then placed into the Layout drop zone
  • 16. Markup Filtering/Re-writing • Remember the first pass (storing of library URLs)? • Remember the storing of page URLs (on page create)? Here is why: • All migrated MOSS markup still has links to legacy MOSS pages and media (library files) • These URLs no longer exist in Liferay - now imported into Liferay sitemap, Document Library, and Image Gallery • Markup must be re-written before inserted into Journal Article: <a href=“/Web/Library/doc1.pdf” />  <a href=“/documents/12034/doc1.pdf” /> String transformations performed for: <a>, <img>, <javascript>, <object> tags
  • 17. Challenges SharePoint List imports • No such feature in Liferay which captures same functionality • List data transformed into: • Liferay native data (journal articles) • Custom application data Non-automated portions of the migration • Theme & Layouts • Custom Portlet implementation (porting of .NET into Java) Content Issues: • Legacy style support (may consider manual cleaning) • URL re-writing • HTML tidy • Remove MS bloat from MOSS markup • &amp; (HTML correction)
  • 18. Summary SharePoint inspection application exports all needed data into XML and ZIP packages Liferay Import application imports packages into LR using both Liferay and custom APIs Custom SharePoint Web Part applications must be ported into Liferay-deployable portlet applications Legacy SharePoint URLs must be re-written during import
  • 19. Result • Fully automated SharePoint-to-Liferay Content Migrations – re-useable for other installations/ projects • Repeatable across all environment pillars • Re-useable for future use in other SharePoint-driven portals
  • 20. Benefits to the Liferay Community • Migration from SharePoint to Liferay an often recurring question for organizations considering a move to Liferay • We have demonstrated that a re-usable tool exists which allows for: • Fully automated content migrations (pages, images, content, etc.) • Establishing a foundation for introducing ported custom applications from .NET into Java • Emeldi has now opened the path allowing organizations to transition from legacy SharePoint applications into Liferay: • Economically • Quickly
  • 21. Project Reference ČSOB: Established in 1964 Diversified bancassurance group offering complete product portfolio to all client segments Long-term leader in many segments, esp. financing of housing needs and mutual funds Active in the Czech Republic Member of KBC Group Slovakia ČSOB ČSOB Poisťovňa Czech Republic ČSOB ČSOB Pojišťovna Hungary K&H Bank K&H Insurance Belgium KBC Bank KBC Insurance Bulgaria CI BANK DZI Insurance
  • 22. About the Emeldi Group • Emeldi is an official Liferay service partner in the UK, Czech Republic, & Slovakia • e-Commerce / Self-Service / best practices • Specialized expert team - Liferay hands-on experience • Flexible development process & methodologies • Innovation is one of the key differentiators 2 2 • Specialized in delivering large-scale portal solutions to Tier 1 enterprises
  • 23. Thank you Open for Q&A Alistair Oldfield – Senior Project Manager Emeldi Group – Official Liferay Partner alistair.oldfield@emeldi.com