SlideShare une entreprise Scribd logo
1  sur  40
Nuxeo Technical Roadmap
from 5.6 to 6.0
Thierry Delprat

1
Ok, and now ?
●

How do we
implement all this?

●

What are the next technical evolutions?

●

What has been done so far?

2
Technical Agenda

Accessing
Nuxeo Services

What will your
Application look like

API

UI & UX

Factory

Scale

Building Applications
with Nuxeo Platform

Scale
to the Sky

3
API
Accessing Nuxeo Services

4
Platform & API
A good API is now more important than ever.
A good API is now more important than ever.
●

SaaS model requires API
●

●

Web frameworks rely on REST API
●

●

This is the main entry point for nuxeo.io

Html 5, Mobile Apps, Portals

SOA and loose coupling
●

WebServices, ESB, Auth

5
What is a good API?
●

API you can quickly understand
●

●

●

REST is a nice pattern
REST is a good fit for Nuxeo use cases

Consistency
●

●

Provide a consistent experience for the developers

Adapted to the real world
●

Provide concepts that match with current tools

●

Handle the complex use cases too

6
API and Nuxeo: Java API
Nuxeo Service A

Nuxeo Component
Plugin
Plugin
Plugin

Nuxeo Service B

Nuxeo Component
Plugin
Plugin
Plugin

Nuxeo Service C

Nuxeo Component
Plugin
Plugin
Plugin

Nuxeo Service D

Nuxeo Component
Plugin
Plugin
Plugin

7
API and Nuxeo: Operations
Operation A1
Operation A2
Operation ...
Operation B1

http

JAX-RS
Publisher
WebEngine
JAX-RS
(jersey)

Operation ...
Operation C1
Operation ...
Operation D1
Operation ...

Nuxeo Service A

Nuxeo Component
Plugin
Plugin
Plugin

Nuxeo Service B

Nuxeo Component
Plugin
Plugin
Plugin

Nuxeo Service C

Nuxeo Component
Plugin
Plugin
Plugin

Nuxeo Service D

Nuxeo Component
Plugin
Plugin
Plugin

8
API and Nuxeo: Chains
Chain 1
Chain 2

http

JAX-RS
Publisher
WebEngine
JAX-RS
(jersey)

Chain ...

Operation A1
Operation A2
Operation ...
Operation B1
Operation ...
Operation C1
Operation ...
Operation D1
Operation ...

Nuxeo Service A

Nuxeo Component
Plugin
Plugin
Plugin

Nuxeo Service B

Nuxeo Component
Plugin
Plugin
Plugin

Nuxeo Service C

Nuxeo Component
Plugin
Plugin
Plugin

Nuxeo Service D

Nuxeo Component
Plugin
Plugin
Plugin

9
API and Nuxeo: Operations and Chains
●

Command API
●
●

●

Easy to do RPC
Easy to integrate applications together

But not easy to use with client side MVC
●

Resource should be the document and not the operation

10
API and Nuxeo: Resources
Chain 1
Chain 2
Chain ...

Operation A1
Operation A2
Operation ...
Operation B1
Operation ...
Operation C1
Operation ...

http

Operation D1

JAX-RS
Publisher

Document

WebEngine

Task

JAX-RS
(jersey)

User
Workflow
Workflow
Directory

Operation ...

Nuxeo Service A

Nuxeo Component
Plugin
Plugin
Plugin

Nuxeo Service B

Nuxeo Component
Plugin
Plugin
Plugin

Nuxeo Service C

Nuxeo Component
Plugin
Plugin
Plugin

Nuxeo Service D

Nuxeo Component
Plugin
Plugin
Plugin

11
Automation new Endpoints
●

Expose new REST Endpoints
●

●

●

Documents, Directories, Users, Tasks, Workflows
exposed as REST resources
Pure GET / POST / PUT / DELETE bindings

Use Fragment model to expose all data in one call
●

Ensure efficiency in data retrieval :
ex : Document + links + Comments + tasks

●

●

Enable pluggability

Provide bridge with Command API
●

Reuse existing and custom Operations

12
Automation new Endpoints
  js  : nuxeo.doc(path).fetch()
  http: GET /nuxeo/api/path/{pathOfTheDoc}
  js  : nuxeo.doc(id).fetch()
  http: GET /nuxeo/api/id/{idOfTheDoc}
  js  : nuxeo.doc(id).update({...})
  http: POST /nuxeo/api/id/{idOfTheDoc}
     { "properties": {
             ...
             "dc:title": "The new title",
             ...
     }}

  Js  : nuxeo.doc(id).op({...})
  http: POST /nuxeo/api/id/{idOfTheDoc}/@op/{opId}
     { ...}

13
Automation Infrastructure
Fixing all known limitations of Command API
Fixing all known limitations of Command API
●

Marshalling improvements
–
–

●

simpler management of complex properties
allow for custom JSON marshalling / business objects

Extend Blob management
–
–

●

separate upload requests from processing requests
use Blobs as properties

Make API more consistent
–

Operation and Chain become the same

–

Parameters vs Context resolution

–

Paginable objects
14
Automation Infrastructure
Adapt infrastructure to complex and nested chains
Adapt infrastructure to complex and nested chains
●

Batch management and long running transactions
–
–

●

dedicated operations
new base classes for listeners or operations

Exception management
–

●

apply try/catch model to chains

Debugging
–
–

●

Throw clean Exception
Track operations and chain execution

Scripted Operations
–

Enable usage of restricted scripting
15
Automation Clients
●

Extend Java Nuxeo Client
●

●

Upload/Download manager

●

●

Multi-threading
REST client

Standardize nuxeo.js
●

JQuery / Angular, Node.js bindings

●

Standard TCK

●

Additional bindings on the way
●

Python (Drive), Php, Dart, .Net

●

iOS, Android
16
Interoperability
●

CMIS
●

●

Continue keeping the stack up to date

CXF
●

●

●

Migrated JAX-WS stack on the server side
Integrate JAX-RS REST client in Automation

OAuth2 integration
●

●

Make Nuxeo an OAuth2 Service Provider

●

●

OpenID integration
Integrate inside Automation Client

Mule ESB
●

Provide a Nuxeo Automation Connector
17
Configuration and Building Tools
Building Applications with Nuxeo Platform

18
Nuxeo Application Factory
●

Configuring the Platform :

Nuxeo Studio

for business users
●

Extending the Platform :

Nuxeo IDE & SDK

for Java developers
●

Building Web Apps :

Nuxeo AngularJS SDK

for Web developers
●

Building Mobile Apps :

Nuxeo Mobile SDK

for Android and iOS
developers
19
Configuring the Platform : Nuxeo Studio
More friendly with project lifecycle constraints
More friendly with project lifecycle constraints
●

Multi-users
–
–
–

●

Collaboration mode
Chat
Versioning and
branch management

Multi-Projects
–
–

Application templates
Dependency management

20
Configuring the Platform : Nuxeo Studio
Expose even more features to Studio configuration
Expose even more features to Studio configuration

●

Update Platform infrastructure to ensure configurability
–
–

●

More widgets, more layouts, more actions
Make all screens configurable

More workflow features
–

●

Sub workflow management

Studio Event Handlers
–

Give access to all Listener and Worker settings

–

Long running transaction management from within Studio

21
Extending the Platform : Java Dev
Continue lower learning curve
Continue lower learning curve
Shorten dev // test cycle
Shorten dev test cycle
Ensure compatibility with API and build system
Ensure compatibility with API and build system

Nuxeo Runtime : learn from Eclipse Apricot and OSGi
●

Migrate deployment-fragments
–

●

Provide one single deployment model
–

●

plain extension points + War resources

IDE vs Studio vs Standard

Hot-reload via component stop/start
–

use Runtime to manage dependency graph

22
Extending the Platform : Java Dev
Nuxeo Web Layer
●

Inject Nuxeo Services in View Controllers
–

Makes framework more consistent

–

Allows to track dependencies

Nuxeo IDE
●

Extend Nuxeo IDE Eclipse Plugin
–

Helpers : XML contribution helper, …

–

Studio integration :

–

Publish widget types, templates in Studio registries
● Allow sharing of registries among several IDE projects
QA : incremental « on the fly » testing
●

●

Continue to maintain IntelliJ plugin (we use it !)

Nuxeo Build
●

Migrate build to Maven 3
23
Build on the Platform : Web Developers
Lightweight development model
Lightweight development model
Target model
●

Define object model and business process via Studio

●

Nuxeo default UI for backoffice and management

●

Build custom web app using HTML5, JS and REST API

Tooling
●

AngularJS SDK
–
–

●

Automation Service bindings, Widget and Action directives
Yeoman coding workflow, Bower component packaging

Lightweight dev env, possibly side by side with Studio
–
–

●

Online IDE
Quick deployment model (like Studio Plugins)

Scripted sandboxed Operations
24
Build on the Platform : Mobile Dev
Target model
●

Define object model and business process via Studio

●

Nuxeo default UI for backoffice and management

●

Build custom mobile app on top of Nuxeo API

Tooling
●

Android and iOS SDK
–
–

UI building blocks and Layout binding

–
●

Automation Connector/ Sync with Offline support
Sample app

WebMobile SDK (based on Apache Cordova)
–
–

●

Align with AngularJS deployment model
Cordova plugin for iOS and Android connectors

Bridge Nuxeo Server with Push Platforms
25
Build on the Platform : Mobile Dev
iOS App

Mobile WebApp

Android App

Objective C

Html / JS

Java

Nuxeo iOS UI

Apache Cordova

Nuxeo Android UI

Automation
Connector

Offline Cache
Local store and Deferred update
Sync service
iOS

Automation
Connector

Android

Nuxeo
26
Deployment Architectures
Scale to the Sky

27
Nuxeo Deployment
●

Challenges
●

Huge repositories
100 000 000+ docs

●

Large cluster deployment
10+ nodes

●

Heavy transactions throughputs
100+ Tx/s

●

Heavy processing
Image processing, OCR processing …

●

Cloud deployment

28
Cluster Environment
Simplify and automate management of cluster environment
Simplify and automate management of cluster environment

●

Redis integration
–
–

Distributed event bus / invalidations

–

●

Distributed locking
Persistent and distributed Jobs/Works

Cluster Aware NuxeoCtl
–

Leverage Redis pubsub

–

Cluster deployment channel

29
Monitoring
Provide monitoring « off the shelf »
Provide monitoring « off the shelf »
●

Metrics + Graphite integration
–
–

●

Expose metrics on Nuxeo internals
Generate dashboards

Package monitoring solution
–
–

●

Reference setup
Online monitoring package

LogStash + Kibana
–

Collect and index logs

30
AWS and Nuxeo
Provide infrastructure for nuxeo.io
Provide infrastructure for nuxeo.io
●

Provide AMIs and reference architecture
–

●

Integrate with AWS tooling
–

●

ELB, CloudWatch, AutoScaling groups

Provisioning and management tools
–

●

Sizing, networking, security

Coupled with NuxeoCtl cluster tools

nuxeo.io provisioning portal

31
SuperSize my Repository
Open the door to « Big Content »
Open the door to « Big Content »
Multiple clients on the same big repository
Multiple clients on the same big repository
●

Data segregation
–

●

Cloud Storage
–

●

Quota and Multi-Tenant addons

Async Binary Manager for S3 (and similar providers)

Scaling
–

EhCache based VCS Cache manager

–

Distributed download manager

–

VCS de-normalization

–

NoSQL store + ElasticSearch index
32
UI & UX
What will your apps look like

33
Nuxeo Backoffice Web App
Extend and improve what we have
Extend and improve what we have
Ensure upward compatibility and smooth migration
Ensure upward compatibility and smooth migration

●

Improve infrastructure
–

Fix multi-tabs browsing
●
●
●

ViewState management
Automatic conversation management
Concurrency

–
–

●

Provide injection of NXRuntime Services
Lower controller scopes

Improve UI safety
–

Safe edit / Localstorage

–

Double click protection
34
Widget, Layout, ContentView
Make DAM/DM UI fully configurable in Studio
Make DAM/DM UI fully configurable in Studio
●

Extend Actions and Widgets system
–
–

●

Incremental Layout contributions
Automatically render actions according to type

Hybrid JS widgets
–

●

Select2 integration via JS and Automation

Continue work on ContentViews
–
–

●

Prev / Next navigation
Bulk operations

New Theme Manager
–

Use Layout system for page layout
35
Html5 / Javascript Web Apps
Build Html5 // JS Web Applications easily on top of Nuxeo API
Build Html5 JS Web Applications easily on top of Nuxeo API
●

HTML / JS App Factory
–
–

Packaging model

–

●

Online « Studio like » IDE
Deployment channel

AngularJS SDK
–
–

Nuxeo Directives : accessing Layout, Widgets, Actions

–

●

Nuxeo Angular Services : wrapping Automation client
Sample / Demo WebApp

Theme Manager
–

Integrate standard CSS frameworks

–

Responsive design
36
Global Timeline
●

Nuxeo 5.8 – 28th October
●

Automation
–

Automation API improvements

–

New REST API and nuxeo.js client as addon (beta)

●

Workflow delegation and escalation

●

Infrastructure
–
–

Metrics + Graphite integration

–
●

Redis integration and new Work Manager
EhCache integration

UI
–

Seam / JSF improvements

–

Select2 integration

–

SafeEdit

–

AngularJS demo App
37
Global Timeline
●

Nuxeo 5.9.1 - December 2013

●

Nuxeo 5.9.4 -

●

●

●

●

full REST API & clients
iOS connector

●

Nuxeo 5.9.2 -

End January 2014
●

●

REST API GA & clients
●

●

●

●

AngularJS SDK & samples
Studio Templates

Nuxeo 5.9.3 -

NoSQL DataStore
Bulk edit / Collection
management
Html / JS IDE

Nuxeo 5.9.5 –

End Jun 2014

●

March 2014

nuxeo.io service (beta)

●

new Mobile SDK & sample

●

Drive + LiveEdit

Studio branching

Nuxeo 5.9.6 –
●

Nuxeo Runtime changes

●

Theme manager

●

●
●

May 2014

●

Social / DM merge

Nuxeo 5.9.7 –
●

Mid August 2014

Octobre 2014

Nuxeo new UI

38
Nuxeo 6.0
see you next year !

39
Thank you!

40

Contenu connexe

Tendances

Experiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamBrian Benz
 
Dot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentalsDot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentalsLalit Kale
 
Putting The 'M' In MBaaS—Red Hat Mobile Client Development Platform (Jay Balu...
Putting The 'M' In MBaaS—Red Hat Mobile Client Development Platform (Jay Balu...Putting The 'M' In MBaaS—Red Hat Mobile Client Development Platform (Jay Balu...
Putting The 'M' In MBaaS—Red Hat Mobile Client Development Platform (Jay Balu...Red Hat Developers
 
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)Jeff Chu
 
Container on azure
Container on azureContainer on azure
Container on azureVishwas N
 
Apache Continuum Build, Test, and Release
Apache Continuum Build, Test, and ReleaseApache Continuum Build, Test, and Release
Apache Continuum Build, Test, and Releaseelliando dias
 
Building .NET Microservices
Building .NET MicroservicesBuilding .NET Microservices
Building .NET MicroservicesVMware Tanzu
 
Office 365 : un déploiement "Fast & simple"
Office 365 : un déploiement "Fast & simple"Office 365 : un déploiement "Fast & simple"
Office 365 : un déploiement "Fast & simple"Microsoft Technet France
 
Unpacking .NET Core | EastBanc Technologies
Unpacking .NET Core | EastBanc TechnologiesUnpacking .NET Core | EastBanc Technologies
Unpacking .NET Core | EastBanc TechnologiesEastBanc Tachnologies
 
Java in the Cloud : PaaS Platforms in Comparison
Java in the Cloud : PaaS Platforms in Comparison Java in the Cloud : PaaS Platforms in Comparison
Java in the Cloud : PaaS Platforms in Comparison Eberhard Wolff
 
Drupal 8 Lessons From the Field: What is Continuous Delivery and Why it’s imp...
Drupal 8 Lessons From the Field: What is Continuous Delivery and Why it’s imp...Drupal 8 Lessons From the Field: What is Continuous Delivery and Why it’s imp...
Drupal 8 Lessons From the Field: What is Continuous Delivery and Why it’s imp...Acquia
 
Custom Runtimes for the Cloud
Custom Runtimes for the CloudCustom Runtimes for the Cloud
Custom Runtimes for the CloudCloudBees
 
OSH01 - Developing SharePoint Framework Solutions for the Enterprise
OSH01 - Developing SharePoint Framework Solutions for the EnterpriseOSH01 - Developing SharePoint Framework Solutions for the Enterprise
OSH01 - Developing SharePoint Framework Solutions for the EnterpriseEric Shupps
 

Tendances (20)

Experiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure team
 
Dot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentalsDot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentals
 
Putting The 'M' In MBaaS—Red Hat Mobile Client Development Platform (Jay Balu...
Putting The 'M' In MBaaS—Red Hat Mobile Client Development Platform (Jay Balu...Putting The 'M' In MBaaS—Red Hat Mobile Client Development Platform (Jay Balu...
Putting The 'M' In MBaaS—Red Hat Mobile Client Development Platform (Jay Balu...
 
Exchange 2010 SP2 & Tips
Exchange 2010 SP2 & TipsExchange 2010 SP2 & Tips
Exchange 2010 SP2 & Tips
 
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
 
Container on azure
Container on azureContainer on azure
Container on azure
 
Apache Continuum Build, Test, and Release
Apache Continuum Build, Test, and ReleaseApache Continuum Build, Test, and Release
Apache Continuum Build, Test, and Release
 
Mini-Training Owin Katana
Mini-Training Owin KatanaMini-Training Owin Katana
Mini-Training Owin Katana
 
JavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško Vukmanović
JavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško VukmanovićJavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško Vukmanović
JavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško Vukmanović
 
Building .NET Microservices
Building .NET MicroservicesBuilding .NET Microservices
Building .NET Microservices
 
Office 365 : un déploiement "Fast & simple"
Office 365 : un déploiement "Fast & simple"Office 365 : un déploiement "Fast & simple"
Office 365 : un déploiement "Fast & simple"
 
LoopbackJS the intro
LoopbackJS the introLoopbackJS the intro
LoopbackJS the intro
 
Unpacking .NET Core | EastBanc Technologies
Unpacking .NET Core | EastBanc TechnologiesUnpacking .NET Core | EastBanc Technologies
Unpacking .NET Core | EastBanc Technologies
 
Java in the Cloud : PaaS Platforms in Comparison
Java in the Cloud : PaaS Platforms in Comparison Java in the Cloud : PaaS Platforms in Comparison
Java in the Cloud : PaaS Platforms in Comparison
 
Drupal 8 Lessons From the Field: What is Continuous Delivery and Why it’s imp...
Drupal 8 Lessons From the Field: What is Continuous Delivery and Why it’s imp...Drupal 8 Lessons From the Field: What is Continuous Delivery and Why it’s imp...
Drupal 8 Lessons From the Field: What is Continuous Delivery and Why it’s imp...
 
Custom Runtimes for the Cloud
Custom Runtimes for the CloudCustom Runtimes for the Cloud
Custom Runtimes for the Cloud
 
OSH01 - Developing SharePoint Framework Solutions for the Enterprise
OSH01 - Developing SharePoint Framework Solutions for the EnterpriseOSH01 - Developing SharePoint Framework Solutions for the Enterprise
OSH01 - Developing SharePoint Framework Solutions for the Enterprise
 
ASP.NET: Present and future
ASP.NET: Present and futureASP.NET: Present and future
ASP.NET: Present and future
 
Cnam cours azure iaas
Cnam cours azure iaasCnam cours azure iaas
Cnam cours azure iaas
 
Auto Retweets Using AWS Lambda
Auto Retweets Using AWS LambdaAuto Retweets Using AWS Lambda
Auto Retweets Using AWS Lambda
 

Similaire à [Nuxeo World 2013] Roadmap 2014 - Technical Part

Nuxeo Platform LTS 2016 - Roadmap
Nuxeo Platform LTS 2016 - RoadmapNuxeo Platform LTS 2016 - Roadmap
Nuxeo Platform LTS 2016 - RoadmapNuxeo
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Microsoft
 
Nuxeo Roadmap June 2012
Nuxeo Roadmap June 2012Nuxeo Roadmap June 2012
Nuxeo Roadmap June 2012Nuxeo
 
[Webinar] Building a Front-end for the Nuxeo Platform with AngularJS
[Webinar] Building a Front-end for the Nuxeo Platform with AngularJS[Webinar] Building a Front-end for the Nuxeo Platform with AngularJS
[Webinar] Building a Front-end for the Nuxeo Platform with AngularJSNuxeo
 
Polymer / WebComponents
Polymer / WebComponentsPolymer / WebComponents
Polymer / WebComponentsArnaud Kervern
 
Introducing amplify and full stack demo app built with vue.js, graph ql, auth...
Introducing amplify and full stack demo app built with vue.js, graph ql, auth...Introducing amplify and full stack demo app built with vue.js, graph ql, auth...
Introducing amplify and full stack demo app built with vue.js, graph ql, auth...Serdal Kepil
 
Découvrez Nuxeo Studio
Découvrez Nuxeo StudioDécouvrez Nuxeo Studio
Découvrez Nuxeo StudioNuxeo
 
44779e8c 5b7c-0010-82c7-eda71af511fa
44779e8c 5b7c-0010-82c7-eda71af511fa44779e8c 5b7c-0010-82c7-eda71af511fa
44779e8c 5b7c-0010-82c7-eda71af511faNagendra Babu
 
Vuejs and Web components - current state
Vuejs and Web components - current stateVuejs and Web components - current state
Vuejs and Web components - current stateMikhail Kuznetcov
 
ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 VueJS cod...
ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 VueJS cod...ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 VueJS cod...
ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 VueJS cod...Gavin Pickin
 
Introduction to Codenvy / JugSummerCamp 2014
Introduction to Codenvy / JugSummerCamp 2014Introduction to Codenvy / JugSummerCamp 2014
Introduction to Codenvy / JugSummerCamp 2014Florent BENOIT
 
From React to React Native - Things I wish I knew when I started
From React to React Native - Things I wish I knew when I startedFrom React to React Native - Things I wish I knew when I started
From React to React Native - Things I wish I knew when I startedsparkfabrik
 
ITB2019 ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 V...
ITB2019 ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 V...ITB2019 ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 V...
ITB2019 ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 V...Ortus Solutions, Corp
 
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speechVue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speechDivante
 
20180518 QNAP Seminar - Introduction to React Native
20180518 QNAP Seminar - Introduction to React Native20180518 QNAP Seminar - Introduction to React Native
20180518 QNAP Seminar - Introduction to React NativeEric Deng
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Osconvijayrvr
 
Is Vue catching up with React.pdf
Is Vue catching up with React.pdfIs Vue catching up with React.pdf
Is Vue catching up with React.pdfMindfire LLC
 
Akshay_Paliwal_Lead_Developer
Akshay_Paliwal_Lead_DeveloperAkshay_Paliwal_Lead_Developer
Akshay_Paliwal_Lead_Developerakshaypaliwal23
 

Similaire à [Nuxeo World 2013] Roadmap 2014 - Technical Part (20)

Nuxeo Platform LTS 2016 - Roadmap
Nuxeo Platform LTS 2016 - RoadmapNuxeo Platform LTS 2016 - Roadmap
Nuxeo Platform LTS 2016 - Roadmap
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015
 
Nuxeo Roadmap June 2012
Nuxeo Roadmap June 2012Nuxeo Roadmap June 2012
Nuxeo Roadmap June 2012
 
[Webinar] Building a Front-end for the Nuxeo Platform with AngularJS
[Webinar] Building a Front-end for the Nuxeo Platform with AngularJS[Webinar] Building a Front-end for the Nuxeo Platform with AngularJS
[Webinar] Building a Front-end for the Nuxeo Platform with AngularJS
 
Polymer / WebComponents
Polymer / WebComponentsPolymer / WebComponents
Polymer / WebComponents
 
Introducing amplify and full stack demo app built with vue.js, graph ql, auth...
Introducing amplify and full stack demo app built with vue.js, graph ql, auth...Introducing amplify and full stack demo app built with vue.js, graph ql, auth...
Introducing amplify and full stack demo app built with vue.js, graph ql, auth...
 
Mahesh_Dimble
Mahesh_DimbleMahesh_Dimble
Mahesh_Dimble
 
Chinnasamy Manickam
Chinnasamy ManickamChinnasamy Manickam
Chinnasamy Manickam
 
Découvrez Nuxeo Studio
Découvrez Nuxeo StudioDécouvrez Nuxeo Studio
Découvrez Nuxeo Studio
 
44779e8c 5b7c-0010-82c7-eda71af511fa
44779e8c 5b7c-0010-82c7-eda71af511fa44779e8c 5b7c-0010-82c7-eda71af511fa
44779e8c 5b7c-0010-82c7-eda71af511fa
 
Vuejs and Web components - current state
Vuejs and Web components - current stateVuejs and Web components - current state
Vuejs and Web components - current state
 
ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 VueJS cod...
ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 VueJS cod...ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 VueJS cod...
ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 VueJS cod...
 
Introduction to Codenvy / JugSummerCamp 2014
Introduction to Codenvy / JugSummerCamp 2014Introduction to Codenvy / JugSummerCamp 2014
Introduction to Codenvy / JugSummerCamp 2014
 
From React to React Native - Things I wish I knew when I started
From React to React Native - Things I wish I knew when I startedFrom React to React Native - Things I wish I knew when I started
From React to React Native - Things I wish I knew when I started
 
ITB2019 ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 V...
ITB2019 ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 V...ITB2019 ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 V...
ITB2019 ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 V...
 
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speechVue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
 
20180518 QNAP Seminar - Introduction to React Native
20180518 QNAP Seminar - Introduction to React Native20180518 QNAP Seminar - Introduction to React Native
20180518 QNAP Seminar - Introduction to React Native
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Oscon
 
Is Vue catching up with React.pdf
Is Vue catching up with React.pdfIs Vue catching up with React.pdf
Is Vue catching up with React.pdf
 
Akshay_Paliwal_Lead_Developer
Akshay_Paliwal_Lead_DeveloperAkshay_Paliwal_Lead_Developer
Akshay_Paliwal_Lead_Developer
 

Plus de 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 CompaniesNuxeo
 
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 FutureNuxeo
 
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 PandemicNuxeo
 
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 NuxeoNuxeo
 
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 SupportNuxeo
 
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 ContinuumNuxeo
 
Customer Experience in 2021
Customer Experience in 2021Customer Experience in 2021
Customer Experience in 2021Nuxeo
 
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 innovanteNuxeo
 
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 NuxeoNuxeo
 
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'évaluationNuxeo
 
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 CompetitionNuxeo
 
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 DAMNuxeo
 
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 BeyondNuxeo
 
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 DAMNuxeo
 
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 TechnologiesNuxeo
 
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 administratifsNuxeo
 
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 IntelligenceNuxeo
 

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

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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...Martijn de Jong
 
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.pdfsudhanshuwaghmare1
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 

Dernier (20)

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

[Nuxeo World 2013] Roadmap 2014 - Technical Part

  • 1. Nuxeo Technical Roadmap from 5.6 to 6.0 Thierry Delprat 1
  • 2. Ok, and now ? ● How do we implement all this? ● What are the next technical evolutions? ● What has been done so far? 2
  • 3. Technical Agenda Accessing Nuxeo Services What will your Application look like API UI & UX Factory Scale Building Applications with Nuxeo Platform Scale to the Sky 3
  • 5. Platform & API A good API is now more important than ever. A good API is now more important than ever. ● SaaS model requires API ● ● Web frameworks rely on REST API ● ● This is the main entry point for nuxeo.io Html 5, Mobile Apps, Portals SOA and loose coupling ● WebServices, ESB, Auth 5
  • 6. What is a good API? ● API you can quickly understand ● ● ● REST is a nice pattern REST is a good fit for Nuxeo use cases Consistency ● ● Provide a consistent experience for the developers Adapted to the real world ● Provide concepts that match with current tools ● Handle the complex use cases too 6
  • 7. API and Nuxeo: Java API Nuxeo Service A Nuxeo Component Plugin Plugin Plugin Nuxeo Service B Nuxeo Component Plugin Plugin Plugin Nuxeo Service C Nuxeo Component Plugin Plugin Plugin Nuxeo Service D Nuxeo Component Plugin Plugin Plugin 7
  • 8. API and Nuxeo: Operations Operation A1 Operation A2 Operation ... Operation B1 http JAX-RS Publisher WebEngine JAX-RS (jersey) Operation ... Operation C1 Operation ... Operation D1 Operation ... Nuxeo Service A Nuxeo Component Plugin Plugin Plugin Nuxeo Service B Nuxeo Component Plugin Plugin Plugin Nuxeo Service C Nuxeo Component Plugin Plugin Plugin Nuxeo Service D Nuxeo Component Plugin Plugin Plugin 8
  • 9. API and Nuxeo: Chains Chain 1 Chain 2 http JAX-RS Publisher WebEngine JAX-RS (jersey) Chain ... Operation A1 Operation A2 Operation ... Operation B1 Operation ... Operation C1 Operation ... Operation D1 Operation ... Nuxeo Service A Nuxeo Component Plugin Plugin Plugin Nuxeo Service B Nuxeo Component Plugin Plugin Plugin Nuxeo Service C Nuxeo Component Plugin Plugin Plugin Nuxeo Service D Nuxeo Component Plugin Plugin Plugin 9
  • 10. API and Nuxeo: Operations and Chains ● Command API ● ● ● Easy to do RPC Easy to integrate applications together But not easy to use with client side MVC ● Resource should be the document and not the operation 10
  • 11. API and Nuxeo: Resources Chain 1 Chain 2 Chain ... Operation A1 Operation A2 Operation ... Operation B1 Operation ... Operation C1 Operation ... http Operation D1 JAX-RS Publisher Document WebEngine Task JAX-RS (jersey) User Workflow Workflow Directory Operation ... Nuxeo Service A Nuxeo Component Plugin Plugin Plugin Nuxeo Service B Nuxeo Component Plugin Plugin Plugin Nuxeo Service C Nuxeo Component Plugin Plugin Plugin Nuxeo Service D Nuxeo Component Plugin Plugin Plugin 11
  • 12. Automation new Endpoints ● Expose new REST Endpoints ● ● ● Documents, Directories, Users, Tasks, Workflows exposed as REST resources Pure GET / POST / PUT / DELETE bindings Use Fragment model to expose all data in one call ● Ensure efficiency in data retrieval : ex : Document + links + Comments + tasks ● ● Enable pluggability Provide bridge with Command API ● Reuse existing and custom Operations 12
  • 14. Automation Infrastructure Fixing all known limitations of Command API Fixing all known limitations of Command API ● Marshalling improvements – – ● simpler management of complex properties allow for custom JSON marshalling / business objects Extend Blob management – – ● separate upload requests from processing requests use Blobs as properties Make API more consistent – Operation and Chain become the same – Parameters vs Context resolution – Paginable objects 14
  • 15. Automation Infrastructure Adapt infrastructure to complex and nested chains Adapt infrastructure to complex and nested chains ● Batch management and long running transactions – – ● dedicated operations new base classes for listeners or operations Exception management – ● apply try/catch model to chains Debugging – – ● Throw clean Exception Track operations and chain execution Scripted Operations – Enable usage of restricted scripting 15
  • 16. Automation Clients ● Extend Java Nuxeo Client ● ● Upload/Download manager ● ● Multi-threading REST client Standardize nuxeo.js ● JQuery / Angular, Node.js bindings ● Standard TCK ● Additional bindings on the way ● Python (Drive), Php, Dart, .Net ● iOS, Android 16
  • 17. Interoperability ● CMIS ● ● Continue keeping the stack up to date CXF ● ● ● Migrated JAX-WS stack on the server side Integrate JAX-RS REST client in Automation OAuth2 integration ● ● Make Nuxeo an OAuth2 Service Provider ● ● OpenID integration Integrate inside Automation Client Mule ESB ● Provide a Nuxeo Automation Connector 17
  • 18. Configuration and Building Tools Building Applications with Nuxeo Platform 18
  • 19. Nuxeo Application Factory ● Configuring the Platform : Nuxeo Studio for business users ● Extending the Platform : Nuxeo IDE & SDK for Java developers ● Building Web Apps : Nuxeo AngularJS SDK for Web developers ● Building Mobile Apps : Nuxeo Mobile SDK for Android and iOS developers 19
  • 20. Configuring the Platform : Nuxeo Studio More friendly with project lifecycle constraints More friendly with project lifecycle constraints ● Multi-users – – – ● Collaboration mode Chat Versioning and branch management Multi-Projects – – Application templates Dependency management 20
  • 21. Configuring the Platform : Nuxeo Studio Expose even more features to Studio configuration Expose even more features to Studio configuration ● Update Platform infrastructure to ensure configurability – – ● More widgets, more layouts, more actions Make all screens configurable More workflow features – ● Sub workflow management Studio Event Handlers – Give access to all Listener and Worker settings – Long running transaction management from within Studio 21
  • 22. Extending the Platform : Java Dev Continue lower learning curve Continue lower learning curve Shorten dev // test cycle Shorten dev test cycle Ensure compatibility with API and build system Ensure compatibility with API and build system Nuxeo Runtime : learn from Eclipse Apricot and OSGi ● Migrate deployment-fragments – ● Provide one single deployment model – ● plain extension points + War resources IDE vs Studio vs Standard Hot-reload via component stop/start – use Runtime to manage dependency graph 22
  • 23. Extending the Platform : Java Dev Nuxeo Web Layer ● Inject Nuxeo Services in View Controllers – Makes framework more consistent – Allows to track dependencies Nuxeo IDE ● Extend Nuxeo IDE Eclipse Plugin – Helpers : XML contribution helper, … – Studio integration : – Publish widget types, templates in Studio registries ● Allow sharing of registries among several IDE projects QA : incremental « on the fly » testing ● ● Continue to maintain IntelliJ plugin (we use it !) Nuxeo Build ● Migrate build to Maven 3 23
  • 24. Build on the Platform : Web Developers Lightweight development model Lightweight development model Target model ● Define object model and business process via Studio ● Nuxeo default UI for backoffice and management ● Build custom web app using HTML5, JS and REST API Tooling ● AngularJS SDK – – ● Automation Service bindings, Widget and Action directives Yeoman coding workflow, Bower component packaging Lightweight dev env, possibly side by side with Studio – – ● Online IDE Quick deployment model (like Studio Plugins) Scripted sandboxed Operations 24
  • 25. Build on the Platform : Mobile Dev Target model ● Define object model and business process via Studio ● Nuxeo default UI for backoffice and management ● Build custom mobile app on top of Nuxeo API Tooling ● Android and iOS SDK – – UI building blocks and Layout binding – ● Automation Connector/ Sync with Offline support Sample app WebMobile SDK (based on Apache Cordova) – – ● Align with AngularJS deployment model Cordova plugin for iOS and Android connectors Bridge Nuxeo Server with Push Platforms 25
  • 26. Build on the Platform : Mobile Dev iOS App Mobile WebApp Android App Objective C Html / JS Java Nuxeo iOS UI Apache Cordova Nuxeo Android UI Automation Connector Offline Cache Local store and Deferred update Sync service iOS Automation Connector Android Nuxeo 26
  • 28. Nuxeo Deployment ● Challenges ● Huge repositories 100 000 000+ docs ● Large cluster deployment 10+ nodes ● Heavy transactions throughputs 100+ Tx/s ● Heavy processing Image processing, OCR processing … ● Cloud deployment 28
  • 29. Cluster Environment Simplify and automate management of cluster environment Simplify and automate management of cluster environment ● Redis integration – – Distributed event bus / invalidations – ● Distributed locking Persistent and distributed Jobs/Works Cluster Aware NuxeoCtl – Leverage Redis pubsub – Cluster deployment channel 29
  • 30. Monitoring Provide monitoring « off the shelf » Provide monitoring « off the shelf » ● Metrics + Graphite integration – – ● Expose metrics on Nuxeo internals Generate dashboards Package monitoring solution – – ● Reference setup Online monitoring package LogStash + Kibana – Collect and index logs 30
  • 31. AWS and Nuxeo Provide infrastructure for nuxeo.io Provide infrastructure for nuxeo.io ● Provide AMIs and reference architecture – ● Integrate with AWS tooling – ● ELB, CloudWatch, AutoScaling groups Provisioning and management tools – ● Sizing, networking, security Coupled with NuxeoCtl cluster tools nuxeo.io provisioning portal 31
  • 32. SuperSize my Repository Open the door to « Big Content » Open the door to « Big Content » Multiple clients on the same big repository Multiple clients on the same big repository ● Data segregation – ● Cloud Storage – ● Quota and Multi-Tenant addons Async Binary Manager for S3 (and similar providers) Scaling – EhCache based VCS Cache manager – Distributed download manager – VCS de-normalization – NoSQL store + ElasticSearch index 32
  • 33. UI & UX What will your apps look like 33
  • 34. Nuxeo Backoffice Web App Extend and improve what we have Extend and improve what we have Ensure upward compatibility and smooth migration Ensure upward compatibility and smooth migration ● Improve infrastructure – Fix multi-tabs browsing ● ● ● ViewState management Automatic conversation management Concurrency – – ● Provide injection of NXRuntime Services Lower controller scopes Improve UI safety – Safe edit / Localstorage – Double click protection 34
  • 35. Widget, Layout, ContentView Make DAM/DM UI fully configurable in Studio Make DAM/DM UI fully configurable in Studio ● Extend Actions and Widgets system – – ● Incremental Layout contributions Automatically render actions according to type Hybrid JS widgets – ● Select2 integration via JS and Automation Continue work on ContentViews – – ● Prev / Next navigation Bulk operations New Theme Manager – Use Layout system for page layout 35
  • 36. Html5 / Javascript Web Apps Build Html5 // JS Web Applications easily on top of Nuxeo API Build Html5 JS Web Applications easily on top of Nuxeo API ● HTML / JS App Factory – – Packaging model – ● Online « Studio like » IDE Deployment channel AngularJS SDK – – Nuxeo Directives : accessing Layout, Widgets, Actions – ● Nuxeo Angular Services : wrapping Automation client Sample / Demo WebApp Theme Manager – Integrate standard CSS frameworks – Responsive design 36
  • 37. Global Timeline ● Nuxeo 5.8 – 28th October ● Automation – Automation API improvements – New REST API and nuxeo.js client as addon (beta) ● Workflow delegation and escalation ● Infrastructure – – Metrics + Graphite integration – ● Redis integration and new Work Manager EhCache integration UI – Seam / JSF improvements – Select2 integration – SafeEdit – AngularJS demo App 37
  • 38. Global Timeline ● Nuxeo 5.9.1 - December 2013 ● Nuxeo 5.9.4 - ● ● ● ● full REST API & clients iOS connector ● Nuxeo 5.9.2 - End January 2014 ● ● REST API GA & clients ● ● ● ● AngularJS SDK & samples Studio Templates Nuxeo 5.9.3 - NoSQL DataStore Bulk edit / Collection management Html / JS IDE Nuxeo 5.9.5 – End Jun 2014 ● March 2014 nuxeo.io service (beta) ● new Mobile SDK & sample ● Drive + LiveEdit Studio branching Nuxeo 5.9.6 – ● Nuxeo Runtime changes ● Theme manager ● ● ● May 2014 ● Social / DM merge Nuxeo 5.9.7 – ● Mid August 2014 Octobre 2014 Nuxeo new UI 38
  • 39. Nuxeo 6.0 see you next year ! 39