1 / 44

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

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

pillan
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. RMLL 2010 July 8th Integrating eZ Publish to an information system Summary : Chapter 1 : Introduction about eZ Publish Chapter 2 : Custom & complex data modeling Chapter 3 : Website factory & Cross-content publishing Chapter 4 : API & External data integration (XML, SOAP, LDAP)Chapter 5 : Conclusion & questions

  3. Integrating eZ Publish to an information systemChapter 1 : Introduction about eZ Publish Community version(Full featured, no support) Community contributions GNU/GPL Enterprise version(eZ Systems support) GNU/GPL ? An Open Source (GNU/GPL) Content Management System : the next business model

  4. Integrating eZ Publish to an information systemChapter 1 : Introduction about eZ Publish • Since 1999 (10 Years+) • 70+ eZ Systems employees • 2,7 M downloading • 200 000+ installations • 90+ business partners • 36000+ community members eZ Systems / eZ Publish & numbers

  5. Integrating eZ Publish to an information systemChapter 1 : Introduction about eZ Publish

  6. Integrating eZ Publish to an information systemChapter 1 : Introduction about eZ Publish

  7. Integrating eZ Publish to an information systemChapter 1 : Introduction about eZ Publish • And more…

  8. Integrating eZ Publish to an information systemChapter 1 : Introduction about eZ Publish Scripts / imports / exports Extensions Extranet Mobile XML / SOAP / JSON / LDAP / ODF / … eZ Teamroom Website eZ Webin CACHE eZ Survey 100% TEMPLATES eZ Flow eZ Publish API DATABASE (MySql / PostGre / …) FILESYSTEM SEARCH Cluster option NFS Option How eZ Publish works

  9. RMLL 2010 July 8th Integrating eZ Publish to an information system Summary : Chapter 1 : Introduction about eZ Publish Chapter 2 :Custom & complex data modeling Chapter 3 : Website factory & Cross-content publishing Chapter 4 : API & External data integration (XML, SOAP, LDAP)Chapter 5 : Conclusion & questions

  10. Integrating eZ Publish to an information systemChapter 2 : Custom & complex data modeling NODES OBJECTS CLASSES ATTRIBUTES DATATYPES Folder 1 Article 1 Folder Title Textline Multiline XML (WYSIWYG) Date GMaps location Object Relation Objects relation Options eZ Flow … Article 2 Article 1 Article Date Short title Long title Author Intro Text Localisation Categories Videos Article 2 Article 3 Article 4 Folder 2 Article 1 Folder 1 Folder 2 Article 3 Article 4 Store the position & hierarchical information Store the content (versions / language / drafts…) Store the content structure Nodes / objects / classes / attibutes / datatypes

  11. Integrating eZ Publish to an information systemChapter 2 : Custom & complex data modeling 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 • 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)

  12. RMLL 2010 July 8th Integrating eZ Publish to an information system Summary : Chapter 1 : Introduction about eZ Publish Chapter 2 : Custom & complex data modeling Chapter 3 :Website factory & Cross-content publishing Chapter 4 : API & External data integration (XML, SOAP, LDAP)Chapter 5 : Conclusion & questions

  13. Integrating eZ Publish to an information systemChapter 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 ?

  14. Integrating eZ Publish to an information systemChapter 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 »

  15. Integrating eZ Publish to an information systemChapter 3 : Website factory & cross-content publishing • 1 eZ Installation • 1 Database for each website • 1 var directory for each website • 1 siteaccess for each website (1 var & 1 database settings) Website 3 Website N Website 1 Website 2 Siteaccess 1 Siteaccess 2 Siteaccess 3 Siteaccess N VAR 1 VAR 2 VAR 3 VAR N Database Server Database 1 Database 2 Database 3 Database N

  16. Integrating eZ Publish to an information systemChapter 3 : Website factory & cross-content publishing • 1 eZ Installation • 1 Database for all websites • 1 var directory for all websites • 1 siteaccess for each website (1 subtree for each website) Website 3 Website N Website 1 Website 2 Siteaccess 1 Siteaccess 2 Siteaccess 3 Siteaccess N VAR Subtree 1/2/X Subtree 1/2/Y Subtree 1/2/Z Subtree 1/2/N Database Server Fail over Database

  17. Integrating eZ Publish to an information systemChapter 3 : Website factory & cross-content publishing How to make a choice between mono and multi database ?

  18. Integrating eZ Publish to an information systemChapter 3 : Website factory & cross-content publishing List existing Websites and create a new one : Websites management … model N Edit an existing Web site configuration Create a new Website from content model 1 Create a new Website from content model 2

  19. Integrating eZ Publish to an information systemChapter 3 : Website factory & cross-content publishing Create a new Website : Select your main language Select your CSS StyleSheet Customization (items number per page, columns, drop-down menu, …) Contact email Google maps key

  20. Integrating eZ Publish to an information systemChapter 3 : Website factory & cross-content publishing All features are availableDefault CSS StyleSheet Front-end exemple : Default design

  21. Integrating eZ Publish to an information systemChapter 3 : Website factory & cross-content publishing Front-end example : http://jardinsenscene-picardie.com/ Custom CSS StyleSheet Custom slideshow, from eZ Publish media content (JavaScript) Search engine « Block » management Google maps

  22. RMLL 2010 July 8th Integrating eZ Publish to an information system Summary : Chapter 1 : Introduction about eZ Publish Chapter 2 : Custom & complex data modeling Chapter 3 : Website factory & Cross-content publishing Chapter 4 :API & External data integration (XML, SOAP, LDAP)Chapter 5 : Conclusion & questions

  23. Integrating eZ Publish to an information systemChapter 4 : API & Extrenal data integration Method 1 : Content syndication XML / SOAP / JSON / LDAP / ODF / … +++ :enable the content sharing, content relations, back-end content editing… ---:need PHP expert development, and optimization CRON Import (create nodes, objects, create search index, refresh caches, …) eZ Publish API DATABASE (MySql / PostGre / …) FILESYSTEM SEARCH ROADMAP : New RESTfull API

  24. Integrating eZ Publish to an information systemChapter 4 : API & Extrenal data integration Method 2 : Server side include (SSI) XML / SOAP / JSON / LDAP / ODF / … +++ :easy & fast development. Could use the cache system, URL system ---:disable the content sharing, content relations, back-end content editing… CRON cURL HTTP loading / includind eZ Publish API DATABASE (MySql / PostGre / …) FILESYSTEM SEARCH

  25. Integrating eZ Publish to an information systemChapter 4 : API & Extrenal data integration Method 3 : Edge side include (ESI) +++ :easy & fast development. Could use the cache system, URL system HTML Final ---:disable the content sharing, content relations, back-end content editing… HTML Parts http://exemple.com/1.html HTML + ESI eZ Publish API DATABASE (MySql / PostGre / …) FILESYSTEM SEARCH

  26. Integrating eZ Publish to an information systemChapter 4 : API & Extrenal data integration Case studie : http://cofinoga-shop.fr

  27. RMLL 2010 July 8th Conclusion & Questions FR : http://www.gandbox.fr EN : http://share.ez.no

  28. Integrating eZ Publish to an information systemChapter 4 : API & Extrenal data integration XML eZ Publish XML JSON Widget UWA iPhone Newsletter Other XML … Web

  29. RMLL 2010 July 8th Working with eZ Find and SolR Gilles Guirand – Technical Director at Kaliop http://www.gandbox.fr

  30. RMLL 2010 July 8th Working with eZ Find and SolR Summary : Chapter 1 :Introduction about eZ Find Chapter 2 : Content storage versus index storage Chapter 3 : eZ Find, first step to the next generation CMS ?

  31. Working with eZ Find & SolrChapter 1 : Introduction about eZ Find Relevancy displaying, using percent values (100%, 99%, …) Text highlighting http://www.ird.fr eZ find features overview

  32. Working with eZ Find & SolrChapter 1 : Introduction about eZ Find Custom templating, like custom HTML displaying, google maps displaying, … http://www.weekend-esprit-de-picardie.com/ eZ find features overview

  33. Working with eZ Find & SolrChapter 1 : Introduction about eZ Find Custom filtering, like a price range Content browsing (a kind of search !) Cumulative faceting search and filtering http://www.tourismebretagne.com/ eZ find features overview

  34. Working with eZ Find & SolrChapter 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)

  35. Working with eZ Find & SolrChapter 1 : Introduction about eZ Find eZ Publish Add contentUpdate contentDelete contentMove content…. Templating Querying, faceting, … HTTP REST How eZ Find work

  36. RMLL 2010 July 8th Working with eZ Find and SolR Summary : Chapter 1 : Introduction about eZ Find Chapter 2 :Content storage versus index storage Chapter 3 : eZ Find, first step to the next generation CMS ?

  37. Working with eZ Find & SolrChapter 2 : Content storage VS Index storage eZ Publish DATATYPES SOLR FIELD TYPE Textline Multiline XML (WYSIWYG) Date GMaps location Object Relation Objects relation Options eZ Flow … String Text Float … Transform & create Solr fields for searching, sorting, facetting… + Filters : Lowercase Tokenize Stopwords Etc.

  38. Working with eZ Find & SolrChapter 2 : Content storage VS Index storage • 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. 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 fields for instance), but also defines the so-called dynamic fields :

  39. Working with eZ Find & SolrChapter 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.

  40. Working with eZ Find & SolrChapter 2 : Content storage VS Index storage Fieldname http://localhost:8983/solr/admin/ Value Check what Solr actually indexed

  41. Working with eZ Find & SolrChapter 2 : Content storage VS Index storage attr_date_1 attr_date_2 attr_date_3 … « Event » content class : Dates (ezmatrix ? Custom datatype ) Titre (textline) Intro (XML) … PHP Class Front_end filtering http://www.tourismebretagne.com Real life exemple Filtering events using a date range, (multi dates event… each month event)

  42. RMLL 2010 July 8th Working with eZ Find and SolR Summary : Chapter 1 : Introduction about eZ Find Chapter 2 : Content storage versus index storage Chapter 3 :eZ Find, first step to the next generation CMS ?

  43. Working with eZ Find & SolrChapter 3 : eZ Find, first step to the next generation CMS ? Advanced content Indexing(indexing, querying, faceting, browsing) Dynamic content storage FrameWork API Custom API / Zeta FileSystem COULD BE BETTER (no SQL) COULD BE BETTER Read the eZ Find roadmap Hooks / workflow /Restfull API • eZ Find : first step to the next generation CMS ?

  44. RMLL 2010 July 8th Conclusion & Questions FR : http://www.gandbox.fr EN : http://share.ez.no

More Related