Skip to content

About CtrlPortals

CtrlPortals adds two things to the M-Files client: portals, which appear in the right-hand pane when a user selects an object, and dashboards, which appear in the main pane and are not tied to any object. Both are built from the same pieces.

A portal or dashboard is a responsive grid. Everything below sits inside it, and the grid reflows as the pane is resized, which is why widths are expressed in sixteenths rather than pixels.

  • A grid component is one row of the layout. It is one of three kinds: Segment (a plain container), Header Segment (a container with a title strip driven by a property on the object), or Column Segment (a container that splits into columns).
  • A column component sits inside a Column Segment and is itself a Segment or Header Segment.
  • A segment component is the actual content. This is what the documentation calls a module — a Form, a List View, a Calendar, a Plot, an HTML block, and so on.

So the nesting is: portal → grid components → (optionally column components) → modules. A module never sits directly on a portal; it always sits inside a segment.

CtrlTime is built on CtrlPortals — its dashboards are CtrlPortals dashboards. CtrlPortals is otherwise independent of the CtrlDocs Microsoft 365 products (CtrlSync, CtrlTMS and PDS) and shares no configuration with them.

  • It does not move or copy data. Everything a portal shows is read from M-Files at the time it is displayed. There is no separate store to keep in sync.
  • It does not replace the metadata card by default. A Form module can, where you configure one, but the standard card remains available.
  • It is not a reporting server. Plots read from M-Files or from a SQL data source you configure. They are not a substitute for a data warehouse.
  • It does not manage permissions. A user sees in a portal exactly what they would see in M-Files, because it is the same data read as the same user.