Server

HOWTO: Define a Document Type

Updated: December 4, 2024

Introduction

When you are in the application and you want to create a new document, you need to choose the type of document you want to create:

You can create as many document types as you want with Nuxeo Studio. This how-to explains the different steps to do so.

Since content is at the center of customization, the definition of a new document type is related to many other features of the Nuxeo Platform. This how-to presents the basic steps to create a new document type and provides links to other related customizations with Nuxeo Studio, such as layout definition for instance.

Nuxeo Studio Modeler and Designer

Nuxeo Studio is divided in two sections:

  • Nuxeo Studio Modeler aims at building the document type definition and structure. More globally, it defines all your custom core components (workflows, lifecycles, document structure, automations...).
  • Nuxeo Studio Designer allows you to configure the associated document type layouts for the Web UI application (as it is dedicated to all configuration items linked to the user interface).

Nuxeo Studio Designer is dedicated to configure Web UI: if you need to a create a document type layout for JSF UI, then you will have to use Nuxeo Studio Modeler. In this case, you need to ensure Nuxeo JSF UI is selected as one of the target packages of your application definition (to do so go to Settings > Application Definition).

Content Type Definition with Nuxeo Studio Modeler

  1. Open Nuxeo Studio Modeler
  2. Unfold the Content Model item of the Studio tree, click on Document Types and click the New button.
  3. On the creation form:

    1. Fill in the ID, label and description of your document type.

      You can override built-in types definition (File, Folder, ...): just create a type with the same name. See the dedicated how to override existing document types.

    2. Select the document type you want to extend and so inherit from.

      Common inheritance choices are Folder for a folderish type and File for a "file-based" document type.

      Your document type is created. You now need to edit it to indicate all its characteristics: layouts, lifecycle, schema, etc.

  4. Fill in the Definition tab.

    Click on the question mark to have more information on each of the parameters.

  5. To have an icon working on every different views, you need:

    • A .png icon for the fields Icon and Large Icon
    • An .svg icon next to the SVG Icon field.
      From Select Resource buttons, you can select any PNG/SVG file available in the Studio project resources or upload your own.

    If the icons and lifecycle resources for your document type don't already exist, you can create them from:

  6. Fill the specific metadata you want in the Schema tab.

    1. Give your schema a name and a prefix (which are the same as the document type name by default).
    2. Add your metadata fields. The name and type of the metadata are the minimum required pieces of information required for a field.

Content Type Layouts with Nuxeo Studio Designer (Web UI)

  1. Open Nuxeo Studio Designer.

  2. Go to UI > Layouts > Local types. You should see the name of your document type here.

  3. Edit the creation layout by selectioning the create entry, and press on Configure in the lower right corner.

  4. Drag and drop all the metadata you need into the main central area;

  5. Save your configuration and repeat the same operations with the edit, import, metadata and view layouts.

    Use the create mode of the metadata for editable value, and the view mode for read-only values).

  6. Go to UI tab, and open the Translations menu

  7. Create a messages.json file to translate your document type name and properties

    1. For document type labels:
      "label.document.type.<name_of_your_doctype>":"<label_of_your_document_type>"
    2. For document type property:
      "label.doctype.<name_of_your_doctype>.<name_of_your_property>":"<label_of_your_document_type_property>"

Content Type Layouts with Nuxeo Studio Modeler (JSF UI)

  1. In the Tabs tab:
    1. Check the default tabs that should not be displayed for your document type.
    2. If you created new content views, add news tabs in the Content views sub-tab.
  2. Specify the creation, edition and view forms layouts in the corresponding tabs:

    1. Drag and drop fields names from the right to the grid.
    2. Edit the corresponding widget properties.

      If the vocabularies you want to use in your layouts don't exist, you can create them in the Studio tree item Vocabularies .

Content Type Deployment

  1. Click on Save to save your configuration.
  2. After you deploy your customization on the your Nuxeo Platform instance, your new document type is displayed in the Available document type popup window.