Share VOLT Themes and Blocks With Your Organization

VOLT offers the ability to share custom Themes and Blocks with members of your organization. You can also make specific fields in Blocks private, which allows members of your agency to edit those fields but keeps merchants from changing them.

Introduction to Privacy in VOLT

VOLT offers several built-in privacy options that allow you to control the sharing of Themes , Blocks , and specific fields within Blocks. This article explains how to manage your privacy and sharing settings using VOLT.

As you will learn, it is possible to share Themes and Blocks between multiple VOLT stores using settings available in VOLT’s Site Designer and Element . By sharing, you can give other users of your organization (or agency) access to custom Themes or Blocks.

Sharing allows you to reuse the same Themes and Blocks across multiple VOLT Stores. In addition, developers building custom Blocks using Element can hide certain fields from merchant accounts using a privacy setting available as an Element Proptype .

In this article, you will first learn about the default privacy settings in VOLT, then you will learn how to customize these settings for your individual needs.

While it may be helpful to know how to build a custom Block using Element before continuing, it is not necessary to be familiar with making custom Blocks to understand this article.

What is Private by Default?

By default, everything you make using VOLT’s Site Designer and the Element platform are private, including Themes and Blocks. Private means the Themes and Blocks are only available to your personal user account.

When you make a new Theme in VOLT, it is private by default, and it will only be available in your own VOLT store.

When you make a new Block using Element, it is also private by default, and it can only be accessed within your own VOLT Store.

It is possible to share Themes and Blocks across multiple VOLT Store accounts by sharing them with your organization, as this article will discuss later.

What is Shared by Default

On the other hand, when making new custom Blocks with Element, all custom fields (or props ) that can be configured by the user are shared with any user of that Block. In other words, any user of a custom Block can edit all the custom fields using VOLT’s Site Designer.

This is generally the behavior that you want, since you elected to design your Block with customizable props instead of hard-coding the Block with certain, fixed behaviors.

However, there may be cases where your agency wants to be able to control the field from within Site Designer, but you do not want a merchant able to change the field.

For example, you might have a custom field that contains the name of the store — something you want to be able to change yourself across multiple VOLT Stores, but that you don’t want the merchant to be able to change themselves.

Later in this article, you will learn exactly how to make custom fields private using the “isPrivate ” Element Proptype.

Staging vs Development

An important point to consider here is that this article does not discuss the difference between “staging” and “production” when creating custom Blocks using Element.

You may have seen these terms while reading the Element Platform Documentation , such as in the documentation for the Element CLI (Command Line Interface).

When you first publish a new custom Block (using the element publish command), it is in staging, which means it is not yet available in live VOLT Stores.

Put another way, new Element Blocks start out in staging (not available to the public) and need to be released to production in order to be made public.

Blocks in staging have a warning on them when viewed in VOLT’s Site Designer until they are released with the Element CLI using the element release command.

Please be aware that “releasing to production” has a different meaning than the difference between private and shared Blocks, Themes, and props discussed in the rest of the article.

Releasing to production makes the Block available to the public (to customers) viewing the live version of the VOLT Store, while making a Block or Theme shared means sharing it to other users of VOLT in your organization.

For more information on this topic, please see the article Staging vs. Production in the Element Platform Documentation or the video 08 Releasing a Block to Production | Element Tutorial | VOLT Resource Center on YouTube (2 minutes and 33 seconds). 

Making a Theme Shared

When you make a new Theme using VOLT’s Site Designer, you are given an option to toggle the Theme’s visibility from Private to Public (meaning shared with other users in your organization), as shown here:

When you share a Theme by making it public, it will become available in the Theme Gallery, which is accessible through the Browse themes button at the bottom of the My Themes page in VOLT’s Site Designer:

Themes that are shared in the Theme Gallery are available to other users in your organization. This can be useful if you would like to make a Theme generally available to any VOLT Store associated with your agency by granting permission to use it to all of your organization.

Note that currently the “Private” / “Public” toggle for Themes can only be selected when creating a new Theme. For help managing Theme privacy and sharing settings at a later point, please contact Volusion for support.

For information on how to make a new Theme in VOLT’s Site Designer, please refer to the article “Design a New Theme With Site Designer ” in the Element Platform Documentation.

Make a Block Shared

When you publish a new custom Block using Element, that Block becomes available inside VOLT’s Site Designer just for your own VOLT Store.

In order to share the Block to other VOLT Stores, you need to use the Element CLI to make the Block shared. To be specific, Blocks made shared this way are available to all users of your organization using VOLT. Shared Blocks are not publicly available in the sense that any user of VOLT can see the Block; it is only public within your organization.

The command to make the Block shared is “element update -p ” — where the “-p” flag means “toggle-public.” As noted in the Element Platform Documentation, your agency will need permission from Volusion to share Blocks:

“[-p, --toggle-public] If your agency has permission to change this, it will allow you to make the block available to users outside of [y]our organization.” —Element Docs 

For help in getting this permission for your organization, please contact Volusion. 

For more information on building custom Blocks using Element, see the video series Element Tutorial | VOLT Resource Center available on YouTube or the "Building An Element Page Tutorial ”in the Element Platform Documentation.

Make a Block Prop Private

When you make a new custom Block using Element, you set up props , the custom fields that users can control from inside VOLT’s Site Designer. These props are shared by default, meaning that any user of that Block in VOLT can change or modify its configuration.

Generally, props should be shared, but you can make them private using an option field available for configuration in the /src/configs.js file, where you set up the Element Proptypes. 

Making a Block’s prop private means that it will be available only to agency users of the VOLT Store, not to merchants configuring the Block in Site Designer.

This could be helpful for anything that you want to be able to update yourself, but that you don’t want a merchant to be able to directly edit. This can help keep your Block’s configuration simpler for the end user. For example, you may want to keep color and other design controls hidden from merchants if your agency is handling the graphic design of the VOLT Store.

In order to make custom props private, you use the “isPrivate ” Element Proptype, which is an optional flag that makes the prop private.

A sample /src/configs.js file using the “isPrivate” flag might look like:

import { ElementPropTypes } from "@volusion/element-proptypes"

export const configSchema = {
text: {
label: "Text content",
type: ElementPropTypes.string,
isPrivate: true,
},
}

export const defaultConfig = {
text: "Element Starter Block",
}

This code snippet would make the text prop editable in VOLT’s Site Designer by agency users, but not by merchant users. A merchant logged into VOLT would have the prop automatically hidden and not shown as part of the options for that Block.

What About Shared (Reusable) Blocks?

A related subject when talking about privacy settings in VOLT is the concept of a shared or reusable Block.

A reusable Block is one that you’ve already configured and would like to use with the same settings across multiple pages of the VOLT Store.

“Changes made to a reusable block appear on every page that shares that block.” —Volusion Help Center 

Reusable Blocks are helpful because they save you the effort of configuring a Block repeatedly when working in VOLT’s Site Designer.

Unlike the previous discussion of shared Themes or Blocks, reusable Blocks are able to be reused within a single VOLT Store. In other words, reusable Blocks are not shared to all users of your organization in the list of Blocks in VOLT; they appear only for that one VOLT Store.

For details on reusing a Block across multiple pages, please refer to Reuse A Block Across Pages in the Element Platform Documentation or the Youtube video VOLT Demo | Block Management (starting at 1:29 in the 3:30 video).

Conclusion

As you’ve learned in this article, there are options available to share VOLT Blocks and Themes, making them available to all members of your organization using VOLT.

For Themes, the option to share Themes is handled when creating a new Theme in VOLT’s Site Designer by toggling the privacy to “Public.” For Blocks, you share them using the “element publish” command with the “-p” flag via the Element CLI.

You also learned about the optional “isPrivate” Element Proptype, which makes custom Block props editable only by agency accounts, not by merchant accounts.

This article briefly discussed the difference between “staging” and “production” for Element custom Blocks, as well as the concept of shared (or reusable) Blocks, in order to differentiate those settings from sharing VOLT Themes and Blocks with members of your organization.

While you may not find yourself using these particular features frequently, they are very handy when you need them, particularly for agencies using VOLT on behalf of multiple clients.

Hopefully this article has helped you learn about the privacy and sharing settings in VOLT.