What’s Cooking in the Nuxeo Tech Lab


Fri 29 July 2016 By Arnaud Kervern

It's been quite some time since we brought you news from Nuxeo’s technical front. We’ve been busy with some great stuff, which I am sure will pique your interest for our upcoming releases! So, let me bring you up to speed with what’s going on. To show you the big picture on what's happening, I'll touch lightly on a few projects that might interest you.

Nuxeo Server Without JSF

The release of Nuxeo Platform 8.3 starts the migration to the new Web UI era, the default UI now provided with Nuxeo Platform. The new base Nuxeo distribution is now distributed without JSF (formerly named nuxeo-server). The nuxeo-cap distribution is still available for compatibility (it's the equivalent of nuxeo-server plus the new Nuxeo package with JSF-UI related modules).

If you're interested in the remaining tasks we are working on for our next fast-track, Nuxeo Platform 8.4, take a look at the New Distribution Jira ticket.

Maven Configuration

We'd like to stay as close as possible to the Maven best practices with a pom.xml file that inherits from other files with:

  • The list of Maven repositories for artifact and plugins (the "Corporate" part of the pom)
  • The list of Maven plugins and configuration (already known as the "super pom")
  • The list of dependencies (already known as the "bom")

For now, we have pretty much everything inside the root pom, but we may want to split this information into separate files, potentially with different versioning policies so that:

  • We can have different projects reuse part of our configuration
  • We're free of some single inheritance limitations

Our DevOps team is working:

  • To find the best re-organization around several pom files, and/or if we should distribute a unique bom
  • To make side-project management easier, as we have more and more of them in our ecosystem like nuxeo-java-client, or nuxeo-connect-client and they are following their own version lifecycle
  • To see what additional jobs can be added to jenkins to check dependencies and poms
    • Check convergence of dependencies
    • Provide a template to test the same artifact against several versions of the Nuxeo Platform

Adobe CC Connector

You've probably heard about the Adobe Connector. This plugin allows designers to import assets into an InDesign, Photoshop, or Illustrator document directly from the Nuxeo Platform. As more and more people are using it now, we started a big refactoring and redesign job.

Our main goals are to:

  • Enhance the server and login window
  • Redesign the search results with a detailed card view of each asset
  • Have a detailed view for each asset and actions to place it in Photoshop or InDesign
  • Review the whole tooling to build the package

You can follow the latest unfinished tasks by checking the Adobe Connector component in Jira.

Eclipse Che

We are currently experimenting on how we can provide an all-in-one development environment based on Eclipse Che. The goal is to:

  • Allow users to bootstrap their projects with Polymer, Nuxeo Package, Operations, Listeners, etc.
  • Start a Nuxeo Server as soon the Che workspace starts
  • Have the whole Nuxeo Source Code ready to be read
  • Have a Maven repository fully loaded to reduce the load time

We'll cover this topic in detail in a few weeks.

Drive Edge Proxy

Reducing the download time is always a big challenge when you are starting to have more and more concurrent users. So we built Nuxeo Edge Cache to help you handle more downloads. Each time a user downloads a file through the proxy, the file is stored, encrypted in the proxy and can be returned directly when another user is asking for the same. Main goals are:

  • Security: Files are encrypted
  • Easy to set up: Auto-installable with auto-update
  • Transparency: Works with Drive, Web UI, Nuxeo SDKs, etc.
  • Scalability: One Edge Proxy per site handling multi-server

Taking into consideration the security, Nuxeo Edge must be able to ensure that a user requesting a cached blob is still authorized to access it. To do that, we already have a token based authentication but we want to accommodate some more restrictions, for example we'd like to ensure that the client is from a range of IP. So we've started working on how to enhance the Token with a new REST API, and new features.

These tasks are coming along great and very soon these features will be at your disposal. Stay tuned for more updates!


Tagged: Nuxeo Platform, Insight