{"id":44913,"date":"2026-06-02T21:50:32","date_gmt":"2026-06-02T19:50:32","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=44913"},"modified":"2026-06-02T21:50:34","modified_gmt":"2026-06-02T19:50:34","slug":"m-files-introducing-the-business-dashboard-module","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/m-files-introducing-the-business-dashboard-module\/","title":{"rendered":"M-Files &#8211; Introducing the Business Dashboard module"},"content":{"rendered":"\n<p>Some time ago, a customer asked whether it was possible, in M-Files, to have dashboards with KPIs and a global overview of what was happening in their vault. It was a topic I had in my radar for a few years already, but I never had &#8211; or took &#8211; the time to really work on it. I jumped on the occasion to start building a solution in parallel of my daily-job at dbi services. Several evenings (who said nights?), weekends and some holidays later, here we are.<\/p>\n\n\n\n<p>The starting point was a real observation: the views of M-Files are powerful, the metadata model is flexible, the workflows are solid, but <strong>getting an at-a-glance picture of the business is still a clicking exercise<\/strong>. You open a view, you count, you open another view, you count again, you switch to the search, you start building an Excel with what you found&#8230; However, you might still not have the chart you wanted to present in the management meeting that starts in ten minutes.<\/p>\n\n\n\n<p>This blog post introduces what I called the <strong>Business Dashboard module<\/strong>, a custom M-Files extension designed and built to fill that gap. This is the first post of a series that will walk through the module. From the end-user experience, to the authoring side, and finally to a complete worked example. I will use the M-Files <strong>Sample Vault<\/strong> for this series since it contains test data. You can quickly and easily deploy that vault via the <a href=\"https:\/\/product.m-files.com\/downloads\/\" target=\"_blank\" rel=\"noreferrer noopener\">M-Files installer<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-1-the-problem-to-solve\">1. The problem to solve<\/h2>\n\n\n\n<p>As you might know, M-Files ships with a few visualization features (views, search facets, the right-hand Metadata and Preview panes). With these, you can answer one of the following questions, but never all at once and never at a single glance:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>How many contracts are currently active in the vault?<\/li>\n\n\n\n<li>How many of them expire in the next 30 days?<\/li>\n\n\n\n<li>What is the distribution of our contracts by agreement type?<\/li>\n\n\n\n<li>What is the total amount of invoices waiting to be approved, broken down by customer?<\/li>\n\n\n\n<li>How many documents was each employee responsible for last quarter?<\/li>\n<\/ul>\n\n\n\n<p>These are not exotic questions. They are the kind of things you might face every week. And the honest answer, today, is &#8220;I will get back to you later&#8221;. Sometimes there is a Power BI dashboard plugged into the vault SQL backend that answers some of them, but that is a second tool, a second login, often a second team to involve, and usually a permission\/access story that does not match the per-user M-Files context.<\/p>\n\n\n\n<p>I wanted something simpler. Something that lives <strong>inside M-Files<\/strong>, that integrates with the M-Files access model, that an administrator can configure without writing any code, and that the end user can open with one click from within M-Files.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-2-what-the-business-dashboard-module-is\">2. What the Business Dashboard module is<\/h2>\n\n\n\n<p>The Business Dashboard is an additional <strong>panel<\/strong> that appears on the right-hand side of M-Files (alongside Metadata and Preview). It works in both M-Files Web and Desktop (latest UI). End users pick a dashboard to render, which contains <strong>widgets<\/strong> (tiles) that display live business data from the vault using KPIs, donut, bar, line, area, tables or gauges. Data is fetched live from M-Files and it can refresh itself. It provides multiple other features such as export to PDF or CSV, favorites, links, even object navigation, etc&#8230; From a security point of view, the access control will be in Post 8.<\/p>\n\n\n\n<p>For administrators, dashboards are defined as <strong>JSON documents<\/strong> edited inside a dedicated tab in M-Files Admin. The editor offers both a JSON editor and a <strong>Visual Designer<\/strong> that lets you build dashboards without any knowledge of what JSON is. Definitions are stored in the vault, so a backup includes them automatically and there is no extra database to provision or manage.<\/p>\n\n\n\n<p>Two design choices are worth pulling out here, because they shape everything else in the series:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>The engine is fully generic.<\/strong> There is no hardcoded business concept anywhere in the code. The same module works for contracts, invoices, customers, employees, projects, or whatever objects is contained within your vault. The JSON tells the engine <strong>how to query<\/strong> (which object type, which class, which property to group by, which filter to apply), not <strong>what values to expect<\/strong>.<\/li>\n\n\n\n<li><strong>The wire format is frozen.<\/strong> Once the dashboard JSON is saved, the calls between the UI and the server speak a fixed shape. This means that when\/if I ship a new widget type or a new aggregation, existing dashboards will keep working with no migration.<\/li>\n<\/ul>\n\n\n\n<p>This is what the <strong>Business Dashboard<\/strong> looks like, from end-user point of view (click to enlarge the image):<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a1f51b23afa5&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a1f51b23afa5\" class=\"wp-block-image size-large is-style-default wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"806\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/9a.1-1-1024x806.png\" alt=\"\" class=\"wp-image-44916\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/9a.1-1-1024x806.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/9a.1-1-300x236.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/9a.1-1-768x605.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/9a.1-1-1536x1209.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/9a.1-1-2048x1613.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-3-concrete-use-cases\">3. Concrete use cases<\/h2>\n\n\n\n<p>Rather than list features, let me describe four concrete scenarios where the <strong>Business Dashboard<\/strong> could shine:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Contracts overview.<\/strong> A KPI tile showing the number of active contracts, another showing those expiring in the next 30 days, a donut chart by agreement type, a bar chart showing expiries per month for the next year (e.g. until end of year or next 365 days), and a list of contracts to review this week. One panel, no clicking, refreshed automatically.<\/li>\n\n\n\n<li><strong>Purchase invoices.<\/strong> Total amount waiting for approval, oldest invoice still pending, distribution by customer\/countries\/regions, a gauge of overdue invoices against a target of zero.<\/li>\n\n\n\n<li><strong>Employees and responsibilities.<\/strong> A list of employees by department, with the count of documents worked on by each one in the past week. Possibly the list of people in holidays with their substitute. Useful for capacity planning and for the &#8220;who is on vacation, who covers what&#8221; conversation.<\/li>\n\n\n\n<li><strong>Customer activity.<\/strong> Documents by customer in the last quarter, broken down by document class. Quickly spot the customers who went quiet and the ones who suddenly became very active.<\/li>\n<\/ul>\n\n\n\n<p>None of these are hardcoded in the module. They are <strong>examples of what an administrator can configure<\/strong>, once, using the Visual Designer or the JSON editor. The same engine produces all of them and any number of variations.<\/p>\n\n\n\n<p><strong>Note:<\/strong> Whatever the widget used, with at most one more click, you can get the details of which objects correspond to what you are looking for. For example, if you have a KPI for the number of active contracts, if it shows 25, then simply clicking on that 25 will open a <strong>drill-through<\/strong> with the list of all 25 objects in that specific situation, with optional additional details. See the follow-up posts for more details on that (and all other features).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-4-where-it-runs\">4. Where it runs<\/h2>\n\n\n\n<p>The module contains two parts:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><em>BusinessDashboard<\/em><\/strong> &#8211; the server-side, which contains the query engine, the validator, the persistence layer, etc.<\/li>\n\n\n\n<li><strong><em>BusinessDashboard.UIX<\/em><\/strong> &#8211; the client-side, which contains all the display part for the end-users.<\/li>\n<\/ul>\n\n\n\n<p>Both are installed, independently, in the M-Files Admin, via the standard application installation process. In regards to compatibility, it should technically supports all versions of M-Files above 23.6. I personally tested it extensively on M-Files 26.3 \/ 26.4 \/ 26.5.<\/p>\n\n\n\n<p>No external service is contacted; everything runs inside the vault. This makes the module a good fit for both on-premises and cloud deployments (though for cloud, the module would need to first be validated by M-Files), or for any deployment where adding a second tool (Power BI, Grafana) is not desirable (too complex to setup, too much for the actual need, or simply for security reasons).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-5-what-this-module-is-not\">5. What this module is not<\/h2>\n\n\n\n<p>I think it is fair, before closing this introduction, to flag what the Business Dashboard module is <strong>not<\/strong> trying to do.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>It is <strong>not a BI tool<\/strong>. No SQL access, no data warehouse, no cross-vault joins. The engine only queries the M-Files vault it is deployed on and that&#8217;s it. If you need to combine data from a vault and an ERP, a dedicated BI stack might still be the right answer. <strong>UNLESS<\/strong> you are already merging the ERP data in M-Files (external repository or database connector). In that case, the Business Dashboard would be able to query it as well.<\/li>\n\n\n\n<li>It is <strong>not (fully\/yet) a reporting engine<\/strong>. No scheduled report, no email delivery. However, you can export a dashboard as PDF and you can export a widget (or its drill-through) to CSV (Excel-compatible).<\/li>\n\n\n\n<li>It is <strong>not (really) designed for very large aggregations<\/strong>. The engine fetches up to a configurable amount of objects per widget (500 by default &#8211; can be increased, decreased or disabled completely&#8230;). Then aggregates it in memory, which is fine for any reasonable business question. Though it is not fine for things such as &#8220;list all 50 million objects that were created in the last 10 years&#8221;&#8230; If the limit is hit, the user knows about it with the help of a special badge.<\/li>\n\n\n\n<li>It is <strong>not a replacement for M-Files views<\/strong> (or is it&#8230;?). Depending on use-cases, views can still be a better starting point. The Business Dashboard sits next to them, not in front of them.<\/li>\n<\/ul>\n\n\n\n<p>If your need fits inside those boundaries, the module might make your life easier, irrespective of whether you are a decision maker, a power user, a simple user or an administrator. If it does not, please get in touch and I will be happy to discuss what would!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-6-what-comes-next-in-the-series\">6. What comes next in the series<\/h2>\n\n\n\n<p>This series is going to cover, in order:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Post 2<\/strong> &#8211; The <strong>end-user experience<\/strong>: opening the panel, switching dashboards, drill-through, exports, favorites, sharing.<\/li>\n\n\n\n<li><strong>Post 3<\/strong> &#8211; The anatomy of a <strong>dashboard definition<\/strong>: the JSON structure that drives everything.<\/li>\n\n\n\n<li><strong>Posts 4a, 4b, 4c<\/strong> &#8211; The <strong>widget catalog<\/strong>, split by type family: scalar widgets (<strong><em>kpiNumber<\/em><\/strong>, <strong><em>gauge<\/em><\/strong>), trend widgets (<strong><em>line<\/em><\/strong>, <strong><em>area<\/em><\/strong>), and distribution \/ tabular widgets (<strong><em>donut<\/em><\/strong>, <strong><em>bar<\/em><\/strong>, <strong><em>table<\/em><\/strong>).<\/li>\n\n\n\n<li><strong>Post 5<\/strong> &#8211; Writing queries: <strong><em>objectType<\/em><\/strong>, <strong><em>class<\/em><\/strong>, <strong>filters<\/strong>, date tokens.<\/li>\n\n\n\n<li><strong>Post 6<\/strong> &#8211; <strong>Aggregations<\/strong> and <strong>reducers<\/strong>.<\/li>\n\n\n\n<li><strong>Post 7<\/strong> &#8211; The <strong>Admin tab<\/strong>: Visual Designer, JSON editor, validation, import \/ export.<\/li>\n\n\n\n<li><strong>Post 8<\/strong> &#8211; Access control, performance settings, interactive features.<\/li>\n\n\n\n<li><strong>Posts 9a and 9b<\/strong> &#8211; The same Contracts dashboard built two ways: through the <strong>Visual Designer<\/strong> (9a) and through the <strong>JSON editor<\/strong> (9b), on the M-Files Sample Vault so anyone can follow along.<\/li>\n<\/ul>\n\n\n\n<p>If you have a specific question or a use case you would like to see covered in the series, don&#8217;t hesitate to reach out, and I might be able to add it to my to-do list.<\/p>\n\n\n\n<p>In the meantime, the next post will be a tour of what an end user sees the first time they click on the new Dashboard tab. See you there.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Some time ago, a customer asked whether it was possible, in M-Files, to have dashboards with KPIs and a global overview of what was happening in their vault. It was a topic I had in my radar for a few years already, but I never had &#8211; or took &#8211; the time to really work [&hellip;]<\/p>\n","protected":false},"author":20,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[525],"tags":[4094,4097,4096,4095,3190],"type_dbi":[],"class_list":["post-44913","post","type-post","status-publish","format-standard","hentry","category-enterprise-content-management","tag-business-dashboard","tag-charts","tag-gauge","tag-kpi","tag-m-files"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.7 (Yoast SEO v27.7) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>M-Files - Introducing the Business Dashboard module - dbi Blog<\/title>\n<meta name=\"description\" content=\"Introducing the Business Dashboard module for M-Files: a custom extension that adds KPI tiles, charts and tables inside the M-Files pane.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/m-files-introducing-the-business-dashboard-module\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"M-Files - Introducing the Business Dashboard module\" \/>\n<meta property=\"og:description\" content=\"Introducing the Business Dashboard module for M-Files: a custom extension that adds KPI tiles, charts and tables inside the M-Files pane.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/m-files-introducing-the-business-dashboard-module\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-02T19:50:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-02T19:50:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/9a.1-1-scaled.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"2016\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Morgan Patou\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@MorganPatou\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Morgan Patou\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/m-files-introducing-the-business-dashboard-module\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/m-files-introducing-the-business-dashboard-module\\\/\"},\"author\":{\"name\":\"Morgan Patou\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/c4d05b25843a9bc2ab20415dae6bd2d8\"},\"headline\":\"M-Files &#8211; Introducing the Business Dashboard module\",\"datePublished\":\"2026-06-02T19:50:32+00:00\",\"dateModified\":\"2026-06-02T19:50:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/m-files-introducing-the-business-dashboard-module\\\/\"},\"wordCount\":1715,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/m-files-introducing-the-business-dashboard-module\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/06\\\/9a.1-1-1024x806.png\",\"keywords\":[\"Business Dashboard\",\"Charts\",\"Gauge\",\"KPI\",\"M-Files\"],\"articleSection\":[\"Enterprise content management\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/m-files-introducing-the-business-dashboard-module\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/m-files-introducing-the-business-dashboard-module\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/m-files-introducing-the-business-dashboard-module\\\/\",\"name\":\"M-Files - Introducing the Business Dashboard module - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/m-files-introducing-the-business-dashboard-module\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/m-files-introducing-the-business-dashboard-module\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/06\\\/9a.1-1-1024x806.png\",\"datePublished\":\"2026-06-02T19:50:32+00:00\",\"dateModified\":\"2026-06-02T19:50:34+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/c4d05b25843a9bc2ab20415dae6bd2d8\"},\"description\":\"Introducing the Business Dashboard module for M-Files: a custom extension that adds KPI tiles, charts and tables inside the M-Files pane.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/m-files-introducing-the-business-dashboard-module\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/m-files-introducing-the-business-dashboard-module\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/m-files-introducing-the-business-dashboard-module\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/06\\\/9a.1-1-scaled.png\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2026\\\/06\\\/9a.1-1-scaled.png\",\"width\":2560,\"height\":2016},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/m-files-introducing-the-business-dashboard-module\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"M-Files &#8211; Introducing the Business Dashboard module\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/c4d05b25843a9bc2ab20415dae6bd2d8\",\"name\":\"Morgan Patou\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g\",\"caption\":\"Morgan Patou\"},\"description\":\"Morgan Patou has over 15 years of experience in Digitalization &amp; Enterprise Content Management (ECM) systems, with a strong focus in recent years on platforms such as Alfresco, Documentum, and M-Files. He specializes in the architecture, setup, customization, and maintenance of ECM infrastructures in complex &amp; critical environments. Morgan is well-versed in both engineering and operations aspects, including high availability design, system integration, and lifecycle management. He also has a solid foundation in open-source and proprietary technologies - ranging from Apache HTTPD\\\/Tomcat, OpenLDAP or Kerberos to enterprise-grade systems like WebLogic. Morgan Patou holds an Engineering Degree in Computer Science from ENSISA (\u00c9cole Nationale Sup\u00e9rieure d'Ing\u00e9nieurs Sud Alsace) in Mulhouse, France. He is Alfresco Content Services Certified Administrator (ACSCA), Alfresco Content Services Certified Engineer (ACSCE) as well as OpenText Documentum Certified Administrator. His industry experience spans the Public Sector, IT Services, Financial Services\\\/Banking, and the Pharmaceutical industry.\",\"sameAs\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/morgan-patou\\\/\",\"https:\\\/\\\/x.com\\\/MorganPatou\"],\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/morgan-patou\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"M-Files - Introducing the Business Dashboard module - dbi Blog","description":"Introducing the Business Dashboard module for M-Files: a custom extension that adds KPI tiles, charts and tables inside the M-Files pane.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/m-files-introducing-the-business-dashboard-module\/","og_locale":"en_US","og_type":"article","og_title":"M-Files - Introducing the Business Dashboard module","og_description":"Introducing the Business Dashboard module for M-Files: a custom extension that adds KPI tiles, charts and tables inside the M-Files pane.","og_url":"https:\/\/www.dbi-services.com\/blog\/m-files-introducing-the-business-dashboard-module\/","og_site_name":"dbi Blog","article_published_time":"2026-06-02T19:50:32+00:00","article_modified_time":"2026-06-02T19:50:34+00:00","og_image":[{"width":2560,"height":2016,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/9a.1-1-scaled.png","type":"image\/png"}],"author":"Morgan Patou","twitter_card":"summary_large_image","twitter_creator":"@MorganPatou","twitter_misc":{"Written by":"Morgan Patou","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/m-files-introducing-the-business-dashboard-module\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/m-files-introducing-the-business-dashboard-module\/"},"author":{"name":"Morgan Patou","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8"},"headline":"M-Files &#8211; Introducing the Business Dashboard module","datePublished":"2026-06-02T19:50:32+00:00","dateModified":"2026-06-02T19:50:34+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/m-files-introducing-the-business-dashboard-module\/"},"wordCount":1715,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/m-files-introducing-the-business-dashboard-module\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/9a.1-1-1024x806.png","keywords":["Business Dashboard","Charts","Gauge","KPI","M-Files"],"articleSection":["Enterprise content management"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/m-files-introducing-the-business-dashboard-module\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/m-files-introducing-the-business-dashboard-module\/","url":"https:\/\/www.dbi-services.com\/blog\/m-files-introducing-the-business-dashboard-module\/","name":"M-Files - Introducing the Business Dashboard module - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/m-files-introducing-the-business-dashboard-module\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/m-files-introducing-the-business-dashboard-module\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/9a.1-1-1024x806.png","datePublished":"2026-06-02T19:50:32+00:00","dateModified":"2026-06-02T19:50:34+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8"},"description":"Introducing the Business Dashboard module for M-Files: a custom extension that adds KPI tiles, charts and tables inside the M-Files pane.","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/m-files-introducing-the-business-dashboard-module\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/m-files-introducing-the-business-dashboard-module\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/m-files-introducing-the-business-dashboard-module\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/9a.1-1-scaled.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2026\/06\/9a.1-1-scaled.png","width":2560,"height":2016},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/m-files-introducing-the-business-dashboard-module\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"M-Files &#8211; Introducing the Business Dashboard module"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8","name":"Morgan Patou","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g","caption":"Morgan Patou"},"description":"Morgan Patou has over 15 years of experience in Digitalization &amp; Enterprise Content Management (ECM) systems, with a strong focus in recent years on platforms such as Alfresco, Documentum, and M-Files. He specializes in the architecture, setup, customization, and maintenance of ECM infrastructures in complex &amp; critical environments. Morgan is well-versed in both engineering and operations aspects, including high availability design, system integration, and lifecycle management. He also has a solid foundation in open-source and proprietary technologies - ranging from Apache HTTPD\/Tomcat, OpenLDAP or Kerberos to enterprise-grade systems like WebLogic. Morgan Patou holds an Engineering Degree in Computer Science from ENSISA (\u00c9cole Nationale Sup\u00e9rieure d'Ing\u00e9nieurs Sud Alsace) in Mulhouse, France. He is Alfresco Content Services Certified Administrator (ACSCA), Alfresco Content Services Certified Engineer (ACSCE) as well as OpenText Documentum Certified Administrator. His industry experience spans the Public Sector, IT Services, Financial Services\/Banking, and the Pharmaceutical industry.","sameAs":["https:\/\/www.dbi-services.com\/blog\/author\/morgan-patou\/","https:\/\/x.com\/MorganPatou"],"url":"https:\/\/www.dbi-services.com\/blog\/author\/morgan-patou\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/44913","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=44913"}],"version-history":[{"count":3,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/44913\/revisions"}],"predecessor-version":[{"id":44918,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/44913\/revisions\/44918"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=44913"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=44913"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=44913"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=44913"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}