SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
Nuxeo Distributions
What it is ? How to use the tools ?

Julien Carsique / Thierry Delprat




                                      1
Agenda
●
    About Nuxeo Distributions
●
    Existing Nuxeo Distributions
    ●
        focus on CAP and Core Server
●
    Using Nuxeo Distributions and tools




                                          2
Nuxeo EP is




       a set of ECM building blocks
     (but software components, not wooden blocks!)
                                                     3
that can be assembled

                   to do this




         or that
                                4
It's not so easy
●
    It is easy with wooden block ! …

●
    but with software components we need to
    ●
        manage components dependencies
    ●
        manage third party dependencies
    ●
        manage confguration
    ●
        manage packaging

                    nuxeo   Distribution

                                              5
Distributions and Nuxeo EP

             DM   DAM          CS            CMF           CAP



Nuxeo EP            Assemble, conf gure, package
                                 i


  Features

 UI frameworks    Flex
                  Flex       Flex
                             GWT          Flex
                                          JSF         Flex
                                                   WebEngine


  Services

  Core
                                                                 6
What is a Distribution?
●
    a selection of features
    ●
        bundles and associated dependencies
●
    a selection of confguration templates
●
    a packaging model
    ●
        EAR / WAR / Embedded
●
    a deployment target
    ●
        JBoss, Tomcat, bare runtime (Jetty)



                                              7
Distribution generation steps
                 Select bundles

                Get dependencies

          Get conf guration template
                 i

                Packaging model

          Deployment target choice




                                       8
                   Maven
          ZIP      artifact   Setup
Building your distribution
   Custom UI
  Auth, Users ...     Project
                      specif c
                           i                          EAR
  Custom types        bundles
                                                     Production
 Custom Services                                       Conf g
                                                          i
                      Additional
  Core bundles
  Core bundles      Nuxeo bundles
 Nuxeo bundles      used by project
                                        Project
                                        Custom
                                      Distribution
 Featurebundles
   Core bundles
  Core bundles
                                                     Tomcat
  Core bundles
   UI bundles           Base
                       Nuxeo                           Dev
  Core bundles
  Core bundles
 Servicebundles      Distribution                     Conf g
                                                         i
  Core bundles
  Core bundles
  Core bundles


                                                                  9
Nuxeo Distributions
Existing Distributions




                         10
Existing distributions
●
    Functional ones
    ●
        Nuxeo DM
    ●
        Nuxeo DAM
    ●
        Nuxeo Correspondence

➔
    Turn-key applications
    ●
        ready to run applications
    ●
        can be confgured via Studio


                                      11
Existing distributions
●
    Technical ones
    ●
        Nuxeo CAP        : Content Application Platform
    ●
        Nuxeo CMF : Case Management Framework
    ●
        Nuxeo CS : Core Server

➔
    Technical assemblies of Nuxeo bundles
    ●
        could be used as is
    ●
        can be confgured via Studio too
    ●
        designed to be used as a framework
        –   a base infrastructure to build upon           12
Nuxeo CAP
●
    CAP: Content Application Platform
    ●
        Repository (Nuxeo Core)
    ●
        Selection of Services and Features
    ●
        JSF and WebEngine infrastructure


              DAM            DM              CMF


            Additional     Additional      Additional
            Packages       Packages        Packages


                          Nuxeo CAP
                                                        13
Nuxeo CAP
●
    Is basically a Nuxeo DM Light
    ●
        same perimeter as DM 5.1
●
    You have the same infrastructure, less
    ●
        Preview and Annotations
    ●
        A/V Media management
    ●
        Wiki, Blogs, WebSites
    ●
        OpenSocial integration and Dashboard
    ●
        Tags, Virtual Navigation and Faceted Search
    ●
        Mail folder
                                                      14
Using Nuxeo CAP
●
    You may use CAP as a base distribution
    ●
        to avoid removing many packages from DM
        –   build by addition rather than fltering

    ●
        to build a web application
        –   but leverage the existing JSF Back Offce

    ●
        to have a very custom application
        –   redefne completely JSF UI but reuse infrastructure
            (DAM distribution is a good example)

                                                                 15
Nuxeo CS
●
    Core Server : Nuxeo Content Server
    ●
        Content Repository (Nuxeo Core)
    ●
        small subset of services (Audit, Directories)
    ●
        WebEngine infrastructure
    ●
        WebService infrastructure
    ●
        Content Automation
    ●
        CMIS connector

    ➔
        Light Nuxeo Server
                                                        16
Using Nuxeo Core Server
●
    To have a pure Content Repository Server
                                     CMIS

           External                  SOAP                  Nuxeo
          Application                                    Core Server
                               Content Automation


●
    To have a webengine rendering server
            Viewers            Viewers        Contributors


                      WebEngine                       JSF
                      Front Off ce
                              i                       Back Off ce
                                                             i


            Nuxeo             Nuxeo           Nuxeo
          Core Server       Core Server        CAP

                                                                       17
                                                    VCS Cluster
Nuxeo Distributions
Using Nuxeo Distributions and tools




                                      18
Principles
●
    Effciency and simplicity
    ●
        no need of source code
    ●
        reusable and easy to maintain
●
    Distribution results available
    ●
        as downloadable ZIP
    ●
        as Maven artifacts
●
    Build custom distribution
    ●
        use it for dev, testing and production
        (templates are used to manage confguration changes)

                                                              19
Distribution tools
●
    Maven power (dependencies management)
    ●
        Use your project's POM to list main dependencies
    ●
        Less maintenance, more accuracy
●
    Ant power (multi-OS compliant scripting)
    ●
        Common Ant tasks and well-known syntax
    ●
        Maven-aware Ant tasks
●
    Nuxeo mixes best of both technologies
    ●
        Dedicated tasks for common use cases
    ●
        Produced distributions are Maven artifacts
                                                           20
Distribution tools
●
    Tools
    ●
        org.apache.maven.plugins:maven-nuxeo-plugin
    ●
        org.nuxeo.build:nuxeo-distribution-tools
    ●
        org.nuxeo:nuxeo-qa-tools
●
    Usage
    ●
        As Maven plugins
    ●
        As standalone applications
    ●
        As resources for other Maven plugins
●
    Samples in Nuxeo source code
●
    Online documentation                              21
Distribution tools
●
    Templates system
    ●
        Easier development/maintenance
        –   Inheritable and customizable
        –   Resources factorization
        –   Environment target (dev, preprod, prod, ...)
    ●
        Easier installation/administration
        –   Pre-confgured templates
        –   Manage confguration outside server directory
        –   Quickly backup and upgrade
    ●
        Editable from the Nuxeo Admin Center
                                                           22
Distribution tools
●
    Build your own distribution(s)
    ●
        Choose the distribution basis
        –   Inherit its POM
        –   Add your bundles
        –   Create a custom assembly fle
    ●
        Create multiple templates for different targets
        –   Pre-confgured templates are available as Maven artifacts
        –   Add custom template resources
    ●
        Reuse distributions between projects


                                                                       23
Distribution tools
Standard Maven plugin declaration:

<build>
  <plugins>
    <plugin>
      <groupId>org.nuxeo.build</groupId>
      <artifactId>nuxeo-distribution-tools</artifactId>
      <configuration>
         <buildFiles>
           <buildFile>src/main/assemble/assembly.xml</buildFile>
         </buildFiles>
      </configuration>
    </plugin>
  </plugins>
</build>


                                                                   24
Distribution tools
Assembly file mixing Ant and Maven abilities:

<target name="build" depends="init" description="...">
  <echo>Building custom EAR...</echo>
  <artifact:nuxeo-expand />
  <artifact:print output="dependency-tree.log" />
  <mkdir dir="${nuxeo.ear}" />
  <copy todir="${nuxeo.ear}/bundles" overwrite="true">
    <artifact:set>
      <includes>
        <artifact groupId="com.myorg*" />
      </includes>
      <excludes>
        <artifact artifactId="*-test" />
      </excludes>
    </artifact:set>
  </copy>
  ...                                                    25
Distribution tools
  ...
  <copy todir="${nuxeo.ear}/lib" overwrite="true">
    <artifact:set>
      <includes>
        <artifact groupId="!com.myorg*" />
      </includes>
      <excludes>
        <artifact artifactId="gwt-dev" />
      </excludes>
    </artifact:set>
    <artifact:resolveFile key="org.company:some-artifact" />
  </copy>
  <nx:rmdups dir="${nuxeo.ear}/lib" />
  <zip basedir="${nuxeo.ear}" destfile="....zip" />
  <artifact:attach file="....zip" type="zip" classifier="dev"
                    target="${maven.project.groupId}:
                            ${maven.project.artifactId}" />
</target>                                                       26
Distribution tools
Reuse other distributions as Maven artifacts:

<unzip dest="${outdir}">
  <artifact:resolveFile key="org.apache.tomcat:
                             apache-tomcat:6.0.20:zip" />
    <patternset>
      <exclude name="**/some/directory/**" />
    </patternset>
</unzip>

<unzip dest="${tomcat}/templates" overwrite="true">
  <artifact:resolveFile key="org.nuxeo.ecm.distribution:
   nuxeo-distribution-resources:${maven.project.version}:zip"
                        classifier="templates-common" />
  <artifact:resolveFile key="org.nuxeo.ecm.distribution:
   nuxeo-distribution-resources:${maven.project.version}:zip"
                        classifier="templates-tomcat" />
</unzip>                                                        27
Useful links
●
    Distribution
    ●
        Documentation and samples:
        http://doc.nuxeo.com/display/NXDOC/Nuxeo+Distributions
    ●
        Contributing distributions:
        http://doc.nuxeo.com/display/CORG/Creating+distributions
●
    Templates
    ●
        Documentation:
        http://doc.nuxeo.com/display/NXDOC/Confguring+Nuxeo+EP




                                                                   28
Thank you!




             29

Contenu connexe

Tendances

Google Web Toolkit for the Enterprise Developer - JBoss World 2009
Google Web Toolkit for the Enterprise Developer - JBoss World 2009Google Web Toolkit for the Enterprise Developer - JBoss World 2009
Google Web Toolkit for the Enterprise Developer - JBoss World 2009
Fred Sauer
 
Xen Cloud Platform at Build a Cloud Day at SCALE 10x
Xen Cloud Platform at Build a Cloud Day at SCALE 10x Xen Cloud Platform at Build a Cloud Day at SCALE 10x
Xen Cloud Platform at Build a Cloud Day at SCALE 10x
The Linux Foundation
 
Membase Meetup Chicago - january 2011
Membase Meetup Chicago - january 2011Membase Meetup Chicago - january 2011
Membase Meetup Chicago - january 2011
Membase
 

Tendances (10)

Project Zero For Javapolis 2007
Project Zero For Javapolis 2007Project Zero For Javapolis 2007
Project Zero For Javapolis 2007
 
XPDDS19: A Journey to Mirage OS as Xen PVH - Marek Marczykowski-Górecki, Invi...
XPDDS19: A Journey to Mirage OS as Xen PVH - Marek Marczykowski-Górecki, Invi...XPDDS19: A Journey to Mirage OS as Xen PVH - Marek Marczykowski-Górecki, Invi...
XPDDS19: A Journey to Mirage OS as Xen PVH - Marek Marczykowski-Górecki, Invi...
 
vBACD- July 2012 - Crash Course in Open Source Cloud Computing
vBACD- July 2012 - Crash Course in Open Source Cloud ComputingvBACD- July 2012 - Crash Course in Open Source Cloud Computing
vBACD- July 2012 - Crash Course in Open Source Cloud Computing
 
Google Web Toolkit for the Enterprise Developer - JBoss World 2009
Google Web Toolkit for the Enterprise Developer - JBoss World 2009Google Web Toolkit for the Enterprise Developer - JBoss World 2009
Google Web Toolkit for the Enterprise Developer - JBoss World 2009
 
Update on Virtualization in Debian
Update on Virtualization in DebianUpdate on Virtualization in Debian
Update on Virtualization in Debian
 
XS Boston 2008 ARM
XS Boston 2008 ARMXS Boston 2008 ARM
XS Boston 2008 ARM
 
Xen Cloud Platform at Build a Cloud Day at SCALE 10x
Xen Cloud Platform at Build a Cloud Day at SCALE 10x Xen Cloud Platform at Build a Cloud Day at SCALE 10x
Xen Cloud Platform at Build a Cloud Day at SCALE 10x
 
Multi criteria queries on a cassandra application
Multi criteria queries on a cassandra applicationMulti criteria queries on a cassandra application
Multi criteria queries on a cassandra application
 
Building Server-Side Eclipse based web applications 2010
Building Server-Side Eclipse based web applications 2010Building Server-Side Eclipse based web applications 2010
Building Server-Side Eclipse based web applications 2010
 
Membase Meetup Chicago - january 2011
Membase Meetup Chicago - january 2011Membase Meetup Chicago - january 2011
Membase Meetup Chicago - january 2011
 

En vedette

Nuxeo5 - Installation Simple
Nuxeo5 - Installation SimpleNuxeo5 - Installation Simple
Nuxeo5 - Installation Simple
PASCAL Jean Marie
 
Nuxeo 5 - Basic Installation
Nuxeo 5 - Basic InstallationNuxeo 5 - Basic Installation
Nuxeo 5 - Basic Installation
PASCAL Jean Marie
 
Nuxeo 5 Installation with Eclipse
Nuxeo 5 Installation with EclipseNuxeo 5 Installation with Eclipse
Nuxeo 5 Installation with Eclipse
PASCAL Jean Marie
 
DRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation NuxeoDRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation Nuxeo
PASCAL Jean Marie
 

En vedette (17)

Eficientizarea IT - Temperfield
Eficientizarea IT - TemperfieldEficientizarea IT - Temperfield
Eficientizarea IT - Temperfield
 
Everyday - mongodb
Everyday - mongodbEveryday - mongodb
Everyday - mongodb
 
Working with disconnected data in Windows Store apps
Working with disconnected data in Windows Store appsWorking with disconnected data in Windows Store apps
Working with disconnected data in Windows Store apps
 
OAuth 2.0
OAuth 2.0OAuth 2.0
OAuth 2.0
 
тезисы к докладу по электронной аутентификации в государственных системах
тезисы к докладу по электронной аутентификации в государственных системахтезисы к докладу по электронной аутентификации в государственных системах
тезисы к докладу по электронной аутентификации в государственных системах
 
Sso every where
Sso every whereSso every where
Sso every where
 
Nuxeo5 - Installation Simple
Nuxeo5 - Installation SimpleNuxeo5 - Installation Simple
Nuxeo5 - Installation Simple
 
Nuxeo 5 - Basic Installation
Nuxeo 5 - Basic InstallationNuxeo 5 - Basic Installation
Nuxeo 5 - Basic Installation
 
How Nuxeo uses the open-source continuous integration server Jenkins
How Nuxeo uses the open-source continuous integration server JenkinsHow Nuxeo uses the open-source continuous integration server Jenkins
How Nuxeo uses the open-source continuous integration server Jenkins
 
Nuxeo 5 Installation with Eclipse
Nuxeo 5 Installation with EclipseNuxeo 5 Installation with Eclipse
Nuxeo 5 Installation with Eclipse
 
Data Visualization & Content Analytics: Nuxeo Platform LTS 2015
Data Visualization & Content Analytics: Nuxeo Platform LTS 2015Data Visualization & Content Analytics: Nuxeo Platform LTS 2015
Data Visualization & Content Analytics: Nuxeo Platform LTS 2015
 
Nuxeo CMF, a framework for case centric applications
Nuxeo CMF, a framework for case centric applicationsNuxeo CMF, a framework for case centric applications
Nuxeo CMF, a framework for case centric applications
 
Nuxeo Business and Technical Roadmap - Dec 2007
Nuxeo Business and Technical Roadmap - Dec 2007Nuxeo Business and Technical Roadmap - Dec 2007
Nuxeo Business and Technical Roadmap - Dec 2007
 
DRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation NuxeoDRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation Nuxeo
 
[Webinar] Introduction to Workflow Design for the Nuxeo Platform
[Webinar] Introduction to Workflow Design for the Nuxeo Platform[Webinar] Introduction to Workflow Design for the Nuxeo Platform
[Webinar] Introduction to Workflow Design for the Nuxeo Platform
 
Nuxeo World Session: Case Management Framework
Nuxeo World Session: Case Management FrameworkNuxeo World Session: Case Management Framework
Nuxeo World Session: Case Management Framework
 
Nuxeo ECM - Architecture Overview - May 2008
Nuxeo ECM - Architecture Overview - May 2008Nuxeo ECM - Architecture Overview - May 2008
Nuxeo ECM - Architecture Overview - May 2008
 

Similaire à Nuxeo World Session: Nuxeo Distributions

Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011
Stefane Fermigier
 
Leveraging OSGi-based Architecture, GWT, and Eclipse to build a large ajax-ba...
Leveraging OSGi-based Architecture, GWT, and Eclipse to build a large ajax-ba...Leveraging OSGi-based Architecture, GWT, and Eclipse to build a large ajax-ba...
Leveraging OSGi-based Architecture, GWT, and Eclipse to build a large ajax-ba...
Nuxeo
 
Open stack meetup_boston_ubuntu_cloud
Open stack meetup_boston_ubuntu_cloudOpen stack meetup_boston_ubuntu_cloud
Open stack meetup_boston_ubuntu_cloud
Kamesh Pemmaraju
 
What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009
Stefane Fermigier
 
Slide deck roadmap webinar 2013
Slide deck   roadmap webinar 2013Slide deck   roadmap webinar 2013
Slide deck roadmap webinar 2013
Nuxeo
 

Similaire à Nuxeo World Session: Nuxeo Distributions (20)

Nuxeo Roadmap June 2012
Nuxeo Roadmap June 2012Nuxeo Roadmap June 2012
Nuxeo Roadmap June 2012
 
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011
 
Nuxeo World Session: Scaling Nuxeo Applications
Nuxeo World Session: Scaling Nuxeo ApplicationsNuxeo World Session: Scaling Nuxeo Applications
Nuxeo World Session: Scaling Nuxeo Applications
 
Mobile ECM: Using the Nuxeo Platform from mobile devices
Mobile ECM: Using the Nuxeo Platform from mobile devicesMobile ECM: Using the Nuxeo Platform from mobile devices
Mobile ECM: Using the Nuxeo Platform from mobile devices
 
Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011
 
Nuxeo platform in 15mn
Nuxeo platform in 15mnNuxeo platform in 15mn
Nuxeo platform in 15mn
 
Leveraging OSGi-based Architecture, GWT, and Eclipse to build a large ajax-ba...
Leveraging OSGi-based Architecture, GWT, and Eclipse to build a large ajax-ba...Leveraging OSGi-based Architecture, GWT, and Eclipse to build a large ajax-ba...
Leveraging OSGi-based Architecture, GWT, and Eclipse to build a large ajax-ba...
 
Open stack meetup_boston_ubuntu_cloud
Open stack meetup_boston_ubuntu_cloudOpen stack meetup_boston_ubuntu_cloud
Open stack meetup_boston_ubuntu_cloud
 
Nuxeo Roadmap 2008/06
Nuxeo Roadmap 2008/06Nuxeo Roadmap 2008/06
Nuxeo Roadmap 2008/06
 
Accelerate Development with NX Build System
Accelerate Development with NX Build SystemAccelerate Development with NX Build System
Accelerate Development with NX Build System
 
What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009
 
Exploring Next Generation Buildpacks - Anand Rao & Scott Deeg
Exploring Next Generation Buildpacks - Anand Rao & Scott DeegExploring Next Generation Buildpacks - Anand Rao & Scott Deeg
Exploring Next Generation Buildpacks - Anand Rao & Scott Deeg
 
Slide deck roadmap webinar 2013
Slide deck   roadmap webinar 2013Slide deck   roadmap webinar 2013
Slide deck roadmap webinar 2013
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Accelerate and unify network deployment with Puppet on Juniper
Accelerate and unify network deployment with Puppet on JuniperAccelerate and unify network deployment with Puppet on Juniper
Accelerate and unify network deployment with Puppet on Juniper
 
What’s new in Nuxeo 5.2?
What’s new in Nuxeo 5.2?What’s new in Nuxeo 5.2?
What’s new in Nuxeo 5.2?
 
My kubernetes toolkit
My kubernetes toolkitMy kubernetes toolkit
My kubernetes toolkit
 
Ad110 - Unleash the Power of Xpages
Ad110 - Unleash the Power of XpagesAd110 - Unleash the Power of Xpages
Ad110 - Unleash the Power of Xpages
 
Dynamic infrastructure for development
Dynamic infrastructure for developmentDynamic infrastructure for development
Dynamic infrastructure for development
 
Building Clouds One 1.4
Building Clouds One 1.4Building Clouds One 1.4
Building Clouds One 1.4
 

Plus de 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
 

Plus de 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
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 

Nuxeo World Session: Nuxeo Distributions

  • 1. Nuxeo Distributions What it is ? How to use the tools ? Julien Carsique / Thierry Delprat 1
  • 2. Agenda ● About Nuxeo Distributions ● Existing Nuxeo Distributions ● focus on CAP and Core Server ● Using Nuxeo Distributions and tools 2
  • 3. Nuxeo EP is a set of ECM building blocks (but software components, not wooden blocks!) 3
  • 4. that can be assembled to do this or that 4
  • 5. It's not so easy ● It is easy with wooden block ! … ● but with software components we need to ● manage components dependencies ● manage third party dependencies ● manage confguration ● manage packaging nuxeo Distribution 5
  • 6. Distributions and Nuxeo EP DM DAM CS CMF CAP Nuxeo EP Assemble, conf gure, package i Features UI frameworks Flex Flex Flex GWT Flex JSF Flex WebEngine Services Core 6
  • 7. What is a Distribution? ● a selection of features ● bundles and associated dependencies ● a selection of confguration templates ● a packaging model ● EAR / WAR / Embedded ● a deployment target ● JBoss, Tomcat, bare runtime (Jetty) 7
  • 8. Distribution generation steps Select bundles Get dependencies Get conf guration template i Packaging model Deployment target choice 8 Maven ZIP artifact Setup
  • 9. Building your distribution Custom UI Auth, Users ... Project specif c i EAR Custom types bundles Production Custom Services Conf g i Additional Core bundles Core bundles Nuxeo bundles Nuxeo bundles used by project Project Custom Distribution Featurebundles Core bundles Core bundles Tomcat Core bundles UI bundles Base Nuxeo Dev Core bundles Core bundles Servicebundles Distribution Conf g i Core bundles Core bundles Core bundles 9
  • 11. Existing distributions ● Functional ones ● Nuxeo DM ● Nuxeo DAM ● Nuxeo Correspondence ➔ Turn-key applications ● ready to run applications ● can be confgured via Studio 11
  • 12. Existing distributions ● Technical ones ● Nuxeo CAP : Content Application Platform ● Nuxeo CMF : Case Management Framework ● Nuxeo CS : Core Server ➔ Technical assemblies of Nuxeo bundles ● could be used as is ● can be confgured via Studio too ● designed to be used as a framework – a base infrastructure to build upon 12
  • 13. Nuxeo CAP ● CAP: Content Application Platform ● Repository (Nuxeo Core) ● Selection of Services and Features ● JSF and WebEngine infrastructure DAM DM CMF Additional Additional Additional Packages Packages Packages Nuxeo CAP 13
  • 14. Nuxeo CAP ● Is basically a Nuxeo DM Light ● same perimeter as DM 5.1 ● You have the same infrastructure, less ● Preview and Annotations ● A/V Media management ● Wiki, Blogs, WebSites ● OpenSocial integration and Dashboard ● Tags, Virtual Navigation and Faceted Search ● Mail folder 14
  • 15. Using Nuxeo CAP ● You may use CAP as a base distribution ● to avoid removing many packages from DM – build by addition rather than fltering ● to build a web application – but leverage the existing JSF Back Offce ● to have a very custom application – redefne completely JSF UI but reuse infrastructure (DAM distribution is a good example) 15
  • 16. Nuxeo CS ● Core Server : Nuxeo Content Server ● Content Repository (Nuxeo Core) ● small subset of services (Audit, Directories) ● WebEngine infrastructure ● WebService infrastructure ● Content Automation ● CMIS connector ➔ Light Nuxeo Server 16
  • 17. Using Nuxeo Core Server ● To have a pure Content Repository Server CMIS External SOAP Nuxeo Application Core Server Content Automation ● To have a webengine rendering server Viewers Viewers Contributors WebEngine JSF Front Off ce i Back Off ce i Nuxeo Nuxeo Nuxeo Core Server Core Server CAP 17 VCS Cluster
  • 18. Nuxeo Distributions Using Nuxeo Distributions and tools 18
  • 19. Principles ● Effciency and simplicity ● no need of source code ● reusable and easy to maintain ● Distribution results available ● as downloadable ZIP ● as Maven artifacts ● Build custom distribution ● use it for dev, testing and production (templates are used to manage confguration changes) 19
  • 20. Distribution tools ● Maven power (dependencies management) ● Use your project's POM to list main dependencies ● Less maintenance, more accuracy ● Ant power (multi-OS compliant scripting) ● Common Ant tasks and well-known syntax ● Maven-aware Ant tasks ● Nuxeo mixes best of both technologies ● Dedicated tasks for common use cases ● Produced distributions are Maven artifacts 20
  • 21. Distribution tools ● Tools ● org.apache.maven.plugins:maven-nuxeo-plugin ● org.nuxeo.build:nuxeo-distribution-tools ● org.nuxeo:nuxeo-qa-tools ● Usage ● As Maven plugins ● As standalone applications ● As resources for other Maven plugins ● Samples in Nuxeo source code ● Online documentation 21
  • 22. Distribution tools ● Templates system ● Easier development/maintenance – Inheritable and customizable – Resources factorization – Environment target (dev, preprod, prod, ...) ● Easier installation/administration – Pre-confgured templates – Manage confguration outside server directory – Quickly backup and upgrade ● Editable from the Nuxeo Admin Center 22
  • 23. Distribution tools ● Build your own distribution(s) ● Choose the distribution basis – Inherit its POM – Add your bundles – Create a custom assembly fle ● Create multiple templates for different targets – Pre-confgured templates are available as Maven artifacts – Add custom template resources ● Reuse distributions between projects 23
  • 24. Distribution tools Standard Maven plugin declaration: <build> <plugins> <plugin> <groupId>org.nuxeo.build</groupId> <artifactId>nuxeo-distribution-tools</artifactId> <configuration> <buildFiles> <buildFile>src/main/assemble/assembly.xml</buildFile> </buildFiles> </configuration> </plugin> </plugins> </build> 24
  • 25. Distribution tools Assembly file mixing Ant and Maven abilities: <target name="build" depends="init" description="..."> <echo>Building custom EAR...</echo> <artifact:nuxeo-expand /> <artifact:print output="dependency-tree.log" /> <mkdir dir="${nuxeo.ear}" /> <copy todir="${nuxeo.ear}/bundles" overwrite="true"> <artifact:set> <includes> <artifact groupId="com.myorg*" /> </includes> <excludes> <artifact artifactId="*-test" /> </excludes> </artifact:set> </copy> ... 25
  • 26. Distribution tools ... <copy todir="${nuxeo.ear}/lib" overwrite="true"> <artifact:set> <includes> <artifact groupId="!com.myorg*" /> </includes> <excludes> <artifact artifactId="gwt-dev" /> </excludes> </artifact:set> <artifact:resolveFile key="org.company:some-artifact" /> </copy> <nx:rmdups dir="${nuxeo.ear}/lib" /> <zip basedir="${nuxeo.ear}" destfile="....zip" /> <artifact:attach file="....zip" type="zip" classifier="dev" target="${maven.project.groupId}: ${maven.project.artifactId}" /> </target> 26
  • 27. Distribution tools Reuse other distributions as Maven artifacts: <unzip dest="${outdir}"> <artifact:resolveFile key="org.apache.tomcat: apache-tomcat:6.0.20:zip" /> <patternset> <exclude name="**/some/directory/**" /> </patternset> </unzip> <unzip dest="${tomcat}/templates" overwrite="true"> <artifact:resolveFile key="org.nuxeo.ecm.distribution: nuxeo-distribution-resources:${maven.project.version}:zip" classifier="templates-common" /> <artifact:resolveFile key="org.nuxeo.ecm.distribution: nuxeo-distribution-resources:${maven.project.version}:zip" classifier="templates-tomcat" /> </unzip> 27
  • 28. Useful links ● Distribution ● Documentation and samples: http://doc.nuxeo.com/display/NXDOC/Nuxeo+Distributions ● Contributing distributions: http://doc.nuxeo.com/display/CORG/Creating+distributions ● Templates ● Documentation: http://doc.nuxeo.com/display/NXDOC/Confguring+Nuxeo+EP 28