Nuxeo 2015 Roadmap
about technical evolutions
Document Repository
Evolutions at the Core level
Goals
- Push more logic inside the repository
-
Better management through REST APIs
-
Better management through REST APIs
- More control over Blob management
- Integration with Cloud File Services
Adapt Nuxeo Core to new usages !
Field Contraints
- Let express constraints at field level (XSD)
- Link to Directory entry
- Relation to a Document
- Link to a User or Group
-
Don't rely on widget binding
-
REST API access enforce constraints
- Create/Update
-
REST API can resolve references
- Read
BlobManager
- Extend Blob attributes
- renditions, conversions, thumbs, urls
- Extract High Level Interface for BlobManager
- can take storage decision based on Document attributes
- Make Blob download process pluggable
-
Can have more custom BlobStores
-
Leverage CDN (ex : S3 + CloudFront)
-
Can take advantage of Google Drive or One Drive
- additional meta-data
- online editors
Document Based Storage
- Continue tuning on DBS engine
- distributed caching
- recursive processing
- Add more backends
- PostgreSQL + JSON
- AWS DynamoDB ?
- Cassandra ?
- ElasticSearch ?
- Scale to several Billions documents in one repository !
Platform Infrastructure
About platform wide infrastructure changes
Goals
-
Make all components Cloud Scale ready
- Distributed architecture
- Scale out
- Robustness
Actually, Nuxeo Plaform
already scales out very well :
but we have plans to make it even better !
Operations on large tree
- Framework for recursive processing in the WorkManager
- ACLs computation
- Meta-data denormalization
- Quota computation
- Recursive deletes
- Leverage storage backend features when available
- Global transient state manager
More REDIS
-
Transient state manager
- global shared about what objects are being processed
-
better handling of dirty updates
- Continue integrating Redis as a Distributed Cache
- VCS/DBS Cache
- Cluster invalidations
- Distributed Lock Manager
Multi-nodes management
-
NuxeoClusterCtl
-
Automate Marketplace package deployment
- Rolling upgrade
-
-
Cluster Management Screens
- Unified Cluster Wide Admin Center
Leverage the work done for nuxeo.io -
embed inside the default platform
Online Services & Connectors
Nuxeo Cloud & nuxeo.io
Goals
- Provide more online services
- services we host for you
- services we proxy for you
- Provide a complete Software Factory in SaaS
Leverage Cloud opportunities
Build your application for the Cloud in the Cloud
Nuxeo Service HUB
- Use Nuxeo.io / Connect as a gateway
- Handles Authentication propagation
- Handles visibility issues
- Built-in integration with NuxeoPlatform
Nuxeo Services
-
Nuxeo IDM
- Authentication bridge for 3rd party IDM
-
Manage and provision users
-
Nuxeo Transform (transform.nuxeo.io)
- conversions and preview services
- Easily manage and provision your users
- Provide easy integration with IDM and MFA
- Quality transform and preview without complex setup
- Easy and transparent Scale Out
Connectors / Proxied Services
- Notifications and Push
- AWS SNS
- Monitoring
- DataDog
-
Mule ESB / CloudHub
- continue work
-
IDM
- SAML / SCIM
- Okta, PingIdentity, OneLogin ...
-
SalesForce.com
- Activity / Directories
Nuxeo.io
-
nuxeo.io infrastructure work
- Extend deployment options
- Cluster, Elasticsearch, Redis
- Wider selection of packages
- Centralized log management
- Extend deployment options
- Integration of Nuxeo Services
- IDM
- transformation
- monitoring
- Integration with the Software Factory
- nuxeo.io is the final step of the Software Factory !
Software Factory
SOFTWARE FACTORY
Nuxeo Studio
Codeenvy
forge.nuxeo.io
nuxeo.io
UI and CLIENT SDK
WebApps for every devices
Goals
- Provide tools for modern Web Apps
- Html5, JavaScript, Web Components
- Mobile devices
- Leverage the existing infrastructure
- Actions, Layout, Studio configuration
- Actions, Layout, Studio configuration
- Provide a nice migration path
bleeding edge technologies yet smooth migration
WebComponents and EcmaScript 6
- WebComponent is a great standard
- Clean Web development
- Modularity and Encapsulation
- ECMAScript 6 may finally provide a clean solution
- Modularity and OOP
-
Toward a clean and sustainable Web development !
- Also need a solution for now !
Polymer, Tracer & Angular
-
Polymer
- A nice Component model on top of WebComponents
-
Polyfills
- A WebComponents "emulation" for current browsers
-
Tracer
- A way to write ES6 yet run it on current browsers
-
Angular 2
- A Web Framework that can integrate WebComponents
-
Leverage the work done on
Polymer, AngularJS and AngularDart
About Nuxeo Framework
-
Continue working on Polymer and Web Components
- provide a Nuxeo Component set (Nuxeo Elements)
-
integrate with Component Designer
- Nuxeo BackOffice UI
- Continue improve and optimize the JSF2 stack
- Finish NXTheme removal
- Streamline JavaScript integration
- integrate Polymer fragment inside Nuxeo default UI
-
leverage Layout and Action systems to assemble fragments
-
leverage Layout and Action systems to assemble fragments
- Upgrade AngularSDK/Samples to Angular 2
- ECMAScript 6
- Web Component integration
Coding tool
Helping you building your application
Goals
- Make advanced Nuxeo configuration easier
- Give more power to Studio users
- Help developers getting started with coding
- Give access to most recent Web Technologies
- without breaking existing applications
make extensions easier to build
{CODE}
Automation Scripting
- High level scripting to assemble Automation Operations
- more powerful than simple Automation Chains
- easier than bare scripting or Java coding
- Easy control flow : loops, conditions, sub functions ...
mailDocument = Document.Create(mailFolder, {
'type' : 'MailMessage',
'name' : mailDocumentName,
'properties' : {
'messageId' : messageId,
'dc:title' : subject
}});
for (attachment in attachments) {
Blob.Attach(attachment, {'document' : mailDocument,
'save' : false,
'xpath' : 'files:files'});
}
Document.Save(mailDocument);
Java Coding
- Online tools
- Codenvy IDE
- Marketplace Packaging service
- Nuxeo Code Snippets
-
CI service with nuxeo.io
- Java 8 support
- Scripting plugins via Nashorn
forge.nuxeo.io
- SCM and Code Sharing
- Packaging services
- Deploy and run tests on Nuxeo.io
NO more excuse for
not doing it the right way !!!
roadmap.nuxeo.com
jira.nuxeo.com
Technical Roadmap 2K15
By Thierry Delprat
Technical Roadmap 2K15
- 2,660