SlideShare a Scribd company logo
Florent Guillaume — 18 nov 2010




  Migrating to Nuxeo
Planning, practice, customization
   and architectural changes
Agenda
• Planning structural changes
• Exporting data from the legacy system
• Importing data into Nuxeo
• Connecting Nuxeo to existing data sources
• Integrating with third-party applications
• Customizing logic and UI
• Sample use case
                                              2
Planning Structural
Changes


                      3
Filing Hierarchy
                                                 Folder
                                                 (root)




• Folders and files             Folder
                                foo
                                                 Folder
                                                  bar
                                                                   Folder
                                                                    gee




• Visible tree or access
  through search
                               Doc      Folder            Folder
                               001       blah              stuff




• Simple hierarchy or proxy-            Doc               Doc          Doc
  based multi-filing                     123               456          789




                                                                             4
Document Types


• Identify common metadata
• Additional attachements
• Minimize the number of types
  • “Nature” field can distinguish similar types



                                                  5
Security Policies

• Users, groups
• Inheritance / blocking based on hierarchy
• Metadata-based security policies
• Make sure that searches are efficient
  • Be able to implement the read policy in NXQL
  • If necessary precompute some fields

                                                   6
Life Cycles
                                  Draft




• Model workflow states           Approved


• Identify allowed transitions
  between states
                                 Archived




                                            7
Relationships

• Depends On / Is Part Of / Supersedes / ...
• Can hold metadata as well
  • Dates
  • Users
  • Comments
  • ...

                                               8
Nuxeo Studio


• Document Types
• Life Cycles
• Permission Definition
• Vocabularies


                         9
Exporting Data from the
Legacy System


                          10
Exporting Data from the
Legacy System
• Depends on the legacy system
• Any format is acceptable
  • But needs a deterministic way to re-read the data
  • Files
  • Metadata
    •   XML, CSV, .properties

                                                        11
Keep Third-Party
Data Sources



• Nuxeo will connect to them




                               12
Importing Data into Nuxeo


                            13
Importing




            14
Manual Import

• Drag & Drop
  • Several plugins available

• For small sets of files
  • Slow
    •   Single-threaded

    •   Big overhead

  • No nice transactional behavior
                                     15
HTTP-Based Import

• Filesystem-like import
  • Windows SharePoint Services (WSS)
  • WebDAV

• With rich metadata
  • CMIS
    •   Java, Python, PHP, ...

  • Ad-hoc REST APIs
                                        16
Importer module

• nuxeo-­‐platform-­‐importer
 • bulk
 • transactions
 • multi-threaded
 • pluggable
   •   filesystem reader (files, CSV, XML, .properties)
   •   document model factory
 • Java or JAX-RS
                                                        17
SQL-Level Import
• Documents: Nuxeo VCS tables
  • Hierarchy
  • One table per schema
  • Multi-valued and complex properties
  • Files
  • ACLs

• Audit tables
• Directory tables                        18
Connecting Nuxeo to
Existing Data Sources


                        19
Nuxeo Authentication
• Based on JAAS
  • Authentication filter for web access
  • Login Module
• Pluggable to get user’s identity
  • Basic Authentication, HTTP Form
  • SSO (Trust portal, NTLM, CAS, Shibboleth, ClearTrust)
• Pluggable to validate user credentials
  • Validate against directory or trust SSO
                                                            20
Nuxeo Users and Groups

• Nuxeo Directory abstraction
• LDAP / Microsoft Active Directory
• SQL tables
• Multi-Directories
• Custom Directory connector

                                      21
Reference Data

• Nuxeo Directories, Vocabularies
  • Direct use of an existing SQL table
  • New SQL view if some adaptations are needed
  • Nightly export to a Nuxeo-specific table
  • Directory connector to acces data served by a Web
    Service (get + search)

• Direct JDBC / JPA access
                                                        22
Back-Office Applications


• Always project-specific
• Write connectors
  • SOAP, REST, HTTP, TCP, Filesystem, ...

• Use Directory API when it makes sense


                                             23
Integrating with
Third-Party Applications


                           24
Push to Other Systems


• Send data to other systems
  • Event Listeners
  • Synchronous, asynchronous or post-commit
  • May be scheduled



                                               25
Pull by Other Systems

 • REST
  •   Nuxeo Operations

  •   CMIS

  •   JAX-RS (WebEngine)

 • SOAP
  •   CMIS

  •   EJB + Annotations

                           26
Bridge to Other Systems



• JMS event bridge
• ESB




                          27
Example Third-Party
Applications
• External indexers
  • Exalead, Sinequa, Antidot, Arisem

• Portal
  • Nuxeo as a storage engine

• CRM
• ERP
  • SAP, Siebel
                                        28
Customizing Logic and UI


                           29
Nuxeo Themes
• Styles and CSS
• Page layout
• Perspectives
• Negotiation
• WYSIWYG editor
• Available for:
  • WebApp (JSF)
                             30
  • WebEngine (FreeMarker)
Actions
• Content Automation
• Tabs, sub-tabs
• Buttons
• Links
• Have them depend on:
 • types, facets, rights, sections
 • arbitrary conditions
                                     31
Flexible UI Building Blocks

• Nuxeo Themes
• Layouts
 • Forms, Widgets

• Content Views
 • Page Providers
 • Smart Search

                              32
Nuxeo Studio
• Application Branding
• Views / Forms
• Content Automation Chains
• UI Button / Event Reactor
• Search Form
• Content Templates
• Virtual Navigation
                              33
Sample Use Case
(based on a true story)




                          34
Legacy Architecture




                      35
Legacy Architecture
• Problems and limitations
  • Custom WebApp is hard to maintain
    •   “fork” from the original web top
    •   direct access to external data providers
  • Publishing is slow
    •   XML export
  • Data is duplicated
• Performances are very bad
  • all security checks and profiling are done by the portal
  • can not support more than 50,000 documents                36
Nuxeo Architecture




                     37
Nuxeo Architecture
• Far less specific code
  • easier maintenance
  • end to end POC worked in a few days (legacy
    implementation took months to work)

• No data duplication
• Uniform security model
• No performance issue
  • validated for 3,000,000 documents on single server   38

More Related Content

Similar to Nuxeo World Session: Migrating to Nuxeo

Nuxeo World Session: CMIS - What's Next?
Nuxeo World Session: CMIS - What's Next?Nuxeo World Session: CMIS - What's Next?
Nuxeo World Session: CMIS - What's Next?
Nuxeo
 
Oracle OpenWo2014 review part 03 three_paa_s_database
Oracle OpenWo2014 review part 03 three_paa_s_databaseOracle OpenWo2014 review part 03 three_paa_s_database
Oracle OpenWo2014 review part 03 three_paa_s_database
Getting value from IoT, Integration and Data Analytics
 
Introduction to Hive and HCatalog
Introduction to Hive and HCatalogIntroduction to Hive and HCatalog
Introduction to Hive and HCatalog
markgrover
 
Apereo OAE - Bootcamp
Apereo OAE - BootcampApereo OAE - Bootcamp
Apereo OAE - Bootcamp
Nicolaas Matthijs
 
Search On Hadoop
Search On HadoopSearch On Hadoop
Search On Hadoop
bigdatagurus_meetup
 
Cloud Infrastructures Slide Set 7 - Docker - Neo4j | anynines
Cloud Infrastructures Slide Set 7 - Docker - Neo4j | anyninesCloud Infrastructures Slide Set 7 - Docker - Neo4j | anynines
Cloud Infrastructures Slide Set 7 - Docker - Neo4j | anynines
anynines GmbH
 
Data Science Day New York: Data Science: A Personal History
Data Science Day New York: Data Science: A Personal HistoryData Science Day New York: Data Science: A Personal History
Data Science Day New York: Data Science: A Personal History
Cloudera, Inc.
 
Big Data Architecture Workshop - Vahid Amiri
Big Data Architecture Workshop -  Vahid AmiriBig Data Architecture Workshop -  Vahid Amiri
Big Data Architecture Workshop - Vahid Amiri
datastack
 
Unlocking LOCKSS with APIs
Unlocking LOCKSS with APIsUnlocking LOCKSS with APIs
Unlocking LOCKSS with APIs
nullhandle
 
Solr + Hadoop: Interactive Search for Hadoop
Solr + Hadoop: Interactive Search for HadoopSolr + Hadoop: Interactive Search for Hadoop
Solr + Hadoop: Interactive Search for Hadoop
gregchanan
 
Discovery Interfaces
Discovery InterfacesDiscovery Interfaces
Discovery Interfaces
Jonathan-Andornot
 
How companies use NoSQL and Couchbase - NoSQL Now 2013
How companies use NoSQL and Couchbase - NoSQL Now 2013How companies use NoSQL and Couchbase - NoSQL Now 2013
How companies use NoSQL and Couchbase - NoSQL Now 2013
Dipti Borkar
 
Nuxeo Platform LTS 2015 Highlights
Nuxeo Platform LTS 2015 HighlightsNuxeo Platform LTS 2015 Highlights
Nuxeo Platform LTS 2015 Highlights
Nuxeo
 
Eclipse Enterprise Content Repository (ECR)
Eclipse Enterprise Content Repository (ECR)Eclipse Enterprise Content Repository (ECR)
Eclipse Enterprise Content Repository (ECR)
Florent Guillaume
 
Zero to Sixty with Oracle ApEx
Zero to Sixty with Oracle ApExZero to Sixty with Oracle ApEx
Zero to Sixty with Oracle ApEx
Bradley Brown
 
Introduction to eXo ECM Suite
Introduction to eXo ECM SuiteIntroduction to eXo ECM Suite
Introduction to eXo ECM Suite
Tugdual Grall
 
Hadoop introduction
Hadoop introductionHadoop introduction
Hadoop introduction
musrath mohammad
 
Nuxeo platform in 15mn
Nuxeo platform in 15mnNuxeo platform in 15mn
Nuxeo platform in 15mn
Nuxeo
 
Reproducibility - The myths and truths of pipeline bioinformatics
Reproducibility - The myths and truths of pipeline bioinformaticsReproducibility - The myths and truths of pipeline bioinformatics
Reproducibility - The myths and truths of pipeline bioinformatics
Simon Cockell
 
Introduction to Hadoop Administration
Introduction to Hadoop AdministrationIntroduction to Hadoop Administration
Introduction to Hadoop Administration
Ramesh Pabba - seeking new projects
 

Similar to Nuxeo World Session: Migrating to Nuxeo (20)

Nuxeo World Session: CMIS - What's Next?
Nuxeo World Session: CMIS - What's Next?Nuxeo World Session: CMIS - What's Next?
Nuxeo World Session: CMIS - What's Next?
 
Oracle OpenWo2014 review part 03 three_paa_s_database
Oracle OpenWo2014 review part 03 three_paa_s_databaseOracle OpenWo2014 review part 03 three_paa_s_database
Oracle OpenWo2014 review part 03 three_paa_s_database
 
Introduction to Hive and HCatalog
Introduction to Hive and HCatalogIntroduction to Hive and HCatalog
Introduction to Hive and HCatalog
 
Apereo OAE - Bootcamp
Apereo OAE - BootcampApereo OAE - Bootcamp
Apereo OAE - Bootcamp
 
Search On Hadoop
Search On HadoopSearch On Hadoop
Search On Hadoop
 
Cloud Infrastructures Slide Set 7 - Docker - Neo4j | anynines
Cloud Infrastructures Slide Set 7 - Docker - Neo4j | anyninesCloud Infrastructures Slide Set 7 - Docker - Neo4j | anynines
Cloud Infrastructures Slide Set 7 - Docker - Neo4j | anynines
 
Data Science Day New York: Data Science: A Personal History
Data Science Day New York: Data Science: A Personal HistoryData Science Day New York: Data Science: A Personal History
Data Science Day New York: Data Science: A Personal History
 
Big Data Architecture Workshop - Vahid Amiri
Big Data Architecture Workshop -  Vahid AmiriBig Data Architecture Workshop -  Vahid Amiri
Big Data Architecture Workshop - Vahid Amiri
 
Unlocking LOCKSS with APIs
Unlocking LOCKSS with APIsUnlocking LOCKSS with APIs
Unlocking LOCKSS with APIs
 
Solr + Hadoop: Interactive Search for Hadoop
Solr + Hadoop: Interactive Search for HadoopSolr + Hadoop: Interactive Search for Hadoop
Solr + Hadoop: Interactive Search for Hadoop
 
Discovery Interfaces
Discovery InterfacesDiscovery Interfaces
Discovery Interfaces
 
How companies use NoSQL and Couchbase - NoSQL Now 2013
How companies use NoSQL and Couchbase - NoSQL Now 2013How companies use NoSQL and Couchbase - NoSQL Now 2013
How companies use NoSQL and Couchbase - NoSQL Now 2013
 
Nuxeo Platform LTS 2015 Highlights
Nuxeo Platform LTS 2015 HighlightsNuxeo Platform LTS 2015 Highlights
Nuxeo Platform LTS 2015 Highlights
 
Eclipse Enterprise Content Repository (ECR)
Eclipse Enterprise Content Repository (ECR)Eclipse Enterprise Content Repository (ECR)
Eclipse Enterprise Content Repository (ECR)
 
Zero to Sixty with Oracle ApEx
Zero to Sixty with Oracle ApExZero to Sixty with Oracle ApEx
Zero to Sixty with Oracle ApEx
 
Introduction to eXo ECM Suite
Introduction to eXo ECM SuiteIntroduction to eXo ECM Suite
Introduction to eXo ECM Suite
 
Hadoop introduction
Hadoop introductionHadoop introduction
Hadoop introduction
 
Nuxeo platform in 15mn
Nuxeo platform in 15mnNuxeo platform in 15mn
Nuxeo platform in 15mn
 
Reproducibility - The myths and truths of pipeline bioinformatics
Reproducibility - The myths and truths of pipeline bioinformaticsReproducibility - The myths and truths of pipeline bioinformatics
Reproducibility - The myths and truths of pipeline bioinformatics
 
Introduction to Hadoop Administration
Introduction to Hadoop AdministrationIntroduction to Hadoop Administration
Introduction to Hadoop Administration
 

More from Nuxeo

Own the Digital Shelf Strategies Food and Beverage Companies
Own the Digital Shelf Strategies Food and Beverage CompaniesOwn the Digital Shelf Strategies Food and Beverage Companies
Own the Digital Shelf Strategies Food and Beverage Companies
Nuxeo
 
How DAM Librarians Can Get Ready for the Uncertain Future
How DAM Librarians Can Get Ready for the Uncertain FutureHow DAM Librarians Can Get Ready for the Uncertain Future
How DAM Librarians Can Get Ready for the Uncertain Future
Nuxeo
 
How Insurers Fueled Transformation During a Pandemic
How Insurers Fueled Transformation During a PandemicHow Insurers Fueled Transformation During a Pandemic
How Insurers Fueled Transformation During a Pandemic
Nuxeo
 
Manage your Content at Scale with MongoDB and Nuxeo
Manage your Content at Scale with MongoDB and NuxeoManage your Content at Scale with MongoDB and Nuxeo
Manage your Content at Scale with MongoDB and Nuxeo
Nuxeo
 
Accelerate the Digital Supply Chain From Idea to Support
Accelerate the Digital Supply Chain From Idea to SupportAccelerate the Digital Supply Chain From Idea to Support
Accelerate the Digital Supply Chain From Idea to Support
Nuxeo
 
Where are you in the DAM Continuum
Where are you in the DAM ContinuumWhere are you in the DAM Continuum
Where are you in the DAM Continuum
Nuxeo
 
Customer Experience in 2021
Customer Experience in 2021Customer Experience in 2021
Customer Experience in 2021
Nuxeo
 
L’IA personnalisée, clé d’une gestion de l’information innovante
L’IA personnalisée, clé d’une gestion de l’information innovanteL’IA personnalisée, clé d’une gestion de l’information innovante
L’IA personnalisée, clé d’une gestion de l’information innovante
Nuxeo
 
Gérer ses contenus avec MongoDB et Nuxeo
Gérer ses contenus avec MongoDB et NuxeoGérer ses contenus avec MongoDB et Nuxeo
Gérer ses contenus avec MongoDB et Nuxeo
Nuxeo
 
Le DAM en 2021 : Tendances, points clés et critères d'évaluation
Le DAM en 2021 : Tendances, points clés et critères d'évaluationLe DAM en 2021 : Tendances, points clés et critères d'évaluation
Le DAM en 2021 : Tendances, points clés et critères d'évaluation
Nuxeo
 
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
Nuxeo
 
Elevate your Customer's Experience and Stay Ahead of the Competition
Elevate your Customer's Experience and Stay Ahead of the CompetitionElevate your Customer's Experience and Stay Ahead of the Competition
Elevate your Customer's Experience and Stay Ahead of the Competition
Nuxeo
 
Driving Brand Loyalty Through Superior Customer Experience
Driving Brand Loyalty Through Superior Customer Experience Driving Brand Loyalty Through Superior Customer Experience
Driving Brand Loyalty Through Superior Customer Experience
Nuxeo
 
Drive Enterprise Speed and Scale with A Cloud-Native DAM
Drive Enterprise Speed and Scale with A Cloud-Native DAMDrive Enterprise Speed and Scale with A Cloud-Native DAM
Drive Enterprise Speed and Scale with A Cloud-Native DAM
Nuxeo
 
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
Nuxeo
 
How Creatives Are Getting Creative in 2020 and Beyond
How Creatives Are Getting Creative in 2020 and BeyondHow Creatives Are Getting Creative in 2020 and Beyond
How Creatives Are Getting Creative in 2020 and Beyond
Nuxeo
 
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAMDigitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
Nuxeo
 
Reimagine Your Claims Process with Future-Proof Technologies
Reimagine Your Claims Process with Future-Proof TechnologiesReimagine Your Claims Process with Future-Proof Technologies
Reimagine Your Claims Process with Future-Proof Technologies
Nuxeo
 
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifs
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifsComment le Centre Hospitalier Laborit dématérialise ses processus administratifs
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifs
Nuxeo
 
Accelerating the Packaging Design Process with Artificial Intelligence
Accelerating the Packaging Design Process with Artificial IntelligenceAccelerating the Packaging Design Process with Artificial Intelligence
Accelerating the Packaging Design Process with Artificial Intelligence
Nuxeo
 

More from Nuxeo (20)

Own the Digital Shelf Strategies Food and Beverage Companies
Own the Digital Shelf Strategies Food and Beverage CompaniesOwn the Digital Shelf Strategies Food and Beverage Companies
Own the Digital Shelf Strategies Food and Beverage Companies
 
How DAM Librarians Can Get Ready for the Uncertain Future
How DAM Librarians Can Get Ready for the Uncertain FutureHow DAM Librarians Can Get Ready for the Uncertain Future
How DAM Librarians Can Get Ready for the Uncertain Future
 
How Insurers Fueled Transformation During a Pandemic
How Insurers Fueled Transformation During a PandemicHow Insurers Fueled Transformation During a Pandemic
How Insurers Fueled Transformation During a Pandemic
 
Manage your Content at Scale with MongoDB and Nuxeo
Manage your Content at Scale with MongoDB and NuxeoManage your Content at Scale with MongoDB and Nuxeo
Manage your Content at Scale with MongoDB and Nuxeo
 
Accelerate the Digital Supply Chain From Idea to Support
Accelerate the Digital Supply Chain From Idea to SupportAccelerate the Digital Supply Chain From Idea to Support
Accelerate the Digital Supply Chain From Idea to Support
 
Where are you in the DAM Continuum
Where are you in the DAM ContinuumWhere are you in the DAM Continuum
Where are you in the DAM Continuum
 
Customer Experience in 2021
Customer Experience in 2021Customer Experience in 2021
Customer Experience in 2021
 
L’IA personnalisée, clé d’une gestion de l’information innovante
L’IA personnalisée, clé d’une gestion de l’information innovanteL’IA personnalisée, clé d’une gestion de l’information innovante
L’IA personnalisée, clé d’une gestion de l’information innovante
 
Gérer ses contenus avec MongoDB et Nuxeo
Gérer ses contenus avec MongoDB et NuxeoGérer ses contenus avec MongoDB et Nuxeo
Gérer ses contenus avec MongoDB et Nuxeo
 
Le DAM en 2021 : Tendances, points clés et critères d'évaluation
Le DAM en 2021 : Tendances, points clés et critères d'évaluationLe DAM en 2021 : Tendances, points clés et critères d'évaluation
Le DAM en 2021 : Tendances, points clés et critères d'évaluation
 
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
 
Elevate your Customer's Experience and Stay Ahead of the Competition
Elevate your Customer's Experience and Stay Ahead of the CompetitionElevate your Customer's Experience and Stay Ahead of the Competition
Elevate your Customer's Experience and Stay Ahead of the Competition
 
Driving Brand Loyalty Through Superior Customer Experience
Driving Brand Loyalty Through Superior Customer Experience Driving Brand Loyalty Through Superior Customer Experience
Driving Brand Loyalty Through Superior Customer Experience
 
Drive Enterprise Speed and Scale with A Cloud-Native DAM
Drive Enterprise Speed and Scale with A Cloud-Native DAMDrive Enterprise Speed and Scale with A Cloud-Native DAM
Drive Enterprise Speed and Scale with A Cloud-Native DAM
 
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
 
How Creatives Are Getting Creative in 2020 and Beyond
How Creatives Are Getting Creative in 2020 and BeyondHow Creatives Are Getting Creative in 2020 and Beyond
How Creatives Are Getting Creative in 2020 and Beyond
 
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAMDigitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
 
Reimagine Your Claims Process with Future-Proof Technologies
Reimagine Your Claims Process with Future-Proof TechnologiesReimagine Your Claims Process with Future-Proof Technologies
Reimagine Your Claims Process with Future-Proof Technologies
 
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifs
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifsComment le Centre Hospitalier Laborit dématérialise ses processus administratifs
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifs
 
Accelerating the Packaging Design Process with Artificial Intelligence
Accelerating the Packaging Design Process with Artificial IntelligenceAccelerating the Packaging Design Process with Artificial Intelligence
Accelerating the Packaging Design Process with Artificial Intelligence
 

Recently uploaded

GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
Federico Razzoli
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 

Recently uploaded (20)

GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 

Nuxeo World Session: Migrating to Nuxeo

  • 1. Florent Guillaume — 18 nov 2010 Migrating to Nuxeo Planning, practice, customization and architectural changes
  • 2. Agenda • Planning structural changes • Exporting data from the legacy system • Importing data into Nuxeo • Connecting Nuxeo to existing data sources • Integrating with third-party applications • Customizing logic and UI • Sample use case 2
  • 4. Filing Hierarchy Folder (root) • Folders and files Folder foo Folder bar Folder gee • Visible tree or access through search Doc Folder Folder 001 blah stuff • Simple hierarchy or proxy- Doc Doc Doc based multi-filing 123 456 789 4
  • 5. Document Types • Identify common metadata • Additional attachements • Minimize the number of types • “Nature” field can distinguish similar types 5
  • 6. Security Policies • Users, groups • Inheritance / blocking based on hierarchy • Metadata-based security policies • Make sure that searches are efficient • Be able to implement the read policy in NXQL • If necessary precompute some fields 6
  • 7. Life Cycles Draft • Model workflow states Approved • Identify allowed transitions between states Archived 7
  • 8. Relationships • Depends On / Is Part Of / Supersedes / ... • Can hold metadata as well • Dates • Users • Comments • ... 8
  • 9. Nuxeo Studio • Document Types • Life Cycles • Permission Definition • Vocabularies 9
  • 10. Exporting Data from the Legacy System 10
  • 11. Exporting Data from the Legacy System • Depends on the legacy system • Any format is acceptable • But needs a deterministic way to re-read the data • Files • Metadata • XML, CSV, .properties 11
  • 12. Keep Third-Party Data Sources • Nuxeo will connect to them 12
  • 14. Importing 14
  • 15. Manual Import • Drag & Drop • Several plugins available • For small sets of files • Slow • Single-threaded • Big overhead • No nice transactional behavior 15
  • 16. HTTP-Based Import • Filesystem-like import • Windows SharePoint Services (WSS) • WebDAV • With rich metadata • CMIS • Java, Python, PHP, ... • Ad-hoc REST APIs 16
  • 17. Importer module • nuxeo-­‐platform-­‐importer • bulk • transactions • multi-threaded • pluggable • filesystem reader (files, CSV, XML, .properties) • document model factory • Java or JAX-RS 17
  • 18. SQL-Level Import • Documents: Nuxeo VCS tables • Hierarchy • One table per schema • Multi-valued and complex properties • Files • ACLs • Audit tables • Directory tables 18
  • 19. Connecting Nuxeo to Existing Data Sources 19
  • 20. Nuxeo Authentication • Based on JAAS • Authentication filter for web access • Login Module • Pluggable to get user’s identity • Basic Authentication, HTTP Form • SSO (Trust portal, NTLM, CAS, Shibboleth, ClearTrust) • Pluggable to validate user credentials • Validate against directory or trust SSO 20
  • 21. Nuxeo Users and Groups • Nuxeo Directory abstraction • LDAP / Microsoft Active Directory • SQL tables • Multi-Directories • Custom Directory connector 21
  • 22. Reference Data • Nuxeo Directories, Vocabularies • Direct use of an existing SQL table • New SQL view if some adaptations are needed • Nightly export to a Nuxeo-specific table • Directory connector to acces data served by a Web Service (get + search) • Direct JDBC / JPA access 22
  • 23. Back-Office Applications • Always project-specific • Write connectors • SOAP, REST, HTTP, TCP, Filesystem, ... • Use Directory API when it makes sense 23
  • 25. Push to Other Systems • Send data to other systems • Event Listeners • Synchronous, asynchronous or post-commit • May be scheduled 25
  • 26. Pull by Other Systems • REST • Nuxeo Operations • CMIS • JAX-RS (WebEngine) • SOAP • CMIS • EJB + Annotations 26
  • 27. Bridge to Other Systems • JMS event bridge • ESB 27
  • 28. Example Third-Party Applications • External indexers • Exalead, Sinequa, Antidot, Arisem • Portal • Nuxeo as a storage engine • CRM • ERP • SAP, Siebel 28
  • 30. Nuxeo Themes • Styles and CSS • Page layout • Perspectives • Negotiation • WYSIWYG editor • Available for: • WebApp (JSF) 30 • WebEngine (FreeMarker)
  • 31. Actions • Content Automation • Tabs, sub-tabs • Buttons • Links • Have them depend on: • types, facets, rights, sections • arbitrary conditions 31
  • 32. Flexible UI Building Blocks • Nuxeo Themes • Layouts • Forms, Widgets • Content Views • Page Providers • Smart Search 32
  • 33. Nuxeo Studio • Application Branding • Views / Forms • Content Automation Chains • UI Button / Event Reactor • Search Form • Content Templates • Virtual Navigation 33
  • 34. Sample Use Case (based on a true story) 34
  • 36. Legacy Architecture • Problems and limitations • Custom WebApp is hard to maintain • “fork” from the original web top • direct access to external data providers • Publishing is slow • XML export • Data is duplicated • Performances are very bad • all security checks and profiling are done by the portal • can not support more than 50,000 documents 36
  • 38. Nuxeo Architecture • Far less specific code • easier maintenance • end to end POC worked in a few days (legacy implementation took months to work) • No data duplication • Uniform security model • No performance issue • validated for 3,000,000 documents on single server 38