integrating ez publish to an information system gilles guirand – technical director at kaliop

44
Integrating eZ Publish to an information system Gilles Guirand – Technical Director at Kaliop http://www.gandbox.fr RMLL 2010 July 8th

Upload: eileen

Post on 08-Jan-2016

14 views

Category:

Documents


1 download

DESCRIPTION

RMLL 2010 July 8th. Integrating eZ Publish to an information system Gilles Guirand – Technical Director at Kaliop http://www.gandbox.fr. RMLL 2010 July 8th. Integrating eZ Publish to an information system. Summary : Chapter 1 : Introduction about eZ Publish - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Integrating eZ Publish to an information system

Gilles Guirand – Technical Director at Kaliop

http://www.gandbox.fr

RMLL 2010July 8th

Page 2: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Integrating eZ Publish to an information system

RMLL 2010July 8th

Summary :

Chapter 1 : Introduction about eZ PublishChapter 2 : Custom & complex data modelingChapter 3 : Website factory & Cross-content publishingChapter 4 : API & External data integration (XML, SOAP, LDAP)Chapter 5 : Conclusion & questions

Page 3: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Integrating eZ Publish to an information system

Chapter 1 : Introduction about eZ Publish

An Open Source (GNU/GPL) Content Management System : the next business model

Community version(Full featured, no support)

Enterprise version(eZ Systems support)

Community contributions

GNU/GPL

GNU/GPL ?

Page 4: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Integrating eZ Publish to an information system

Chapter 1 : Introduction about eZ Publish

eZ Systems / eZ Publish & numbers

Since 1999 (10 Years+) 70+ eZ Systems employees2,7 M downloading200 000+ installations90+ business partners36000+ community members

Page 5: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Integrating eZ Publish to an information system

Chapter 1 : Introduction about eZ Publish

Page 6: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Integrating eZ Publish to an information system

Chapter 1 : Introduction about eZ Publish

Page 7: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Integrating eZ Publish to an information system

Chapter 1 : Introduction about eZ Publish

And more…

Page 8: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Integrating eZ Publish to an information system

Chapter 1 : Introduction about eZ Publish

How eZ Publish works

eZ Publish

DATABASE (MySql / PostGre / …) FILESYSTEM

Website Extranet Mobile

SEARCH

Extensions

eZ Flow

eZ Survey

eZ Webin

eZ Teamroom

API

XML / SOAP / JSON / LDAP /

ODF / …

100% TEMPLATES

CACHE

Scripts / imports / exports

Cluster option NFS Option

Page 9: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Integrating eZ Publish to an information system

RMLL 2010July 8th

Summary :

Chapter 1 : Introduction about eZ PublishChapter 2 : Custom & complex data modelingChapter 3 : Website factory & Cross-content publishingChapter 4 : API & External data integration (XML, SOAP, LDAP)Chapter 5 : Conclusion & questions

Page 10: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Integrating eZ Publish to an information system

Chapter 2 : Custom & complex data modeling

Nodes / objects / classes / attibutes / datatypes

NODES OBJECTS CLASSES ATTRIBUTES DATATYPES

Article 1

Article 2

Article 3

Article 4

Article 1

Article 2

Article 3

Article 4

Folder 1

Article 1

Folder 2

Store the position & hierarchical

information

Store the content (versions / language / drafts…)

Folder 1

Folder 2

Store the content structure

Title

Date

Short title

Long title

Author

Intro

Text

Localisation

Categories

Videos

Folder

Article

Textline

Multiline

XML (WYSIWYG)

Date

GMaps location

Object Relation

Objects relation

Options

eZ Flow

Page 11: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Integrating eZ Publish to an information system

Chapter 2 : Custom & complex data modeling

How eZ Publish manage the dynamic content storage ?

Drupal CCK comparison ?– +++ eZ Publish upgrading, complex datatypes, no modules needed, static SQL modeling

– --- Dramatic SQL queries (cache needed)

DATABASE (MySql / PostGre / …) FILESYSTEM SEARCH

NO TABLES / FIELDS ADDS -> RECORDS ADDS

NO DIRECT FIELDS STORAGE –> CONTENTS SERIALIZATION STORAGE

Images / videos / files storages (resized, renamed, …)

Search index storage (querying, facetting, complex browsing…)

ROADMAP : NO SQL storage system, like Apache Solr / Apache CouchDB

Page 12: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Integrating eZ Publish to an information system

RMLL 2010July 8th

Summary :

Chapter 1 : Introduction about eZ PublishChapter 2 : Custom & complex data modelingChapter 3 : Website factory & Cross-content publishingChapter 4 : API & External data integration (XML, SOAP, LDAP)Chapter 5 : Conclusion & questions

Page 13: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Integrating eZ Publish to an information system

Chapter 3 : Website factory & cross-content publishing

Why to deploy a multi-site system ?

• Content sharing (content, medias, users, cross-publishing)

• Features factorization (1 development for N websites)• Content features : News, articles, folders, pictures, videos, …

• Community features : Comments, Blogs, Forums, Newsletters, …

• Information system features : LDAP, SSO, Web Services, Databases, …

• Cost optmization• Implicit features factorization result

• main motivation ?

Page 14: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Integrating eZ Publish to an information system

Chapter 3 : Website factory & cross-content publishing

For what kind of projects ?

• Vertical Network organization • International, national, local Websites

• Horizontal Network organization• Thematics Websites

• Temporary publications (events)

• Product business model (white labelling)• Website generator – Website factory (contents, blogs, forums, …)

• Low costs Websites resseling : « ready to use »

Page 15: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Integrating eZ Publish to an information system

Chapter 3 : Website factory & cross-content publishing

Website 1 Website 2 Website 3 Website N

Database 1

Siteaccess 1

Database 2

Database 3

Database N

Database Server

Siteaccess 2

Siteaccess 3

Siteaccess N

VAR 1 VAR 2 VAR 3 VAR N

• 1 eZ Installation

• 1 Database for each website

• 1 var directory for each website

• 1 siteaccess for each website (1 var & 1 database settings)

Page 16: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Integrating eZ Publish to an information system

Chapter 3 : Website factory & cross-content publishing

Website 1 Website 2 Website 3 Website N

Database

Siteaccess 1

Database Server

Siteaccess 2

Siteaccess 3

Siteaccess N

VAR

• 1 eZ Installation

• 1 Database for all websites

• 1 var directory for all websites

• 1 siteaccess for each website (1 subtree for each website)

Fail over

Subtree 1/2/X

Subtree 1/2/Y

Subtree 1/2/Z

Subtree 1/2/N

Page 17: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Integrating eZ Publish to an information system

Chapter 3 : Website factory & cross-content publishing

How to make a choice between mono and multi database ?

Questions Mono database Multi database

Number of Website to generate ?

-100 +500

SPOF sequel Low High

Content, media, users & roles sharing proportion

+30% -10%

Page 18: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Integrating eZ Publish to an information system

Chapter 3 : Website factory & cross-content publishing

List existing Websites and create a new one :

Edit an existing Web site configuration

Create a new Website from content model 1

Websites management

Create a new Website from content model 2

… model N

Page 19: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Integrating eZ Publish to an information system

Chapter 3 : Website factory & cross-content publishing

Select your main language

Select your CSS StyleSheet

Customization (items number per page, columns, drop-down menu, …)

Contact email

Google maps key

Create a new Website :

Page 20: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Integrating eZ Publish to an information system

Chapter 3 : Website factory & cross-content publishing

Front-end exemple : Default designAll features are availableDefault CSS StyleSheet

Page 21: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Integrating eZ Publish to an information system

Chapter 3 : Website factory & cross-content publishing

Front-end example : http://jardinsenscene-picardie.com/

Custom CSS StyleSheetCustom slideshow, from eZ Publish media content (JavaScript)

Search engine

« Block » management

Google maps

Page 22: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Integrating eZ Publish to an information system

RMLL 2010July 8th

Summary :

Chapter 1 : Introduction about eZ PublishChapter 2 : Custom & complex data modelingChapter 3 : Website factory & Cross-content publishingChapter 4 : API & External data integration (XML, SOAP, LDAP)Chapter 5 : Conclusion & questions

Page 23: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Integrating eZ Publish to an information system

Chapter 4 : API & Extrenal data integration

Method 1 : Content syndication

eZ Publish

DATABASE (MySql / PostGre / …) FILESYSTEM SEARCH

API

XML / SOAP / JSON / LDAP / ODF / …

CRON

Import (create nodes, objects, create search index, refresh caches, …)

ROADMAP : New RESTfull API

+++ : enable the content sharing, content relations, back-end content editing…--- : need PHP expert development, and optimization

Page 24: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Integrating eZ Publish to an information system

Chapter 4 : API & Extrenal data integration

Method 2 : Server side include (SSI)

eZ Publish

DATABASE (MySql / PostGre / …) FILESYSTEM SEARCH

API

XML / SOAP / JSON / LDAP / ODF / …

CRON

cURL HTTP loading / includind

+++ : easy & fast development. Could use the cache system, URL system--- : disable the content sharing, content relations, back-end content editing…

Page 25: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Integrating eZ Publish to an information system

Chapter 4 : API & Extrenal data integration

Method 3 : Edge side include (ESI)

eZ Publish

DATABASE (MySql / PostGre / …) FILESYSTEM SEARCH

API

+++ : easy & fast development. Could use the cache system, URL system--- : disable the content sharing, content relations, back-end content editing…

HTML + ESI

HTML Parts

HTML Final

http://exemple.com/1.html

Page 26: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Case studie : http://cofinoga-shop.fr

Integrating eZ Publish to an information system Chapter 4 : API & Extrenal data integration

Page 27: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

RMLL 2010July 8th

Conclusion & Questions

FR : http://www.gandbox.fr EN : http://share.ez.no

Page 28: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Integrating eZ Publish to an information system

Chapter 4 : API & Extrenal data integration

Web

eZ Publish

Widget UWANewsletterOther XML

XML

iPhone

XML JSON

Page 29: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Working with eZ Find and SolR

Gilles Guirand – Technical Director at Kaliop

http://www.gandbox.fr

RMLL 2010July 8th

Page 30: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Working with eZ Find and SolR

RMLL 2010July 8th

Summary :

Chapter 1 : Introduction about eZ FindChapter 2 : Content storage versus index storageChapter 3 : eZ Find, first step to the next generation CMS ?

Page 31: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Working with eZ Find & Solr

Chapter 1 : Introduction about eZ Find

eZ find features overview

http://www.ird.fr

Relevancy displaying, using percent values (100%, 99%, …)

Text highlighting

Page 32: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Working with eZ Find & Solr

Chapter 1 : Introduction about eZ Find

eZ find features overview

Custom templating, like custom HTML displaying, google maps displaying, …

http://www.weekend-esprit-de-picardie.com/

Page 33: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Working with eZ Find & Solr

Chapter 1 : Introduction about eZ Find

eZ find features overview

http://www.tourismebretagne.com/

Custom filtering, like a price range

Cumulative faceting search and filtering

Content browsing (a kind of search !)

Page 34: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Working with eZ Find & Solr

Chapter 1 : Introduction about eZ Find

eZ find features overview

– Relevency– Multi-site indexing– External content indexing (Nutch)– Multi format document indexing (Tika)– Stopwords by language (multi Sole core)– Synonyms by language (multi Solr core)– Heuristic syntax approximation– Complex browsing, facetting, filtering (Lucene)

Page 35: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Working with eZ Find & Solr

Chapter 1 : Introduction about eZ Find

How eZ Find work

eZ Publish

HTTP REST

Add contentUpdate contentDelete contentMove content

….

Querying, faceting, …

Templating

Page 36: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Working with eZ Find and SolR

RMLL 2010July 8th

Summary :

Chapter 1 : Introduction about eZ FindChapter 2 : Content storage versus index storageChapter 3 : eZ Find, first step to the next generation CMS ?

Page 37: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Working with eZ Find & Solr

Chapter 2 : Content storage VS Index storage

DATATYPES

Textline

Multiline

XML (WYSIWYG)

Date

GMaps location

Object Relation

Objects relation

Options

eZ Flow

eZ Publis

h SOLR FIELD TYPE

String

Text

Float

Filters :

Lowercase

Tokenize

Stopwords

Etc.

+Transform & create Solr fields for searching, sorting, facetting…

Page 38: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Working with eZ Find & Solr

Chapter 2 : Content storage VS Index storage

Field type management on the Solr side

Open and read the file : /ezfind/java/solr/conf/schema.xml.This configuration file contains the hard-coded definition for a certain amount of fields

(metadata fieldsfor instance), but also defines the so-called dynamic fields :Solr relies on several configuration files, one of them is used to tell him that :

- '_s' at the end of a field name means string,- '_t' for text, etc.

Page 39: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Working with eZ Find & Solr

Chapter 2 : Content storage VS Index storage

Field type management on the Solr side

This files can also be used to define more complex behaviours for given eZ Publish datatypes, like the keywords datatype (ezkeyword). Two different field types definitions can be found– 'keyword' for case-sensitive cases– 'lckeyword' for lower-case cases

This example, keywords fields management, teaches a lot about Solr configuration. One can note the way Solr filters are called, how coma-based word separations are handled (PatternTokenizerFactory), case-sensitivity management (LowerCaseFilterFactory), duplicate removal (RemoveDuplicatesTokenFilterFactory), etc.

Page 40: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Working with eZ Find & Solr

Chapter 2 : Content storage VS Index storage

Check what Solr actually indexed

http://localhost:8983/solr/admin/

Fieldname

Value

Page 41: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Working with eZ Find & Solr

Chapter 2 : Content storage VS Index storage

Real life exemple

Filtering events using a date range, (multi dates event… each month event)

« Event » content class :Dates (ezmatrix ? Custom datatype )

Titre (textline)

Intro (XML)

PHP Class

attr_date_1

attr_date_2

attr_date_3

Front_end filtering

http://www.tourismebretagne.com

Page 42: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Working with eZ Find and SolR

RMLL 2010July 8th

Summary :

Chapter 1 : Introduction about eZ FindChapter 2 : Content storage versus index storageChapter 3 : eZ Find, first step to the next generation CMS ?

Page 43: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

Working with eZ Find & Solr Chapter 3 : eZ Find, first step to the next generation CMS ?

eZ Find : first step to the next generation CMS ?

Advanced content Indexing

(indexing, querying, faceting, browsing)

Dynamic content storage

COULD BE BETTER (no SQL)

FileSystem

FrameWork API

COULD BE BETTER

Custom API / Zeta

Hooks / workflow /Restfull API

Read the eZ Find roadmap

Page 44: Integrating eZ Publish to an information system Gilles Guirand  – Technical Director at Kaliop

RMLL 2010July 8th

Conclusion & Questions

FR : http://www.gandbox.fr EN : http://share.ez.no