This document discusses Nuxeo distributions, which are pre-configured bundles of Nuxeo features that can be assembled and packaged in different ways. It describes existing Nuxeo distributions like CAP, DAM, and Core Server, which provide functionality or serve as frameworks. Tools are available for building custom distributions, including Maven plugins, Ant tasks, and templates to manage configurations. Distributions can be created by selecting bundles, dependencies, packaging, and deployment targets, and customizing existing distributions.
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
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