The latest dev sprint took place two days before Nuxeo World and we had some awesome projects. Here's a quick recap.

Etherpad Integration


This is a subject that has been lying around for a while. Nelson had already played a lot with the idea of integrating Etherpad to Nuxeo. And our friends from AC-Rennes wanted to have a working solution before the end of the year. So they jumped on this opportunity and came to the sprint to work with us. There is already a Marketplace package available on the 5.6 developer channel. If you want to test it, make sure you have an Etherpad server running somewhere!

pdf.js


pdf.js is a PDF reader written in JavaScript. Marianna and Guillaume have integrated it into Nuxeo. So now you can open and see a PDF directly on the web and use the usual features like previewing all the slides, SVG zoom... Take a look at Mozilla's live demo to get a better idea of pdf.js.

Layout Debug Rendering


Anahide worked on a debug rendering for layouts and widgets. Now when you hit shift-D, the layout moves to debug. When you hover on a widget, you'll see a panel containing relevant information about the widget, like its id and configuration.

Nuxeo Drive


Antoine and Thierry have worked on a graphical overlay for Nuxeo Drive. It's a simple feature that displays a synchronized, out of sync or uploading icon overlay in your file explorer. Pictures are worth a thousand words:
You can read their notes on the sprint wiki.

Node.js shell


Thomas and Arnaud worked on a node.js shell. It lets you browse a Nuxeo repository, execute basic shell commands (cd, pwd, ls, mkdir, whoami...), with automatic completion for commands and options. You can also edit the JSON export of a document directly in your favorite editor. They plan to add automation support to execute any operation as a command, results pagination, complete the auto-complete feature, add upload and download features...

OAuth2


Sébastien Fleury is an Android developer who uses Nuxeo on the server side. He wrote an app to help you plan your vegetable garden.

He wants to use Nuxeo Drive and nuxeo-login-open-id to handle his app authentication to Nuxeo. Here's how:

Drive synchronizes a device with a Nuxeo server thanks to nuxeo-platform-login-token, but to do that it needs an existing user account on the server. And Sébastien does not want users of his app to go through an account creation, giving an email, a login and a password. He thought of a simpler solution.

He uses an oAuth2 provider to retrieve the user identity. Once the access token is retrieved from the provider, he send it to the server, then the server ask the oAuth2 provider if the given token is still valid. If it is, the server gets or creates a user. Once the server has a user, it creates a token like it would do for Nuxeo Drive to synchronize the user device and the server. The implementation is not finished yet; they still need to implement the server to oAuth2 provider token validation.