# Blog

**URL:** https://community.criticalmanufacturing.com/c/dev-blog/7.md

[Latest](https://community.criticalmanufacturing.com/latest.md) · [Categories](https://community.criticalmanufacturing.com/categories.md) · [Tags](https://community.criticalmanufacturing.com/tags.md)

---

## [About the Blog](https://community.criticalmanufacturing.com/t/about-the-blog/17)

<div class="topic-metadata">

**Author:** [@Leonor\_Marques](https://community.criticalmanufacturing.com/u/Leonor_Marques)\
**Replies:** 0\
**Last updated:** [July 10, 2026, 5:38pm UTC](https://community.criticalmanufacturing.com/t/about-the-blog/17 "2026-07-10T17:38:29Z")

</div>

Curated long-form technical and community content, migrated from devblog and continuing forward. Authorship is invitation-only to preserve editorial voice. Post here if… You are a CM staff member or invited contributo…

---

## [MQTT vs Sparkplug for Equipment Integration with Critical Manufacturing MES](https://community.criticalmanufacturing.com/t/mqtt-vs-sparkplug-for-equipment-integration-with-critical-manufacturing-mes/926)

<div class="topic-metadata">

**Author:** [@Rodrigo\_Cordeiro](https://community.criticalmanufacturing.com/u/Rodrigo_Cordeiro)\
**Replies:** 0\
**Last updated:** [October 12, 2026, 8:17am UTC](https://community.criticalmanufacturing.com/t/mqtt-vs-sparkplug-for-equipment-integration-with-critical-manufacturing-mes/926 "2026-10-12T08:17:12Z")

</div>

MQTT revolutionized IoT communication by providing a lightweight and efficient way for devices to exchange data. However, as industrial systems grew in size and complexity, engineers discovered that moving data was only …

---

## [Zero Downtime MES System Upgrades](https://community.criticalmanufacturing.com/t/zero-downtime-mes-system-upgrades/719)

<div class="topic-metadata">

**Author:** [@Pedro\_Fernandes](https://community.criticalmanufacturing.com/u/Pedro_Fernandes)\
**Replies:** 2\
**Last updated:** [October 8, 2026, 9:31am UTC](https://community.criticalmanufacturing.com/t/zero-downtime-mes-system-upgrades/719 "2026-10-08T09:31:58Z")

</div>

Have you ever felt that unnerving sensation when performing a system upgrade? You’re thinking the upgrade might take too long, or that something wrong could happen. Indeed, among other, these are two issues that often w…

---

## [Not All Equipment Data is Equal](https://community.criticalmanufacturing.com/t/not-all-equipment-data-is-equal/878)

<div class="topic-metadata">

**Author:** [@Rodrigo\_Cordeiro](https://community.criticalmanufacturing.com/u/Rodrigo_Cordeiro)\
**Replies:** 0\
**Last updated:** [September 29, 2026, 8:34am UTC](https://community.criticalmanufacturing.com/t/not-all-equipment-data-is-equal/878 "2026-09-29T08:34:36Z")

</div>

Introduction Connected equipment can provide a rich set of manufacturing information beyond simple production outcomes. During normal operation, it continuously generates data that describes both the state of the equipme…

---

## [Running C# Code in Connect IoT](https://community.criticalmanufacturing.com/t/running-c-code-in-connect-iot/874)

<div class="topic-metadata">

**Author:** [@Joao\_Roque](https://community.criticalmanufacturing.com/u/Joao_Roque)\
**Replies:** 0\
**Last updated:** [September 22, 2026, 12:00am UTC](https://community.criticalmanufacturing.com/t/running-c-code-in-connect-iot/874 "2026-09-22T00:00:00Z")

</div>

Some months ago we showcased how we could have python as the main tool for building tasks Python Code task. This made sense as the people who would interact with Data platform and analytics were data engineers and pyth…

---

## [Integrating with OIB: Board Gatekeeper and Eventing](https://community.criticalmanufacturing.com/t/integrating-with-oib-board-gatekeeper-and-eventing/835)

<div class="topic-metadata">

**Author:** [@Joao\_Roque](https://community.criticalmanufacturing.com/u/Joao_Roque)\
**Replies:** 0\
**Last updated:** [September 8, 2026, 12:00am UTC](https://community.criticalmanufacturing.com/t/integrating-with-oib-board-gatekeeper-and-eventing/835 "2026-09-08T00:00:00Z")

</div>

Right now, on some SMT line, a printed circuit board is sitting motionless in a conveyor while the line waits — because a web service has not yet said whether that board may continue. That is ASMPT WORKS OIB working e…

---

## [Running .NET Tests on Linux](https://community.criticalmanufacturing.com/t/running-net-tests-on-linux/875)

<div class="topic-metadata">

**Author:** [@Sofia\_Santos](https://community.criticalmanufacturing.com/u/Sofia_Santos)\
**Replies:** 0\
**Last updated:** [September 7, 2026, 12:00am UTC](https://community.criticalmanufacturing.com/t/running-net-tests-on-linux/875 "2026-09-07T00:00:00Z")

</div>

I’m going to start with a disclaimer: I only joined Critical Manufacturing after the switch to WSL for local development. Therefore, for me, WSL (or Linux in general) is the default dev environment. This means that, when…

---

## [Turbo Charging your Code Tasks](https://community.criticalmanufacturing.com/t/turbo-charging-your-code-tasks/776)

<div class="topic-metadata">

**Author:** [@Joao\_Roque](https://community.criticalmanufacturing.com/u/Joao_Roque)\
**Replies:** 0\
**Last updated:** [August 17, 2026, 12:00am UTC](https://community.criticalmanufacturing.com/t/turbo-charging-your-code-tasks/776 "2026-08-17T00:00:00Z")

</div>

In previous blog posts we talked about how we could fully migrate a code task into a customization task and then have it reuseable across the system. Today, we are focusing on a little known middle road approach. We ke…

---

## [A Plausible Wrong Number Is Worse Than No Number](https://community.criticalmanufacturing.com/t/a-plausible-wrong-number-is-worse-than-no-number/757)

<div class="topic-metadata">

**Author:** [@Ricardo\_Magalhaes](https://community.criticalmanufacturing.com/u/Ricardo_Magalhaes)\
**Replies:** 0\
**Last updated:** [August 4, 2026, 12:00am UTC](https://community.criticalmanufacturing.com/t/a-plausible-wrong-number-is-worse-than-no-number/757 "2026-08-04T00:00:00Z")

</div>

A few years ago I was working on a SAP integration, and the first stretch of every conversation went sideways over a single word: Product. The SAP consultant kept saying “Product.” In SAP’s vocabulary, a Product is the …

---

## [Reports, Rebuilt: SSRS to Stimulsoft, and the ClickHouse Pipeline in Between](https://community.criticalmanufacturing.com/t/reports-rebuilt-ssrs-to-stimulsoft-and-the-clickhouse-pipeline-in-between/777)

<div class="topic-metadata">

**Author:** [@Joao\_Roque](https://community.criticalmanufacturing.com/u/Joao_Roque)\
**Replies:** 0\
**Last updated:** [July 30, 2026, 12:00am UTC](https://community.criticalmanufacturing.com/t/reports-rebuilt-ssrs-to-stimulsoft-and-the-clickhouse-pipeline-in-between/777 "2026-07-30T00:00:00Z")

</div>

Replacing a reporting stack is never really about reporting. It’s about admitting that the database keeping your factory running should never be the same database answering “how many units did we scrap last Tuesday.” T…

---

## [The Integration Engine, Three Layers Deep](https://community.criticalmanufacturing.com/t/the-integration-engine-three-layers-deep/793)

<div class="topic-metadata">

**Author:** [@Joao\_Roque](https://community.criticalmanufacturing.com/u/Joao_Roque)\
**Replies:** 0\
**Last updated:** [July 29, 2026, 12:00am UTC](https://community.criticalmanufacturing.com/t/the-integration-engine-three-layers-deep/793 "2026-07-29T00:00:00Z")

</div>

If your integration layer can’t survive the ERP going down for maintenance, you don’t have an integration layer you have a dependency. A recap of blog A Closer Look at Integration Entries and Integration Entries, Part…

---

## [Blueprint vs. Building: How MES's Data Model Actually Works](https://community.criticalmanufacturing.com/t/blueprint-vs-building-how-mess-data-model-actually-works/774)

<div class="topic-metadata">

**Author:** [@Joao\_Roque](https://community.criticalmanufacturing.com/u/Joao_Roque)\
**Replies:** 0\
**Last updated:** [July 28, 2026, 12:00am UTC](https://community.criticalmanufacturing.com/t/blueprint-vs-building-how-mess-data-model-actually-works/774 "2026-07-28T00:00:00Z")

</div>

Most enterprise software gives you two options when the out-of-the-box data model doesn’t fit: fork the code, or live without the feature. CM MES was built to reject that choice entirely. Overview The MES dynamic mod…

---

## [MES Security in Three Layers: Features, Objects, and the One Everyone Skips](https://community.criticalmanufacturing.com/t/mes-security-in-three-layers-features-objects-and-the-one-everyone-skips/775)

<div class="topic-metadata">

**Author:** [@Joao\_Roque](https://community.criticalmanufacturing.com/u/Joao_Roque)\
**Replies:** 0\
**Last updated:** [July 27, 2026, 12:00am UTC](https://community.criticalmanufacturing.com/t/mes-security-in-three-layers-features-objects-and-the-one-everyone-skips/775 "2026-07-27T00:00:00Z")

</div>

You can hide every button an operator shouldn’t touch. You can build a role tree that mirrors your org chart down to the last supervisor. And none of it matters if the API sitting underneath your GUI doesn’t check perm…

---

## [Understanding UI Pages: How They Really Work](https://community.criticalmanufacturing.com/t/understanding-ui-pages-how-they-really-work/772)

<div class="topic-metadata">

**Author:** [@Joao\_Roque](https://community.criticalmanufacturing.com/u/Joao_Roque)\
**Replies:** 0\
**Last updated:** [July 24, 2026, 12:00am UTC](https://community.criticalmanufacturing.com/t/understanding-ui-pages-how-they-really-work/772 "2026-07-24T00:00:00Z")

</div>

UI Pages a low code designer to build your MES cockpits. Overview We will address what a UI Page is made of, how its pieces connect, and through a live build of a real page where implementations quietly go wrong. Fir…

---

## [Understanding Dynamic Execution Extensions (DEEs): How They Really Work](https://community.criticalmanufacturing.com/t/understanding-dynamic-execution-extensions-dees-how-they-really-work/765)

<div class="topic-metadata">

**Author:** [@Joao\_Roque](https://community.criticalmanufacturing.com/u/Joao_Roque)\
**Replies:** 0\
**Last updated:** [July 24, 2026, 12:00am UTC](https://community.criticalmanufacturing.com/t/understanding-dynamic-execution-extensions-dees-how-they-really-work/765 "2026-07-24T00:00:00Z")

</div>

Most developers learn how to create a Dynamic Execution Extension (DEE) long before they understand how the execution pipeline underneath it actually works. That gap doesn’t matter on a small project. It matters enormo…

---

## [Medical Devices Template 1.3.0: What's New](https://community.criticalmanufacturing.com/t/medical-devices-template-1-3-0-whats-new/730)

<div class="topic-metadata">

**Author:** [@Ricardo\_Cunha](https://community.criticalmanufacturing.com/u/Ricardo_Cunha)\
**Replies:** 0\
**Last updated:** [July 3, 2026, 12:00am UTC](https://community.criticalmanufacturing.com/t/medical-devices-template-1-3-0-whats-new/730 "2026-07-03T00:00:00Z")

</div>

In June 2026, the Medical Devices Template Team released version 1.3.0. This is a minor release, but it brings a meaningful set of enhancements to two of the areas that matter most in a regulated manufacturing environme…

---

## [The Command That Makes Code Task Debt Payable](https://community.criticalmanufacturing.com/t/the-command-that-makes-code-task-debt-payable/367)

<div class="topic-metadata">

**Author:** [@Joao\_Roque](https://community.criticalmanufacturing.com/u/Joao_Roque)\
**Replies:** 0\
**Last updated:** [July 2, 2026, 12:00am UTC](https://community.criticalmanufacturing.com/t/the-command-that-makes-code-task-debt-payable/367 "2026-07-02T00:00:00Z")

</div>

There’s a little known command in the CM CLI: cmf dev iot convertCodeTasks. It converts your existing code tasks into proper custom tasks automatically. This post is about why you might want that and what you gain when…

---

## [Making the MES UI yours: Dynamically Injecting Wizard Steps and Entity Pages](https://community.criticalmanufacturing.com/t/making-the-mes-ui-yours-dynamically-injecting-wizard-steps-and-entity-pages/368)

<div class="topic-metadata">

**Author:** [@Joao\_Roque](https://community.criticalmanufacturing.com/u/Joao_Roque)\
**Replies:** 0\
**Last updated:** [July 1, 2026, 12:00am UTC](https://community.criticalmanufacturing.com/t/making-the-mes-ui-yours-dynamically-injecting-wizard-steps-and-entity-pages/368 "2026-07-01T00:00:00Z")

</div>

The world of manufacturing is not just complex, it’s highly dynamic. This means your software has to be optimized, not just for performance but also for dealing with change. This is why CM MES UI is not a closed syste…

---

## [Ephemeral Controllers: Applying a Familiar Pattern to MES](https://community.criticalmanufacturing.com/t/ephemeral-controllers-applying-a-familiar-pattern-to-mes/369)

<div class="topic-metadata">

**Author:** [@Joao\_Roque](https://community.criticalmanufacturing.com/u/Joao_Roque)\
**Replies:** 0\
**Last updated:** [June 30, 2026, 12:00am UTC](https://community.criticalmanufacturing.com/t/ephemeral-controllers-applying-a-familiar-pattern-to-mes/369 "2026-06-30T00:00:00Z")

</div>

When you need to query a third-party on demand — not maintain a persistent session — Connect IoT’s always-on model becomes the wrong tool. Here’s a pattern for bridging that gap. Overview Critical Manufacturing…

---

## [Automatic Edge Deploy with Business Scenarios](https://community.criticalmanufacturing.com/t/automatic-edge-deploy-with-business-scenarios/370)

<div class="topic-metadata">

**Author:** [@Joao\_Roque](https://community.criticalmanufacturing.com/u/Joao_Roque)\
**Replies:** 0\
**Last updated:** [June 29, 2026, 12:00am UTC](https://community.criticalmanufacturing.com/t/automatic-edge-deploy-with-business-scenarios/370 "2026-06-29T00:00:00Z")

</div>

Overview In Guaranteed Outcomes: Building Deterministic Chat Workflows with Business Scenarios we did a deep dive on using business scenarios and in Edge Deploy we explained how the automatic edge deploy works with C…

---

## [Building an RSA encryption flow with Connect IoT](https://community.criticalmanufacturing.com/t/building-an-rsa-encryption-flow-with-connect-iot/371)

<div class="topic-metadata">

**Author:** [@Joao\_Roque](https://community.criticalmanufacturing.com/u/Joao_Roque)\
**Replies:** 0\
**Last updated:** [June 25, 2026, 12:00am UTC](https://community.criticalmanufacturing.com/t/building-an-rsa-encryption-flow-with-connect-iot/371 "2026-06-25T00:00:00Z")

</div>

Shared secrets are a liability. Every device that holds a password is a device that can leak one. RSA flips that model — and in manufacturing environments where equipment outlives the engineers who deployed it, that di…

---

## [Guaranteed Outcomes: Building Deterministic Chat Workflows with Business Scenarios](https://community.criticalmanufacturing.com/t/guaranteed-outcomes-building-deterministic-chat-workflows-with-business-scenarios/372)

<div class="topic-metadata">

**Author:** [@Joao\_Roque](https://community.criticalmanufacturing.com/u/Joao_Roque)\
**Replies:** 0\
**Last updated:** [June 11, 2026, 12:00am UTC](https://community.criticalmanufacturing.com/t/guaranteed-outcomes-building-deterministic-chat-workflows-with-business-scenarios/372 "2026-06-11T00:00:00Z")

</div>

The rise of AI has brought action and insight through a normal conversation. We’ve been building a lot of support for leveraging AI flows From Insight to Action: AI That Actually Does Something and Data Platform - Agen…

---

## [Scheduled Action - Planned roll-outs made easy](https://community.criticalmanufacturing.com/t/scheduled-action-planned-roll-outs-made-easy/373)

<div class="topic-metadata">

**Author:** [@Joao\_Roque](https://community.criticalmanufacturing.com/u/Joao_Roque)\
**Replies:** 0\
**Last updated:** [May 22, 2026, 12:00am UTC](https://community.criticalmanufacturing.com/t/scheduled-action-planned-roll-outs-made-easy/373 "2026-05-22T00:00:00Z")

</div>

The Critical Manufacturing MES version 11.3 brought about a set of exciting features. One that grabbed my attention were the Automation Scheduled Actions, not just for the use cases that they solve out-of-the-box but o…

---

## [Equipment Qualification in MES: A fundamental Control for Validated Manufacturing Environments. Part II](https://community.criticalmanufacturing.com/t/equipment-qualification-in-mes-a-fundamental-control-for-validated-manufacturing-environments-part-ii/728)

<div class="topic-metadata">

**Author:** [@Jose\_Goncalves](https://community.criticalmanufacturing.com/u/Jose_Goncalves)\
**Replies:** 0\
**Last updated:** [May 14, 2026, 12:00am UTC](https://community.criticalmanufacturing.com/t/equipment-qualification-in-mes-a-fundamental-control-for-validated-manufacturing-environments-part-ii/728 "2026-05-14T00:00:00Z")

</div>

This blog serves as a complement to the first one I published on the Equipment Qualification functionality: Equipment Qualification – Part I. While the initial article introduced the fundamental concepts and the overall …

---

## [AI as a Development Partner - Part 2 - Spec Driven Development](https://community.criticalmanufacturing.com/t/ai-as-a-development-partner-part-2-spec-driven-development/733)

<div class="topic-metadata">

**Author:** [@Ricardo\_Cunha](https://community.criticalmanufacturing.com/u/Ricardo_Cunha)\
**Replies:** 0\
**Last updated:** [April 28, 2026, 12:00am UTC](https://community.criticalmanufacturing.com/t/ai-as-a-development-partner-part-2-spec-driven-development/733 "2026-04-28T00:00:00Z")

</div>

In the previous post, we explored how AI can assist in the development process by generating code snippets and providing suggestions. In this second part, we will take it a step further by implementing a real-life featu…

---

## [Data Platform - Agentic Use-Case](https://community.criticalmanufacturing.com/t/data-platform-agentic-use-case/374)

<div class="topic-metadata">

**Author:** [@Joao\_Roque](https://community.criticalmanufacturing.com/u/Joao_Roque)\
**Replies:** 0\
**Last updated:** [April 24, 2026, 12:00am UTC](https://community.criticalmanufacturing.com/t/data-platform-agentic-use-case/374 "2026-04-24T00:00:00Z")

</div>

All the code presented here is available at github and github. What if instead of gibberish alarms, red lights and panic, you could have a detailed assessment of what went wrong and contextualized on what was going w…

---

## [MQTT Simulator to UNS Journey](https://community.criticalmanufacturing.com/t/mqtt-simulator-to-uns-journey/731)

<div class="topic-metadata">

**Author:** [@Rodrigo\_Cordeiro](https://community.criticalmanufacturing.com/u/Rodrigo_Cordeiro)\
**Replies:** 0\
**Last updated:** [April 17, 2026, 12:00am UTC](https://community.criticalmanufacturing.com/t/mqtt-simulator-to-uns-journey/731 "2026-04-17T00:00:00Z")

</div>

In this blog post, we’ll use a simulator developed with the IoT Test Orchestrator to feed a pipeline with equipment data collected via MQTT and transform that data into UNS (Unified Namespace) topics. But wait… why do w…

---

## [Data Platform with OData - Low Code](https://community.criticalmanufacturing.com/t/data-platform-with-odata-low-code/375)

<div class="topic-metadata">

**Author:** [@Joao\_Roque](https://community.criticalmanufacturing.com/u/Joao_Roque)\
**Replies:** 0\
**Last updated:** [April 14, 2026, 12:00am UTC](https://community.criticalmanufacturing.com/t/data-platform-with-odata-low-code/375 "2026-04-14T00:00:00Z")

</div>

All the code presented here is available at github and github. What is OData? Every analytics team building an API reinvents the same query language. OData solved this in 2014. Your BI tools already speak it. …

---

## [AI as a Development Partner - Skills, Agents, and Context](https://community.criticalmanufacturing.com/t/ai-as-a-development-partner-skills-agents-and-context/736)

<div class="topic-metadata">

**Author:** [@Ricardo\_Cunha](https://community.criticalmanufacturing.com/u/Ricardo_Cunha)\
**Replies:** 0\
**Last updated:** [April 14, 2026, 12:00am UTC](https://community.criticalmanufacturing.com/t/ai-as-a-development-partner-skills-agents-and-context/736 "2026-04-14T00:00:00Z")

</div>

“Another JavaScript framework? God, why did I choose this field?” If you have been working with software for a significant number of years, you probably have heard or even asked yourself the exact same question. But fo…

---

## [Did you know that Critical Manufacturing MES can "make a coffee"?](https://community.criticalmanufacturing.com/t/did-you-know-that-critical-manufacturing-mes-can-make-a-coffee/740)

<div class="topic-metadata">

**Author:** [@Rodrigo\_Cordeiro](https://community.criticalmanufacturing.com/u/Rodrigo_Cordeiro)\
**Replies:** 0\
**Last updated:** [April 13, 2026, 12:00am UTC](https://community.criticalmanufacturing.com/t/did-you-know-that-critical-manufacturing-mes-can-make-a-coffee/740 "2026-04-13T00:00:00Z")

</div>

Conceptually, the process of making a coffee can be modeled just like any other shop‑floor operation. You could have the material consumptions, a report production and even equipment availability. In practice, it behaves…

[Next page](https://community.criticalmanufacturing.com/c/dev-blog/7.md?page=1)
