An object’s detail page is assembled from components: attribute lists, related-object tables, diagrams, panels. Which components appear, and in what order, comes from the object type’s template.
Administrators can edit that layout directly on the object, watching the real page update live, instead of editing package files by hand. The result is saved for every object of that type.
For a customizable layout with free positioning and resizing, such as the homepage or a dashboard, see Homepage layout and widgets.
Prerequisites
- Administrator rights
- A desktop-sized screen
- An object type whose template belongs to a package Dawiso can edit
This feature is disabled:
- On smaller screens
- For object types not defined by an installed package (e.g., a built-in object type)
Open the editor
- Open any object of the type you want to edit.
- Open the three dots menu in the object header.
- Choose Edit template components.
The page stays where it is and gains an editing toolbar. Every component shows a frame on hover, and insert points appear between components.
Rearrange components
Select a component to open the toolbar to:
- Move it up or down
- Duplicate it
- Rename it
- Configure it
- Remove it
Drag a component by the handle at the left of its toolbar to move it anywhere on the page. A gap shows where it will land.
You can drop the component:
- Anywhere in the centre or right column
- Inside a panel: drop it within the panel’s body and it becomes one of the panel’s own components.
Panels and diagrams sit only at the top level of a column. Relations shown as a table are the exception and can still go inside a panel.
Dragging the last component out of a column leaves the column visible with an empty placeholder, ready for a new drop.
Move a single row
Attribute lists, relations lists, and related-users lists are rows that can move independently of its list.
- Hover over a row to show its own small toolbar in place of the list’s: move up, move down, remove, and a drag handle.
- Drag the row by its handle, or press and drag anywhere on its body. Pressing on the row’s text selects the text instead. Where it lands depends on the drop target:
- Onto another list of the same kind (e.g., an attribute row onto an attribute list): It joins that list at the position you point at. A highlighted band marks every list that can take the row while you drag.
- Onto a slot between components: It becomes a bare component of its own, with no title and no special settings.
A component that shows a single row has no separate row toolbar. Its component toolbar covers the row directly, and dragging its body moves the whole component.
When a list’s rows fill it completely, hover over the narrow band along its edges to bring back the list’s own toolbar. The last row leaving a list removes the now-empty list.
Add a component
- Select an insert point: the thin strip between two components, or inside a panel.
- Pick a component type, including which attributes to show or which objects a table should list (see Choose the table’s data source). To show relations as labels on the object, pick Codetable relations.
Name the panel
A component added at the top level of a column is placed inside a panel, and the dialog requires a name for that panel before adding anything. Provide one name per enabled language.
The following cases skip the panel and the name prompt:
- A rich-text attribute added on its own. It already prints its own name as a heading, so a panel around it would frame it twice.
- A diagram added on its own. It draws its own bordered frame, so a panel around it would give it two borders.
- Anything added inside a panel stays as it is. A panel can’t hold another panel or a diagram, so the picker opened from an insert point inside a panel offers neither the Panel nor the Diagram tile.
Picking several attributes at once produces one panel holding all of them, plus a separate bare component for each rich-text attribute in the selection.
Because the panel carries the title, an attribute list has no Rename of its own. Rename the panel around it instead.
Choose single or multiple related users
Adding a Related users component gives each listed role a Single value checkbox: ticked, that role accepts one user on this object type; cleared, it accepts several.
This is a property of the object type, not of the component or the role in general: the same role can take one user here and several on another object type. Reopening the component with Configure shows the current setting, so confirming the dialog without changes changes nothing.
Choose the table’s data source
Adding a Table component asks for a Data source: the objects the table lists.
- Child objects: The objects under the current object. Child object type optionally narrows them to one object type, and under Advanced, Depth sets how many levels down the table reaches.
- Related objects: The objects linked to the current object. Relation type optionally narrows them to one relation type.
A table whose source is defined in the package shows Custom (defined in the package) when reopened with Configure, and its source stays as it is.
Under Columns, each column has a Column type and a field for what it shows: Attribute type, Field, Relation type, or User relation type.
Create a new attribute
Creating a brand-new attribute from the attribute dialog adds it to the object type’s package and becomes available across the repository. Removing the component afterwards doesn’t remove the attribute.
Panel behavior
- A panel is a container holding other components, and can hold a mix of different kinds, such as an attribute list, a relations list, and a related-users list side by side. Most panels arrive with the component added, as described in Add a component, but an empty one can also be added from an insert point and renamed from its toolbar.
- Clicking anywhere inside a panel selects the panel, not the component under the pointer. To reach a component inside it, point at that component and use the toolbar that appears over it.
- A newly added panel is ready to fill straight away. It offers its own insert point and accepts dropped components and rows before you save.
Panels without a name
A panel that has no name, created before names were required or through the API, shows the placeholder header Untitled panel while being edited. Point at it to select it and rename it. Outside editing, it still renders without a header.
The Rename dialog shows the Current name above the fields for the new name.
Detach a shared component
Some components on the page are shared definitions from a package rather than this object type’s own, such as the Ownership panel with its owner and steward roles. Their rows can still be acted on directly.
The first row-level edit, such as dragging a row out, removing a row, or moving it up or down, detaches the component. Dawiso replaces the shared reference with this object type’s own copy, keeps the edit, and shows a notice naming the component.
The Detach action in the component toolbar does the same explicitly. After detaching, later changes to the shared component in its package no longer reach this object type.
Save or discard changes
- Save publishes the layout. Dawiso writes it as a new version of the object type’s package and re-renders the page for everyone.
- Discard throws the session away and restores the page as it was.
If someone else changes the template while editing, Dawiso replays your changes against the newer version. Some changes may be repositioned or removed in the process, so review the page before saving again.
Limitations
- Exactly two columns
- No free positioning
- No resizing
- No custom grid: components follow one another in the order you give them.