Skip to main content
Skip table of contents

Customization state

After a blueprint is built and loaded, Customizer clients are expected to main a configuration state. A configuration state:

  • Determines the currently active components

  • Drives changes in the user experience

  • Allow to preview product configuration

  • Needs to be submitted to the server to create a recipe (saved design).

A configuration state is comprised of:

  • A list of all product placements

  • A list of components selected in each placement

  • A list of globally active tags

Additionally, for multi-product configurators, a configuration state would include:

  • A list of socket connectors for all currently loaded products

  • A list of products selected into each socket. Sockets may have associated products or may be left empty.

Valid and invalid states

A state must be valid in order to be accepted by the server to save a recipe. However, a state may be temporarily invalid while a user is configuring a product. A user interface layer is expected to resolve all state issues prior to saving a recipe.

A state is considered valid when:

  • For every placement

  • … there is a selected component

  • … that is “allowed” and “active”

Invalid state examples include:

  • A state where some placements do not have any available components and thus no selection can be made

  • A state where a placement is assigned a component but that component is not allowed

Buildable state

A valid state can be buildable or not-buildable. In order for a state to be able to be built:

  • A state must be valid

  • State placements must not have placeholder components selected

    • However, placeholders that are marked as optional are allowed

A non-buildable state can be used to save a recipe still. It is typically recommended that the e-commerce platform performs a status check on the recipe to validate whether a recipe can be used to place an order.

Typical use cases for saving a non-buildable state include:

  • Save-for-later or continue a previous design

  • Social sharing

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.