Product & Development / All about the Nuxeo Platform, from strategy to feature highlights to dev tricks

Product & Development

How to Add a Custom Export Asset Button to a Document

without comments

Downloading a custom export of an asset in a different form than its original one is a common request from our users. Using a bit of Nuxeo Studio and the converter extension point, you’ll see that it’s pretty easy to achieve.

As an example let’s say we want to watermark a picture asset with some text. When you add a new button to Nuxeo, you have to define when it will be displayed and what it will do.

First let’s see about the when. Using Nuxeo Studio, you need to create a new User Action through the Automation > User Actions menu. Here you can select a category. It’s where your button will be displayed. If you select “DAM Asset view actions” it will display the button on the DAM tab along with the actions available on the single asset view on the right.

New User Action

Now as the goal is …

Written by

April 11th, 2014 at 10:00 am

CoreOS and Nuxeo: How We Built

with 4 comments

If you follow the Nuxeo blogs, you may have seen that we have been working with Docker for a few months now. Not because it’s very trendy, but because we will be using it in the infrastructure of In this post I will explain how we see our global infrastructure.

A Platform Designed for Failure

One of the things we learned when reading about building a cloud platform is that the system must be resilient to failure. This means that a host may be down, a process may halt, etc., but your platform must live with that. If a node of your cluster goes down, the service shouldn’t be altered, and the system must react automatically to re-balance the missing services on other nodes – very fast.

This is where Docker comes in. Since the kernel is shared by all the containers, the startup time of a service is …

Written by

April 7th, 2014 at 10:00 am

[Nuxeo Tech Report] News from the Developer Front #13

without comments

It’s been a while since I published a tech report. We made some changes in the way we handled them internally, adjusting the process a bit. But here it is again! It’s a little shorter than usual, but hopefully we’ll publish more than once a month.

What’s on tap:



Core Session Management

Florent is cleaning up CoreSession management: NXP-13148. Goal is to make sure that sessions are always removed as soon as they are no more used, as currently, there are some situations where the linked vcs connection is already freed, and the core session is still alive, which means that we keep an object that would never have any chance to connect and be used again. With Stéphane’s work on database connection, it is the beginning of a virtuous cycle on freeing all objects that are useless …

Written by

April 4th, 2014 at 12:57 pm

Monitoring Nuxeo Docker Container Logs with Logstash, Elasticsearch and Kibana

without comments

A while ago I wrote a blog post about CoreOS and monitoring the Nuxeo Platform. It covered gathering the metrics of a Nuxeo Platform Server, the associated PostgreSQL database and the host system. The particularity of this setup was that the host was a Docker container running on CoreOS.

Today I will cover another aspect of monitoring – the log files. The goal is to store all the log entries from Nuxeo, Apache and PostgreSQL inside Elasticsearch. Then, they are easy to browse with Kibana. To forward the logs to Elasticsearch, I will use LogStash.

The first step was to setup Docker containers with Logstash, Elasticsearch and Kibana. It’s easy as a lot of images already exist in the Docker index.


Elasticsearch is an open source distributed search engine. This is where all my log entries will be stored. And it actually has its own official image. So …

Written by

April 2nd, 2014 at 10:05 am

Hot Folder Uploader

without comments

What is a hot folder? Well. You sure know what a folder is: A container, a directory on your drive. Now, what does it mean when a folder is hot?

Let’s start with what it does not mean:

  • The folder is not at a “high degree of heat, or high temperature”
  • It is not particularly sexy, nor attractive(1)

No. A hot folder actually is a folder whose content is permanently watched: When it is empty, nothing happens. When it contains at least one file, something happens.

In this article, that “something” is an upload of the files in the hot folder to a Nuxeo server. All is based on a shell script using bash(2). You can find the final script here, while in this article we are going to talk about the main principles. Here they are:

  • Having a script (an executable .sh file) which:

Written by

March 31st, 2014 at 10:25 am

How to Set Up Notifications When Video Conversions Are Finished

without comments

How to Setup Notifications when Video Conversions are Done?

Last week I blogged about video conversion profiles in the Nuxeo Platform. I explained how to configure them, add new, or disable existing ones. Today I will show you how to setup notifications when those video conversions are done. It’s actually pretty simple.

There is a videoConversionsDone event launched each time a video conversion is done (who would have known?). Unfortunately, it’s not available in Nuxeo Studio by default. But we can make it available thanks to the Nuxeo Studio registries.

To do that go to Settings and Versioning > Registries > Core Events. You should see a text editor. It accepts a JSON string that represents the event we want to add. Here it is:

Now click on save and create a new Event Handler. At the end of the Events list, you should see Video Conversion Done. Select it and create the associated operation chain.…

Written by

March 28th, 2014 at 10:36 am

The Nuxeo Roadmap on

without comments


The Nuxeo roadmap is now available on

You can see the main items that are scheduled for each fast track, each with a short description. Green is for a released fast track version, blue is the next one to be released and orange is for upcoming versions.

Along with brief descriptions of items in the roadmap, you should also notice small icons on the top-right corner of each item that offers shortcuts to additional information. Other uses of the roadmap page include:

Screen Shot 2014-03-24 at 14.40.31

  • View dates of all the scheduled releases.
  • Check out the development status of each item. For now it is a two state status: undone/done. We will migrate in the coming months to a three-states one: draft/ready-to-implement/done, so that you know how ready we are to implement the feature.
  • Get links to source code, user & dev documentation pages, blog posts and videos of items that are already done, so

Written by

March 26th, 2014 at 1:00 pm

Introducing Our New Open Source Box API

with 4 comments

This week, Nuxeo announced a new API for file sharing and storage called the “Box API for the Nuxeo Platform”. To give you a better picture of what this new API is and why it was built, I talked to Thierry Delprat, Nuxeo CTO.

What is the Box API for the Nuxeo Platform?

Thierry told me that this is a REST API that, initially, is meant to share and store files. It is an open source implementation of the Box API that runs on top of a Nuxeo repository.

The Box API for the Nuxeo Platform implements a subset of the Box API, including: Folders, Files, Collaboration and Search, with Comments coming soon.

The intent of the open source project is to implement the entire Box API. Thierry said they are looking forward to working with other developers on this project to increase its coverage and strengthen the …

A Content App in JavaScript Using Mustache, Bootstrap and nuxeo.js

without comments

One of the cornerstone events of the last Fast Track release (Fast Track 5.9.2) was the work of Thomas on the new JavaScript client. If you are a web developer, a top-notch new gen JavaScript killer, or simply someone who’s not into the JEE stack, you will love this client. It provides all the features of the Nuxeo Platform in an HTML page.

Nuxeo.js is a library available on GitHub that you can import inside your page to wrap Nuxeo Platform API calls. Using nuxeo.js, you can easily get a file, upload one, transform content to PDF, or from a jpg to a png, or even annotate pictures. You can perform full text search, create a version of a document, and much more!

Nuxeo.js is currently provided in two flavors: one that depends on jQuery, that you can include in your HTML pages, and one that you can …

Written by

March 21st, 2014 at 11:08 am

[Q&A Thursday] Configuring Automatic Video Conversions on The Nuxeo Platform

without comments

Today we have a question from Hugues. He asks how to have automatic video conversion based on a pre-defined transcoding profile.

Right now when you upload a video to Nuxeo, it’s converted first to MP4 with a maximum height of 480, then to WebM with the same height. It’s automatic, you don’t have to click on anything. You just have to create a Video document. On the summary tab you will also see a button to convert the video to OGG format with a maximum height of 480.

This is the default behavior and as usual it’s configurable through extension points. If you go on the Nuxeo Platform Explorer and type ‘video’ in the filter, you’ll be left with two extension points: automaticVideoConversions and videoConversions.

First, let’s talk about videoConversions. It defines all the conversions available on the summary tab of a document. The default contribution looks …

Written by

March 20th, 2014 at 11:32 am