Vault structure
CtrlPortals needs almost nothing from the vault to draw a portal over objects that already exist. What it does need comes from the components you decide to use, so build this alongside the first dashboard rather than all at once.
How the pieces relate
Section titled “How the pieces relate”Comments. The Comments component stores each comment as its own object, which is what makes replies, editing, mentions and a vault-wide comment feed possible. Without a comment object type the component falls back to read-only M-Files version comments.
A comment object carries its own GUID and its parent’s GUID, both plain text, which is how CtrlPortals threads a conversation. Neither is meant to be seen or edited by a user.
Employees. Comments identify their author as an Employee object rather than as an M-Files user, so an employee object type is required wherever comments are. The same object is what any other feature that resolves “the current user” reads.
Exactly one employee object should point at each user account. Two makes the current user ambiguous.

Calendars. The Calendar component reads events from an object type of your choosing, with properties for start, end and the person the event belongs to. See the Calendar component for what it expects.
CtrlPortals binds 62 settings to something that has to exist in the vault, 5 of them required. Everything below is generated from the shipping application, so nothing it needs is missing from this list.
Object types
Create these first; classes and properties hang off them.
| Needed for | Configuration section | Required |
|---|---|---|
| Object Type | Series | Optional |
| Object Type | M-Files trace data configuration | Optional |
| Object Type | Event type | Optional |
| Object Type | Dataset search configuration | Optional |
| Object type | Comment configuration | Optional |
| Object type | Object type relationship mapping | Optional |
| Object type | Employee configuration | Optional |
Classes
Each belongs to one of the object types above.
| Needed for | Configuration section | Required |
|---|---|---|
| Class | Class mapping | Yes |
| Class | Series | Optional |
| Class | M-Files trace data configuration | Optional |
| Class | Event type | Optional |
| Class | Dataset search configuration | Optional |
| Class | Comment configuration | Optional |
| Class | Class relationship mapping | Optional |
Properties
The data type is not advice. A property of the wrong type cannot be selected for the setting at all.
| Needed for | Configuration section | Data type | Required |
|---|---|---|---|
| Header Property | Grid component | Any | Optional |
| Sub Header Property | Grid component | Any | Optional |
| Sub header property | Column component | Any | Optional |
| Header property | Column component | Any | Optional |
| Property | Property mapping | Any | Optional |
| Property | Field component | Any | Optional |
| Group view by property | List view options | Lookup or Multi Select Lookup | Optional |
| Group values by property | List view options | Any | Optional |
| Indirect Relation | Series | Any | Optional |
| Property | Selected property | Any | Yes |
| Property | SQL trace data parameter configuration | Any | Optional |
| Indirect Relation | M-Files trace data configuration | Any | Optional |
| Label Property | M-Files trace data configuration | Any | Optional |
| Value Property | M-Files trace data configuration | Integer or Integer64 or Floating | Optional |
| Trace Property | M-Files trace data configuration | Any | Optional |
| Take the value from | Plot context condition | Any | Optional |
| Filter on | Plot context condition | Any | Yes |
| Property | Plot value property | Integer or Integer64 or Floating | Yes |
| Initial Date | Calendar options | Timestamp | Optional |
| From | Event type | Timestamp or Date | Optional |
| To | Event type | Timestamp or Date | Optional |
| All Day | Event type | Boolean | Optional |
| Cancelled | Event type | Boolean | Optional |
| Read-Only | Event type | Boolean | Optional |
| Hours | Event type | Floating | Optional |
| Direct Relationship | Event type | Multi Select Lookup or Lookup | Optional |
| Personal Relationship | Event type | Multi Select Lookup or Lookup | Optional |
| Property | Dataset column configuration | Any | Yes |
| Indirect Relation | Dataset search configuration | Any | Optional |
| Personal | Dataset search configuration | Lookup or Multi Select Lookup | Optional |
| From current object property | Dataset SQL parameter | Any | Optional |
| Author property | Comment configuration | Lookup or Multi Select Lookup | Optional |
| Content property | Comment configuration | Multi Line Text | Optional |
| GUID property | Comment configuration | Text | Optional |
| Parent GUID property | Comment configuration | Text | Optional |
| Parent object property | Comment configuration | Lookup or Multi Select Lookup | Optional |
| Mentions property | Comment configuration | Multi Select Lookup | Optional |
| Reference Property | Object type relationship mapping | Multi Select Lookup or Lookup | Optional |
| Reference Property | Class relationship mapping | Multi Select Lookup or Lookup | Optional |
| User property | Employee configuration | Multi Select Lookup or Lookup | Optional |
| Image property | Employee configuration | Text or Multi Line Text | Optional |
Workflow states
States within the workflows above. Entering one is what triggers the work.
| Needed for | Configuration section | Required |
|---|---|---|
| States | Step | Optional |
Views
| Needed for | Configuration section | Required |
|---|---|---|
| View | List view options | Optional |
| View | Dataset view configuration | Optional |
| View | View link | Optional |
User groups
| Needed for | Configuration section | Required |
|---|---|---|
| Target user groups | Dashboard group | Optional |
Named access control lists
| Needed for | Configuration section | Required |
|---|---|---|
| Named Access Control List | Object type relationship mapping | Optional |
| Named Access Control List | Class relationship mapping | Optional |
Generated from CtrlPortals 3.26.9.53.
- The application status in M-Files Admin reports no configuration error.
- If comments are in use: exactly one employee object points at each user account, and the two GUID properties are plain text and hidden from the metadata card.
Set up CtrlPortals — step three, building the first dashboard.