Upload
cignex-datamatics
View
595
Download
8
Embed Size (px)
Citation preview
CIGNEX Datamatics Confidential www.cignex.com
Upgrade your Business Applications to Liferay DXP
Name: Muhammed Shakir
Title: Head – Portals and Collaboration
at CIGNEX Datamatics
CIGNEX Datamatics Confidential www.cignex.com
Muhammed Shakir - Head - Portals and Collaboration, CIGNEX Datamatics
2
About the Presenter
Muhammed Shakir has over 20 years of experience in various technologies. Since 2008, Shakir has been actively working on Liferay and has conducted various training programs. At CIGNEX Datamatics, he nurtures and facilitates the portals and collaboration initiative which plays an active role in Delivery, R&D, Sales and Presales support.
CIGNEX Datamatics Confidential www.cignex.com
• Why Upgrade?
• Challenges in Upgrade
• Portal Types
• What to Analyze
• The Upgrade Process
3
Agenda
CIGNEX Datamatics Confidential www.cignex.com 4
New Features in Liferay DXP
Omnichannel Campaign Manager
Single Customer View
Mobile App Studio
Modular/OSGi New Liferay
Experience Language Enterprise
Search
Alloy Editor
Connected Services
Image & Media Selector
CIGNEX Datamatics Confidential www.cignex.com 5
Typical Challenges during upgrade
Maturing to a Platform from a Portal
With features like Campaign Manager, Single Customer View, Analytics, Connected Services, Liferay is matured beyond a conventional portal platform
Business Continuity
Coexistence of existing applications.
Data and Performance Concerns
Planning the Upgrade Process
Solution Expertise
Functional & Technical skills
CIGNEX Datamatics Confidential www.cignex.com 6
About Different Types of Portals
Low
High
Low High
Cu
sto
m C
od
e (
Cu
sto
m P
ort
lets
)
Customization of OOTB Features
Upgrade Efforts
Low
Medium
Medium
High
CIGNEX Datamatics Confidential www.cignex.com
• Multitenancy
– Is the portal multi-tenant?
– Are portal instances created on the fly for each tenant?
• Content Structure (In Brief)
– How community based sites are created?
– Are these sites created on the fly?
– If organizations are at work then are sites created at Organization level?
– Does any portal instance or site have their own site url?
• Forms, Polls, & Data Lists
– Are Forms, Polls and Data Lists used?
• Display Templates
– If the portal is built on Liferay 6.2 then, are there any display templates for Blogs?
7
What You Should Analyze?
Content Architecture
Portal Structure and
Customization
Deployment Architecture
Implementation
Architecture
CIGNEX Datamatics Confidential www.cignex.com
• Portal Management
– Which database is being used?
• Authentication
– Are you using LDAP?
– Is the portal integrated with OOTB supports SSO? If yes, then which one?
• Authorization – Are custom roles created?
• Workflow
– Are you using workflow on any asset? State the asset over which workflow is used.
• Look and Feel
– How many custom themes are developed? What is the level of customization done?
– Is the current theme responsive?
• Search
– Is Solr used? If yes, is it clustered?
– Are you using faceted search?
8
What You Should Analyze?
Portal Structure and
Customization
Deployment Architecture
Implementation
Architecture
Content Architecture
Portal Structure & Customization
CIGNEX Datamatics Confidential www.cignex.com
• Which product is used as forward proxy?
• How many QA instances are you using?
• What is the configuration of the hardware instances hosting Liferay bundles?
• Is there containerization at work?
• Which DevOps tools are used to manage the environment?
• Are you using Liferay’s staging feature?
• Are you using the CI tool?
• Is DR site provisioned? If yes, describe the same
• Is performance of your portal to the expectations of the stakeholders?
9
What You Should Analyze?
Portal Structure and
Customization
Deployment Architecture
Implementation
Architecture
Content Architecture
Deployment Architecture
CIGNEX Datamatics Confidential www.cignex.com
• Hooks
– Are Liferay API(s) customized using Service Wrappers in Hooks projects?
– Are any custom struts action written?
– Any model listeners written? If yes, then describe the implementation
• Ext – How many classes are overridden in Ext?
• Modularity Structure
– # of projects, their dependencies, are projects Maven or Ant based?
• Design Level and Code Review
– Business Level Code Review
– UI Specific Code Review
– Web Tier
– Business Services
– Usage of API(s)
– Custom Authorization
– Indexing
10
What You Should Analyze?
Portal Structure and
Customization
Deployment Architecture
Implementation
Architecture
Content Architecture
Implementation Architecture
CIGNEX Datamatics Confidential www.cignex.com 11
What to Upgrade
Database
Content (Web Content, Document & Media,
Blogs, Message Board, Wiki etc.)
Custom Theme
Custom Code (EXT , Hooks, Plugin projects, Themes, Elastic Search Server, Rebuild Indexes, Deployment
Environment and more)
CIGNEX Datamatics Confidential www.cignex.com
12
Determining the Steps to Upgrade
Liferay Ver (>=6.0.12?)
Migrate to Docs and
Media
Upgrade to Liferay 6.2
Run Upgrade Process
Upgrade Plugins
YES
NO
Upgrade to DXP
CIGNEX Datamatics Confidential www.cignex.com
• Large applications with many lines of code
• Plugin with reusable logic – converting applications to modules where you are using the same business logic across multiple projects
• If your application uses multiple versions of the same library in an environment. Module versions, removes the ambiguity in troubleshooting caused by the class loader
• If you want to retain the JSR-168/286 compatibility to deploy on another portlet container
• You’re using a complex web framework that is heavily tied to the Java EE programming model.
• If your plugin interacts with the app server, then module based applications might not be portable with the app server.
• If your application’s original intent is to have a limited-lifetime?
13
Planning your Plugin Upgrades
Approach 1 Adapting Liferay 6.2 traditional plugins
to Liferay DXP API
Approach 2 Converting traditional plugins to OSGi
modules
When to go with Approach 1
When to go with Approach 2
CIGNEX Datamatics Confidential www.cignex.com 14
Approach 1 – Leveraging Plugin SDK for Migration
Steps to Follow
• Setup Liferay DXP Plugin SDK
• Upgrading code to Liferay DXP
API
• Identifying errors in import
line using Eclipse
• Fix issues related to changes
in Service Builder
Liferay Plugin Project
Plugin Type - Portlet
service.xml
portlet.xml
liferay-portlet.xml
liferay-display.xml
CIGNEX Datamatics Confidential www.cignex.com 15
Approach 2 – Converting Traditional Plugins to OSGi Modules
Steps to Follow
• Review Environment
• Upgrade the service layer
• Implement the portlet
Liferay Module Project
Service Builder
Parent
API
Service
(Service.xml)
MVC Portlet (Web Component)
Declarative Services
CIGNEX Datamatics Confidential www.cignex.com 16
Upgrading Theme Plugins
Blade CLI
Upgrade Single Theme
blade migrateTheme
[Theme_name]
Migrate all themes
blade migrateTheme -a
• Convert CSS styles from Bootstrap 2 to Bootstrap 3 (npm install -g convert-bootstrap-2-to-3)
• Rename all your SASS files from *.css to *.sass • Update the file by running - bs3 path/to/file
CIGNEX Datamatics Confidential www.cignex.com 17
The Upgrade Process
Legacy Properties Configuring Docs &
Media File Store Install the New Liferay Version
Disable Indexing during Upgrade
Optional: Upgrading Modules
Individually
Upgrading your Installation Upgrading your Database
CIGNEX Datamatics Confidential www.cignex.com 18
Running the Upgrade
The upgrade requires configuration before it can run. This configuration can be done at runtime, or you can pre-configure it in three files
app-server.properties:
portal-upgrade-datasource.properties:
portal-upgrade-ext.properties:
Properties that define for the tool the server’s location and libraries
Properties for connecting to the database that will be upgraded
Contains the rest of the Liferay properties you need to perform the upgrade
CIGNEX Datamatics Confidential www.cignex.com
Liferay 6.x Liferay DXP
Maven or Ant based Portlet project containing one or more portlets
MVC Portlet Module project with no portlets
Service Builder Plugin SDK project which contains one or more service.xml.
Service Builder Module project…………
Liferay Module JSP hook plugin project Fragment module Liferay Core JSP hook plugin project CustomJSPBag component class (i) Portlet Struts action.
(ii) Pre/Post Action event hook plugin project.
(i) StrutsPortletAction component module
Implementing StrutsPortletAction.class.
(ii)Login Pre Action service.
Model Listener hook plugin project. Model Listener component with service type ModelListener.class .
IndexerPostProcessor hook plugin project. IndexPostProcessors component with service type IndexPostProcessors.class.
Service wrapper hook plugin project. Service Wrapper component with service type ServiceWrapper.class.
Module Language Properties hook plugin project. Service component with service type ResourceBundleLoader.class.
Core/Liferay’s Language Key Properties hook plugin project. Service component with service type ResourceBundle.class.
19
Component Mapping
CIGNEX Datamatics Confidential www.cignex.com 20
Adding New Component in DXP
CIGNEX Datamatics Confidential www.cignex.com 21
Go Live Steps
Migration of data (1/2) Move old data to new system and
compare diff. between new and old systems
Quality Assurance Functional Testing and
Validation
Create Configuration and Setup Guide
Stop Updates on Legacy System
No CRUD operations now that you have upgraded the system
Migration of data (2/2) Update data that might have been uploaded on legacy system during
QA
Final Validation Perform a quick round of
functional testing on the new setup before going live
Switch Move to the upgraded System
Upgrade Move from your local environment
to production
CIGNEX Datamatics Confidential www.cignex.com 22
CIGNEX Datamatics - Established in 2000, USA
12+ Open Source Framework/ Components #1 Pure Play Open
Source Services Company
15 Open Source Books Authored
Global Offices 13+ Business Engagement Platforms 3+
Open Source Community Contributions 5000+ Open Source
Implementations 500+ Open Source Consultants 500+
Portals, Content & Collaboration Portals Enterprise Application Integration e-Commerce Robotic Process Automation
Enterprise Content Management Document Management Web Content Management Learning/Knowledge Management Imaging and Scanning - OCR/Digitization Enterprise Search Business Process Management
Big Data Analytics Customer 360 Degree View Social Listening & Engagement Enterprise Search Risk & Fraud Detection Internet of Things
Open Source Solutions
Business Engagement Platforms
CIGNEX Datamatics Confidential www.cignex.com 23
For Your Extended Reading on this Topic
Liferay Portal Upgrade Cookbook Author: Muhammed Shakir, Rajesh Rathod, Vishal Rangras
Your simple and easy guide to help you travel the much contemplated upgrade journey
REQUEST A COPY NOW!!
CIGNEX Datamatics Confidential www.cignex.com
Thank you
www.cignex.com
Contact Us
Sales: [email protected] | Jobs – [email protected] | Others – [email protected]
facebook.com/CIGNEXTechnologies youtube.com/cignexglobal twitter.com/cignex www.cignex.com