Nuxeo Online Services

Delivering a Customization Package through the Nuxeo Marketplace

Updated: October 11, 2017 Page Information Edit on GitHub

The Nuxeo Marketplace is the channel provided by Nuxeo to distribute addons and patches to the Nuxeo Platform. The Admin Center and the Control Panel (nuxeoctl) provide an integrated way to browse this catalog of add-ons and install them directly from the Nuxeo Platform interface or the server command line. This catalog of packages is public, although some addons require to be a Nuxeo Connect customer to be able to install them.

The Nuxeo Marketplace also provides a private channel to distribute packages to a specific audience. Nuxeo Connect users can thus provide their own users with the same trustful, integrated way to browse and install private packages, which are available from the Private packages tab of the Update Center.

Example Use Cases

The purpose of the private channel is to enable Nuxeo Platform users who do some customization on the Platform to easily distribute their customization. Here are some examples of how this private channel can be helpful.

For instance, if you do some customization using Nuxeo Studio and some Java customization using the Nuxeo Generator, you can create your Nuxeo Package and let other people (ex: sysadmin) easily install the whole customization through the Admin Center using a single package, instead of installing the Nuxeo Studio customization and the Nuxeo Generator customization. Worth to mention the benefits of using a Nuxeo Package such as target platform validation, various checks, rollback, dependencies or conflicts between packages, ...

As an other example, if you created your own application on top of the Nuxeo Platform and distribute to your own clients (that may do Studio customization themselves), you can use this private channel to provide hot fixes of your base application.

Who Can Use the Private Marketplace Channel

The Nuxeo Marketplace private channel is available to any Nuxeo Connect user. Nuxeo Connect trial users can also use it.

Requirements

The Marketplace private channel can be used to provide any type of customization: simple XML configuration, Java code, configuration templates, libraries, etc. The only requirement is that the customization must be provided as a Nuxeo Package.

The target instance(s) can get the package from Nuxeo Connect (via Internet). Otherwise, you can upload the package via the Local packages tab in the Admin Center or from the server command line with NuxeoCtl.

Uploading a Nuxeo Package

Using the Marketplace Interface

To provide customers with a private package:

  1. After logging in, browse to Nuxeo Marketplace upload page or click on the button Add a package.
  2. Fill in the form "Upload a Marketplace package" (see below for details).
  3. Click on the Submit button. The package is uploaded. It is now available in the Private packages tab of the Update Center for the instances that match your package's client(s) and project(s).
FieldDescription
Package data Select your Nuxeo package. Expected format is ZIP. See the documentation for Creating Nuxeo Packages and the Nuxeo Package code samples.
Owner client Select the Nuxeo Connect client who will own the package.
In most cases, the owner is your company. But typically, system integrators can act in the name of several clients. Once a given package name is used, the name is reserved to the owner of that initial package.
Associated clients or projects Select the clients and projects for which the package must be available.
You can select a client to make the package available for all that client's projects.

Using the REST API

A REST API is available for automation (such as integrating the upload of the Nuxeo Package from a release script or from the Continuous Integration).

Sample calls from command-line with curl

# Upload a package (owner parameter is required, one of client or project parameter is required)
curl -i -u login:password -F [email protected]/path/to/MP.zip "https://connect.nuxeo.com/nuxeo/site/marketplace/upload?batch=true&client=CLIENT_ID&project=PROJECT_ID&owner=OWNER_ID"

# Delete a package
curl -i -u login:password -X DELETE "https://connect.nuxeo.com/nuxeo/site/marketplace/delete/PACKAGE_ID"

# List package IDs (not yet available; owner, client or project parameter will be required)
curl -i -u login:password "https://connect.nuxeo.com/nuxeo/site/marketplace/list?batch=true&client=CLIENT_ID&project=PROJECT_ID&owner=OWNER_ID"

with:

  • CLIENT_ID: Comma-separated client IDs.
  • PROJECT_ID: Comma-separated project IDs and/or names. The parameter can also include comma-separated client IDs prefixed with client:.
  • OWNER_ID: A unique client ID.
More documentation about the Marketplace
 
a month ago manonlumeau fix tree item index
a year ago Solen Guitter 16
2 years ago Julien Carsique 15
2 years ago Solen Guitter 14 | NXDOC-658: Marketplace packages are now called Nuxeo Packages
2 years ago Julien Carsique 13
2 years ago Julien Carsique 12 | MP version policy
2 years ago Julien Carsique 11 | Versioning Policy
2 years ago Solen Guitter 10 | Fix TOC
3 years ago Solen Guitter 9
4 years ago Julien Carsique 8
4 years ago Solen Guitter 7 | Added links and fixed typos
4 years ago Alain Escaffre 6
4 years ago Julien Carsique 5
4 years ago Alain Escaffre 4
4 years ago Solen Guitter 3
4 years ago Solen Guitter 2
4 years ago Solen Guitter 1
History: Created by Solen Guitter