Blueprints

Screenshot of the Blueprint selection UI in FlowFuse Screenshot of the Blueprint selection UI in FlowFuse

As part of the FlowFuse platform, it is possible to define "Blueprints".

Blueprints are packaged flows that help users get up and running with a particular project or idea. They should be informative, easy to understand, and provide a clear path to value.

FlowFuse host a public version of our Blueprint Library here.

Tracking Blueprint Ideas

We have a GitHub Project Board used to track the state of each idea recorded in the private blueprint-library repository (link).

Screenshot of the Blueprint Project Board Screenshot of the Blueprint Project Board

Submitting a Blueprint

Public Submission

We encourage Blueprint submissions from our customers, partners, and the wider community. Anyone can submit their own Blueprint idea via our online portal here. Please check with the Minimum Requirements to ensure any submissions have provided the relevant details.

Internal Development

If a Blueprint is being developed internally, then the Blueprint can be added to the Blueprint repository directly, via a Pull Request. An issue should be raised first in the blueprint-library repository to track the progress of the Blueprint, and to be sure the Blueprint aligns with the product and company strategy.

Minimum Requirements

Flow

The bare minimum requirement for a Blueprint is the respective flow.json file which details the Node-RED flow associated to the Blueprint.

Dependencies

With the flow.json we also need to have details on any third-party nodes and dependencies that the flow.json will require in order to be functional.

Screenshots

Images help commuicate the value of a Blueprint, without the need to fully deploy it. Screenshots and images are used as part of marketing material in socials, as well as imagery on the Blueprint Library itself, e.g. the image background of the Blueprint's tile.

Appearance

Blueprints are designated to a category. On FlowFuse Cloud, these categories are currently:

  • Getting Started
  • Manufacturing
  • Other

But others can, and should, be added as required.

Each Blueprint can also have a custom icon, which should be defined as an icon from Hero Icons v1. The color for the tile of each Blueprint is hardcoded then depending on the category. Any changes to color, or coloring of new categories currently require a code change within FlowFuse.`

Company Information

Submissions are encouraged to be from an organization, rather than an individual. As such, any submission must has an associated:

  • Company Name
  • Company Logo

Publishing a Blueprint

Blueprints must be published in two locations:

  • Website: This is our public Blueprint Library, where users can browse Blueprints and get access to a quick "Deploy" action.
  • Platform: This is the internal Blueprint Library within FlowFuse. It is configured as part of the FlowFuse Admin Panel.

Website

To add a Blueprint to our public Blueprint Library, we need to publish the Blueprint to the blueprint-library repository. The Website then automatically picks up the new Blueprint and publishes it.

License

All Blueprints require a comment node be added to the flow, with the relevant license included.

You can import the required comment node by importing the following JSON:

{
"id": "fc23cedbf1194ca4",
"type": "comment",
"z": "ad0d2e8ce07aeb8b",
"name": "License",
"info": "The FlowFuse License\nCopyright (c) 2021-present FlowFuse Inc\n\nWith regard to the FlowFuse Software:\n\nThis software and associated documentation files (the \"Software\") may only be\nused in production, if you (and any entity that you represent) have agreed to,\nand are in compliance with, the FlowFuse Subscription Terms (the \"Terms\"),\nor other agreements governing the use of the Software, as mutually agreed by you\nand FlowFuse Inc (\"FlowFuse\"), and otherwise have a valid FlowFuse Subscription\nfor the active usage. Subject to the foregoing sentence, you are free to modify\nthis Software and publish patches to the Software. You agree that FlowFuse and/or\nits licensors (as applicable) retain all right, title and interest in and to all\nsuch modifications and/or patches, and all such modifications and/or patches may\nonly be used, copied, modified, displayed, distributed, or otherwise exploited\nwith a valid Subscription.\nNotwithstanding the foregoing, you may copy and modify the Software for development\nand testing purposes, without requiring a subscription. You agree that FlowFuse\nand/or its licensors (as applicable) retain all right, title and interest in and\nto all such modifications. You are not granted any other rights beyond what is\nexpressly stated herein. Subject to the foregoing, it is forbidden to copy, merge,\npublish, distribute, sublicense, and/or sell the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\nFor all third party components incorporated into the FlowFuse Software, those\ncomponents are licensed under the original license provided by the owner of the\napplicable component.",
"x": 130,
"y": 40,
"wires": []
}

Platform

Submitting a Change Request

In order to add a Blueprint to FlowFuse Cloud, we need to submit a Change Request. Change Request's can be created by selecting "New Issue" in the Cloud Project repository.

Your issue should include a link to the relevant Pull Request on the Blueprint Library repository whereby your Blueprint was published.

Creating the Blueprint

Screenshot of the Blueprint Admin Panel in FlowFuse Screenshot of the Blueprint Admin Panel in FlowFuse

  1. Make sure the Blueprint is published to the blueprint-library repository.
  2. Login to FlowFuse Cloud as an Administrator
  3. Navigate to the Admin Panel
  4. Select the "Blueprints" tab
  5. Click "Create Flow Blueprint"
  6. Fill in the details of the Blueprint
  7. Click "Create"