Your SlideShare is downloading. ×
Nuxeo and JavaScript
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Nuxeo and JavaScript


Published on

Thierry Delprat gave his thoughts about JavaScript as a language and explained how it's currently used and will be use in the Nuxeo Platform

Thierry Delprat gave his thoughts about JavaScript as a language and explained how it's currently used and will be use in the Nuxeo Platform

Published in: Technology

1 Comment
1 Like
  • See the new Nuxeo JavaScript Client :
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Nuxeo Platform JavaScript in Nuxeo Platform Thierry Delprat 1
  • 2. I am probably too old to JavaScript 2
  • 3. Nuxeo Platform vs JavaScript Nuxeo is not really a JavaScript Shop ● we used to be a Python Shop ● we are now 100% Java Platform ● ● Strong typing ● ● OSGi deployment and plugin model Contribute and extend with Java Classes Server side MVC model ● Seam (pre-CDI) / JSF 3
  • 4. Nuxeo Platform vs JavaScript ● However this is changing, because ● You (probably) want to write JavaScript – Coding in Sublime Text is so much cooler than in Eclipse ● ● ● Html5 and Browser are actually a nice UI Platform – ● Light dev environment Quick coding/deploy/test cycles Back to the Client/Server days ! Some Html5 / JavaScript MVC frameworks rocks – – AngularJS is a good example A lot of nice Html5/JS Widgets 4
  • 5. Nuxeo Platform vs JavaScript ● Bonus ● JavaScript makes coding easy ?! – – ● People are scared to write Java code (they should not) People are not scared to write JavaScript code (sometimes, they should, at least for the maintenance) Use JavaScript without writing actual JavaScript – – CoffeeScript Dart 5
  • 6. Adapting Nuxeo Platform to JS ● Make room for JavaScript widgets ● ● Extend JSF framework with simple JS Widgets Expose JavaScript API ● ● ● REST API/Client lib Allow JS developers to leverage Nuxeo Services Build client SDK for Html5/JS framework ● AngularJS, Dart/Polymer… ● Use Nuxeo Platform as a PaaS 6
  • 7. Nuxeo Widgets and JavaScript ● JSF/Facelet has a nice MVC Model ● ● We added an abstract Widget Model ● ● ● Actually pretty close to what AngularJS proposes But most people have a hard time building custom widgets (remember Java is scary !) But most people are happy to add custom JavaScript widgets We built an hybrid model ● JSF handles server side validation and state management ● JS handles client side display and Ajax refresh ● We use REST API to interact with the server 7
  • 8. Examples ● Select2 integration ● JQuery widgets integration 8
  • 9. Nuxeo Platform API ● Nuxeo Platform exposes 2 sets of http API ● Resource API – ● Command (RPC) API – ● ● CRUD on Document, Tasks, Workflows, Users ... Execute command on an object JSON-RPC Marshaling nuxeo.js ● Wrap Nuxeo http API in a JavaScript client ● Associated with – JavaScript shell – Node.js shell – Unit tests 9
  • 10. Examples ● Nuxeo Platform Explorer ● Nuxeo JavaScript Shell 10
  • 11. Buidling JS Apps with Nuxeo Platform ● ● Hosting the content repository – ● Hosting the Back Office : Nuxeo CAP – ● Provide configurable management UI Hosting the configuration IDE : Nuxeo Studio – ● Provide Storage, Services and API Define business model, workflows, custom API Hosting JavaScript IDE – Build client side using Nuxeo AngularJS SDK 11
  • 12. Provision Platform Nuxeo Cloud Controler Business Model Nuxeo Studio Build WebApp Nuxeo Web IDE 12
  • 13. Examples 13
  • 14. Some links ● Nuxeo API ● ● ● nuxeo.js & Nuxeo javascript shell ● ● Nuxeo AngularJS sample ● ● ● ● Nuxeo Studio trial ● 14