Workbench is a view that displays a list of content items in a workspace. It is part of the content app framework, typically defined in the browser subapp. The workbench contains at list of content views. Typical view types are tree, list and thumbnail. The workbench also provides a search box; results from search are displayed in the search view.

Workbench definition

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

  dropConstraintClass: info.magnolia.ui.workbench.tree.drop.AlwaysTrueDropConstraint
  editable: false

Node nameValue



















Defines how users can view content in the workbench. The parent node for the specific content view definitions. It must contain at least one content view, see Content view definition.


optional, default is true

(warning) Magnolia 5.4.9+

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


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   DropConstraint  interface.



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

Inline editing is available only in the tree view, not in list, thumbnail or search views.

Definining a default action will override inline editing. Double-clicking the cell with trigger the default action instead of inline edit mode.



(warning) Magnolia 5.4+ A list of configured content tools. (A content tool must be configured with ContentToolDefinition .)
WorkbenchPresenter is implemented in a way that it automatically configures a "search box" if you have both list and search view defined. 

#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))