ContentConnect for Spryker Commerce OS

Release Notes for the version 1.18.0

e-Spirit AG

2020-09-18
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. 

"firstspirit/firstspirit-caas":
-  "spryker/log": "^3.0.0"

"firstspirit/firstspirit-cms-data-connector":
- "spryker/log": "^3.0.0"

"firstspirit/firstspirit-cms-data-storage":
- "spryker/locale": "^3.0.0"
- "spryker/log": "^3.0.0"

"firstspirit/firstspirit-data-cleanup":
- "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-data-import":
- "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"

"firstspirit/firstspirit-data-inconsistency-check":
- "spryker/category": "^4.0.0"
- "spryker/product": "^6"
- "spryker/product-storage": "^1.2.0"

"firstspirit/firstspirit-data-rest-api"
- "spryker/log": "^3.0.0"
- "spryker/glue-application": "^1.21.0"
- "spryker/glue-application-extension": "^1.2"

"firstspirit/firstspirit-data-state-writer"
- "propel/propel": "^2"
- "spryker/cms-block": "^2.1.1"
- "spryker/log": "^3.0.0"
- "spryker/navigation": "^2"

"firstspirit/firstspirit-preview"
- "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

IDDescription

SPRY-504

Refactored Zed authentification check

SPRY-496

Solved authentication issue on non FirstSpirit compatible page types

SPRY-493

Error dialog on dynamic pages suppressed

SPRY-490

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

SPRY-489

Added missing dependencies to composer.json files

SPRY-467

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

SPRY-466

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

New features

IDDescription

SPRY-476

Revision of the documentation

SPRY-391

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

IDDescription

SPRY-463

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

SPRY-462

Addition of links to the new GitHub repository within the documentation

SPRY-453

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

SPRY-409

Adjustment of the file paths within the documentation

SPRY-400

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

SPRY-296

Update of outdated information within the documentation

Version 1.16.0

Highlights

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

IDDescription

SPRY-448

Broken links have been restored.

New features

IDDescription

SPRY-432

New front-end Shoppable Video YouTube Player

SPRY-413

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

Version 1.15.0

Highlights

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();
	control.awaitTermination();
	isSuccessful = control.state.state.equals(en.espirit.firstspirit.access.schedule.RunState.SUCCESS);
	if(!isSuccessful){
		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="http://www.w3.org/2001/XMLSchema-instance"
          name="zed" xsi:noNamespaceSchemaLocation="http://static.spryker.com/schema-01.xsd"
          namespace="Orm\Zed\FirstSpiritDataStateWriterStorage\Persistence"
          package="src.Orm.Zed.FirstSpiritDataStateWriterStorage.Persistence">

    <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"/>
    </table>
</database>

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. 

#!executable-class
com.espirit.ecom.contentconnect.spryker.module.trigger.triggerfetchlogs.TriggerFetchLogsExecutable

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

IDDescription

SPRY-444

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

SPRY-410

Fixed problem at shoppable video with chrome browser

New features

IDDescription

SPRY-442

Add schedule task for media deployment

SPRY-433

Added YouTube integration for the Shoppable video

SPRY-431

Removed validators from shoppable video

SPRY-428

Changed snippets to show product information

SPRY-427

The category report now displays the parent path of the category

SPRY-418

Importer logs transferred from Spryker to FirstSpirit

SPRY-399

Added new teaser element for products to n-up teaser

SPRY-294

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

Version 1.14.0

Highlights

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. 

#!executable-class
com.espirit.ecom.contentconnect.spryker.module.workflow.ReleaseWorkflowExecutable

Content of the script "trigger_full_deployment. 

#!executable-class
com.espirit.ecom.contentconnect.spryker.module.workflow.DeleteWorkflowExecutable

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_TEXT>

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

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

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

Modification in the output channel: 

$CMS_SET(set_carouselItem,{:})$
set_carouselItem.put("title")$
$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 }}
   </h2>
   <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 }}
   </h4>
[...]
[...]

Fixed issues

IDDescription

SPRY-429

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

New features

IDDescription

SPRY-408

Added mail dispatch when executing a workflow

SPRY-242

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

Version 1.13.0

Highlights

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
com.espirit.ecom.contentconnect.spryker.module.schedule.ReviewScheduleResultExecutable

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">
        <main>
            {% block content %}
                {{ fsSpyCmsBlock({ name: 'homepage_one' }) }}

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

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

                {{ fsSpyCmsBlock({ name: 'homepage_four' }) }}
            {% endblock %}
        </main>
    </div>
{% 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

IDDescription

SPRY-397

Fixed SameSite issue with Spryker inside the ContentCreator Preview

New features

IDDescription

SPRY-411

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

SPRY-405

Added mail dispatch in case of failure of a publication task

SPRY-358

Removed workaround for releasing the navigation

SPRY-329

Replacing content areas on the homepage

SPRY-315

Expandability of the shop-navigations realized

SPRY-209

New reference component n-up teaser

Version 1.12.0

Highlights

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(picture,{:})$
$CMS_IF(!rt_entity.teaser_picture.isEmpty())$
	$CMS_SET(imageUrl)$$CMS_REF(rt_entity.teaser_picture,resolution:"CONTENT_IMAGE",abs:1)$$CMS_END_SET$
	$CMS_SET(void, picture.put("imageUrl", imageUrl.toString()))$
	$CMS_IF(!#global.isRelease())$
		$CMS_SET(previewId)$$CMS_VALUE(previewId(element:rt_entity.teaser_picture))$$CMS_END_SET$
		$CMS_SET(void, picture.put("previewId", previewId.toString()))$
	$CMS_END_IF$
$CMS_ELSIF(rt_entity.teaser_picture.isEmpty() && !rt_entity.banner.isEmpty())$
	$CMS_SET(imageUrl)$$CMS_REF(rt_entity.banner,resolution:"CONTENT_IMAGE",abs:1)$$CMS_END_SET$
	$CMS_SET(void, picture.put("imageUrl", imageUrl.toString()))$
	$CMS_IF(!#global.isRelease())$
		$CMS_SET(previewId)$$CMS_VALUE(previewId(element:rt_entity.banner))$$CMS_END_SET$
		$CMS_SET(void, picture.put("previewId", previewId.toString()))$
	$CMS_END_IF$
$CMS_END_IF$
$CMS_SET(void, rt_teaser.put("picture", picture))$

Fixed issues

IDDescription

SPRY-372

Fixed an issue that prevented the editing of missing categories.

SPRY-371

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

SPRY-363

Changed Shoppable Video to HTTPS

SPRY-352

Fixed an issue that prevented the editing of missing products.

SPRY-351

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

SPRY-286

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

SPRY-240

Input forms in magazine articles modified

New features

IDDescription

SPRY-193

Added Fallback for empty Magazine-Teaser

Version 1.11.0

Fixed issues

IDDescription

SPRY-338

Now using pagination for caas requests.

SPRY-336

Hotfix to handle missing images in product report.

SPRY-332

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

New features

IDDescription

SPRY-357

The button color was adapted to the new UX design

SPRY-350

Made the delete workflow available on productpages and categorypages

SPRY-344

Added a chapter regarding the configuration of the glue webserver

SPRY-307

Documentation of the preview deployment

SPRY-299

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

Version 1.10.0

New features

IDDescription

SPRY-327

Added sku to the product report snipped

SPRY-320

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

SPRY-309

Disabled section movement on static pages to avoid invalid states

SPRY-305

Add data cleanup of CMS Pages to Staged Content Synchronization schedule

SPRY-304

Add synchronization of CMS Pages to Staged Content Synchronization schedule

SPRY-303

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

IDDescription

SPRY-301

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();

      [...]

      $queueOptionCollection->append($this->createQueueOption(
         FirstSpiritCmsDataStorageConstants::FS_CMS_PAGE_DATA_SYNC_STORAGE_QUEUE,
         FirstSpiritCmsDataStorageConstants::FS_CMS_PAGE_DATA_SYNC_STORAGE_ERROR_QUEUE));

      [...]

      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

IDDescription

SPRY-145

Fixed problem with enter markup

SPRY-140

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

New features

IDDescription

SPRY-280

Improved data relation of content pages by using a natural identifier

SPRY-274

Added redirect to error page for the "Fail Whale"

Version 1.8.0

Fixed issues

IDDescription

SPRY-284

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

SPRY-248

Fixed release workflow permission issue

New features

IDDescription

SPRY-278

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 files.zip 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

IDDescription

SPRY-95

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

IDDescription

SPRY-275

Version correction for TPP and CSS adjustments

New features

IDDescription

SPRY-263

Revision of the description of the links in the entire documentation

Version 1.7.0

Fixed issues

IDDescription

SPRY-268

Fixed missing dependency declaration of FirstSpiritPreview module by removing the dependency

SPRY-265

Improve error handling when using widgets

New features

IDDescription

SPRY-262

Images exchanged in reference project

SPRY-218

Updated the Architecture Image

Version 1.6.0

Highlights

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

IDDescription

SPRY-246

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

SPRY-231

Documentation for featured magazine articles

SPRY-197

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

SPRY-196

Removed intro block from magazine article

Version 1.5.3

Fixed issues

IDDescription

SPRY-261

Added depublishing of CMS block data to data cleanup process.

Version 1.5.2

Fixed issues

IDDescription

SPRY-257

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

IDDescription

SPRY-221

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

SPRY-216

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

SPRY-177

Improved the editor responsivenes for deleting and creating content blocks

SPRY-172

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

IDDescription

SPRY-236

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

SPRY-203

Added color selection for banner texts

SPRY-195

Adding a FirstSpirit linktemplate to link a specific magazine article

Version 1.4.0

Fixed issues

IDDescription

SPRY-226

Raised version numbers of spryker/kernel dependencies to 3.35.0

SPRY-189

Removed restriction of picture source folder

SPRY-187

Added missing permissions to global store

New features

IDDescription

SPRY-227

Moved redundant store relation definition to project settings property

SPRY-206

Added new link type external link

SPRY-198

Added thumbnails for all section templates.

SPRY-194

Enabled Content Link in the Carousel section

Version 1.3.2

Fixed issues

IDDescription

SPRY-211

Increased version of firstspirit-reference-component module

SPRY-166

Fixed bug regarding release status and release of magazine detail pages

New features

IDDescription

SPRY-186

Reworked the chapter regarding the twig templates

Version 1.2.0

Fixed issues

IDDescription

SPRY-190

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

SPRY-188

Fixed external dependency declaration bug of FirstSpiritDataImport module

SPRY-183

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

SPRY-178

Removing the Overlapping of Navigation by the Edit Buttons

SPRY-174

Fixed resolution of magazine article banner

SPRY-173

Fixed image cropping

SPRY-171

Zusätzliche Schaltfläche zum Freigeben von Bildern entfernt

SPRY-169

Swapped Headline and Subtitle. Center Headline

SPRY-161

Added the description of the FirstSpiritProductFlyoutWidget to the documentation

New features

IDDescription

SPRY-191

Added headline formats to Dom editors

SPRY-167

Ensured compatibility to B2C Demo Shop version 201907.0

SPRY-33

Created teaser grid

SPRY-32

Enabled FS content to be added to product detail pages

Version 1.1.0

Fixed issues

IDDescription

SPRY-144

Fixed missing resdolutions for image cropping

SPRY-143

Add limit of text length at all sections

New features

IDDescription

SPRY-157

Moved reference components to separate Composer package called FirstSpiritReferenceComponents

SPRY-151

Added Basic Authentication support for Glue API access

SPRY-150

Created initial translation of the documentation

Version 1.0.0

Fixed issues

IDDescription

SPRY-141

Disabled TPP rendering for datasets only allowing sections

SPRY-137

Added logs and changed log levels

SPRY-114

Removed credentials from referenceproject

New features

IDDescription

SPRY-132

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

SPRY-131

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

SPRY-129

Fixed errors for magazine detail pages

SPRY-124

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

SPRY-123

Added support for creating magazine pages

SPRY-121

Added magazin detail page with scheme and table template

SPRY-120

Improved code quality

SPRY-110

Modified default permissions

SPRY-105

Added a section template for the magazine overview

SPRY-98

Added schedule for partial deployment

SPRY-89

Added new image resolutions to the reference project

SPRY-56

Added publish and synchronization process for structured CMS block data

SPRY-38

Improved UX and stability when editing sections

SPRY-31

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

IDDescription

SPRY-102

Added validation for content page urls

New features

IDDescription

SPRY-111

Checked all labels within the Reference Project

SPRY-86

Added chapter for important information

SPRY-54

Added support for managing content on content pages

SPRY-37

added editorial links to content pages managed by FirstSpirit

SPRY-10

Added support for creating content pages using the ContentCreator

SPRY-7

Shoppable image available in content body on homepage and categorypages

Version 0.4.0

Fixed issues

IDDescription

SPRY-62

Added automatic setup of CaaS aggregations to deployment tasks

New features

IDDescription

SPRY-61

Added logging to useful places in all modules

SPRY-57

Improved handling of requesting online CaaS while importing and cleanup

SPRY-13

Carousel section available in banner body on homepage and categorypages

SPRY-5

Added shoppable video functionality

Version 0.3.1

Fixed issues

IDDescription

SPRY-115

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

IDDescription

SPRY-112

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

New features

IDDescription

SPRY-70

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

SPRY-12

Toolbar action for publication added

Version 0.2.0

New features

IDDescription

SPRY-79

Added formatting to text-image-section

SPRY-78

Adding banner section for category pages

SPRY-77

Enabled drag&drop support from reports to links

SPRY-43

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

SPRY-36

Added link template "search link"

SPRY-35

Added category links

SPRY-34

Added product links

SPRY-21

Added Product DAP to search for Spryker products in FirstSpirit

SPRY-14

Add support for content management on category pages

SPRY-1

Support for product categories added.

Version 0.1.1

Fixed issues

IDDescription

SPRY-49

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

New features

IDDescription

SPRY-53

Added logging to firstspirit-caas and firstspirit-preview module

SPRY-40

Implemented Text/Image section

SPRY-25

Implemented import process of CMS block data

SPRY-24

Implemented trigger of import process from CaaS to Spryker

SPRY-18

Implemented publishing of structured data

SPRY-16

Added TPP decoration of CMS blocks and CMS placeholders

SPRY-15

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

SPRY-8

Added approval workflow

SPRY-3

Implemented preview authentication

Help

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.