# Building a private blueprint

## Introduction

This guide steps through the process of building and publishing a new, private blueprint. As soon as a blueprint is published, it becomes available for any of your linked (i.e. child) companies to [install](https://doc.wearepatchworks.com/product-documentation/blueprints/working-with-private-blueprints/installing-a-private-blueprint).

{% hint style="info" %}
If you'd like to make your blueprint available in the Patchworks public marketplace, you should [submit it for approval.](https://doc.wearepatchworks.com/product-documentation/marketplace/marketplace-blueprints/submitting-a-blueprint-to-the-public-marketplace)
{% endhint %}

## Need to know

* To build blueprints, your user account must be associated with an `administrator` role. For more information, please refer to our [Roles & permissions summary](https://doc.wearepatchworks.com/product-documentation/users-roles-and-permissions/roles-and-permissions-summary) page.
* To be available for selection in a blueprint, a process flow must be deployed (either to a virtual environment or to `no environment`). &#x20;
* When process flows are selected for inclusion in a blueprint, the last deployed version is added.&#x20;

## The steps

{% stepper %}
{% step %}
**Log in to your own company profile**

Log in to the dashboard and (if you're managing multiple company profiles) ensure that you've [switched to your own profile](https://doc.wearepatchworks.com/product-documentation/company-management/multi-company-profiles/switching-in-and-out-of-a-linked-company).
{% endstep %}

{% step %}
**Build & deploy required process flows**

Ensure that all required process flows are built, tested, and deployed - for example:

<figure><img src="https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2FjsYTOSluqvrqKrSaC0Sv%2Fbuild%20flow%201.png?alt=media&#x26;token=4082caa4-2bba-4a2b-9cbe-e8dfb47621ac" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
A process flow must be deployed before it can be added to a blueprint. &#x20;
{% endhint %}
{% endstep %}

{% step %}
**Access the blueprints section of the marketplace**

Select `marketplace` from the left-hand navigation menu, then select `blueprints` and your `private` marketplace. For example:

<figure><img src="https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2FTYJkEjvJBCveWpK5VLfw%2Fbuild%20new%20blueprint%200.png?alt=media&#x26;token=1d3db27d-694e-4cf7-9588-f438b45ac385" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Launch the new blueprint wizard**

Click the `build a new blueprint` button:

<figure><img src="https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2FIKK4VEh5PoUs2PtIodiO%2Fbuild%20new%20blueprint%201.png?alt=media&#x26;token=bcb5334c-2ba5-4b5b-b97f-36eca5350b1b" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Complete general details for the blueprint**&#x20;

Enter general details for this blueprint:

<figure><img src="https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2FGjamZoouBoHD98YSx6nr%2Fcreate%20blueprint%20wizard%201b.png?alt=media&#x26;token=f1c2c1d9-e0a4-4441-b1f7-1ce1d7bf1406" alt=""><figcaption></figcaption></figure>

Available fields are summarised below:

<table><thead><tr><th width="253.90625">Field</th><th>Summary</th></tr></thead><tbody><tr><td>Name</td><td>Enter a name to be displayed for this blueprint wherever it is displayed in the dashboard.</td></tr><tr><td>Visibility</td><td>Always set to <code>private</code>. If you would like to submit a blueprint for availability in the Patchworks marketplace, please refer to <a href="../../marketplace/marketplace-blueprints/submitting-a-blueprint-to-the-public-marketplace">Submitting a blueprint to the public marketplace</a>. </td></tr><tr><td>Labels</td><td>Any <a href="../../general-settings/label-management">labels</a> defined for your company profile are available for selection. </td></tr><tr><td>Help guide</td><td>If available, enter a link to a help guide for this blueprint.</td></tr><tr><td>Post-install default</td><td><p>Select what action (if any) should be shown to users as the default whenever this blueprint is installed manually:  </p><ul><li><code>None</code>. The blueprint is installed, but the associated process flows are not deployed. </li><li><code>Package flows</code>. The blueprint is installed and the associated process flows are added to a new package, ready for manual deployment to virtual environments. </li><li><code>Package and redeploy</code>. The blueprint is installed and the associated process flows are redeployed wherever they currently exist - i.e. to any child companies (and any virtual environments) where this blueprint is presently installed. </li></ul><p>When someone chooses to <a href="installing-a-private-blueprint">install this blueprint</a>, they can change this option. All you're setting here is what the default setting will be.</p></td></tr></tbody></table>
{% endstep %}

{% step %}
**Confirm general details**

Click the `create` button to confirm general details. For example:

<figure><img src="https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2FIWBkX55ABgPkhGehx7KE%2Fcreate%20blueprint%20wizard%201a.png?alt=media&#x26;token=e5cc9e20-a75f-4d41-88b7-e27883dc68fd" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Configure the blueprint manifest**

The `manifest` page is where you configure which process flows and resources to include in this blueprint:

<figure><img src="https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2FokjHaaVI7xlFXnpld0Qb%2Fcreate%20blueprint%20wizard%202.png?alt=media&#x26;token=495a6062-d3af-4234-812e-42bc0e561707" alt=""><figcaption></figcaption></figure>

First, choose which process flows to include. For example:

<figure><img src="https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2FX6Nu3NYZh18m8zNgbStl%2Fcreate%20blueprint%20wizard%203.png?alt=media&#x26;token=0b089650-e0ee-4142-bfd1-af02049baa9c" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
When a process flow is selected, the last deployed version is added.&#x20;
{% endhint %}

As you select process flows, any associated resources are added to the manifest. For example:

<figure><img src="https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2FtPgND8SJ4qyDodfsjRuN%2Fcreate%20blueprint%20wizard%203a.png?alt=media&#x26;token=997f4307-7092-4454-b591-e0b5f341ffa9" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Review & update the blueprint manifest**

Review the updated `manifest` page. By default, all resources needed for each selected process flow will be included; however, you can add more resources if necessary.&#x20;

{% hint style="info" %}
Changes to this page are saved as a [draft](#blueprint-drafts) automatically.
{% endhint %}
{% endstep %}

{% step %}
**Publish the blueprint**

If you're ready to make this blueprint available in your private marketplace, click the `publish` button at the top of the manifest. For example:

<div align="left"><figure><img src="https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2F6ToFRYrhaJ0fmo2qCA26%2Fpublish%20option.png?alt=media&#x26;token=620ad729-b31d-45df-8c6a-4b8ce34a6610" alt="" width="428"><figcaption></figcaption></figure></div>

When a blueprint is published, it is queued for upload to your private marketplace, and a notification is generated upon completion.&#x20;

To prevent timing conflicts, an 'update in progress' banner is displayed at the top of the manifest for the duration of the publish process. For example:

<figure><img src="https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2F4JtjOgGuNcoihyTM3ukP%2Fupdate%20in%20progress.png?alt=media&#x26;token=fc58c8bf-fe98-406b-8ee6-9c756fe34ca5" alt=""><figcaption></figcaption></figure>

During this time, the blueprint is locked - it can't be changed or installed until the upload is complete. Once the upload is complete, the blueprint becomes available in your private marketplace.&#x20;

{% hint style="info" %}
Publishing a new blueprint makes it [active](https://doc.wearepatchworks.com/product-documentation/blueprints/about-blueprint-versions#the-active-version), so it becomes available to install from your private marketplace - it does not deploy anything automatically.
{% endhint %}
{% endstep %}
{% endstepper %}

## Blueprint drafts

As soon as you confirm the general details for a blueprint (step 6 [above](#the-steps)), the blueprint is saved to the `unpublished` section of your private marketplace. For example:&#x20;

<figure><img src="https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2FUCEqxIrUv906rhXMjYo0%2Funpublished%201a.png?alt=media&#x26;token=d7b3742f-eaf1-473c-9b22-f980285536c2" alt=""><figcaption></figcaption></figure>

From here, you can click any item to access the manifest, then make changes and publish the blueprint.

{% hint style="info" %}
In a draft state, component counts on blueprint tiles will always be 0.&#x20;
{% endhint %}

## What next?

Having published a new blueprint, it becomes available in your private marketplace, ready for child companies to install. &#x20;

When installing the blueprint for a child company for the first time, [installation must be completed manually](https://doc.wearepatchworks.com/product-documentation/blueprints/working-with-private-blueprints/installing-a-private-blueprint). Thereafter, any updates can be promoted automatically.

### Published blueprint options &#x20;

At the top of the configuration page for a published blueprint, you'll see some new options:

<figure><img src="https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2FXVlcV90aKKYxmbiL6skJ%2Fpublished%20blueprint%201.png?alt=media&#x26;token=f87dfe79-1aaa-45a3-a6ed-cb65d2c20971" alt=""><figcaption></figcaption></figure>

These options are summarised below.

<table><thead><tr><th width="253.90625">Field</th><th>Summary</th></tr></thead><tbody><tr><td>Version</td><td>When a blueprint is published for the first time, version 1 (<code>v1</code>)  is generated. If the blueprint is subsequently updated and re-published, the version number is incremented. The first version is always set to be the <a href="../about-blueprint-versions#the-active-version">active</a>, version. For more information, please see <a href="about-blueprint-versions">About blueprint versions</a>.</td></tr><tr><td>Install</td><td>Click this option to <a href="installing-a-private-blueprint">install the blueprint</a> for the current company profile.</td></tr><tr><td>...</td><td><p>The ellipsis icon provides access to the following options:<br></p><ul><li><code>View installs</code>. View and manage installations of this blueprint for your 'child' companies. From here, you can see where the blueprint is installed and promote an update to multiple companies. For more information, please refer to <a href="rolling-out-blueprint-updates">Rolling out blueprint updates</a>.</li><li><code>Open draft</code>. Create a draft manifest and update the blueprint. For more information, please refer to <a href="updating-a-private-blueprint">Updating a private blueprint</a>.</li><li><code>Delete</code>. Remove this blueprint from your private marketplace. Note that this does NOT remove or disable associated process flows that may already be deployed. </li></ul></td></tr></tbody></table>
