Welcome to the Nuxeo Developer cookbook!
This cookbook is intended to Java developers who are starting developing on the Nuxeo platform. It provides simple development recipes to do these customizations to help them understanding the technical basis to customize a Nuxeo application.
Developers are expected to be familiar with Maven.
Recipes are intended to be independent: you can try any recipe at any time.
Our recipes:
- How to create an empty bundle
- How to implement an Action
- How to contribute a simple configuration in Nuxeo
- How to configure document types, actions and operation chains
- How to setup a test SMTP server
Nuxeo Blog Tutorials
| Difficulty | Tags | Title |
|---|---|---|
![]() ![]() |
Extend Nuxeo Drive Series #3 – How to synchronize a document without attached binariesThis post is an introduction to learning how to extend Nuxeo Drive. It shows how to synchronize documents without attached binaries to the desktop. |
|
![]() |
Extend Nuxeo Drive Series #2 – Override existing adapter parametersThis post is an introduction to learning how to extend Nuxeo Drive. It shows how to override the default versioning behavior with the right extension point. |
|
![]() |
content automation | Extend Nuxeo Drive Series #1 – Override OperationsThis post is an introduction to learn how to extend Nuxeo Drive. It shows how to override the calls made by Nuxeo Drive using the Content Automation API. |
![]() ![]() |
document creation | [Q&A Friday] How to add tagging capability during drag’n'drop Learn how to add tagging capability during the HTML5 drag'n'drop based on the Content Automation API and layouts in the Nuxeo Platform. |
![]() |
[Monday Dev Heaven] Nuxeo and Atlassian HipChat IntegrationHere's a small example of an integration between the Nuxeo Platform and Atlassian HipChat. See how simple it is to code a Nuxeo event relay for HipChat. |
|
![]() |
content automation | [Q&A Friday] How to Access a Resource Bundle with MVEL in Content AutomationWhen using the Nuxeo Content Automation API, you sometimes need to go outside the box. This post explains how to add functions using labels as an example. |
![]() |
tagging | [Q&A Friday] Remotely Searching for a Document Using TagsLearn how to search documents using tags remotely. We can do it with a simple NXQL query or using Content Automation and its REST binding. |
![]() |
content automation directory | [Q&A Friday] How to Retrieve the List of All Possible Subject Values Using Content AutomationHere's a short post explaining how to retrieve all existing values of a directory using the Content Automation API. |
![]() |
content automation | [Q&A Friday] How to Retrieve Custom Metadata with Content AutomationLearn how to retrieve your custom metadata using the Content Automation API. |
![]() ![]() |
document creation | [Q&A Friday] Automatic Creation of User WorkspacesLearn how to automatically create user workspaces for each of your Nuxeo users. |
![]() ![]() |
encoding | [Q&A Friday] How Do We Search for Accented Characters in Note Content? Learn how to search for accented characters in note content with a simple example, based on a custom listener. |
![]() ![]() |
content automation | [Q&A Friday] Can an external web service call be included in an automation chain? Here's a code example to learn how to do a web service call inside a content automation operation. The example is based on books and ISBN. |
![]() |
Studio | [Q&A Friday] Relative date usage in Nuxeo StudioLearn how to handle relative date in Nuxeo Studio through operation chain parameter. See how you can also use this as a query parameter in a content view. |
![]() |
hot-reload | [Monday Dev Heaven] Trying IntelliJ IDEA and Nuxeo Platform First impression of a newbie using IntelliJ iDEA to develop plugins for the Nuxeo Platform using the dedicated plugin. |
![]() ![]() |
unit test | [Q&A Friday] How to deploy a contribution on a per method basis? Learn how to deploy a bundle or a contribution on a per method basis in Nuxeo unit testing framework using Injection with Guice. |
![]() |
content automation | [Q&A Friday] How to add extra files to a document using Content AutomationLearn how to use Nuxeo Content Automation Client to attach files to an existing document. |
![]() ![]() |
converter templating | [Monday Dev Heaven] Creating DeckJS Slides in Markdown This blog post explains, with sample code, how to create a DeckJS slide deck in the Nuxeo Platform and render it as a PDF document. |
![]() |
[Q&A Friday] Document Expiration Notification[Q&A Friday blog post] Find out how to trigger a notification about the impending expiration of a document. |
|
![]() ![]() ![]() |
metadata | [Monday Dev Heaven] Extract Metadata from Content File Attachments #2Monday Dev Heaven blog post - Extracting metadata from content file attachments in the Nuxeo Platform - part 2 of 2. |
![]() ![]() |
preview | [Q&A Friday] Enabling Preview For Document AttachmentsLearn how to get the HTML preview of any file stored in Nuxeo and display it nicely through a fancybox. |
![]() ![]() |
directory | [Q&A Friday] Get Parent ID from Child Label of a Nuxeo VocabularyLearn about the concept of a Nuxeo vocabulary and how they are implemented using the directory API. |
![]() ![]() ![]() |
metadata | [Monday Dev Heaven] Extract Metadata from Content File AttachmentsLet's take the File document type. It will have different kind of files attached to it. Some will have XMP metadata, some will have EXIF, some ITPC, etc. |
![]() ![]() ![]() |
document creation | [Q&A Friday] How to view emails stored in Nuxeo via WebDAVLearn how to get control of the document creation process when those documents are created through the Nuxeo WebDAV connector. |
![]() ![]() ![]() |
metadata | [Q&A Friday] How can you know which document properties have been modified?In this post you'll learn how to know what properties of a Nuxeo document have change using the event bus and the DocumentModel API. |
![]() ![]() |
vcs | [Monday Dev Heaven] How to search for PDF files, or any other type for that matterLearn how to search for documents containing a specific type of file, like PDF, video or audio, and how to integrate it in Nuxeo's advanced search. |
![]() |
Studio | [Q&A Friday] Does Nuxeo Studio support definition of new document types?This question relates to Nuxeo Studio registries, explaining how to extend Nuxeo Studio to add custom document types, categories and automation operations. |
![]() ![]() |
document creation | [Q&A Friday] How do we upgrade existing domains with new changes to the structural template?Learn how to upgrade existing domains with new changes to structural template using the content template post creation handler. |
![]() ![]() |
[Monday Dev Heaven] Unleash Nuxeo Shell |
|
![]() ![]() |
Studio vcs | [Q&A Friday] SELECT Clause in Nuxeo NXQL Queries – Part 2Following the previous Q&A post about select clauses in NXQL query, see how to code an operation allowing specific select clauses and how to use in a chain. |
![]() ![]() |
vcs | [Q&A Friday] SELECT clause in Nuxeo NXQL queriesLearn how to execute queries with a specific select clause on Nuxeo Platform through an example that calls a Groovy script from the shell. |
![]() ![]() |
WebEngine | [Q&A Friday] Is it possible to call a Seam bean from JAX-RS/WebEngine?Learn how to call a Seam bean from JAX-RS/WebEngine or Content Automation. |
![]() ![]() |
OpenSocial | [Q&A Friday] How can I have a dashboard that cannot be modifed by users?How to have read only OpenSocial dashboard for users. |
![]() ![]() ![]() |
locale WebEngine | [Monday Dev Heaven] Nuxeo-lang-ext-assistant, a WebEngine site here to help you translate Nuxeo Here's a new WebEngine module aimed at people translating Nuxeo. It shows all Labels in a form so that they can be modified directly. |
![]() |
configuration | [Q&A Friday] Choose the encoding charset for zip filenamesChoose the encoding charset for zip filenames using nuxeo.conf |
![]() |
continous integration | [Q&A Friday] How to run Nuxeo integration tests Learn how to run Nuxeo integration tests written for Selenium or WebDriver using tools-nuxeo-ftest. |
![]() ![]() ![]() |
preview | [Monday Dev Heaven] Highlight searched keyword in document preview Learn how to tweak the preview generation to highlight the search result in Nuxeo Content Application Platform with javascript and JQuery. |
![]() |
UI customization | [Q&A Friday] Overriding templates or extension point in NuxeoLearn how to overwrite a template or an exension point in Nuxeo Content Application Platform. |
![]() ![]() ![]() |
metadata | [Monday Dev Heaven] How to manage external assets in Nuxeo, first try with oEmbed In this blog post you'll learn how to manage external resources like YouTube videos into the Nuxeo Content Application Platform. |
![]() |
UI customization | [Q&A Friday] How can I replace a column in a document listing?Learn how to replace columns in documents listing within default Nuxeo UI. |
![]() |
locale | [Q&A Friday] Translating NuxeoHow internationalization works inside the Nuxeo Platform. Must read if you're interested in translating Nuxeo. |
![]() ![]() ![]() |
geoloc | [Monday Dev Heaven] Playing with OpenLayers to add GeoLocation to Nuxeo Learn how to integrate OpenLayers to Nuxeo. At the end you'll know how to add GeoLocation for documents. |
![]() |
deployment | [Q&A Friday] Is the Tomcat Manager Supported?Learn how to use Nuxeo's templating system to enable Tomcat Manager. We'll use FreeMarker to enable variables in our template files. |
![]() ![]() ![]() |
preview | [Q&A Friday] How to add a ‘Loading, Please Wait…” message on the preview panel?Todays Q&A post: Learn how to add a wait message while your document preview is loading. |
![]() ![]() ![]() |
metadata | [Monday Dev Heaven] Adding thumbnail preview of document content in Nuxeo Learn how to generate thumbnails for Nuxeo content and display them in the classic web UI using widgets, listeners and converters. |
![]() ![]() ![]() |
metadata | [Q&A Friday] How to get thumbnails for PDF or PSD documents?Learn how you can generate and store thumbnails preview of common files associated to Nuxeo documents. |
![]() ![]() ![]() |
WebEngine | [Monday Dev Heaven] Navigating in Nuxeo documents through a graph Learn how to integrate arbor.js to Nuxeo through a WebEngine sample that navigates in documents using relations. |
![]() ![]() ![]() |
vcs | [Q&A Friday] How binaries are physically stored in the filesystemLearn how Nuxeo binaries are physically stored on your server's filesystem. |
![]() ![]() ![]() |
WebEngine | [Monday Dev Heaven] Add a Forgotten Password Functionality to Nuxeo, Part 2/2 Second part of a two post series: how to implement a forgotten password functionality in Nuxeo with a focus on Marketplace package creation. |
![]() ![]() |
versioning | [Q&A Friday] How do I import a document in Nuxeo with version 12 as initial version?
|
![]() ![]() ![]() |
WebEngine | [Monday Dev Heaven] Add a Forgotten Password Functionality to Nuxeo, Part 1/2 How to implement a forgotten password functionality for Nuxeo users by adding a new WebEngine module. |
![]() |
Studio | [Q&A Friday] How to Clear UI Selected Documents in StudioHow to create a content automation operation to reset selected documents with Nuxeo IDE and how to make it available in your Studio project. |
![]() ![]() ![]() |
document creation | [Monday Dev Heaven] Create Your Own Documents on File Drag and DropLearn how you can extend Nuxeo Platform to add your own document creation logic on file drag and drop. |
![]() |
Studio | [Q&A Friday] How does the Seam.PushDocument operation work?How to use Seam related operations in Nuxeo Studio, how to share a document between operation chains during user session or conversation. |
![]() |
[Q&A Friday] Will Nuxeo upgrade its technical Java Stack?Nuxeo upgrades its technical stack regularly and will replace for instance Seam by CDI. Learn more by attending our webinars. |
|
![]() ![]() |
preview | [Monday Dev Heaven] How to add an HTML preview for iWork Pages filesLearn how to add file converters to Nuxeo so you can add preview support for any file type, such as Apple iWork files in this example. |
![]() |
[Q&A Friday] Nuxeo WCM, blogs, wikis.Where Nuxeo stands on WCM features as a company and as an open source content application platform. |
|
![]() ![]() ![]() |
document creation | [Monday Dev Heaven] Automatic document creation in Nuxeo, Part 2Learn how to contribute a new ContentTemplate factory to the Nuxeo Content Management Platform. |
![]() ![]() |
Studio UI customization | [Q&A Friday] Is it possible to change Nuxeo Platform footer links with Studio?How to modify or extend the Nuxeo Platform without forking or rebuilding it. Simply use Nuxeo IDE to create a new project. |
![]() ![]() ![]() |
document creation | [Monday Dev Heaven] Automatic document creation in NuxeoHow to automatically create documents in Nuxeo Content Application Platform using the ContentTemplate service or through Nuxoe Studio. |
![]() ![]() |
hot-reload | [Q&A Friday] Dive into Nuxeo IDE and SDK internalsLearn more about Nuxeo IDE's internals and how you benefit from the hot reload feature. |
![]() ![]() |
OpenSocial | [Monday Dev Heaven] Use Your Nuxeo OpenSocial Gadgets in a Liferay PortalLearn how to create, modify and share Nuxeo OpenSocial gadgets in a Liferay Portal. |
![]() |
Studio | [Q&A Friday] How to manage local environment properties in NuxeoA new question from answers.nuxeo.com is featured every Friday. Learn how to manage custom properties in the Nuxeo Content Management Application Platform. |
![]() ![]() ![]() |
unit test WebEngine | [Monday Dev Heaven] How to unit test Nuxeo WebEngine modulesLearn how to set up a simple JUnit test case to run unit testing on a Nuxeo WebEngine module. |
![]() ![]() |
[Q&A Friday] Notify users about content and document deletionLearn how to add a notification for deleted documents in the Nuxeo Platform using our Eclipse plugin Nuxeo IDE. |
|
![]() ![]() ![]() |
document creation | [Monday Dev Heaven] Multi-threaded, transactional bulk import with NuxeoLearn how you can easily import content in nuxeo using our multi-threaded, transactional bulk importer and a simple XML configuration file. |
![]() ![]() |
Studio UI customization | [Q&A Friday] How to set up multi-level virtual navigation in NuxeoFind out how to configure a complete three level virtual navigation in the Nuxeo content management platform using only Nuxeo Studio. |
![]() ![]() ![]() |
WebEngine | [Monday dev heaven] Sharing with the outside world #2: getting your readers’ feedbackIn this 2nd post, after seeing how to share content to anyone with Webengine, we'll see how to use it to gather user generated content. |
![]() ![]() |
content automation unit test | [Q&A Friday] How to Test Operations?Learn how we've extended Junit4 to build a test framework for Nuxeo content application platform. |
![]() ![]() ![]() |
Studio WebEngine | [Monday Dev Heaven] Share your content with the outside worldExpose a document stored in Nuxeo and share it to the outside world without using Nuxeo's Document Management user interface. |
![]() ![]() ![]() |
deployment | [Q&A Friday] Embedding Nuxeo?Deploying Nuxeo in another application. But this is just one of the possible integration options you can aim. Let’s talk about the others. |
![]() |
continous integration | [Monday Dev Heaven] Continuous Integration at NuxeoWhat we did to improve our Continuous Integration chain at Nuxeo. Tips on Jenkins and Nexus. |
![]() ![]() ![]() |
metadata | [Q&A Friday] XMP Metadata Support in Nuxeo?Nuxeo Q&A friday about if Nuxeo supports the XMP metadata standard from Adobe and how to make this happen! |
![]() ![]() ![]() |
authentication Studio | [Monday Dev Heaven] Connecting Nuxeo to OAuth Authenticated APIs: Yammer as Example A small overview on how connecting nuxeo to external OAuth authenticated APIs like Yammer. |
![]() ![]() |
authentication | [Q&A Friday] How do I authenticate my external application with Nuxeo?Friday Q&A - How do I authenticate my external application with Nuxeo Content Management Platform? |

