[Nuxeo Case Study] Nuxeo Themes, An Open Source Code Contribution


Wed 08 December 2010 By Jane Zupan

Jean-Marc Orliaguet The recent Nuxeo World Global Customer & Partner Conference was a perfect occasion to get in contact with long-time Nuxeo contributor Jean Marc Orliaguet, of the University of Chalmers, Sweden. He was unable to attend the conference, but took the time to create a professional-quality video that we showcased during the closing keynote.


Jean Marc has contributed a UI component for Nuxeo software called Nuxeo Themes. His blog documents the progress of Nuxeo Themes. I was keen to find out what motivates such an avid contributor to an open source project, and how contributors help shape the Nuxeo community.

The Interview

Tell me about yourself. What is your role at the University of Chalmers?


I have been a software developer at the University of Chalmers for about 10 years. I have always used open source software, because I think it's easier to write applications with. You have source code, contact with the developers, and there's no need for licenses, which means no need for a procurement process. This is an important factor – being able to test the software without going through an administrative process beforehand.

How are you using Nuxeo software?


Before the Nuxeo platform was released, we were using the Zope platform with CPS (Collaborative Portal Server, an earlier version). We are still using it; it works like clockwork.

Our department is now focusing more on applications that are not bought off the shelf. For example, we are currently developing a payment solution. It's a database-driven application that requires a short development time (about 1 month). Starting next year, students at the University of Chalmers will pay tuition fees through an online payment provider. The system we are developing will track the payment status of the students. This solution cannot be be bought, because it doesn't exist on the market.

We are using the Nuxeo platform as a backend database for the payment solution. In general, we use Nuxeo as a backend that allows us to develop applications rapidly.

What is Nuxeo Themes?


I started working on this when Nuxeo made a switch to Java. I had already contributed to the CPS project. This project has been a good way of learning Java technologies.

I noticed that in most applications, the user interface is very monolithic. I'm trying to make the UI more modular and reusable. The idea is to be able to reuse parts of the application, especially the visual parts. The UI is a very important part of an application, but it sometimes gets overlooked. When people look at an application, they are very influenced by what it looks like visually.

Nuxeo Themes is packaged with the Nuxeo application; I have contributed the source code. It is written in java with java script for the user interface.

It has evolved with the Nuxeo application. At first, it was only for Nuxeo DM, now it's available for Nuxeo DAM also. I have also adapted Nuxeo Themes so that a theme can be re-used across multiple Nuxeo applications.

What components are in a theme?


There are two separate components - the theme editor and web widgets - working together. In the theme editor, the components of a theme - styles, images, fragments, and layout - can be modified by a designer. The web widgets component allows end-users to move fragments around like in iGoogle and Netvibes. This is done on the client side in javascript, for performance reasons.

The two components work together. One part is static (the themes rendered on the server) and the other part is dynamic (web widgets, in javascript on the client side).

For future developments, I plan to see if it's possible to re-use Wordpress themes. I'm also working with Damien (Metzler, another Nuxeo contributor) to integrate web widgets and OpenSocial. The idea is to reuse OpenSocial widgets.

Do you have any comments about contributing to open source?


The Nuxeo Community is a very good community to contribute code to, due to the high quality of the software development. It is different from other open source projects, where everyone contributes. Nuxeo's QA process guarantees that the code has been tested.

Nuxeo is an interesting mixture of a commercial company creating open source software.

-- @JaneZupan


Category: Nuxeo Updates
Tagged: Case Study, Content Management, Java