Sie sind auf Seite 1von 13

Lightning Talk

7 minutes to talk about

Exporting and importing company-level data


Sbastien Le Marchand

Liferay Europe Symposium Wiesbaden, Germany | 16-17 october 2012

PROBLEMATIC

Liferay Europe Symposium Wiesbaden, Germany | 16-17 october 2012

Problematic

A classic data import/export use case

+ Transfer data between multiple environnements


Need for
Selective export or import, not all data Integration

Incremental import dont push DB dump ! Q/A

+ Available tools
Site scope data LAR export / import Remote stagging
Resource Importer Plugin

Acceptance

Data outside site scope (company-level data) ?... thats the problem ! Production
Liferay Europe Symposium Wiesbaden, Germany | 16-17 october 2012

Problematic

What are company-level data ?


Site-scope data
Covered by Liferay ARchive native export / import

Company-scope data
No native feature to help us

Liferay Europe Symposium Wiesbaden, Germany | 16-17 october 2012

FRONTLINE FEEDBACK

Liferay Europe Symposium Wiesbaden, Germany | 16-17 october 2012

Frontline feedback

Example : roles permissions definitions

+ Default permissions for roles


A critical security configuration

1 3

+ How-to ?
Without any tool (very painful) : you need to write specific configuration procedure documentation (potentially huge) You need to replay procedure manually (UI) for each environement (re-)initi Unsafe (human error) Build a tool to do the work (go back at home earlier !) Fast to replay Repeatable (error-prone)
Liferay Europe Symposium Wiesbaden, Germany | 16-17 october 2012

Frontline feedback

Best practices to write import/export tools

+ Dont work directly with database (SQL extract & load)


Possible application-level data integrity violations

+ Only use portal services to read and write data


Choose your weapon

Plain-old plugin, written in Java Admin script, written in Groovy, Ruby, etc.

+ Be carreful about IDs


An entity ID is not the same in source environment and target environment Do not rely on entity ID
Relations between entities must not be stored with IDs

Liferay Europe Symposium Wiesbaden, Germany | 16-17 october 2012

OUT-OF-THE-BOX TOOL

Liferay Europe Symposium Wiesbaden, Germany | 16-17 october 2012

Out-of-the-box tool

Discover a comprehensive ready-to-use tool

+ Hook Plugin
No user interface, actions only by file manipulation
Easy to use for Ops

Input and output files in the same directory (configurable)


${liferay.home}/deploy/imex

+ Export
Input xxxx.export.properties (options) Output xxxx.imex.zip (data archive)

+ Import
Input

xxxx.import.properties (options) xxxx.imex.zip (data archive)


Liferay Europe Symposium Wiesbaden, Germany | 16-17 october 2012

Out-of-the-box tool

Options overview
xxxx.export.properties

Liferay Europe Symposium Wiesbaden, Germany | 16-17 october 2012

10

Out-of-the-box tool

Data format overview

Liferay Europe Symposium Wiesbaden, Germany | 16-17 october 2012

11

Out-of-the-box tool

Get it !

+ Historically, internal developpement targeting Liferay 5.2.x + Now open-source project targeting Liferay 6.1
Beta release

+ Coverage :
Now Roles & roles default permissions definitions Sites (using LAR mechanisms) Next releases Extended coverage

http://sqli-imex.github.com
Liferay Europe Symposium Wiesbaden, Germany | 16-17 october 2012

12

That's all folks!

Thanks!

+Im/Ex tool

http://sqli-imex.github.com

+Sbastien Le Marchand
slemarchand@sqli.com @slemarchand

+SQLI Group

http://www.sqli.com http://www.entreprise-digitale.com @SQLIEENTREPRISE


> 1800 employees 170 M turnover Capability to deploy projects internationally

Liferay Europe Symposium Wiesbaden, Germany | 16-17 october 2012

13

Das könnte Ihnen auch gefallen