From 7fc84487f0b9f342a07ba1f5abfe001f75ce9e59 Mon Sep 17 00:00:00 2001 From: dimitrieh Date: Thu, 5 Mar 2026 12:24:57 +0000 Subject: [PATCH 1/7] Add solutions scaffolding: protocols, use cases, teams, and connect pages Introduces data-driven page generation for marketing solutions organized by protocol, use case, and team. 6 placeholder protocols auto-generate 30 "Connect X to Y" pages via Eleventy pagination. Restructures Solutions nav dropdown into categorized mega-menu (By Application, By Protocol, By Team, By Use Case). Content to be filled in later. --- src/_data/protocolPairs.js | 34 +++++++ src/_data/protocols.yaml | 132 ++++++++++++++++++++++++++ src/_data/teams.yaml | 104 ++++++++++++++++++++ src/_data/useCases.yaml | 82 ++++++++++++++++ src/_includes/layouts/base.njk | 16 +++- src/_includes/layouts/connect.njk | 77 +++++++++++++++ src/_includes/layouts/protocol.njk | 51 ++++++++++ src/_includes/layouts/team.njk | 68 +++++++++++++ src/_includes/layouts/use-case.njk | 52 ++++++++++ src/solutions/connect/connect.njk | 65 +++++++++++++ src/solutions/connect/index.njk | 46 +++++++++ src/solutions/protocols/index.njk | 59 ++++++++++++ src/solutions/protocols/protocols.njk | 59 ++++++++++++ src/solutions/teams/index.njk | 43 +++++++++ src/solutions/teams/teams.njk | 60 ++++++++++++ src/solutions/use-cases/index.njk | 43 +++++++++ src/solutions/use-cases/use-cases.njk | 59 ++++++++++++ 17 files changed, 1046 insertions(+), 4 deletions(-) create mode 100644 src/_data/protocolPairs.js create mode 100644 src/_data/protocols.yaml create mode 100644 src/_data/teams.yaml create mode 100644 src/_data/useCases.yaml create mode 100644 src/_includes/layouts/connect.njk create mode 100644 src/_includes/layouts/protocol.njk create mode 100644 src/_includes/layouts/team.njk create mode 100644 src/_includes/layouts/use-case.njk create mode 100644 src/solutions/connect/connect.njk create mode 100644 src/solutions/connect/index.njk create mode 100644 src/solutions/protocols/index.njk create mode 100644 src/solutions/protocols/protocols.njk create mode 100644 src/solutions/teams/index.njk create mode 100644 src/solutions/teams/teams.njk create mode 100644 src/solutions/use-cases/index.njk create mode 100644 src/solutions/use-cases/use-cases.njk diff --git a/src/_data/protocolPairs.js b/src/_data/protocolPairs.js new file mode 100644 index 0000000000..9ae856e93c --- /dev/null +++ b/src/_data/protocolPairs.js @@ -0,0 +1,34 @@ +const yaml = require("js-yaml"); +const fs = require("fs"); +const path = require("path"); + +module.exports = () => { + const protocolsFile = path.join(__dirname, "protocols.yaml"); + const protocolsData = yaml.load(fs.readFileSync(protocolsFile, "utf8")); + const protocols = protocolsData.protocols; + + const pairs = []; + + for (let i = 0; i < protocols.length; i++) { + for (let j = 0; j < protocols.length; j++) { + if (i !== j) { + const from = protocols[i]; + const to = protocols[j]; + pairs.push({ + slug: `${from.slug}-to-${to.slug}`, + from: from, + to: to, + title: `Connect ${from.name} to ${to.name}`, + description: `Learn how to connect ${from.name} to ${to.name} using FlowFuse and Node-RED. Bridge ${from.shortName} data to ${to.shortName} systems seamlessly.`, + meta: { + title: `Connect ${from.name} to ${to.name} | FlowFuse`, + description: `How to connect ${from.name} to ${to.name} using FlowFuse. Build data pipelines between ${from.shortName} and ${to.shortName}.`, + keywords: `${from.name}, ${to.name}, integration, FlowFuse, Node-RED, connect ${from.shortName} to ${to.shortName}` + } + }); + } + } + } + + return pairs; +}; diff --git a/src/_data/protocols.yaml b/src/_data/protocols.yaml new file mode 100644 index 0000000000..9b7a6fc0e7 --- /dev/null +++ b/src/_data/protocols.yaml @@ -0,0 +1,132 @@ +# Industrial protocols that FlowFuse connects +# Each protocol generates: +# - Individual page: /solutions/protocols/{slug}/ +# - Pair pages: /solutions/connect/{slug}-to-{other}/ (auto-generated) +# +# To add a new protocol, add an entry below. All "Connect X to Y" pages +# are auto-generated from this list via protocolPairs.js. +protocols: + - slug: opc-ua + name: OPC-UA + shortName: OPC-UA + category: industrial + description: > + OPC-UA (Open Platform Communications Unified Architecture) is the + industry standard for secure, reliable machine-to-machine communication + in industrial automation. + heroDescription: > + Connect your OPC-UA enabled devices and systems with FlowFuse. + Collect, transform, and route data from any OPC-UA server to + enterprise systems, databases, and cloud platforms. + useCases: + - data-acquisition + - machine-monitoring + relatedIntegrations: + - node-red-contrib-opcua + meta: + title: "FlowFuse for OPC-UA Integration" + description: "Connect OPC-UA devices to any system with FlowFuse. Bridge industrial OPC-UA data to MQTT, REST APIs, databases, and more." + keywords: "OPC-UA, industrial automation, FlowFuse, Node-RED, OPC UA client, OPC UA server" + + - slug: mqtt + name: MQTT + shortName: MQTT + category: messaging + description: > + MQTT is a lightweight publish-subscribe messaging protocol designed + for constrained devices and low-bandwidth, high-latency networks, + widely used in IoT and industrial applications. + heroDescription: > + Build MQTT-powered data pipelines with FlowFuse. Connect MQTT + brokers, transform messages, and route data to any destination. + useCases: + - data-acquisition + - real-time-monitoring + relatedIntegrations: + - node-red-contrib-aedes + meta: + title: "FlowFuse for MQTT Integration" + description: "Build MQTT integrations with FlowFuse. Connect brokers, transform data, and bridge MQTT to enterprise systems." + keywords: "MQTT, IoT, FlowFuse, Node-RED, MQTT broker, publish subscribe" + + - slug: ethernet-ip + name: Ethernet/IP + shortName: EtherNet/IP + category: industrial + description: > + Ethernet/IP (Industrial Protocol) is an industrial network protocol + for real-time I/O control and information exchange, commonly used + with Allen-Bradley and Rockwell Automation equipment. + heroDescription: > + Connect Ethernet/IP devices to your enterprise systems with FlowFuse. + Bridge shop floor data from Allen-Bradley PLCs to IT systems. + useCases: + - machine-monitoring + - data-acquisition + relatedIntegrations: [] + meta: + title: "FlowFuse for Ethernet/IP Integration" + description: "Connect Ethernet/IP devices with FlowFuse. Bridge Allen-Bradley and Rockwell Automation data to enterprise systems." + keywords: "Ethernet/IP, EtherNet/IP, Allen-Bradley, Rockwell Automation, FlowFuse, industrial protocol" + + - slug: modbus + name: Modbus + shortName: Modbus + category: industrial + description: > + Modbus is a serial communication protocol widely used in industrial + electronics for connecting electronic devices, supporting both + RTU (serial) and TCP (Ethernet) variants. + heroDescription: > + Integrate Modbus devices into modern data workflows with FlowFuse. + Read registers, coils, and inputs from any Modbus device. + useCases: + - data-acquisition + - legacy-modernization + relatedIntegrations: + - node-red-contrib-modbus + meta: + title: "FlowFuse for Modbus Integration" + description: "Connect Modbus RTU and TCP devices with FlowFuse. Bridge legacy equipment to modern systems." + keywords: "Modbus, Modbus TCP, Modbus RTU, industrial communication, FlowFuse" + + - slug: s7 + name: Siemens S7 + shortName: S7 + category: industrial + description: > + The Siemens S7 protocol enables direct communication with Siemens + S7-300, S7-400, S7-1200, and S7-1500 PLCs without additional + middleware. + heroDescription: > + Connect Siemens S7 PLCs directly to any system with FlowFuse. + Read and write PLC data, build dashboards, and automate workflows. + useCases: + - machine-monitoring + - scada-modernization + relatedIntegrations: + - node-red-contrib-s7 + meta: + title: "FlowFuse for Siemens S7 Integration" + description: "Connect Siemens S7 PLCs with FlowFuse. Bridge S7-1200 and S7-1500 data to enterprise systems." + keywords: "Siemens S7, PLC, S7-1500, S7-1200, FlowFuse, industrial automation" + + - slug: http-rest + name: HTTP/REST APIs + shortName: REST + category: it + description: > + HTTP/REST APIs enable integration with web services, cloud platforms, + ERP systems, MES solutions, and any system that exposes a REST + interface. + heroDescription: > + Bridge industrial data to any REST API with FlowFuse. Connect + your shop floor to cloud services, databases, and business systems. + useCases: + - data-integration + - cloud-connectivity + relatedIntegrations: [] + meta: + title: "FlowFuse for HTTP/REST Integration" + description: "Connect REST APIs with FlowFuse. Bridge industrial data to cloud platforms, ERPs, and web services." + keywords: "REST API, HTTP, FlowFuse, integration, web services, cloud" diff --git a/src/_data/teams.yaml b/src/_data/teams.yaml new file mode 100644 index 0000000000..03303ce778 --- /dev/null +++ b/src/_data/teams.yaml @@ -0,0 +1,104 @@ +# Target teams/personas for FlowFuse +# Each generates a page at: /solutions/teams/{slug}/ +# +# To add a new team, add an entry below. +teams: + - slug: operations-engineers + name: Operations Engineers + description: > + Operations engineers manage and optimize manufacturing processes, + ensuring equipment runs efficiently and production targets are met. + heroDescription: > + FlowFuse empowers operations engineers to build custom monitoring + and control solutions without writing code. Connect any machine, + build dashboards, and automate workflows. + painPoints: + - "Disconnected systems make it hard to get a unified view of operations" + - "Manual data collection from equipment is time-consuming and error-prone" + - "Legacy equipment lacks modern connectivity options" + relatedUseCases: + - machine-monitoring + - data-acquisition + relatedProtocols: + - opc-ua + - s7 + - ethernet-ip + meta: + title: "FlowFuse for Operations Engineers" + description: "How FlowFuse helps operations engineers connect machines, build dashboards, and automate workflows." + keywords: "operations engineers, manufacturing, FlowFuse, industrial automation" + + - slug: it-teams + name: IT Teams + description: > + IT teams manage enterprise infrastructure, ensure security and + compliance, and bridge the gap between operational technology + and information technology. + heroDescription: > + FlowFuse provides IT teams with enterprise-grade security, + governance, and audit trails for industrial applications. + Manage Node-RED deployments at scale with SSO, RBAC, and + centralized control. + painPoints: + - "Shadow IT from OT departments creates security blind spots" + - "Lack of visibility and governance over industrial integration tools" + - "Difficulty maintaining compliance when connecting OT to IT networks" + relatedUseCases: + - data-acquisition + - protocol-conversion + relatedProtocols: + - http-rest + - mqtt + meta: + title: "FlowFuse for IT Teams" + description: "How FlowFuse helps IT teams govern industrial integrations with enterprise-grade security." + keywords: "IT teams, enterprise security, governance, FlowFuse, RBAC, SSO" + + - slug: maintenance-teams + name: Maintenance Teams + description: > + Maintenance teams keep equipment running, minimize downtime, and + transition from reactive to predictive maintenance strategies. + heroDescription: > + FlowFuse helps maintenance teams implement condition-based and + predictive maintenance. Monitor equipment health, detect anomalies, + and schedule maintenance before failures occur. + painPoints: + - "Reactive maintenance leads to costly unplanned downtime" + - "No easy way to track equipment health trends over time" + - "Difficulty integrating CMMS with shop floor sensor data" + relatedUseCases: + - predictive-maintenance + - machine-monitoring + relatedProtocols: + - opc-ua + - modbus + meta: + title: "FlowFuse for Maintenance Teams" + description: "How FlowFuse helps maintenance teams implement predictive maintenance and reduce downtime." + keywords: "maintenance teams, predictive maintenance, condition monitoring, FlowFuse" + + - slug: data-engineers + name: Data Engineers + description: > + Data engineers build and maintain data pipelines and infrastructure, + ensuring industrial data flows reliably from source to analytics. + heroDescription: > + FlowFuse enables data engineers to build robust industrial data + pipelines without deep OT expertise. Connect any protocol, + transform data, and deliver to any data platform. + painPoints: + - "Industrial data is hard to access and normalize across different protocols" + - "Multiple proprietary protocols require specialized knowledge" + - "No standard tooling for OT data engineering workflows" + relatedUseCases: + - data-acquisition + - protocol-conversion + relatedProtocols: + - mqtt + - http-rest + - opc-ua + meta: + title: "FlowFuse for Data Engineers" + description: "How FlowFuse helps data engineers build industrial data pipelines across any protocol." + keywords: "data engineers, data pipelines, industrial data, FlowFuse, ETL" diff --git a/src/_data/useCases.yaml b/src/_data/useCases.yaml new file mode 100644 index 0000000000..1bd4f49889 --- /dev/null +++ b/src/_data/useCases.yaml @@ -0,0 +1,82 @@ +# Industrial use cases for FlowFuse +# Each generates a page at: /solutions/use-cases/{slug}/ +# +# To add a new use case, add an entry below. +useCases: + - slug: data-acquisition + name: Data Acquisition + description: > + Collect data from diverse industrial sources including PLCs, sensors, + and legacy equipment. Normalize and route data to databases, cloud + platforms, and analytics tools. + heroDescription: > + FlowFuse makes industrial data acquisition simple. Connect any + device, transform any protocol, and deliver data anywhere — all + from a single platform. + relatedProtocols: + - opc-ua + - mqtt + - modbus + - ethernet-ip + meta: + title: "Data Acquisition with FlowFuse" + description: "Collect industrial data from any source with FlowFuse. Support for OPC-UA, MQTT, Modbus, and more." + keywords: "data acquisition, industrial data, FlowFuse, IoT data collection" + + - slug: machine-monitoring + name: Machine Monitoring + description: > + Monitor machine health, performance, and status in real time. Build + dashboards, set up alerts, and track OEE across your entire + production floor. + heroDescription: > + Build real-time machine monitoring dashboards with FlowFuse. + Connect any equipment, visualize KPIs, and get alerted to + issues before they cause downtime. + relatedProtocols: + - opc-ua + - s7 + - ethernet-ip + meta: + title: "Machine Monitoring with FlowFuse" + description: "Monitor machines in real time with FlowFuse. Build dashboards, track OEE, and reduce downtime." + keywords: "machine monitoring, industrial IoT, real-time dashboards, OEE, FlowFuse" + + - slug: predictive-maintenance + name: Predictive Maintenance + description: > + Use data-driven insights to predict equipment failures before they + occur. Collect vibration, temperature, and operational data to build + maintenance models. + heroDescription: > + Implement predictive maintenance workflows with FlowFuse. Collect + sensor data, detect anomalies, and prevent unplanned downtime. + relatedProtocols: + - opc-ua + - mqtt + - modbus + meta: + title: "Predictive Maintenance with FlowFuse" + description: "Implement predictive maintenance with FlowFuse. Collect sensor data and detect anomalies early." + keywords: "predictive maintenance, condition monitoring, FlowFuse, industrial IoT" + + - slug: protocol-conversion + name: Protocol Conversion + description: > + Translate between different industrial protocols to unify your data + infrastructure. Bridge OT and IT networks without replacing existing + equipment. + heroDescription: > + Convert between any industrial protocols with FlowFuse. Bridge + legacy equipment to modern systems without middleware complexity. + relatedProtocols: + - opc-ua + - modbus + - s7 + - mqtt + - ethernet-ip + - http-rest + meta: + title: "Protocol Conversion with FlowFuse" + description: "Convert between industrial protocols with FlowFuse. Bridge OPC-UA, Modbus, MQTT, and more." + keywords: "protocol conversion, protocol gateway, industrial integration, FlowFuse" diff --git a/src/_includes/layouts/base.njk b/src/_includes/layouts/base.njk index 4a4c429fd1..9c032789be 100644 --- a/src/_includes/layouts/base.njk +++ b/src/_includes/layouts/base.njk @@ -261,14 +261,22 @@ eleventyComputed: {% endnavoption %} {% navoption "Solutions", null, 0 %} -