Overview
A diagram builder is a floorplan dedicated to building a model with the use of a diagram.
A diagram is a representation of a model with graphical elements; shapes represent objects, and connectors between shapes represent relationships between objects.
For some models, a diagram represents a subpart of a whole model, and is a convenient visual way to understand it from a given point of view. Building this type of mod
Usage
Use a diagram builder:
- When you need to edit a model that needs to be represented by a diagram.
- To define a model that has a graph structure (by opposition of a tree or a list).
Don't use a diagram builder:
- To define a list of objects or a hierarchy of objects.
- When the structure of relationships is simple, or the number of objects is limited, you are better off using lists, trees, or tree tables. In certain cases, you could use a diagram component as an alternative way to display and navigate, but not to edit.
- If you need only to display a diagram: Prefer to integrate the diagram component into another floorplan, like the object page floorplan.
- Inside a Flexible Column Layout.
Structure
The diagram builder is organized around the diagram displayed in the main area.
The placement of the toolbars, left side panels, diagram, secondary view and right panels is given by the left to right reading convention. As a result, the interactions also follow the same rule: an interaction done in an area on the left or above will impact the content of an area on the right or below. The opposite is rare, will have less impact, and is used as a complementary behavior only.
- The main toolbar
- The diagram toolbar
- The diagram
- The object list panel
- The properties panel
- The auxiliary views bar
- The auxiliary view
Existing objects are taken from the Object List panel to be inserted as a shape into the diagram. In that case, the model reference them.
New objects and connectors are created with commands in the toolbars or the contextual menu. They are instantiated into the diagram and embedded into the model.
The properties of objects and relationships are editable in the Properties pane.
Assembly results (e.g. validation errors, resulting data preview) are displayed in auxiliary views.
Main Toolbar
The main toolbar contains several generic sections and optionally a specific “Diagram” section. The organization of the commands into sections follows the guidelines of the main toolbar (guideline to be defined)
The commands that impact a diagram are:
- File commands
- Verifying the model, executing the model will create feedback on shapes or connectors if messages concerning objects or connectors have to be displayed.
- Edition commands
- Undo, Redo, Selection mode like cursor / lasso / area)
- Removing a shape from a diagram will remove the object from the model and its relationships. In some cases, it will also delete the object.
- Removing connectors between shapes to delete relationship between objects.
- Insertion commands
- Adding objects in the diagram with create a shape in the diagram.
- Creating shapes in the diagram will create new objects in the model.
- Connecting shapes with connectors will create relationships between objects inside the model
- Elements display commands
- Moving shapes and connectors in the diagram, as well as changing the shape of connectors, will improve the readability of the diagram resulting in a better understanding of the structure of the model.
- Showing and hiding objects/shapes and links/connections.
- Diagram viewpoint commands
- Panning and zooming commands will modify the visible part of the diagram.
- Commands concerning shape placement and shape modifications (i.e. moving shapes, resizing shapes, changing the shape of connectors) are optional in the main toolbar
- Do put commands that modify the diagram and the model (objects and relationships) in the Edit or Insert sections.
- Do put commands that modify the diagram (shapes and connectors) without altering the model (object’s and relationships) into the Diagram section.
Diagram Toolbar
The diagram toolbar is an additional and optional toolbar that contains commands that impact the diagram area only.
These commands are implicitly grouped by section with the same logic order as the main toolbar. Sections are separated by a vertical separator, but the name of the section is not indicated.
Most of the sections are justified on left but it is possible that some last sections are justified on the right.
Object List Panel
The Object List panel is a convenient way to quickly insert existing objects or instantiate templates by a drag and drop into the diagram.
The Object List panel structure is described in the contextual side panel guideline.
A diagram can be built with two kinds of entities, displayed in two different lists:
- Objects that have their own lifecycle and exist independently of the diagram. In this case the diagram references these objects (aggregation). This list is compulsory.
- Templates that are instantiated as objects in the diagram and cannot exist independently of the diagram (composition). This list is optional.
In addition to the drag and drop (this type of interaction does comply to accessibility standards), an insertion command must be displayed in the main toolbar and/or in each list item’s context menu.
Don'ts
- Don't mix in the same list/tree both the object to be used and the templates to be instantiated.
- Don't use the object list panel to display objects of the diagram.
Diagram
The diagram is the main area of the builder. It is always visible and can take most of the floorplan space.
A diagram displays shapes and connectors to represent objects and relations of a model that have a structure of a graph.
A shape is a symbolic representation of a given type of object and connectors are links between shapes to represent relations between objects. Some shapes can be containers to represent relation of composition (e.g. Swim lanes contain activities in a BPMN diagram).
Modeling with a diagram requires that you firstly specify many characteristics:
- The type of objects and relationships allowed in the model and how they are represented.
- The composition/alignment rules: how elements can be visually disposed by default or interactively with assistance.
- The behavioral rules: how an interaction in one element affects itself and the others.
- The validation rules: how each object/relationship is considered as valid or not, and and whether the whole assembly is also valid.
See details in the Diagrams Component.
Auxiliary View Bar
The auxiliary views bar allows clear separation of the diagram area from the auxiliary views area where one or several distinct views may be displayed.
This bar allows the following to happen:
- Indicate the title of the active auxiliary view among all the auxiliary views that have been switched on.
- To switch between auxiliary views (if several are switch on) because they use the same area.
- Optionally, it can give access to the commands on the currently active view content.
Tabs are displayed on the left, commands on the right.
Order of the tabs:
The views are listed following the logic of how they are read. For example, the message view is displayed before a data preview view, because it is only when no errors show in the message view that data displays in the data preview view.
Auxiliary View
An auxiliary view displays information of the edited file that cannot be properly displayed in the diagram.
The builder can have one or several auxiliary views defined, each one having a specific and exclusive content.
The content of each auxiliary view can depend on the currently selected objects in the diagram or can ignore it.
Properties Panel
The properties panel allows viewing and editing of file, object and relationship properties that are displayed in the diagram.
It can take two forms: contextual side panel or contextual side sub-panel. The visual difference between the two is in the header, so it allows information to be arranged in a hierarchy, and the user will be able to activate the properties of the file, or the properties of the currently selected object.
Properties of Internal and External Objects
The diagram may contain internal object and external objects: Internal objects have the same lifecycle as the diagram, external objects have their own lifecycle.
The user must understand what is saved within the diagram when executing the save command.
A property pane of an external object can display both properties of the object but also information related to it.
Do's
Do display the necessary information for the building task extracted from the external object page, while respecting the same structure of the information.
Do display the non-editable properties of the external object in read only.
Do display the object-related information after the properties (e.g. list of linked objects). Do make them editable.
Do provide a command in the panel to open the external object in another browser’s window.
Don'ts
Don’t display the whole object page of the external object in the property pane.
Other Components
Don'ts
Don’t use a navigation tab bar to switch from one diagram to another. Having a navigation tab bar would mean that several diagrams will have a common lifecycle. Due to the complexity of the diagram content and the multiple interactions both in it and with other areas, we prefer to save one diagram at a time and so have each diagram lifecycle is independent from others.
Don’t put an explorer pane to list all diagrams and don’t put a tab container to switch between opened diagrams either. Instead, give space to the diagram. To edit several diagrams simultaneously, use several diagram builders in different tab pages of the browser.
Behavior and Interaction
Interactions Between the Object List Panel and the Diagram
Interactions Between the Diagram and the Property Panel
Interaction Between the Diagram and the Auxiliary Views
Interaction Between the Auxiliary View and the Properties Panel
The auxiliary view cannot interact with the property panel directly but, indirectly by the combination of behaviors: interaction in the auxiliary view impacting the diagram and the interaction in the diagram impacting the property panel.
Switching on/off Auxiliary Views
One or several commands in the main toolbar switches on and off the auxiliary views bar and displays one of the auxiliary views: the first tab by default, otherwise the last one active in the user session.
Other commands can activate an auxiliary view and, if necessary, also display the auxiliary views bar. (e.g. the command “Preview Data” in the contextual menu of a shape of a “Graphical View” will display the “Data Preview” Tab). In this case the command must be explicit and should concern one of the auxiliary views.
To hide the auxiliary views bar and the current bar, hide the current auxiliary view with the command in the main toolbar.
Examples
DWC - Data Builder - Graphical View Editor
DWC – Data Builder – Entity-Relationship Model
Support
If you have any questions or feedback about this page, please contact our team. For further information and questions in regards to the Design System, please visit the DNA Design SharePoint.