Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Include Page
_What is a workbench
_What is a workbench
Here is an example workbench definition from the Contacts app. This workbench operates on the contacts workspace and displays contacts and folders

Info

This workbench definition is part of the Magnolia 6 UI framework. The fully qualified class name is info.magnolia.ui.contentapp.configuration.WorkbenchDefinition.

If you work with the Magnolia 5 UI framework, see Workbench definition for Magnolia 5 UI instead.

Table of Contents

Example workbench definition

Code Block
languageyml
workbench:
  contentViews:
    -#add name:view treedefinitions
      dropConstraintextensionViews:
        $type: jcrDropConstraint
        primaryNodeType: mgnl:contact
      $type: treeView
      columns: &columns
        - name: jcrName- view:
          label: name
          $type: jcrNameColumnthumbnailView
          editable: true
          nodeTypeToIcon:
            mgnl:contact: icon-people
            mgnl:content: icon-folder
          editor:
            availability:
              nodes: true
              properties: true
        - name: valueview-thumbnails
          label: value
          editable: true
          editor:
            availability:
              nodes: false
              properties: true
        - name: jcrPath
          label: path
          $type: jcrPathColumn
        - name: status
          label: status
          $type: jcrStatusColumn
        - name: mgnl:created
          $type: dateColumn
          label: date
          editable: false
          editor:
            availability: *onlyContacts
            field:
              $type: textField
              converterClass: com.vaadin.data.converter.StringToDateConverter
    - name: list
      columns: *columns
      $type: listView
    - $type: thumbnailViewexpandRatio: 1f
  name: wbName

Workbench properties

contentViews

required

Parent node for the content view definitions. Defines how users can view content in the workbench. The parent node for the specific content view definitions. It must

Must contain at least one content view (see view. For more information, see Content view definition).

dragAndDrop implementationClass

optionalrequired, default is true

Set to false to disable drag and drop operations in the workbench.

dropConstraintClass

optional, default is AlwaysTrueDropConstraint

A drag-and-drop constraint class. By restricting the nodes that a user can move you can enforce a certain node hierarchy. For example, you might want to allow content to be moved under folders but not folders under content. If the class is not defined, the AlwaysTrueDropConstraint is set as default. When you write your own class, implement the 

Javadoc
0info.magnolia.ui.workbench.tree.drop.DropConstraint
 interface.

editable

optional

Defines whether the workbench is editable inline. You can double-click a cell to edit its value. Works only for columns that are also configured as editable.

(warning) You cannot define a default action and use inline editing at the same time.

Workbench.class

Class implementing info.magnolia.ui.contentapp.browser.Workbench.

extensionViews

Anchor
anc-extensionViews
anc-extensionViews
optional

List of extension views configured in the workbench.

Tip

You can see another example of an extension view configured to display analytics data in Pages app in the Analytics Connector Pack documentation.

view

required

Actual view definition to be displayed in the extension panel. Must implement the info.magnolia.ui.ViewDefinition interface.

expandRatio

optional, default is 0

Defines how space is divided in the workbench. A value of 1f means that the extension panel occupies the same amount of space as the content panel.

icon

optionaldefault is icon-analytics-app

CSS class that identifies an icon used for the extension panel. For available names, see Icons.

name

optional, default is workbench

Name of the workbench.

contentTools

optional

A list of configured content tools. A content tool must be configured with
Javadoc
0info.magnolia.ui.workbench.contenttool.ContentToolDefinition
Javadoc
0info.magnolia.ui.workbench.WorkbenchPresenter
is implemented in a way that it automatically configures a "search box" if you have both list and search view defined.