webinar: best practices for migrating to magnolia 5

48
®

Upload: magnolia-cms

Post on 08-May-2015

721 views

Category:

Technology


0 download

DESCRIPTION

Are you running on Magnolia 4.4 or Magnolia 4.5? It’s time to take advantage of the latest and greatest features in Magnolia 5. Join our webinar to receive expert advice on your Magnolia 5 migration. Magnolia's migration experts Nicolas Barbé and Samuel Schmitt provide a brief overview of what's new in Magnolia 5 and walk you through the migration process. They also demonstrate the Magnolia migration tool and highlight key challenges and best practices. This webinar is most useful to users of Magnolia CMS 4.4 or 4.5, as well as system integrators interested in migrating to the latest version of Magnolia CMS.

TRANSCRIPT

Page 1: Webinar: Best Practices for Migrating to Magnolia 5

®

Page 2: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 2

Best Practices for Migrating to Magnolia 5

Page 3: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 3

Nicolas BarbéSenior Consultant

Page 4: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 4

AgendaWhy Make the Move? Navigate With our Expertise Migration Overview Recommendations Migrating from 4.4 to 4.5 Migrating from 4.5 to 5

Page 5: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 5

Why Make the Move?Latest Features

Intuitive Interface (Desktop or tablet devices) Apps framework Pulse and Favorites REST API jBPM workflow Personalization DAM and CMIS integration JCR agnostic App

Page 6: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 6

Navigate With Our ExpertiseServices

Migration Audit Migration Workshop Migration Assistance

Magnolia Conference 2015 Migration Workshop

Free Resources Documentation documentation.magnolia-cms.comAcademy academy.magnolia-cms.com

Page 7: Webinar: Best Practices for Migrating to Magnolia 5

Preparation is the Key!

Page 8: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 8

Migration OverviewMagnolia

4.4Magnolia

4.5Magnolia

5.3

• New Security Layer • Content API deprecation • STK new concepts • Templating changes

• DMS replaced by DAM • Data module

deprecation • New dialogs layout

Page 9: Webinar: Best Practices for Migrating to Magnolia 5

Recommendations

Page 10: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 10

Recommendation #1 Clean your data

Before migrating, remove all obsolete content, duplicated information especially if this information is already stored in an external master system.

Migrating obsolete or non-critical data adds complexity, increases the risk of your project and slows down the migration process.

Page 11: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 11

Recommendation #2

Build a "test" repository

Building a test database is cheaper than restarting the production database several times a day. In

addition, a test database can be enriched with any specific use cases.

Page 12: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 12

Recommendation #3 Test your migration on a real production

repository Don’t wait until the last minute to test your migration on a real production environment.

Newly identified issues must be reported into your test database.

Page 13: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 13

Recommendation #4

Use Version Handlers

Understanding and using version handlers

correctly is mandatory if your migration

cannot be done in a single step in production.

Page 14: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 14

Recommendation #5 Crawl your website

Don’t open each individual web page to test your project.

Crawl the website automatically and track any stack-traces in the

catalina.out log file.

Page 15: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 15

Recommendation #6Involve your editors

Magnolia 5 is a big change for the end-users. Involve them at the beginning of the project.

Refine the initial requirements and define acceptance tests up-front. This will guide you during the migration

project.

Page 16: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 16

Recommendation #7

Test Campaign Drive a test campaign with your end-users before the

Go-Live.

Page 17: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 17

Last Recommendation

Read the migration logs

Most of the issues can be anticipated

with a detailed analysis of the first

migration logs. WARN and ERR log

levels must be read carefully.

Page 18: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 18

From 4.4 to 4.5

Page 19: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 19

What has changed?New templating mechanisms

Explicit Area New tags and templating functions

New STK API Node API replacing the Content API New security layer

Page 20: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 20

New templating mechanismsTemplating mechanism improvements

Template definitions and scripts are deeply impacted by these new features and must be migrated.

Explicit Area Additional tags

- @cms:init - @cms:area - @cms:component

Templating functions - cmsfn - stkfn

Structural changes in the template definition

Page 21: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS

STK API evolves to introduce new concepts

MagnoliaTemplatingUtilities & STKUtil is deprecated and must be replaced:

- STKTemplatingFunctions (stkfn) - TemplatingFunctions (cmsfn)

21

New STK API

Deprecated Class ReplacementSTKTemplate STKPage

ParagraphManager TemplateDefinitionRegistry

TemplateManager TemplateDefinitionRegistry

Paragraph TemplateDefinition

Template TemplateDefinition

Page 22: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 22

javax.jcr.Node APIjavax.jcr.Node is the recommended approach to manipulate any JCR content The Content API is now deprecated

Content API Node APIContent Node

NodeData Property

ContentFilter Predicated

ContentVersion VersionNode

Convenient methods exist to switch between both APIs

Page 23: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 23

Security Changes

Authentication and authorisation are directly managed by the JCR

Jackrabbit settings must be updated

Page 24: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 24

Migration Process

Update configuration

and code

Update repository and

webapp

Run the migration tool

Work on the delta

Test Go Live

Finalize

4.4 4.5

Start Magnolia !

Page 25: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 25

Step 0 - Prerequisites Your Magnolia instance must use at least the version 4.4.6

Upgrade your Magnolia instance to the latest version (4.4.13) if you are using a version below 4.4.6

Page 26: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 26

Step 1 - Update Configuration and Code 1. Update your pom files

• Magnolia Version : The latest one (4.5.23) • Update your module dependencies • Update artifact and group Ids

2. Update deprecated code (Javadoc) and API replacements (documentation).

3. Update your module descriptor 4. Add the migration tasks to your version

handler • Migrate content : ContentModuleMigrationTask • Migrate definition

• TemplatingRelatedModuleMigrationTask • SimpleSTKRelatedModuleMigrationTask

Page 27: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 27

Step 2 - Update Repository and Webapp

1. Update security definition in the web app and the repository • Jackrabbit security • JAAS config

2. Update web.xml

3. Backup your repository

A script can be used to automate those modifications

Use only this backup for the rest of the process

Page 28: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 28

Step 3 - Start Magnolia

Start Magnolia!

What’s happening? Each Magnolia module is migrated Your module is (partially) migrated

Your template scripts must be migrated

Page 29: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 29

Step 4 - Run the Migration Tool Run once the migration tool to update your template scripts

A migration report is generated

Nothing is magic - The migration tool only migrates well-known patterns. Specificities must be migrated manually.

Page 30: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 30

Step 5 - Work on the DeltaIterate through every page on the test repository One iteration covers one page Open the page and identify what is broken

Update the template script Update the configuration (Version Handlers) Update the content (Version Handlers) Update your code

Page 31: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 31

Step 6 - TestUse your production content Test strategies

- Crawl and compare the result - Acceptance tests - Test campaign involving the end-users

Any issue? - Add the use-case to your test-repository - Go back to Step 5 and enrich the version handler

Page 32: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 32

Step 7 - Finalize the MigrationUpdate your bootstraps in your project

Configuration Samples

Build and release your project

You are now ready to deploy your project on production!

Page 33: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 33

From 4.5 to 5

Page 34: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 34

What has changed?Dialog Definition DMS replaced by DAM Metadata as a Mixin Content App instead of Data module New workflow engine

Page 35: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 35

Dialog Definition

If you are using Blossom, your code is also impacted by this change.

Page 36: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 36

Digital Asset Management

All assets are centrally stored and managed in the DAM

Page 37: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 37

Metadata as a MixinMagnolia 4.5 Magnolia 5

Page 38: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 38

Data Module replaced by ContentAppContentApp is the recommended approach to manage content (Data)

The migration process automatically creates ContentApp

Magnolia 4.5Magnolia 5

Page 39: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS

OpenWFE replaced by jBPM Manual migration required in case of custom OpenWFE workflow

New Workflow Engine

A

B

C D

E

Page 40: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 40

Migration ProcessJust like any standard Magnolia upgrade

Update pom files, module descriptor and replace deprecated code Complete your module version handler

Dialog migration task DMS to DAM migration tasks Data migration tasks

Test and Deploy!

Page 41: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 41

Step 0 - PrerequisitesYour Magnolia instance must use at least the version 4.5.12.

Tomcat Users - Version must be at least 7.0.47

Upgrade your Magnolia instance to the latest version (4.5.23) if you are using a version below 4.5.12

Page 42: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 42

Step 1 - Update your project 1. Update your pom files

A. Magnolia Version : The latest one (5.3.5) B. No need to specify dependencies in

DependencyManagement anymore C. Update artifact and group Ids

2. Update deprecated code 3. Update your module descriptor 4. Start !

Your Magnolia instance is now running Magnolia 5. Now you must migrate your own modules.

Page 43: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 43

Step 2 - Version Handlers Objective Tasks

DialogsMigrating your module dialogs DialogMigrationTask("your_module_name")

Migrating your custom controls and save handlers Rewrite them as a field type and declare them to the DialogMigrationTask using ControlMigratorsRegistry

DAM

Migrate DMS content to the DAM MoveDataWorkspaceToDamMigrationTask();

Move uploaded assets from a workspace to the DAM MoveContentToDamMigrationTask(“ws_name”)

Move uploaded assets using FCKEditor to the DAM MoveFCKEditorContentToDamMigrationTask(“ws_name”)

Update asset references in a workspace to point to the new asset’s location

ChangeWebsiteDmsReferenceToDamMigrationTask(“ws_name”)

Clean workspace and update reference format CleanContentForDamMigrationTask(“ws_name”)

Apply DMS permissions (ACL) to the DAM MoveAclPermissionsBetweenWorkspaces

DataCreation of ContentApp Automatically done during the migration of the Data module

Application permissions SetPropertyTask

WorkflowIn 4.5, if you were using the default workflow None

In 4.5, if you have your custom workflow Workflow must be migrated to jBPM manually

Page 44: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 44

Step 3 - TestUse your production content Test strategies

- Crawl and compare the result - Acceptance tests - Test campaign involving the end-users

Any issue? - Add the use-case to your test-repository - Go back to Step 2 and enrich the version handler

Page 45: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 45

Step 4 - Finalize the MigrationUpdate your bootstraps in your project

Configuration Samples

Build and release your project

You are now ready to deploy your project on production!

Page 46: Webinar: Best Practices for Migrating to Magnolia 5
Page 47: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 47

What’s next?Contact Us

http://www.magnolia-cms.com/campaigns/migration.html

Our Services - Migration Audit - Migration Assistance - Migration Workshop (Conference 2015)

Page 48: Webinar: Best Practices for Migrating to Magnolia 5

@MAGNOLIA_CMS 48

Questions?