Skip to content

A tour of CtrlPortals

The CtrlPortals demo vault is configured as a CRM system. This page walks through it in the order a user meets it: the home screen, a dashboard, a customer, the tabs on that customer, a dashboard written in HTML, the numbers behind the figures, the calendar and time registration. Nothing on the tour is specific to CRM — the same modules sit on projects, cases or contracts.

Sign in to the demo vault as Tina Smith (TinaS). Apart from connecting SQL Server, which is optional and described under Plots from SQL Server, nothing here changes the configuration, so it is safe to click through. The screenshots are dense, so zoom in where a detail matters.

For how the pieces fit together rather than what they look like, read About CtrlPortals.

Signing in opens a dashboard where the M-Files home view would be. It is an ordinary dashboard with Replace Home Screen turned on, and it shows what a start page can be made of: figures across the top, drawn as Plot indicators from SQL Server data; a line of guidance and a column of shortcut buttons written in HTML; and the vault’s views in a List view. The tabs across it — Main, Sales Plots and Contracts — are a Menu module, the same as the tabs on a portal.

Plots from SQL Server describes connecting the database the figures read. Dashboards explains who gets a replaced home screen.

M-Files home view replaced by a dashboard with Main, Sales Plots and Contracts tabs, five figures across the top, a list of built-in and common views on the left and a column of blue shortcut buttons on the right.

A dashboard in place of the home view: figures for active customers, agreements, new leads, open opportunities and tasks across the top, a line of guidance with a button for recent documents, the vault's views in a list, and shortcut buttons under Sales Pipeline, Customer Accounts and Reports & Resources.

Dashboards are listed in the three-dot menu at the top right of the M-Files window, one submenu per dashboard group: CRM, HTML and Time in the demo vault, and CtrlPortals, which holds Refresh Configuration and any dashboard that belongs to no group. The classic client lists the same groups in the task pane on the left. A dashboard is not attached to an object, so it opens in the main pane and stays there while you select objects and open their portals beside it. In the newer M-Files UI, opening a view that has no dashboard bound to it puts the view’s contents back in its place.

Open CRM Overview from the CRM group. It holds two lists — My Customers and My Opportunities — beside plots of open opportunities and leads per customer on its Opportunity Management tab, with Sales Trends next to it. This is the screen a salesperson would work from, and none of it required navigating a folder tree. Single-click an opportunity in My Opportunities and its portal opens in the right-hand pane, beside the dashboard.

Two pie charts on a dashboard on the left, and an opportunity portal with subject, customer, product, workflow steps and a Details tab on the right.

The Opportunity Management tab of the dashboard, with open opportunities and leads per customer, beside the CRM Implementation - AAC opportunity portal in the right-hand pane.

In My Customers, single-click A&A Consulting (AAC). The name is a link to the object, and clicking it opens the customer’s portal in the Portal tab of the right-hand pane without taking the dashboard away. Drag the border between the panes to the left when the portal needs the width.

The portal shows the customer’s details, its related objects and its comments on one screen, instead of a tree to work down. Its fields are edited in place: change a value and Save and Discard appear in the footer, with Save with Comment under the arrow beside Save. Until something changes, the footer carries only the object’s workflow and current state. Everything a portal writes goes through normal M-Files permissions, so a user can only change what they could change on the metadata card.

Dashboard with a My Customers list on the left and a customer portal on the right showing header fields, a row of tabs, the Details tab and a comment thread.

My Customers on the dashboard in the main pane, and the A&A Consulting (AAC) customer portal in the right-hand pane: VAT number, country, credit rating and Is Active across the top, the Details tab with its Team and Address Information sections, and the comment thread beside it.

The row of tabs across the middle of the portal — Details, Calendar, Projects, Open Opportunities, Leads, Sales, Contacts, Share price, Metrics, Documents and All Opportunities — is one segment holding several, so a portal can carry more than fits on a screen. Tabs that do not fit are moved into a drop-down behind an ellipsis (…) button at the end of the row. Work along it.

Open Opportunities lists the opportunities that point at this customer. Single-click one and its portal opens in a pop-up window, leaving the customer’s portal where it was; the classic client opens it in another tab of the right-hand pane instead. Either way it is the same movement as from the dashboard to the customer, one relationship at a time.

Below the opportunity’s header fields, a Workflow steps module lays the opportunity’s workflow out as Lead, Opportunity and Closed, with the current step marked. A step can stand for several workflow states, so a long workflow can still read as a few steps. The Calendar tab holds the opportunity’s sales events and opportunity events, Documents lists its documents, and Status updates beside the tabs is its comment thread.

Pop-up window showing the CRM Implementation - AAC opportunity with three workflow steps, a Details tab of fields and a Status updates panel with an Add Comment button.

An opportunity portal in a pop-up window: subject, customer and product across the top, the workflow steps Lead, Opportunity and Closed with Lead marked, the Details tab, and an empty Status updates feed. The footer shows Opportunity Workflow in the Lead state.

Contacts lists the people at the customer, with a comment thread beside it. Comments here are threaded rather than flat: reply to one, edit your own, and type @ to mention a colleague from the vault’s users, which emails them where the vault has comment notifications turned on. An edited comment is marked with an asterisk, so the record of who said what stays honest. A vault with no Comment object type gets the M-Files version comments in the same place instead, labelled with the workflow state on versions that entered one. They are flat: users can still add one, which saves a new version of the object, but cannot reply to or edit them. See the Comments component reference for which of the two a vault gets.

Single-click Jeff Smith to open his contact portal. His properties are laid out across two columns rather than the single column of a metadata card, and the LinkedIn button above them is an HTML module — arbitrary markup on a portal, with property values from the object substituted into it. Clicking it opens his LinkedIn profile in the browser. The Share price tab back on the customer is another HTML module.

Open HTML Training from the HTML group. It is a training module laid out as a web page, with sections that open and close and a Training Summary tab beside it, and its content is written in HTML modules on a dashboard. A dashboard has no object behind it, so there are no property values to substitute. On a portal the same module takes them from the object: on a training object that stores a YouTube video ID, it can embed that video. See the HTML component reference.

Dashboard showing a formatted training page with a title, a welcome panel, a highlighted regulatory note and collapsible numbered sections.

A dashboard written in HTML: a CAPA training module on the Training Module tab, with a Training Summary tab beside it and sections that expand and collapse.

Open the Metrics tab on the customer portal, from the ellipsis (…) drop-down if it is not on the row. Then open the Sales dashboard from the three-dot menu. The dashboard takes the main pane and the portal stays beside it. The tab shows this customer’s closed opportunities per month and its sales value per product; the dashboard shows sales per product by month, total sales value per product and the running total. One customer’s figures can then be read against the trend they belong to.

A plot that reads M-Files queries the vault itself, not a copy, and keeps the result for the visual’s Cache lifetime (minutes), 30 by default. Clicking a data point drills into the objects behind it, and the refresh control on a chart clears that cache and reads the vault again. An indicator has no refresh control of its own, so an M-Files figure can be up to that many minutes old.

Three charts on a dashboard on the left, and on the right a customer portal open on the Metrics tab with a bar chart, a pie chart and comments below.

Sales plots in the main pane — sales per product by month, total sales value per product and total sales by date — beside the A&A Consulting (AAC) customer portal on its Metrics tab, which shows closed opportunities per month and sales value per product.

Open SQL Cockpit Dashboard from the shortcuts on the home screen. Its indicators — active customers, pipeline value, deals closed this month and average deal size won — and its charts of opportunities by state and lead probability read a SQL Server database rather than M-Files, and so do the figures across the top of the home screen. A Plot takes its data from one or the other, set per visual by Data Source Type.

Dashboard with four figures across the top, a bar chart of opportunities by workflow state and a doughnut chart of lead probability.

Plots that read SQL Server: indicators for active customers, pipeline value, deals closed this month and average deal size won, a bar chart of opportunities by state, and a doughnut of lead probability.

The database is not part of the demo vault, so until one is connected each of these plots, and each figure on the home screen, shows Could not load the plot instead of its data. The M-Files plots elsewhere on the tour work without it. The demo vault fills the database with M-Files Reporting and Data Export, and already has a data set for it. Connecting it takes a SQL Server that the M-Files server can reach, with SQL Server authentication enabled, a database named CRM_Vault_DB, and a SQL Server login CRMExport that can create tables in it. Then, in M-Files Admin:

  1. Under Reporting and Data Export, open the properties of the SQL data set and choose Define… beside the connection string. In Data Link Properties, enter the server name and the password of the SQL Server login CRMExport, and select CRM_Vault_DB as the database.

    M-Files Admin showing the SQL data set’s properties with customer properties to export, and a Data Link Properties dialog with the server name and password fields highlighted.

    Reporting and Data Export in M-Files Admin: the properties of the SQL data set, and the Data Link Properties dialog opened from Define..., where the server name and the CRMExport login's password go.
  2. In the CtrlPortals configuration, expand Data Sources and then SQL Data Sources, and set Server Name and Password on CRMDEMO to the same server and password. Database Name and User Name are already filled in. Only a system administrator can change Server Name.

    CtrlPortals configuration tree in M-Files Admin with the CRMDEMO SQL data source expanded; the Server Name and Password rows are shaded red and read (not set).

    Data Sources in the CtrlPortals configuration: the CRMDEMO data source has its database name and user name set, and Server Name and Password highlighted as not set.
  3. Back under Reporting and Data Export, choose Export Now.

A plot that reads the export shows the vault as it stood at the last export, not as it is now. SQL results are not cached, so the refresh control on a chart reads the database again, not the vault. An indicator, such as the four figures across the top of the SQL Cockpit Dashboard, has no refresh control of its own; it reads the database again when the dashboard is reloaded with Refresh in its toolbar.

Any Plot can use the data source by name, and the database does not have to be an export of the vault: an ERP or CRM system’s own database works the same way, provided it is on Microsoft SQL Server, the only type supported. The deprecated Plot view reads M-Files only.

My Calendar, in the Time group, draws objects that have a start and an end as events. Dragging on an empty slot creates one and dragging an existing event moves it, neither of which opens a metadata card — though both still write through normal M-Files permissions.

A calendar holds several event types at once, and each event type sets its own colour and says which properties make up the title and the hover text. That is why the week below reads as a week rather than as a list of objects: the colour tells you what kind of event it is, and pointing at one shows the detail without opening anything. An event type can also be a background event, drawn behind the others and fixed in place. Under the calendar, a legend names each event type in its colour; clicking a name hides that type’s events, and clicking it again brings them back.

Week view of a calendar for 4 to 10 September 2023 with events in several colours between 8am and 5pm, the current day highlighted, and a hover box under a Friday meeting.

A week on the demo vault's calendar. Each colour is a different event type, and pointing at an event shows the hover text configured for that type.

Time Registration and Time Reporting, also in the Time group, belong to CtrlTime, which is installed in the demo vault and built on CtrlPortals: its screens are CtrlPortals calendars and plots, configured for booking hours.

Time Registration shows booked time on a calendar, customer time and internal time in different colours, with the week the entries belong to as an all-day band. A week is an object with a portal of its own, which lists the week’s entries on a calendar and, from its footer, sends the week through its workflow for approval. Time Reporting totals the hours booked. The CtrlTime examples build each of these screens.

Day calendar of coloured time entries for 5 January 2026 on the left, and on the right a week portal with a week calendar of entries and Customer Time and Internal Time legend buttons.

Time entries on a day calendar in the main pane, with the week as an all-day band and a legend of event types beneath, and a week's portal in the right-hand pane showing that week's entries, with the Week workflow in the Sent to Admin state in its footer.
  • Follow a calendar through the demo vault takes one meeting from the opportunity it belongs to through to the three calendars that show it, and ends with the configuration behind the demo.
  • About CtrlPortals explains how portals, segments and modules fit together, and what the product deliberately does not do.
  • Configuration has every setting behind what is on this page, generated from the shipping application.