ContentConnect for Spryker Commerce OS

Release Notes for the version 1.18.0

e-Spirit AG

Table of Contents

Version 1.18.0

Update Notice

SPRY-489 - Missing dependencies in firstspirit/firstspirit-data-inconsistency-check
We have added dependencies to all sprkyer modules to clearify their direct dependencies.

Module dependencies. 

-  "spryker/log": "^3.0.0"

- "spryker/log": "^3.0.0"

- "spryker/locale": "^3.0.0"
- "spryker/log": "^3.0.0"

- "propel/propel": "^2"
- "spryker/cms-page-search": "^2"
- "spryker/config": "^3.0.0"
- "spryker/event": "^2.1.0"
- "spryker/log": "^3.0.0"
- "spryker/navigation": "^2"

- "firstspirit/firstspirit-preview": "^1.0.0"
- "spryker/category": "^4.0.0"
- "spryker/cms": "^7.5.0"
- "spryker/cms-block-category-connector": "^2"
- "spryker/cms-block-product-connector": "^1.1.0"
- "spryker/cms-block-storage": "^1.2.0"
- "spryker/cms-page-data-import": "^1.0.0"
- "spryker/locale": "^3.0.0"
- "spryker/url": "^3.0.0"

- "spryker/category": "^4.0.0"
- "spryker/product": "^6"
- "spryker/product-storage": "^1.2.0"

- "spryker/log": "^3.0.0"
- "spryker/glue-application": "^1.21.0"
- "spryker/glue-application-extension": "^1.2"

- "propel/propel": "^2"
- "spryker/cms-block": "^2.1.1"
- "spryker/log": "^3.0.0"
- "spryker/navigation": "^2"

- "spryker/container": "^1.4.0"
- "spryker/log": "^3.0.0",
- "spryker/navigation": "^2"
- "spryker/navigation-storage": "^1.0.0"
- "spryker/product": "^6.0.0"
- "spryker/product-storage": "^1.0.0"
- "spryker/silex": "*"
- "spryker/util-text": "^1.2.0"
- "spryker-shop/cms-block-widget": "^1.1.0"
- "spryker-shop/shop-application": "^1.6.0"

Fixed issues



Refactored Zed authentification check


Solved authentication issue on non FirstSpirit compatible page types


Error dialog on dynamic pages suppressed


Fixed a bug that caused FirstSpiritDataImportBusinessFactory to crash when calling createDataImporters without parameters.


Added missing dependencies to composer.json files


Added missing dependencies to composer.json and Fixed typo in FirstSpiritDataInconsistencyCheck


Issue with drag & drop operations fixed (CORE-12623)

New features



Revision of the documentation


Replaced preview images for pages and sections with generic ones for the reference project

Version 1.17.0

Update Notice

SPRY-400 - Category Teaser for N-Up Teaser Component
This feature extends the N-Up Teaser component by creating a category teaser. For the new component the section template n_teaser_item_categroy_teaser must be added to the FirstSpirit project. This must also be permitted in the existing section template n_teaser. In addition, an update of the FirstSpiritReferenceComponents and the FirstSpiritPreview module is necessary.

New features



The "Lost and Found" report was moved below the "Products" report.


Addition of links to the new GitHub repository within the documentation


Assets for the OCM content editing are now fetched from npm/CDN. This prevents the manuell copy and paste of files.


Adjustment of the file paths within the documentation


New teaser component "Category-Teaser" added to N-Up Teaser component


Update of outdated information within the documentation

Version 1.16.0


SPRY-445 - Publish reference project to GitHub
Beginning with this release, the reference project will be made available at GitHub. In future, this will allow an easy update of the reference project templates.

SPRY-432 - New front end for the Shoppable Video YouTube player
With this release an updated default design for the content component "Shoppable Video" is delivered.

It is now possible to display products and Content Cards at any time in a YouTube video. Visitors to the website can switch between the individual cards, and the video jumps in parallel to the respective points linked to the content.

In addition, it is now possible to limit the search for videos to your own YouTube channels in order to present the editor with a more targeted selection of videos.

SPRY-413 - Identifie and delete orphaned category/product pages
It is now possible to identify content in FirstSpirit for which no equivalent exists in Spryker. This applies to category pages and product detail pages, where the corresponding categories and products have been deleted in Spryker. To use this function a report is provided, which can be activated from the right toolbar. This lists the "orphaned" pages in FirstSpirit and offers the option of deleting them. This eliminates the need to use the SiteArchitect for this action.

Update Notice

SPRY-432 - New front end for the Shoppable Video YouTube player
This ticket affects the section templates shoppable_video and shoppable_video_item as well as the Spryker molecule fs-shoppable-video.
The changes to the section templates must be copied from the current version of the reference project. The molecule requires an update of the Spryker module firstspirit-reference-components.

Furthermore, the extension of the compilerOptions and the installation of the YouTube Iframe is no longer necessary. They can be removed with the following command:

removal of the compilerOptions extension and the YouTube Iframe. 

npm uninstall youtube-iframe @types/youtube

SPRY-413 - Identifie and delete orphaned category/product pages
This feature requires that the new module "FirstSpiritDataInconsistyCheck" is added and the module "FirstSpiritDataRestApi" is updated. In addition the "FirstSpiritDataInconsistyCheck" module must be registered in the "GlueApplicationDependencyProvider" file. In addition, a new workflow has been added to the reference project. This new workflow "Direct delete" with the reference name "delete_bypass" is used to delete the orphaned pages and must therefore be added to the FirstSpirit project.

Extension of the GlueApplicationDependencyProvider file. 

              new FirstSpiritCmsPagesResourceRoutePlugin(),
              new FirstSpiritDataStateWriterResourceRoutePlugin(),
              new FirstSpiritDataInconsistencyCheckResourceRoutePlugin()

Fixed issues



Broken links have been restored.

New features



New front-end Shoppable Video YouTube Player


Added the possibility to identify and delete orphaned category and product pages

Version 1.15.0


SPRY-433 - Added YouTube integration for the Shoppable video
You can now add YouTube videos for your shoppable video directly from a search panel in FirstSpirit by dragging them from the search result list onto the video component. Videos can be searched across all of YouTube or individual channels.

SPRY-427 - Category Report - Remove duplicate Category Label
A change was made to the category search: In addition to the category name we are now displaying its hierarchy in order to better distinguish between categories of the same name and provide a better orientation.

SPRY-418 - Bubble up Importer Issues to the FirstSpirit log
With this release, warnings which occur when importing the content data to Spryker are also written to the FirstSpirit log. This enables the FirstSpirit team to identify and remove redundant content in FirstSpirit.

This is primarily related to warnings that occur when category and product pages are missing in Spryker.

The following warnings are logged:

Failed to create category connector for CMS block "%s" due to missing category with id "%s".

Failed to create product connector for CMS block "%s" due to missing product abstract with sku "%s".

SPRY-399 - Product Teaser for N-Up Teaser Component
A new content module has been added to the reference project, allowing an easy representation of products in the "N-Up Teaser". An editor can now add a product to the teaser list by simply dragging it from the product search onto the reference component in the product teaser section. The content will be filled automatically with information pulled from Spryker.

Update Notice

SPRY-442 - Easy-Up Demo: Images should be deployed
An schedule for the media generation must be added to the project. In addition, the publication schedule must receive the following script as the first action. Note that the value of the variable 'SCHEDULER_NAME' is to be defined as the name of the media generation job.

Script action in the Spryker Deployment task. 

import de.espirit.firstspirit.access.AdminService;
String SCHEDULER_NAME = "Media Deployment";
connection = context.getConnection();
adminService = connection.getService(AdminService.class);
scheduleStorage = adminService.getScheduleStorage();
scheduleEntry = scheduleStorage.getScheduleEntry(context.getProject(), SCHEDULER_NAME);

if(scheduleEntry != null) {
	control = scheduleEntry.execute();
	isSuccessful = control.state.state.equals(en.espirit.firstspirit.access.schedule.RunState.SUCCESS);
		context.logWarning(SCHEDULER_NAME + " Completed with errors!");
    context.logInfo("Schedule Entry executed...");

} else {
    context.logError("Could not find schedule entry with name" + SCHEDULER_NAME);

SPRY-433 - Added YouTube integration for the Shoppable video
The YouTube integration affects the section template shoppable_video. We recommend to copy the updated version provided with the reference project.

SPRY-431 - Shoppable Video - Remove Validators for Entries
This change can be applied by removing the rules from the "shoppable_video" template.

SPRY-418 - Bubble up Importer Issues to the FirstSpirit log
To use the changes, the following modules must be updated:

  • FirstSpiritDataImport module
  • FirstSpiritDataRestApi module
  • FirstSpiritCmsDataStorage module

In addition, the FirstSpiritDataStateWriter module must be installed using the following command:

Installation command. 

composer require firstspirit/firstspirit-data-state-writer

A new table using the following Propel scheme has been added for data storage:

Schema of table fs_data_state_writer_storage. 

<database xmlns:xsi=""
          name="zed" xsi:noNamespaceSchemaLocation=""

    <table name="fs_data_state_writer_storage" identifierQuoting="true">
        <column name="id_fs_data_state_writer_storage" type="BIGINT" autoIncrement="true" primaryKey="true"/>
        <column name="fs_schedule_id" type="VARCHAR" required="true"/>
        <column name="message" type="VARCHAR" required="true"/>
        <column name="severityLevel" type="INTEGER" required="true"/>
        <behavior name="timestampable"/>
        <id-method-parameter value="fs_data_state_writer_storage_pk_seq"/>

Following the installation, the FirstSpiritDataStateWriterResourceRoutePlugin must be added to the GlueApplicationDependencyProvider:

Extension in the GlueApplicationDependencyProvider. 

           new FirstSpiritDataCleanupsResourceRoutePlugin(),
           new FirstSpiritCmsPagesResourceRoutePlugin(),
           new FirstSpiritDataStateWriterResourceRoutePlugin(),

Furthermore, the following script action must be added within the schedules in the FirstSpirit project after the CleanUp action:

Trigger Fetch Spryker Logs. 


SPRY-399 - Product Teaser for N-Up Teaser Component
For the new component the section template n_teaser_item_product_teaser must be newly created in the FirstSpirit project. This must also be permitted in the existing section template n_teaser. In addition, an update of the 'FirstSpiritReferenceComponents' and the FirstSpiritPreview module is necessary.

SPRY-294 - Edit page added to drop-down menu
If a page has already been created in the Content Creator, it is possible to edit it. Therefore, the drop-down menu Actions at the top of the toolbar has a menu option Edit Page.

This allows you to edit either the url or the metadata.

Fixed issues



Added the necessary secure-attribute to "SameSite Preview Cookie"


Fixed problem at shoppable video with chrome browser

New features



Add schedule task for media deployment


Added YouTube integration for the Shoppable video


Removed validators from shoppable video


Changed snippets to show product information


The category report now displays the parent path of the category


Importer logs transferred from Spryker to FirstSpirit


Added new teaser element for products to n-up teaser


Added the possibility to edit the Page from Actions drop-down menu in CC

Version 1.14.0


SPRY-408 - Spruce up FirstSpirit Publication and Deletion Mails
For the execution of publication workflows FirstSpirit will now send out information mails. These contain relevant information about the outcome of the publication with consolidated information from the logfiles. Editors are thus enabled to take appropriate steps if necessary.

The following cases are covered:

  • Error during the publication
  • Successful release of a page without publication (*)
  • Successful release of a page with subsequent publication
  • Error during the deletion of a page
  • Successful deletion of a page without publication (*)
  • Successful deletion of a page with subsequent publication

The cases marked with (*) will be removed in a future release, which means it will not be possible anymore to approve or delete a page in FirstSpirit only without publishing the change.

With this ticket we have removed the partial publication feature. It is now no longer possible to publish just a single page. Every publication will publish all approved content.

Update Notice

SPRY-408 - Spruce up FirstSpirit Publication and Deletion Mails
To be able to use the function of sending an e-mail when using workflows, the following steps must be performed:

The page template 'html_mail_template' from the reference project must be added to the customers FirstSpirit project in the template store under 'technical'.
The scripts "trigger_deployment" and "trigger_full_deployment" from the reference project were simplified.
These are to be filled as follows:

Content of the script "trigger_deployment. 


Content of the script "trigger_full_deployment. 


SPRY-242 - Select text color for title and subtitle of the carousel element
In the section template of the list element 'Carousel element', it is possible to select a text color for the title and subtitle.

Therefore the form, the output channel and the fs-carousel.twig have to be adapted:

Modification in the form: 

<CMS_INPUT_TEXT name="st_title" hFill="..." [additional Options]>

 <CMS_INPUT_COMBOBOX name="st_titleColor" [additional Options]>
      <ENTRY value="#FFFFFF">
          <LANGINFO lang="*" label="White"/>
          <LANGINFO lang="DE" label="Weiß"/>
      <ENTRY value="#D3D3D3">
          <LANGINFO lang="*" label="Light Grey"/>
          <LANGINFO lang="DE" label="Hellgrau"/>
      <ENTRY value="#808080">
          <LANGINFO lang="*" label="Dark Grey"/>
          <LANGINFO lang="DE" label="Dunkelgrau"/>
      <ENTRY value="#000000">
          <LANGINFO lang="*" label="Black"/>
          <LANGINFO lang="DE" label="Schwarz"/>
      <LANGINFO lang="*" label="Title color"/>
      <LANGINFO lang="DE" label="Farbe des Titels"/>

<CMS_INPUT_TEXT name="st_subtitle" [additional Options]>

  <CMS_INPUT_COMBOBOX name="st_subtitleColor" [additional Options]>
      <ENTRY value="#FFFFFF">
          <LANGINFO lang="*" label="White"/>
          <LANGINFO lang="DE" label="Weiß"/>
      <ENTRY value="#D3D3D3">
          <LANGINFO lang="*" label="Light Grey"/>
          <LANGINFO lang="DE" label="Hellgrau"/>
      <ENTRY value="#808080">
          <LANGINFO lang="*" label="Dark Grey"/>
          <LANGINFO lang="DE" label="Dunkelgrau"/>
      <ENTRY value="#000000">
          <LANGINFO lang="*" label="Black"/>
          <LANGINFO lang="DE" label="Schwarz"/>
      <LANGINFO lang="*" label="Subtitle color"/>
      <LANGINFO lang="DE" label="Farbe des Untertitels"/>

Modification in the output channel: 

$CMS_SET(void, set_carouselItem.put("titleColor", st_titleColor))$
$CMS_SET(void, set_carouselItem.put("subtitle")$
$CMS_SET(void, set_carouselItem.put("subtitleColor", st_subtitleColor))$

Modification in fs-carousel.twig. 

<div class="titles">
   <h2 class="title"{% if carousel_item.titleColor is defined and carousel_item.titleColor is not null %} style="color:{{ carousel_item.titleColor}}"{% endif %}>{{ carousel_item.title }}
   <h4 class="subtitle"{% if carousel_item.subtitleColor is defined and carousel_item.subtitleColor is not null %} style="color:{{ carousel_item.subtitleColor}}"{% endif %}>
                                            {{ carousel_item.subtitle }}

Fixed issues



Fixed problem with creation and editing of elements in the shoppable video section

New features



Added mail dispatch when executing a workflow


Added the possibility to set title and subtitle color for carousel items

Version 1.13.0


SPRY-405 - Publication Error Handling
The mail notification in case of errors has been redesigned: In the event of a failed publication, a mail is now sent to a definable recipient. This mail contains the essential information from the publication schedule. So measures can either be taken directly or the Technical Support of the e-Spirit AG can be provided with the relevant information immediately.

SPRY-329 - Replacing content areas on the homepage
The Spryker Demo Content has been removed from the reference project and replaced with empty content slots.

SPRY-315 - Editing the Content Navigation
This release introduces a new feature for Spryker integration. It is now possible to integrate content structures created with FirstSpirit as navigation in the storefront.
To use this feature, the editor defines a start node from which the content hierarchy should be displayed. The underlying hierarchy is displayed in the navigation - changes made by creating, moving or deleting pages are directly visible in the navigation. This feature is implemented as an example for the main navigation in the reference project.

SPRY-209 - Multi slot container
With this release we are introducing a new Content Component for the reference project. The "Mult-Slot Container" enables the marketing division to create rows of image-based teasers. Images will scale automatically depending on the number of "slots" created by the editor. Each row can hold up to four slots.

Update Notice

SPRY-411 - Improvement of the data import
From this version on, the deletion of Spryker categories or products that are still referenced in the FirstSpirit project no longer influences the importer. It ignores the corresponding elements while it transfers the remaining data.
This improvement requires an update of the firstspirit-data-import module.

SPRY-405 - Publication Error Handling
In order to use the function of sending an e-mail in the case of an error in the schedule, the following steps must be carried out:

The page template html_mail_template from the reference project must be added to the FirstSpirit project in the template store under technical.
Afterwards, a script action with the following content must be added to the schedules Spryker Deployment and Spryker Partial Deployment:

#! executable-class

In order to send the e-mail, it is also necessary to specify a technical user in the e-mail distribution list field in the properties of both schedules.

SPRY-397 - Authentication Persistence Loop (Chrome Cookie Problem)
To use the fix for the authentication problem, an update of the fs-preview-user-authentication.js file and the FirstSpiritPreview module is necessary.

SPRY-358 - Remove workaround for navigation release workflow button issue
This ticket requires an update of the ocm-content-editing folder and the FirstSpiritPreview module. In addition, the generate_page_preview_url script within the reference project must be adapted as follows:

Adaptation of the script generate_page_preview_url. 

if(pageRef == zero) {
    return zero;

if ("technical".equals(pageRef.parentFolder.uid) {
    // since OCM-388 / TPP 1.2.21 - Deep-Link support, a start page in FirstSpirit is mandatory
    // using the "technical"-folder as default
    return "";

page = pageRef.getPage();

SPRY-329 - Replacing content areas on the homepage
The existing content areas banner and content_top of the homepage template were replaced by five new content areas: The new content area stage replaces the former content area banner. The content area content_top was exchanged by the areas homepage_one to homepage_four.

These are also to be added in the project code of the Twig template home.twig:

Adjustment within the twig template home.twig. 

{% block container %}
    {{ fsSpyCmsBlock({ name: 'stage' }) }}

    <div class="container container--home-page">
            {% block content %}
                {{ fsSpyCmsBlock({ name: 'homepage_one' }) }}

                {{ fsSpyCmsBlock({ name: 'homepage_two' }) }}

                {{ fsSpyCmsBlock({ name: 'homepage_three' }) }}

                {{ fsSpyCmsBlock({ name: 'homepage_four' }) }}
            {% endblock %}
{% endblock %}

SPRY-315 - Editing the Content Navigation
Up from this release, the integration provides the option of maintaining the navigations of the Spryker shop with FirstSpirit and adding further menu items. In order to use the feature, various requirements must be met and some manual changes are needed. These are explained below.

Technical requirements
The feature requires the installation of the following Spryker modules in at least the specified version:

  • firstspirit/firstspirit-caas:1.2.0
  • firstspirit/firstspirit-data-cleanup:1.5.0
  • firstspirit/firstspirit-data-import:1.6.0
  • firstspirit/firstspirit-preview:1.7.0

Furthermore, the following templates of the reference project were either added or extended:

  • Format templates

    • nav/nav_type_render
    • nav/nav_url_render
  • Page templates

    • technical/navigation_extension
    • technical/navigations
    • technical/project_settings
  • Section template

    • technical_sections/navigation_node_reference
  • Scripts

    • basicworkflow_scripts/release_navigation_script
    • get_navigation_gca_pages
    • omnichannel_manager/create_navigation_extension
    • omnichannel_manager/show_error_message_dialog
    • omnichannel_manager/tpp_add_catalog_card
    • omnichannel_manager/tpp_edit_catalog_card
    • omnichannel_manager/tpp_remove_catalog_card
  • Workflow

    • release_navigation
  • Page reference

    • technical/navigations
  • Page

    • technical/navigations
  • Global pages

    • GlobalContentArea/navigation_extensions
    • ProjectProperties

Installation and configuration
Besides the installation of the above mentioned Spryker modules the contents of the folder b2c-demo-shop/src/Pyz/Yves/NavigationWidget/ from the zip file b2c-demo-shop-extensions-<VERSION>.zip contained in the delivery must be transferred to the Spryker project.

Among other things, the zip file contains the ExtendedNavigationWidget, which must be registered within the ShopApplicationDependencyProvider. The chapter Widgets in the documentation contains the necessary information to do this.

In addition, the configuration of the parameters FIRSTSPIRIT_PREVIEW_CAAS_TECHNICAL_PAGE_COLLECTION and FIRSTSPIRIT_PREVIEW_CAAS_NAVIGATION_DOCUMENT is required. The parameters and their configuration are described in the chapter Extension of the configuration in the documentation.

Adaptations of Twig templates
In general, the new feature enables the maintenance of all navigations of a Spryker shop in FirstSpirit. Within the reference project this possibility was implemented as an example for the main navigation of the Spryker B2C Demo Shop - both in the desktop and mobile version. However, it requires the adaptation of the following Twig templates in the Spryker project:

  • header.twig
  • side-drawer.twig
  • navigation-header.twig
  • navigation-header-mobile.twig
  • navigation-multilevel-node.twig

The steps to be performed are described in the chapter Navigation in the documentation.

After the changes have been made, it may be necessary to empty the cache for the twig templates and to rebuild the frontend.

SPRY-209 - Multi slot container
This feature creates the possibility to display several elements in a row.
To do this the section templates n_teaser and n_teaser_item_content_teaser must be added to the FirstSpirit project and be permitted in the desired content areas.
The reference components fs-n-teaser and fs-n-teaser-item are part of the FirstSpiritReferenceComponents. Therefore an update of the module firstspirit-reference-components is also required.

Fixed issues



Fixed SameSite issue with Spryker inside the ContentCreator Preview

New features



Data for missing categories and products will now be ignored instead of blocking the import


Added mail dispatch in case of failure of a publication task


Removed workaround for releasing the navigation


Replacing content areas on the homepage


Expandability of the shop-navigations realized


New reference component n-up teaser

Version 1.12.0


SPRY-240 Reference project: The input components for the magazine teaser have been rearranged to match the way in which they are rendered on the storefront: Image - Title - Subtitle

SPRY-193 - Fallback for the magazine overview page
If the teaser of a magazine article is empty, the image and title of the magazine article are used for the display on the magazine overview page. If the teaser has an image or title, the contents of the teaser are displayed on the overview page.

Update Notice

SPRY-193 - Fallback for the magazine overview page
The teaser output of a magazine article is defined within the template magazine_teaser_render. In order to add the described fallback functionality to the reference project, the second if query within the style sheet must be extended as follows:

CaaS output channel of the magazine_teaser_render template. 

	$CMS_SET(void, picture.put("imageUrl", imageUrl.toString()))$
		$CMS_SET(void, picture.put("previewId", previewId.toString()))$
$CMS_ELSIF(rt_entity.teaser_picture.isEmpty() && !rt_entity.banner.isEmpty())$
	$CMS_SET(void, picture.put("imageUrl", imageUrl.toString()))$
		$CMS_SET(void, picture.put("previewId", previewId.toString()))$
$CMS_SET(void, rt_teaser.put("picture", picture))$

Fixed issues



Fixed an issue that prevented the editing of missing categories.


Fixed a bug that caused CMS pages to remain in search index after deletion


Changed Shoppable Video to HTTPS


Fixed an issue that prevented the editing of missing products.


Improved error handling of data import step that’s responsible for import CMS block data for categories.


Fixed error in shoppable video section that prevented editing of that section type


Input forms in magazine articles modified

New features



Added Fallback for empty Magazine-Teaser

Version 1.11.0

Fixed issues



Now using pagination for caas requests.


Hotfix to handle missing images in product report.


Added automatic removal of obsolete CMS Page URLs to data import process

New features



The button color was adapted to the new UX design


Made the delete workflow available on productpages and categorypages


Added a chapter regarding the configuration of the glue webserver


Documentation of the preview deployment


Added a configuration for static pagetemplates in the ProjectProperties to add a url

Version 1.10.0

New features



Added sku to the product report snipped


The BlocksAggregationSetupExecutable now always uses the CaaS credentials from the module settings.


Disabled section movement on static pages to avoid invalid states


Add data cleanup of CMS Pages to Staged Content Synchronization schedule


Add synchronization of CMS Pages to Staged Content Synchronization schedule


Added new schedule Staged Content Synchronization to reference project that allows the synchronization of staged content between FirstSpirit and the Preview CaaS.

Version 1.9.1

Fixed issues



Fixed a bug that prevented re-creating content on content pages.

Version 1.9.0

Update Notice

This update includes an improved error handling of errors occuring during CMS block rendering. The error handling can be configured with the parameter FirstSpiritPreviewConstants::FIRSTSPIRIT_PREVIEW_DISPLAY_BLOCK_RENDER_ERRORS. This parameter defines whether errors should be displayed on the page. As it shows internal information and is useful for debugging purposes, it should only be enabled in development or staging environments.

Extension of the configuration. 

use FirstSpirit\Shared\FirstSpiritPreview\FirstSpiritPreviewConstants;


$config[FirstSpiritPreviewConstants::FIRSTSPIRIT_PREVIEW_DISPLAY_BLOCK_RENDER_ERRORS] = true;

The class FirstSpiritMagazineLinkWidget was removed from the FirstSpiritPreview module in this release. When updating this module it is necessary to remove the corresponding widget registration from the ShopApplicationDependencyProvider in srcPyzYvesShopApplication.

Additionally with this release the Publish and Synchronize process for the content pages managed by FirstSpirit has been added. The activation of this process requires the additional registration of two queues and a message processor.

Extension of the SprykerRabbitMqConfig (\Pyz\Client\RabbitMq\RabbitMqConfig). 

use FirstSpirit\Shared\FirstSpiritCmsDataStorage\FirstSpiritCmsDataStorageConstants;


class RabbitMqConfig extends SprykerRabbitMqConfig
   protected function getQueueOptions()
      $queueOptionCollection = new ArrayObject();




      return $queueOptionCollection;

Extension of the QueueDependencyProviders (\Pyz\Zed\Queue\QueueDependencyProvider). 

use FirstSpirit\Shared\FirstSpiritCmsDataStorage\FirstSpiritCmsDataStorageConstants;


protected function getProcessorMessagePlugins(Container $container)
   return [
      FirstSpiritCmsDataStorageConstants::FS_CMS_PAGE_DATA_SYNC_STORAGE_QUEUE =>
         new SynchronizationStorageQueueMessageProcessorPlugin(),

Furthermore the CmsBlockRenderControllerProvider was renamed to FirstSpiritPreviewControllerProvider. This change also has to be applied to the registration of this ControllerProvider in the YvesBootstrap (\Pyz\Yves\ShopApplication\YvesBootstrap).

Extension of the getControllerProviderStack method. 

use FirstSpirit\Yves\FirstSpiritPreview\Plugin\Provider\FirstSpiritPreviewControllerProvider;

protected function getControllerProviderStack($isSsl)
   return [
      new FirstSpiritPreviewControllerProvider($isSsl)

Fixed issues



Fixed problem with enter markup


Publication of the magazine detail page includes publication of the overview page

New features



Improved data relation of content pages by using a natural identifier


Added redirect to error page for the "Fail Whale"

Version 1.8.0

Fixed issues



Added filter to glue api call, to make product report faster


Fixed release workflow permission issue

New features



Improved data relation of product page content by using the SKU of products instead of internal database ids.

Version 1.7.4

Update Notice

With this release, the deletion of obsolete content pages has been added to the data cleanup process. This requires a project extension where the following files of the artifact must be created in the Spryker project:

  • files/b2c-demo-shop/src/Pyz/Zed/Cms/Business/Page/PageRemover.php
  • files/b2c-demo-shop/src/Pyz/Zed/Cms/Business/CmsBusinessFactory.php

Additionally, the OCM web asset files/b2c-demo-shop/public/Yves/assets/DE/default/js/fs-preview-ocm-impl.js has been extended with this release. An update of this file is necessary to use a deletion workflow in ContentCreator.

New features



Added ability to delete content pages to reference project and added deletion of obsolete CMS pages to data cleanup process

Version 1.7.1

Fixed issues



Version correction for TPP and CSS adjustments

New features



Revision of the description of the links in the entire documentation

Version 1.7.0

Fixed issues



Fixed missing dependency declaration of FirstSpiritPreview module by removing the dependency


Improve error handling when using widgets

New features



Images exchanged in reference project


Updated the Architecture Image

Version 1.6.0


With this release the links were reworked: The existing use of widgets is now only used in the text-image section. Within the Shoppable Video, the Teaser Grid and the Carousel, the new dynamic links are used instead, which are represented on the Spryker side by Twig functions. These can be called either directly or via the integration of the Twig template "link.twig" within a molecule.

New features



Created new link templates and created twig functions to generate only url


Documentation for featured magazine articles


Removed the "Teaser Link Text". Instead the whole teaser block is a link now.


Removed intro block from magazine article

Version 1.5.3

Fixed issues



Added depublishing of CMS block data to data cleanup process.

Version 1.5.2

Fixed issues



Fixed a bug that prevented published content from being updated.

Version 1.5.1

Update Notice

With this feature a new widget "FirstSpiritMagazineLinkWidget" has been added, which has to be registered in the ShopApplicationDependencyProvider class.

Fixed issues



Fixed a bug that caused product widgets to load products by their internal product id instead of the products SKU and improved error handling of product widget templates


Fixed a bug in the display of the Content-Add-Button


Improved the editor responsivenes for deleting and creating content blocks


Added support for sorting magazine articles on the magazine overview page and enabled selection of featured articles that are highlighted on magazine overview pages

New features



Reduced active store configuration of project settings to selection of a single store


Added color selection for banner texts


Adding a FirstSpirit linktemplate to link a specific magazine article

Version 1.4.0

Fixed issues



Raised version numbers of spryker/kernel dependencies to 3.35.0


Removed restriction of picture source folder


Added missing permissions to global store

New features



Moved redundant store relation definition to project settings property


Added new link type external link


Added thumbnails for all section templates.


Enabled Content Link in the Carousel section

Version 1.3.2

Fixed issues



Increased version of firstspirit-reference-component module


Fixed bug regarding release status and release of magazine detail pages

New features



Reworked the chapter regarding the twig templates

Version 1.2.0

Fixed issues



Removed max lenght limit for title and subtitle in Banner-Section


Fixed external dependency declaration bug of FirstSpiritDataImport module


Fixed a minor bug which showed content editing features on pages that haven’t been enabled for content editing with FirstSpirit


Removing the Overlapping of Navigation by the Edit Buttons


Fixed resolution of magazine article banner


Fixed image cropping


Zusätzliche Schaltfläche zum Freigeben von Bildern entfernt


Swapped Headline and Subtitle. Center Headline


Added the description of the FirstSpiritProductFlyoutWidget to the documentation

New features



Added headline formats to Dom editors


Ensured compatibility to B2C Demo Shop version 201907.0


Created teaser grid


Enabled FS content to be added to product detail pages

Version 1.1.0

Fixed issues



Fixed missing resdolutions for image cropping


Add limit of text length at all sections

New features



Moved reference components to separate Composer package called FirstSpiritReferenceComponents


Added Basic Authentication support for Glue API access


Created initial translation of the documentation

Version 1.0.0

Fixed issues



Disabled TPP rendering for datasets only allowing sections


Added logs and changed log levels


Removed credentials from referenceproject

New features



Pages without Spryker CMS Page Id are now created on preview request in ContentCreator


Added the ContentHelper service to trigger CaaS updates for overview pages.


Fixed errors for magazine detail pages


Added ability of searching for magazine articles and the ContentCreator is navigating to them


Added support for creating magazine pages


Added magazin detail page with scheme and table template


Improved code quality


Modified default permissions


Added a section template for the magazine overview


Added schedule for partial deployment


Added new image resolutions to the reference project


Added publish and synchronization process for structured CMS block data


Improved UX and stability when editing sections


Added new molecule for magazine article detail page

Version 0.5.0

Update Notice

This update includes a name change of the Spryker module FirstSpiritCmsBlockDataConnector. It was renamed to FirstSpiritCmsDataConnector. Make sure to remove the old module first before installing the new one.

Fixed issues



Added validation for content page urls

New features



Checked all labels within the Reference Project


Added chapter for important information


Added support for managing content on content pages


added editorial links to content pages managed by FirstSpirit


Added support for creating content pages using the ContentCreator


Shoppable image available in content body on homepage and categorypages

Version 0.4.0

Fixed issues



Added automatic setup of CaaS aggregations to deployment tasks

New features



Added logging to useful places in all modules


Improved handling of requesting online CaaS while importing and cleanup


Carousel section available in banner body on homepage and categorypages


Added shoppable video functionality

Version 0.3.1

Fixed issues



Fixed a syntax error in FirstSpiritDataRestApi module

Version 0.3.0

Update Notice

This version includes a minor fix in the schema of the table spy_fs_cms_block_data_connector that stores structured data for CMS blocks. This is part of the FirstSpiritCmsBlockDataConnector module. The name of the PK sequence for the mentioned table was changed from spy_firstspirit_content_pk_seq to spy_fs_cms_block_data_connector_pk_seq. After updating the module make sure to run the Spryker console command console propel:install in order for Propel to automatically make the necessary change and migrate the database. If Propel fails to perform the migration automatically the necessary change has be be applied manually by altering and updating the name of the sequence to the new name described above. This can be achieved by executing the SQL statement ALTER SEQUENCE spy_firstspirit_content_pk_seq RENAME TO spy_fs_cms_block_data_connector_pk_seq;.

Fixed issues



Fixed PK sequence name of table that stores structured data for CMS blocks

New features



Sections can now be deleted, CMS blocks in Spryker will be removed accordingly.


Toolbar action for publication added

Version 0.2.0

New features



Added formatting to text-image-section


Adding banner section for category pages


Enabled drag&drop support from reports to links


Added fly-out when hovering over product search results in Content Creator


Added link template "search link"


Added category links


Added product links


Added Product DAP to search for Spryker products in FirstSpirit


Add support for content management on category pages


Support for product categories added.

Version 0.1.1

Fixed issues



Fixed error on catalog pages that was caused by embedding of OCM dependencies

New features



Added logging to firstspirit-caas and firstspirit-preview module


Implemented Text/Image section


Implemented import process of CMS block data


Implemented trigger of import process from CaaS to Spryker


Implemented publishing of structured data


Added TPP decoration of CMS blocks and CMS placeholders


Content from CaaS is now available beeing rendered by spryker for preview.


Added approval workflow


Implemented preview authentication


The Technical Support of the e-Spirit AG provides expert technical support to customers and partners covering any topic related to the FirstSpirit™ product. You can get and find more help concerning relevant topics in our community.