Versions Compared

Key

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

Include Page
_What is a workbench
_What is a workbench

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
      dropConstraint:
        $type: jcrDropConstraint
        primaryNodeType: mgnl:contact
 extensionViews:
     $type: treeView
      columns: &columns
        - name: jcrName
          label: name
  - view:
        $type: jcrNameColumn
          editable: true
          nodeTypeToIcon:
       thumbnailView
     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

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 workbench.tree.drop.DropConstrainteditable whether 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.

contentViews

required

Parent node for the content view definitions. Defines how users can view content in the workbench. Must

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

nameimplementationClass

optionalrequired, default is workbench

Name of the workbench.

Workbench.class

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

extensionViews

Anchor
anc-extensionViews
anc-extensionViews
optional

List of extension views configured

dragAndDrop

optional, default is true

Set to false to disable drag and drop operations

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

dropConstraintClass

Javadoc
0

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.