Blueprints and Spire CMS
Start a Spire project
Getting started with a Spire project is very similar to beginning an Optimizely Configured Commerce project with Classic CMS, with a few changes. See Understanding the development architecture for a front-end architecture diagram of Spire CMS.
Classic to Spire CMS conversion tool customizations
See the user guide for an overview of the Classic to Spire CMS conversion tool and its limitations. Here is a basic overview of how it can be extended to convert custom pages and widgets.
Create new blueprints in Spire
Before creating a blueprint in Spire, ensure you have access to a local installation of Optimizely Configured Commerce. The Configured Commerce Github repository contains the Spire front-end code at \\\FrontEnd .
Understand blueprint components
Use a Spire Blueprint to customize and extend the front end of your Optimizely Configured Commerce website. It is separate from the back end and built on the core code for easier front-end upgrades and extensions.
Extend the front-end with blueprints in Spire
The goals of Spire are to ensure front-end upgradability while maintaining backward compatibility on the public surface area of Spire for site extensions. Locally, you work with the full Spire source code.
Work with front-end handlers in Spire
Optimizely created a new set of handlers in Typescript (versus C# in Classic CMS) to use to extend the front-end with Spire. You can customize handler chains by adding/removing/replacing the handlers within them.
Server-side rendering (SSR) guidelines for Spire
Only pages accessed by SEO crawlers are required for server-side rendering (SSR) in Optimizely Configured Commerce Spire CMS. These are Product detail pages Brand and brand detail pages Content pages Product and category list pages Other pages with fast APIs and hidden behind logins are nice to have, including the following My Account and its children Cart and Checkout Lists Authenticated content that depends on slow API calls should not use SSR, or all users see a blank until all APIs respond.
Override and code injection in Spire
As a developer, you can create new handlers to inject into handler chains to extend Spire. You also have other ways you can override or extend code in Spire.
Deploy blueprints built for Spire
The process for deploying Blueprints in Spire involves pushing changes into the appropriate Git branch. Builds of Blueprint code and Spire code take place at the same time.