Version 3.1.3

Update Notice

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

3.1.3 ⬆

Snap implementation firstspirit-spryker-content-editing

2.1.0

Reference project

2.0.0 @ GitHub

Documentation

3.1.0

Spryker modules Version

firstspirit-caas

3.1.0

firstspirit-cms-data-connector

3.0.0

firstspirit-cms-data-storage

3.0.0

firstspirit-data-cleanup

3.0.1

firstspirit-data-import

3.0.1

firstspirit-data-inconsistency-check

3.0.0

firstspirit-data-rest-api

3.0.0

firstspirit-data-state-writer

3.0.0

firstspirit-preview

3.0.0

firstspirit-preview-navigation

3.0.0

firstspirit-reference-components

3.0.0

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit server

2023.4 (5.2.230413)

Java

17

Content as a Service (FSM)

2.22.8 ⬆

Omnichannel Manager

2.4.7

Basic Workflows

1.3.4.972

New features

ID Description

FCSPRY-223

Updated unirest library.

Version 3.1.2

Update Notice

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

3.1.2 ⬆

Snap implementation firstspirit-spryker-content-editing

2.1.0

Reference project

2.0.0 @ GitHub

Documentation

3.1.0

Spryker modules Version

firstspirit-caas

3.1.0

firstspirit-cms-data-connector

3.0.0

firstspirit-cms-data-storage

3.0.0

firstspirit-data-cleanup

3.0.1

firstspirit-data-import

3.0.1

firstspirit-data-inconsistency-check

3.0.0

firstspirit-data-rest-api

3.0.0

firstspirit-data-state-writer

3.0.0

firstspirit-preview

3.0.0

firstspirit-preview-navigation

3.0.0

firstspirit-reference-components

3.0.0

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit server

2023.3 (5.2.230314)

Java

17

Content as a Service (FSM)

2.22.2

Omnichannel Manager

2.4.7

Basic Workflows

1.3.4.972

Fixed issues

ID Description

FCSPRY-221

Improved handling of configuration input

Version 3.1.1

Update Notice

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

3.1.0

Snap implementation firstspirit-spryker-content-editing

2.1.0

Reference project

2.0.0 @ GitHub

Documentation

3.1.0

Spryker modules Version

firstspirit-caas

3.1.0

firstspirit-cms-data-connector

3.0.0

firstspirit-cms-data-storage

3.0.0

firstspirit-data-cleanup

3.0.1 ⬆

firstspirit-data-import

3.0.1

firstspirit-data-inconsistency-check

3.0.0

firstspirit-data-rest-api

3.0.0

firstspirit-data-state-writer

3.0.0

firstspirit-preview

3.0.0

firstspirit-preview-navigation

3.0.0

firstspirit-reference-components

3.0.0

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit server

2023.2 (5.2.230212)

Java

17

Content as a Service (FSM)

2.21.12

Omnichannel Manager

2.4.6

Basic Workflows

1.3.4.972

FCSPRY-220 - Removed limit of 50 pages within the Clean Up

To update the e-spirit/firstspirit-data-cleanup module, the following command has to be executed:

composer update "e-spirit/firstspirit-data-cleanup":"^3.0.1"

Fixed issues

ID Description

FCSPRY-220

Removed limit of 50 pages within the Clean Up

Version 3.1.0

Update Notice

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

3.1.0 ⬆

Snap implementation firstspirit-spryker-content-editing

2.1.0

Reference project

2.0.0 @ GitHub

Documentation

3.1.0 ⬆

Spryker modules Version

firstspirit-caas

3.1.0 ⬆

firstspirit-cms-data-connector

3.0.0

firstspirit-cms-data-storage

3.0.0

firstspirit-data-cleanup

3.0.0

firstspirit-data-import

3.0.1

firstspirit-data-inconsistency-check

3.0.0

firstspirit-data-rest-api

3.0.0

firstspirit-data-state-writer

3.0.0

firstspirit-preview

3.0.0

firstspirit-preview-navigation

3.0.0

firstspirit-reference-components

3.0.0

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit server

2023.1 (5.2.230106)

Java

11

Content as a Service (FSM)

2.21.12

Omnichannel Manager

2.4.6

Basic Workflows

1.3.4.972

FCSPRY-215 - Changed CaaS authentication to new bearer format

To update the e-spirit/firstspirit-caas module, the following command has to be executed:

composer update "e-spirit/firstspirit-caas":"^3.1.0"

Requires CaaS v15.4.0.

New features

ID Description

FCSPRY-215

Changed CaaS authentication to new bearer format

FCSPRY-211

Added configuration fields for socket and connection timeouts to the project app

Version 3.0.1

Update Notice

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

2.0.1

Snap implementation firstspirit-spryker-content-editing

2.1.0

Reference project

2.0.0 @ GitHub

Documentation

3.0.0

Spryker modules Version

firstspirit-caas

3.0.0

firstspirit-cms-data-connector

3.0.0

firstspirit-cms-data-storage

3.0.0

firstspirit-data-cleanup

3.0.0

firstspirit-data-import

3.0.1 ⬆

firstspirit-data-inconsistency-check

3.0.0

firstspirit-data-rest-api

3.0.0

firstspirit-data-state-writer

3.0.0

firstspirit-preview

3.0.0

firstspirit-preview-navigation

3.0.0

firstspirit-reference-components

3.0.0

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit server

2022.11 (5.2.221111)

Java

11

Content as a Service (FSM)

2.21.8

Omnichannel Manager

2.4.4

Basic Workflows

1.3.4.972

FCSPRY-206 - Removed limit of 50 pages within the CaaS importer

To update the e-spirit/firstspirit-data-import module, the following command has to be executed:

composer update "e-spirit/firstspirit-data-import":"^3.0.1"

Fixed issues

ID Description

FCSPRY-206

Removed limit of 50 pages within the CaaS importer

Version 3.0.0

Update Notice

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

2.0.1 ⬆

Snap implementation firstspirit-spryker-content-editing

2.1.0 ⬆

Reference project

2.0.0 @ GitHub

Documentation

3.0.0 ⬆

Spryker modules Version

firstspirit-caas

3.0.0 ⬆

firstspirit-cms-data-connector

3.0.0 ⬆

firstspirit-cms-data-storage

3.0.0 ⬆

firstspirit-data-cleanup

3.0.0 ⬆

firstspirit-data-import

3.0.0 ⬆

firstspirit-data-inconsistency-check

3.0.0 ⬆

firstspirit-data-rest-api

3.0.0 ⬆

firstspirit-data-state-writer

3.0.0 ⬆

firstspirit-preview

3.0.0 ⬆

firstspirit-preview-navigation

3.0.0 ⬆

firstspirit-reference-components

3.0.0 ⬆

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit server

2021-08 (5.2.220907)

Java

11

Content as a Service (FSM)

2.21.4 ⬆

Omnichannel Manager

2.4.4 ⬆

Basic Workflows

1.3.4.972

FCSPRY-193 - Support for 202108.0 Spryker Demo Shop
With this update, Spryker modules are compatible with version 202108.0 of the Spryker Demo Shop.

Migration Guide
Manual adjustments are required for a successful migration. Please follow the instructions below.

Spryker B2C Demo Shop
Adjust store config files under config/Shared/config_default-docker.dev_AT.php:

$config[FirstSpiritCaaSConstants::FIRSTSPIRIT_CAAS_DATABASE_PREVIEW] = 'SprykerUpdateAT@preview';
$config[FirstSpiritCaaSConstants::FIRSTSPIRIT_CAAS_DATABASE_ONLINE] = 'SprykerUpdateAT';

$config[FirstSpiritDataImportConstants::FIRSTSPIRIT_DATA_IMPORT_URL_TEMPLATE] = '/{locale}/{store}/{url}';

Adjust config/Shared/config_default.php:

$config[SessionConstants::YVES_SESSION_COOKIE_SAMESITE] = 'None';

$config[KernelConstants::DOMAIN_WHITELIST] = array_merge(
$trustedHosts, [
    ...
    'demo-spryker.e-spirit.hosting', // content creator url
]);

Enable SSL in deploy.dev.yml:

docker:
    ssl:
        enabled: true
        redirect: true

Remove the deprecated plugin HeadersSecurityExtensionPlugin and add the replacement to src/Pyz/Yves/EventDispatcher:/EventDispatcherDependencyProvider.php:

/**
 * @return
 \Spryker\Shared\EventDispatcherExtension\Dependency\Plugin\EventDispatcherPluginInterface[]
 */
protected function getEventDispatcherPlugins(): array
{
    return [
        ...
        new FsCookieEventDispatcherPlugin(),
    ];
}

Adjust src/Pyz/Client/RabbitMq/RabbitMqConfig.php:

/**
  * @return array
  */
protected function getPublishQueueConfiguration(): array
{
    return [
        ...
        FirstSpiritCmsDataStorageConfig::PUBLISH_CMS_PAGE_DATA_CONNECTOR,
        FirstSpiritCmsDataStorageConfig::PUBLISH_CMS_BLOCK_DATA_CONNECTOR,
    ];
}

/**
  * @return array
  */
protected function getSynchronizationQueueConfiguration(): array
{
    return [
        ...
        FirstSpiritCmsDataStorageConfig::CMS_PAGE_DATA_CONNECTOR_SYNC_STORAGE_QUEUE,
        FirstSpiritCmsDataStorageConfig::CMS_BLOCK_DATA_CONNECTOR_SYNC_STORAGE_QUEUE,
    ];
}

Add {% import _self as component %} to embed atom('node') in src/Pyz/Yves/ShopUi/Theme/default/components/molecules/navigation-list/navigation-list.twig in order to fix the twig exception:

...
} only %}
    {% import _self as component %}
    {% block url %}
        <a class="{{ component.renderClass(config.name ~ '__link', modifiers) }} {{ data.node.cssClass }}" href="{{ data.node.url }}">{{ data.node.title }}</a>
    {% endblock %}
...

Add all cms related types to src/Pyz/Zed/DataImport/DataImportConfig.php:

public const IMPORT_TYPE_CMS_BLOCK_CATEGORY_POSITION = 'cms-block-category-position';
/**
  * @return string[]
  */
public function getFullImportTypes(): array
{
    $customImportTypes = [
        ...
        static::IMPORT_TYPE_CMS_PAGE,
        static::IMPORT_TYPE_CMS_BLOCK,
        static::IMPORT_TYPE_NAVIGATION,
    ];

    return array_merge(parent::getFullImportTypes(), $customImportTypes);
}

Disable append prefix to cms page URLs in src/Pyz/Zed/Cms/CmsConfig.php:

public function appendPrefixToCmsPageUrl(): bool
{
    return false;
}

Override backoffice table in src/Pyz/Zed/CmsSlotGui/Communication/CmsSlotGuiCommunicationFactory.php:

<?php
/**
  * Copyright © 2016-present Spryker Systems GmbH. All rights reserved.
  * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file.
  */

namespace Pyz\Zed\CmsSlotGui\Communication;

use Pyz\Zed\CmsSlotGui\Communication\Table\PyzSlotTable;
use Spryker\Zed\CmsSlotGui\Communication\Table\SlotTable;
use Spryker\Zed\CmsSlotGui\Communication\CmsSlotGuiCommunicationFactory as SprykerCmsSlotGuiCommunicationFactory;

class CmsSlotGuiCommunicationFactory extends SprykerCmsSlotGuiCommunicationFactory
{
    /**
     * @param int|null $idSlotTemplate
     *
     * @return \Spryker\Zed\CmsSlotGui\Communication\Table\SlotTable
     */
    public function createSlotListTable(?int $idSlotTemplate = null): SlotTable
    {
        return new PyzSlotTable(
            $this->getCmsSlotQuery(),
            $this->getTranslatorFacade(),
            $idSlotTemplate
        );
    }
}

Override backoffice table in src/Pyz/Zed/CmsSlotGui/Communication/Table/PyzSlotTable.php:

<?php

/**
  * Copyright © 2016-present Spryker Systems GmbH. All rights reserved.
  * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file.
  */

namespace Pyz\Zed\CmsSlotGui\Communication\Table;

use Spryker\Zed\CmsSlotGui\Communication\Table\SlotTable as SprykerSlotTable;

class PyzSlotTable extends SprykerSlotTable
{
    /**
      * @return bool
      */
    protected function isContentProviderColumnVisible(): bool
    {
        if ($this->contentProviderTypesNumber === null) {
            $this->contentProviderTypesNumber = (clone $this->cmsSlotQuery)
                ->select(static::COL_CONTENT_PROVIDER)
                ->distinct()
                ->count();
        }

        return $this->contentProviderTypesNumber > 1;
    }
}

Add a new console command to src/Pyz/Zed/Console/ConsoleDependencyProvider.php:

/**
* @param \Spryker\Zed\Kernel\Container $container
*
* @return \Symfony\Component\Console\Command\Command[]
*/
protected function getConsoleCommands(Container $container): array
{
    return [
        ...
        new DataImportConsole(DataImportConsole::DEFAULT_NAME . ':' . DataImportConfig::IMPORT_TYPE_CMS_BLOCK_CATEGORY_POSITION),
        new FsDataImportConsole(FsDataImportConsole::DEFAULT_NAME),
        new FsStoreDataImportConsole(FsStoreDataImportConsole::DEFAULT_NAME),
    ]
}

Adjust src/Pyz/Zed/DataImport/Business/DataImportBusinessFactory.php:

/*
 *
 * @param
 \Generated\Shared\Transfer\DataImportConfigurationActionTransfer
 $dataImportConfigurationActionTransfer
 *
 * @return
 \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|null
 */
 public function getDataImporterByType
 (DataImportConfigurationActionTransfer
 $dataImportConfigurationActionTransfer): ?DataImporterInterface
 {
    switch ($dataImportConfigurationActionTransfer->getDataEntity())
    {
        ...
        case DataImportConfig::IMPORT_TYPE_CMS_BLOCK_CATEGORY_POSITION:
            return $this->createCmsBlockCategoryPositionImporter($dataImportConfigurationActionTransfer);
            ...
    }
 }

/**
  * @param \Generated\Shared\Transfer\DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer
  *
  * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface
  */
  protected function createCmsBlockCategoryPositionImporter(DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer)
  {
    $dataImporter = $this->getCsvDataImporterFromConfig(
        $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer)
    );

    $dataSetStepBroker = $this->createTransactionAwareDataSetStepBroker(CmsBlockCategoryPositionWriterStep::BULK_SIZE);
    $dataSetStepBroker->addStep(new CmsBlockCategoryPositionWriterStep());    $dataImporter->addDataSetStepBroker($dataSetStepBroker);

    return $dataImporter;
  }

Add importer to installer files data/import/local/full_EU.yml and data/import/local/full_US.yml:

...
  - data_entity: cms-block-category-position
    source: data/import/common/common/cms_block_category_position.csv

Add a new import step for category positions to src/Pyz/Zed/DataImport/Business/Model/CmsBlockCategoryPosition:/CmsBlockCategoryPositionWriterStep.php:

<?php

/**
 * This file is part of the Spryker Commerce OS.
 * For full license information, please view the LICENSE file that was distributed with this source code.
 */

namespace Pyz\Zed\DataImport\Business\Model\CmsBlockCategoryPosition;

use Orm\Zed\CmsBlockCategoryConnector\Persistence\SpyCmsBlockCategoryPositionQuery;
use Spryker\Zed\DataImport\Business\Model\DataImportStep\DataImportStepInterface;
use Spryker\Zed\DataImport\Business\Model\DataImportStep\PublishAwareStep;
use Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface;

class CmsBlockCategoryPositionWriterStep extends PublishAwareStep implements DataImportStepInterface
{
    public const BULK_SIZE = 100;
    public const KEY_NAME = 'name';

    /**
     * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet
     *
     * @return void
     */
    public function execute(DataSetInterface $dataSet)
    {
        SpyCmsBlockCategoryPositionQuery::create()
            ->filterByName($dataSet[static::KEY_NAME])
            ->findOneOrCreate()
            ->save();
    }
}

Add the trigger plugin in src/Pyz/Zed/EventBehavior/EventBehaviorDependencyProvider.php:

/**
  * @return \Spryker\Zed\EventBehavior\Dependency\Plugin\EventResourcePluginInterface[]
  */
protected function getEventTriggerResourcePlugins()
{
    return [
        ...
        new FirstSpiritCmsDataEventResourceQueryContainerPlugin(),
        new FirstSpiritCmsBlockDataEventResourceQueryContainerPlugin(),
    ];
}

Add dispatcher plugin to GLUE application in src/Pyz/Zed/EventDispatcher/EventDispatcherDependencyProvider.php:

/**
  * @return \Spryker\Shared\EventDispatcherExtension\Dependency\Plugin\EventDispatcherPluginInterface[]
  */
protected function getBackendGatewayEventDispatcherPlugins(): array
{
    return [
        ...
        new EventBehaviorEventDispatcherPlugin(),
        // To enable trigger events from GLUE application
    ];
}

Adjust src/Pyz/Zed/Queue/QueueDependencyProvider.php:

/**
  * @param \Spryker\Zed\Kernel\Container $container
  *
  * @return \Spryker\Zed\Queue\Dependency\Plugin\QueueMessageProcessorPluginInterface[]
  */
protected function getProcessorMessagePlugins(Container $container): array
{
    return [
        ...
        FirstSpiritCmsDataStorageConfig::PUBLISH_CMS_PAGE_DATA_CONNECTOR => new EventQueueMessageProcessorPlugin(),
        FirstSpiritCmsDataStorageConfig::PUBLISH_CMS_BLOCK_DATA_CONNECTOR => new EventQueueMessageProcessorPlugin(),
        FirstSpiritCmsDataStorageConfig::CMS_PAGE_DATA_CONNECTOR_SYNC_STORAGE_QUEUE => new SynchronizationStorageQueueMessageProcessorPlugin(),
        FirstSpiritCmsDataStorageConfig::CMS_BLOCK_DATA_CONNECTOR_SYNC_STORAGE_QUEUE => new SynchronizationStorageQueueMessageProcessorPlugin(),
    ];
}

Adjust src/Pyz/Zed/Router/RouterConfig.php:

/**
  * @return array
  */
public function getControllerDirectories(): array
{
    ...
    // To enable gateway routing
    $controllerDirectories[] = sprintf('%s/e-spirit/*/src/*/Zed/*/Communication/Controller/', APPLICATION_VENDOR_DIR);

    return array_filter($controllerDirectories, 'glob');
}

Add sync plugin in src/Pyz/Zed/Synchronization/SynchronizationDependencyProvider.php:

/**
  * @return \Spryker\Zed\SynchronizationExtension\Dependency\Plugin\SynchronizationDataPluginInterface[]
  */
protected function getSynchronizationDataPlugins(): array
{
    return [
        ...
        new FirstSpiritCmsDataSynchronizationDataBulkPlugin(),
        new FirstSpiritCmsBlockDataSynchronizationDataBulkPlugin(),
    ];
}

Spryker Modules
Update the modules to version 3.0.0:

composer update "e-spirit/firstspirit-caas":"^3.0.0" "e-spirit/firstspirit-preview":"^3.0.0" "e-spirit/firstspirit-preview-navigation":"^3.0.0" "e-spirit/firstspirit-data-state-writer":"^3.0.0" "e-spirit/firstspirit-data-cleanup":"^3.0.0" "e-spirit/firstspirit-data-import":"^3.0.0" "e-spirit/firstspirit-data-inconsistency-check":"^3.0.0" "e-spirit/firstspirit-data-rest-api":"^3.0.0" "e-spirit/firstspirit-cms-data-connector":"^3.0.0" "e-spirit/firstspirit-cms-data-storage":"^3.0.0"

Run the database migration:

BEGIN;

SET FOREIGN_KEY_CHECKS = 0;

ALTER TABLE `fs_cms_page_data_connector` ADD `store` VARCHAR(255) NOT NULL AFTER `fs_identifier`;
CREATE UNIQUE INDEX `fs_cms_page_data_connector-unique-store-fs_identifier` ON `fs_cms_page_data_connector` (`store`, `fs_identifier`);
ALTER TABLE `fs_cms_page_data_storage` CHANGE `fk_fs_cms_page_data_connector` `fk_fs_cms_page_data_connector` BIGINT NOT NULL,  ADD `fk_cms_page` BIGINT NOT NULL AFTER `fk_fs_cms_page_data_connector`,  DROP `fs_identifier`;

SET FOREIGN_KEY_CHECKS = 1;

COMMIT;

Rebuild Propel models:

console propel:schema:copy
console propel:model:build
console transfer:entity:generate

Re-generate transfer objects:

console transfer:generate

Run fs:store:data:import migration command:

console fs:store:data:import

Truncate storage table:

truncate fs_cms_page_data_storage;

Add trigger event for cms_page_connector resource:

console publish:trigger-events -r cms_page_data_connector

New features

ID Description

FCSPRY-194

Update Spryker modules to 3.0.0

FCSPRY-193

Support for 202108.0 Spryker Demo Shop

Version 2.2.0

Highlights

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Spryker modules Version

firstspirit-caas

2.1.0 ⬆

firstspirit-cms-data-connector

2.1.0 ⬆

firstspirit-cms-data-storage

2.1.0 ⬆

firstspirit-data-cleanup

2.1.0 ⬆

firstspirit-data-import

2.1.0 ⬆

firstspirit-data-inconsistency-check

2.1.0 ⬆

firstspirit-data-rest-api

2.1.0 ⬆

firstspirit-data-state-writer

2.1.0 ⬆

firstspirit-preview

2.2.1 ⬆

firstspirit-reference-components

2.0.0

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Produkt Version

FirstSpirit-Server

2021-10 (5.2.211007)

Java

11

Content as a Service (fsm)

2.19.2

Omnichannel Manager

2.4.0

Basic Workflows

1.3.4.972

New features

ID Description

FCSPRY-129

This is an optional update, that does not contain any function change. The source code of the composer modules has been adapted to the changes in php version 7.3.

Version 2.1.1

Update Notice

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

2.0.0

Snap implementation fs-spryker-content-editing

2.0.0

Reference project

2.0.0 @ GitHub

Documentation

2.1.1 ⬆

Spryker modules Version

firstspirit-caas

2.0.0

firstspirit-cms-data-connector

2.0.0

firstspirit-cms-data-storage

2.0.0

firstspirit-data-cleanup

2.0.0

firstspirit-data-import

2.0.0

firstspirit-data-inconsistency-check

2.0.0

firstspirit-data-rest-api

2.0.0

firstspirit-data-state-writer

2.0.0

firstspirit-preview

2.1.0

firstspirit-preview-navigation

2.0.0

firstspirit-reference-components

2.0.0

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit server

2021-08 (5.2.210809)

Java

11

Content as a Service (FSM)

2.19.2

Omnichannel Manager

2.4.0 ⬆

Basic Workflows

1.3.4.972

Deprecations
The support for the following functions is deprecated:

Functionality Deprecated as of Support will end by

Support for Spryker Demoshop 201907 or older

Oktober 2020

October 2021

Support for Java 8

December 2020

February 2021

FCSPRY-152 - Check documentation for broken links
With this update, the documentation has been reviewed and incorrect references have been corrected. There are no code changes.

New features

ID Description

FCSPRY-152

Fix of broken links within the documentation

Version 2.1.0

Update Notice

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

2.0.0

Snap implementation fs-spryker-content-editing

2.0.0

Reference project

2.0.0 @ GitHub

Documentation

2.0.0

Spryker modules Version

firstspirit-caas

2.0.0

firstspirit-cms-data-connector

2.0.0

firstspirit-cms-data-storage

2.0.0

firstspirit-data-cleanup

2.0.0

firstspirit-data-import

2.0.0

firstspirit-data-inconsistency-check

2.0.0

firstspirit-data-rest-api

2.0.0

firstspirit-data-state-writer

2.0.0

firstspirit-preview

2.1.0 ⬆

firstspirit-preview-navigation

2.0.0

firstspirit-reference-components

2.0.0

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit server

2021-07 (5.2.210710)

Java

11

Content as a Service (FSM)

2.19.2 ⬆

Omnichannel Manager

2.3.5 ⬆

Basic Workflows

1.3.4.972

Deprecations
The support for the following functions is deprecated:

Functionality Deprecated as of Support will end by

Support for Spryker Demoshop 201907 or older

Oktober 2020

October 2021

Support for Java 8

December 2020

February 2021

FCSPRY-146 - Separate the navigation from the preview module
With this update, the firstpirit-preview-navigation functionality has been outsourced to its own module. There are no code changes except the module extraction, because of this, this is an optional update. If you do decide to update, the firstpirit-preview-navigation module is now required to maintain the navigation functionality.

New features

ID Description

FCSPRY-146

The navigation preview module has been extracted from the preview module.

Version 2.0.0

Highlights

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

2.0.0 ⬆

Snap-Implementierung fs-spryker-content-editing

2.0.0 ⬆

Referenzprojekt

2.0.0 @ GitHub

Dokumentation

2.0.0 ⬆

Spryker module Version

firstspirit-caas

2.0.0 ⬆

firstspirit-cms-data-connector

2.0.0 ⬆

firstspirit-cms-data-storage

2.0.0 ⬆

firstspirit-data-cleanup

2.0.0 ⬆

firstspirit-data-import

2.0.0 ⬆

firstspirit-data-inconsistency-check

2.0.0 ⬆

firstspirit-data-rest-api

2.0.0 ⬆

firstspirit-data-state-writer

2.0.0 ⬆

firstspirit-preview

2.0.0 ⬆

firstspirit-reference-components

2.0.0 ⬆

General information
For the full range of functions the ContentConnect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit-Server

2021-03 (5.2.210308)

Java

11

Content as a Service (fsm)

2.14.0

Omnichannel Manager

2.2.1

Basic Workflows

1.3.4.972

Deprecations
The support for the following functions is deprecated:

Dependencies Spryker and Composer

The foundation of the following package dependencies is the B2C Demo Shop 202009.0 @ Github, through which implicit dependencies may exist.

Composer-Paket Version

monolog/monolog

*

php

>=7.1

propel/propel

^2

spryker-shop/cms-block-widget

*

spryker-shop/cms-slot-block-widget

^1.1.0

spryker-shop/shop-application

^1.9.0

spryker/application

^3.8.0

spryker/application-extension

^1.0.0

spryker/category

^4.0.0

spryker/category-storage

^1.0.0

spryker/cms

^7.5.0

spryker/cms-block

^3

spryker/cms-block-category-connector

^2

spryker/cms-block-product-connector

^1.1.0

spryker/cms-block-storage

^2

spryker/cms-page-data-import

^1.0.0

spryker/cms-page-search

^2.3.1

spryker/config

^3.0.0

spryker/container

^1.4.0

spryker/customer

^7.16.0

spryker/data-import

^1.6.0

spryker/event

^2.1.0

spryker/event-behavior

^1.1.0

spryker/glue-application

^1.21.0

spryker/glue-application-extension

^1.2

spryker/kernel

^3.35.0

spryker/locale

^3.0.0

spryker/log

^3.0.0

spryker/navigation

^2

spryker/navigation-storage

^1.0.0

spryker/product

^6

spryker/product-storage

^1.2.0

spryker/propel

^3.0.0

spryker/propel-orm

^1.0.0

spryker/router

1.9.2 || 1.10.1 || ^1.11.1

spryker/silex

*

spryker/storage

^3.8.0

spryker/store

^1.5.0

spryker/symfony

^3.1.0

spryker/synchronization

^1.0.0

spryker/twig

^3.3.0

spryker/url

^3.0.0

spryker/util-text

^1.2.0

spryker/zed-request

^3.0.0

FCSPRY-46 - Variant selection button added to banner/carousel component
The variant button introduced with the teaser grid has been revised and made usable for all CMS_INPUT_RADIOBUTTON components used in the project. In addition to the teaser grid component, this implementation also includes the banner/carousel and the text-image section in the reference project.

FCSPRY-34 - Added slot support for the homepage
A new feature of the FirstSpirit Connect for Spryker Commerce OS integration is the support for the slots provided in Spryker. Now it is possible to map content areas of static pages to slots within Spryker. The restriction of using only one section per content area on static pages is now moot.

Fixed issues

ID Description

FCSPRY-113

Missing class prevented data import via console

FCSPRY-49

Name pattern in Spryker router prevented class loading

FCSPRY-11

Adaptation of the functionality for on the fly rendering of the CMS blocks

New features

ID Description

FCSPRY-123

Revision of the documentation for the web components

FCSPRY-114

Official version 2.0

FCSPRY-78

Changing the CaaS request page size parameter to a maximum value of 100

FCSPRY-71

Refactoring of the slot support to use a custom content provider type

FCSPRY-68

Addition of an optional functionality for the preview display

FCSPRY-65

Revision of the documentation

FCSPRY-64

Revision of the english documentation

FCSPRY-46

Variant selection button added to banner/carousel component

FCSPRY-44

Refactoring of the carousel and banner component

FCSPRY-43

Little changes within the documentation

FCSPRY-40

Documentation of slots in static pages

FCSPRY-39

Enable deletion of blocks in slots

FCSPRY-36

Adjustment of the import process for the current store version

FCSPRY-34

Added slot support for the homepage

FCSPRY-30

Renaming of the composer packages to e-spirit/ARTIFACTNAME

FCSPRY-28

Adaption of the documentation to version 2.0

FCSPRY-20

Revision of the navigation to ensure compatibility with the latest Spryker demo environment

FCSPRY-16

Compatibility established for content pages for new shop

FCSPRY-10

Category page editing enabled

FCSPRY-6

Ensured accessibility of the preview in the ContentCreator

FCSPRY-5

Updating the CMS blocks to the latest mayor version

FCSPRY-3

Revision of the FirstSpiritPreviewControllerProvider to a FirstSpiritPreviewRoutePlugin

Version 3.1.3

Update Notice

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

3.1.3 ⬆

Snap implementation firstspirit-spryker-content-editing

2.1.0

Reference project

2.0.0 @ GitHub

Documentation

3.1.0

Spryker modules Version

firstspirit-caas

3.1.0

firstspirit-cms-data-connector

3.0.0

firstspirit-cms-data-storage

3.0.0

firstspirit-data-cleanup

3.0.1

firstspirit-data-import

3.0.1

firstspirit-data-inconsistency-check

3.0.0

firstspirit-data-rest-api

3.0.0

firstspirit-data-state-writer

3.0.0

firstspirit-preview

3.0.0

firstspirit-preview-navigation

3.0.0

firstspirit-reference-components

3.0.0

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit server

2023.4 (5.2.230413)

Java

17

Content as a Service (FSM)

2.22.8 ⬆

Omnichannel Manager

2.4.7

Basic Workflows

1.3.4.972

New features

ID Description

FCSPRY-223

Updated unirest library.

Version 3.1.2

Update Notice

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

3.1.2 ⬆

Snap implementation firstspirit-spryker-content-editing

2.1.0

Reference project

2.0.0 @ GitHub

Documentation

3.1.0

Spryker modules Version

firstspirit-caas

3.1.0

firstspirit-cms-data-connector

3.0.0

firstspirit-cms-data-storage

3.0.0

firstspirit-data-cleanup

3.0.1

firstspirit-data-import

3.0.1

firstspirit-data-inconsistency-check

3.0.0

firstspirit-data-rest-api

3.0.0

firstspirit-data-state-writer

3.0.0

firstspirit-preview

3.0.0

firstspirit-preview-navigation

3.0.0

firstspirit-reference-components

3.0.0

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit server

2023.3 (5.2.230314)

Java

17

Content as a Service (FSM)

2.22.2

Omnichannel Manager

2.4.7

Basic Workflows

1.3.4.972

Fixed issues

ID Description

FCSPRY-221

Improved handling of configuration input

Version 3.1.1

Update Notice

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

3.1.0

Snap implementation firstspirit-spryker-content-editing

2.1.0

Reference project

2.0.0 @ GitHub

Documentation

3.1.0

Spryker modules Version

firstspirit-caas

3.1.0

firstspirit-cms-data-connector

3.0.0

firstspirit-cms-data-storage

3.0.0

firstspirit-data-cleanup

3.0.1 ⬆

firstspirit-data-import

3.0.1

firstspirit-data-inconsistency-check

3.0.0

firstspirit-data-rest-api

3.0.0

firstspirit-data-state-writer

3.0.0

firstspirit-preview

3.0.0

firstspirit-preview-navigation

3.0.0

firstspirit-reference-components

3.0.0

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit server

2023.2 (5.2.230212)

Java

17

Content as a Service (FSM)

2.21.12

Omnichannel Manager

2.4.6

Basic Workflows

1.3.4.972

FCSPRY-220 - Removed limit of 50 pages within the Clean Up

To update the e-spirit/firstspirit-data-cleanup module, the following command has to be executed:

composer update "e-spirit/firstspirit-data-cleanup":"^3.0.1"

Fixed issues

ID Description

FCSPRY-220

Removed limit of 50 pages within the Clean Up

Version 3.1.0

Update Notice

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

3.1.0 ⬆

Snap implementation firstspirit-spryker-content-editing

2.1.0

Reference project

2.0.0 @ GitHub

Documentation

3.1.0 ⬆

Spryker modules Version

firstspirit-caas

3.1.0 ⬆

firstspirit-cms-data-connector

3.0.0

firstspirit-cms-data-storage

3.0.0

firstspirit-data-cleanup

3.0.0

firstspirit-data-import

3.0.1

firstspirit-data-inconsistency-check

3.0.0

firstspirit-data-rest-api

3.0.0

firstspirit-data-state-writer

3.0.0

firstspirit-preview

3.0.0

firstspirit-preview-navigation

3.0.0

firstspirit-reference-components

3.0.0

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit server

2023.1 (5.2.230106)

Java

11

Content as a Service (FSM)

2.21.12

Omnichannel Manager

2.4.6

Basic Workflows

1.3.4.972

FCSPRY-215 - Changed CaaS authentication to new bearer format

To update the e-spirit/firstspirit-caas module, the following command has to be executed:

composer update "e-spirit/firstspirit-caas":"^3.1.0"

Requires CaaS v15.4.0.

New features

ID Description

FCSPRY-215

Changed CaaS authentication to new bearer format

FCSPRY-211

Added configuration fields for socket and connection timeouts to the project app

Version 3.0.1

Update Notice

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

2.0.1

Snap implementation firstspirit-spryker-content-editing

2.1.0

Reference project

2.0.0 @ GitHub

Documentation

3.0.0

Spryker modules Version

firstspirit-caas

3.0.0

firstspirit-cms-data-connector

3.0.0

firstspirit-cms-data-storage

3.0.0

firstspirit-data-cleanup

3.0.0

firstspirit-data-import

3.0.1 ⬆

firstspirit-data-inconsistency-check

3.0.0

firstspirit-data-rest-api

3.0.0

firstspirit-data-state-writer

3.0.0

firstspirit-preview

3.0.0

firstspirit-preview-navigation

3.0.0

firstspirit-reference-components

3.0.0

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit server

2022.11 (5.2.221111)

Java

11

Content as a Service (FSM)

2.21.8

Omnichannel Manager

2.4.4

Basic Workflows

1.3.4.972

FCSPRY-206 - Removed limit of 50 pages within the CaaS importer

To update the e-spirit/firstspirit-data-import module, the following command has to be executed:

composer update "e-spirit/firstspirit-data-import":"^3.0.1"

Fixed issues

ID Description

FCSPRY-206

Removed limit of 50 pages within the CaaS importer

Version 3.0.0

Update Notice

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

2.0.1 ⬆

Snap implementation firstspirit-spryker-content-editing

2.1.0 ⬆

Reference project

2.0.0 @ GitHub

Documentation

3.0.0 ⬆

Spryker modules Version

firstspirit-caas

3.0.0 ⬆

firstspirit-cms-data-connector

3.0.0 ⬆

firstspirit-cms-data-storage

3.0.0 ⬆

firstspirit-data-cleanup

3.0.0 ⬆

firstspirit-data-import

3.0.0 ⬆

firstspirit-data-inconsistency-check

3.0.0 ⬆

firstspirit-data-rest-api

3.0.0 ⬆

firstspirit-data-state-writer

3.0.0 ⬆

firstspirit-preview

3.0.0 ⬆

firstspirit-preview-navigation

3.0.0 ⬆

firstspirit-reference-components

3.0.0 ⬆

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit server

2021-08 (5.2.220907)

Java

11

Content as a Service (FSM)

2.21.4 ⬆

Omnichannel Manager

2.4.4 ⬆

Basic Workflows

1.3.4.972

FCSPRY-193 - Support for 202108.0 Spryker Demo Shop
With this update, Spryker modules are compatible with version 202108.0 of the Spryker Demo Shop.

Migration Guide
Manual adjustments are required for a successful migration. Please follow the instructions below.

Spryker B2C Demo Shop
Adjust store config files under config/Shared/config_default-docker.dev_AT.php:

$config[FirstSpiritCaaSConstants::FIRSTSPIRIT_CAAS_DATABASE_PREVIEW] = 'SprykerUpdateAT@preview';
$config[FirstSpiritCaaSConstants::FIRSTSPIRIT_CAAS_DATABASE_ONLINE] = 'SprykerUpdateAT';

$config[FirstSpiritDataImportConstants::FIRSTSPIRIT_DATA_IMPORT_URL_TEMPLATE] = '/{locale}/{store}/{url}';

Adjust config/Shared/config_default.php:

$config[SessionConstants::YVES_SESSION_COOKIE_SAMESITE] = 'None';

$config[KernelConstants::DOMAIN_WHITELIST] = array_merge(
$trustedHosts, [
    ...
    'demo-spryker.e-spirit.hosting', // content creator url
]);

Enable SSL in deploy.dev.yml:

docker:
    ssl:
        enabled: true
        redirect: true

Remove the deprecated plugin HeadersSecurityExtensionPlugin and add the replacement to src/Pyz/Yves/EventDispatcher:/EventDispatcherDependencyProvider.php:

/**
 * @return
 \Spryker\Shared\EventDispatcherExtension\Dependency\Plugin\EventDispatcherPluginInterface[]
 */
protected function getEventDispatcherPlugins(): array
{
    return [
        ...
        new FsCookieEventDispatcherPlugin(),
    ];
}

Adjust src/Pyz/Client/RabbitMq/RabbitMqConfig.php:

/**
  * @return array
  */
protected function getPublishQueueConfiguration(): array
{
    return [
        ...
        FirstSpiritCmsDataStorageConfig::PUBLISH_CMS_PAGE_DATA_CONNECTOR,
        FirstSpiritCmsDataStorageConfig::PUBLISH_CMS_BLOCK_DATA_CONNECTOR,
    ];
}

/**
  * @return array
  */
protected function getSynchronizationQueueConfiguration(): array
{
    return [
        ...
        FirstSpiritCmsDataStorageConfig::CMS_PAGE_DATA_CONNECTOR_SYNC_STORAGE_QUEUE,
        FirstSpiritCmsDataStorageConfig::CMS_BLOCK_DATA_CONNECTOR_SYNC_STORAGE_QUEUE,
    ];
}

Add {% import _self as component %} to embed atom('node') in src/Pyz/Yves/ShopUi/Theme/default/components/molecules/navigation-list/navigation-list.twig in order to fix the twig exception:

...
} only %}
    {% import _self as component %}
    {% block url %}
        <a class="{{ component.renderClass(config.name ~ '__link', modifiers) }} {{ data.node.cssClass }}" href="{{ data.node.url }}">{{ data.node.title }}</a>
    {% endblock %}
...

Add all cms related types to src/Pyz/Zed/DataImport/DataImportConfig.php:

public const IMPORT_TYPE_CMS_BLOCK_CATEGORY_POSITION = 'cms-block-category-position';
/**
  * @return string[]
  */
public function getFullImportTypes(): array
{
    $customImportTypes = [
        ...
        static::IMPORT_TYPE_CMS_PAGE,
        static::IMPORT_TYPE_CMS_BLOCK,
        static::IMPORT_TYPE_NAVIGATION,
    ];

    return array_merge(parent::getFullImportTypes(), $customImportTypes);
}

Disable append prefix to cms page URLs in src/Pyz/Zed/Cms/CmsConfig.php:

public function appendPrefixToCmsPageUrl(): bool
{
    return false;
}

Override backoffice table in src/Pyz/Zed/CmsSlotGui/Communication/CmsSlotGuiCommunicationFactory.php:

<?php
/**
  * Copyright © 2016-present Spryker Systems GmbH. All rights reserved.
  * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file.
  */

namespace Pyz\Zed\CmsSlotGui\Communication;

use Pyz\Zed\CmsSlotGui\Communication\Table\PyzSlotTable;
use Spryker\Zed\CmsSlotGui\Communication\Table\SlotTable;
use Spryker\Zed\CmsSlotGui\Communication\CmsSlotGuiCommunicationFactory as SprykerCmsSlotGuiCommunicationFactory;

class CmsSlotGuiCommunicationFactory extends SprykerCmsSlotGuiCommunicationFactory
{
    /**
     * @param int|null $idSlotTemplate
     *
     * @return \Spryker\Zed\CmsSlotGui\Communication\Table\SlotTable
     */
    public function createSlotListTable(?int $idSlotTemplate = null): SlotTable
    {
        return new PyzSlotTable(
            $this->getCmsSlotQuery(),
            $this->getTranslatorFacade(),
            $idSlotTemplate
        );
    }
}

Override backoffice table in src/Pyz/Zed/CmsSlotGui/Communication/Table/PyzSlotTable.php:

<?php

/**
  * Copyright © 2016-present Spryker Systems GmbH. All rights reserved.
  * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file.
  */

namespace Pyz\Zed\CmsSlotGui\Communication\Table;

use Spryker\Zed\CmsSlotGui\Communication\Table\SlotTable as SprykerSlotTable;

class PyzSlotTable extends SprykerSlotTable
{
    /**
      * @return bool
      */
    protected function isContentProviderColumnVisible(): bool
    {
        if ($this->contentProviderTypesNumber === null) {
            $this->contentProviderTypesNumber = (clone $this->cmsSlotQuery)
                ->select(static::COL_CONTENT_PROVIDER)
                ->distinct()
                ->count();
        }

        return $this->contentProviderTypesNumber > 1;
    }
}

Add a new console command to src/Pyz/Zed/Console/ConsoleDependencyProvider.php:

/**
* @param \Spryker\Zed\Kernel\Container $container
*
* @return \Symfony\Component\Console\Command\Command[]
*/
protected function getConsoleCommands(Container $container): array
{
    return [
        ...
        new DataImportConsole(DataImportConsole::DEFAULT_NAME . ':' . DataImportConfig::IMPORT_TYPE_CMS_BLOCK_CATEGORY_POSITION),
        new FsDataImportConsole(FsDataImportConsole::DEFAULT_NAME),
        new FsStoreDataImportConsole(FsStoreDataImportConsole::DEFAULT_NAME),
    ]
}

Adjust src/Pyz/Zed/DataImport/Business/DataImportBusinessFactory.php:

/*
 *
 * @param
 \Generated\Shared\Transfer\DataImportConfigurationActionTransfer
 $dataImportConfigurationActionTransfer
 *
 * @return
 \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|null
 */
 public function getDataImporterByType
 (DataImportConfigurationActionTransfer
 $dataImportConfigurationActionTransfer): ?DataImporterInterface
 {
    switch ($dataImportConfigurationActionTransfer->getDataEntity())
    {
        ...
        case DataImportConfig::IMPORT_TYPE_CMS_BLOCK_CATEGORY_POSITION:
            return $this->createCmsBlockCategoryPositionImporter($dataImportConfigurationActionTransfer);
            ...
    }
 }

/**
  * @param \Generated\Shared\Transfer\DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer
  *
  * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface
  */
  protected function createCmsBlockCategoryPositionImporter(DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer)
  {
    $dataImporter = $this->getCsvDataImporterFromConfig(
        $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer)
    );

    $dataSetStepBroker = $this->createTransactionAwareDataSetStepBroker(CmsBlockCategoryPositionWriterStep::BULK_SIZE);
    $dataSetStepBroker->addStep(new CmsBlockCategoryPositionWriterStep());    $dataImporter->addDataSetStepBroker($dataSetStepBroker);

    return $dataImporter;
  }

Add importer to installer files data/import/local/full_EU.yml and data/import/local/full_US.yml:

...
  - data_entity: cms-block-category-position
    source: data/import/common/common/cms_block_category_position.csv

Add a new import step for category positions to src/Pyz/Zed/DataImport/Business/Model/CmsBlockCategoryPosition:/CmsBlockCategoryPositionWriterStep.php:

<?php

/**
 * This file is part of the Spryker Commerce OS.
 * For full license information, please view the LICENSE file that was distributed with this source code.
 */

namespace Pyz\Zed\DataImport\Business\Model\CmsBlockCategoryPosition;

use Orm\Zed\CmsBlockCategoryConnector\Persistence\SpyCmsBlockCategoryPositionQuery;
use Spryker\Zed\DataImport\Business\Model\DataImportStep\DataImportStepInterface;
use Spryker\Zed\DataImport\Business\Model\DataImportStep\PublishAwareStep;
use Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface;

class CmsBlockCategoryPositionWriterStep extends PublishAwareStep implements DataImportStepInterface
{
    public const BULK_SIZE = 100;
    public const KEY_NAME = 'name';

    /**
     * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet
     *
     * @return void
     */
    public function execute(DataSetInterface $dataSet)
    {
        SpyCmsBlockCategoryPositionQuery::create()
            ->filterByName($dataSet[static::KEY_NAME])
            ->findOneOrCreate()
            ->save();
    }
}

Add the trigger plugin in src/Pyz/Zed/EventBehavior/EventBehaviorDependencyProvider.php:

/**
  * @return \Spryker\Zed\EventBehavior\Dependency\Plugin\EventResourcePluginInterface[]
  */
protected function getEventTriggerResourcePlugins()
{
    return [
        ...
        new FirstSpiritCmsDataEventResourceQueryContainerPlugin(),
        new FirstSpiritCmsBlockDataEventResourceQueryContainerPlugin(),
    ];
}

Add dispatcher plugin to GLUE application in src/Pyz/Zed/EventDispatcher/EventDispatcherDependencyProvider.php:

/**
  * @return \Spryker\Shared\EventDispatcherExtension\Dependency\Plugin\EventDispatcherPluginInterface[]
  */
protected function getBackendGatewayEventDispatcherPlugins(): array
{
    return [
        ...
        new EventBehaviorEventDispatcherPlugin(),
        // To enable trigger events from GLUE application
    ];
}

Adjust src/Pyz/Zed/Queue/QueueDependencyProvider.php:

/**
  * @param \Spryker\Zed\Kernel\Container $container
  *
  * @return \Spryker\Zed\Queue\Dependency\Plugin\QueueMessageProcessorPluginInterface[]
  */
protected function getProcessorMessagePlugins(Container $container): array
{
    return [
        ...
        FirstSpiritCmsDataStorageConfig::PUBLISH_CMS_PAGE_DATA_CONNECTOR => new EventQueueMessageProcessorPlugin(),
        FirstSpiritCmsDataStorageConfig::PUBLISH_CMS_BLOCK_DATA_CONNECTOR => new EventQueueMessageProcessorPlugin(),
        FirstSpiritCmsDataStorageConfig::CMS_PAGE_DATA_CONNECTOR_SYNC_STORAGE_QUEUE => new SynchronizationStorageQueueMessageProcessorPlugin(),
        FirstSpiritCmsDataStorageConfig::CMS_BLOCK_DATA_CONNECTOR_SYNC_STORAGE_QUEUE => new SynchronizationStorageQueueMessageProcessorPlugin(),
    ];
}

Adjust src/Pyz/Zed/Router/RouterConfig.php:

/**
  * @return array
  */
public function getControllerDirectories(): array
{
    ...
    // To enable gateway routing
    $controllerDirectories[] = sprintf('%s/e-spirit/*/src/*/Zed/*/Communication/Controller/', APPLICATION_VENDOR_DIR);

    return array_filter($controllerDirectories, 'glob');
}

Add sync plugin in src/Pyz/Zed/Synchronization/SynchronizationDependencyProvider.php:

/**
  * @return \Spryker\Zed\SynchronizationExtension\Dependency\Plugin\SynchronizationDataPluginInterface[]
  */
protected function getSynchronizationDataPlugins(): array
{
    return [
        ...
        new FirstSpiritCmsDataSynchronizationDataBulkPlugin(),
        new FirstSpiritCmsBlockDataSynchronizationDataBulkPlugin(),
    ];
}

Spryker Modules
Update the modules to version 3.0.0:

composer update "e-spirit/firstspirit-caas":"^3.0.0" "e-spirit/firstspirit-preview":"^3.0.0" "e-spirit/firstspirit-preview-navigation":"^3.0.0" "e-spirit/firstspirit-data-state-writer":"^3.0.0" "e-spirit/firstspirit-data-cleanup":"^3.0.0" "e-spirit/firstspirit-data-import":"^3.0.0" "e-spirit/firstspirit-data-inconsistency-check":"^3.0.0" "e-spirit/firstspirit-data-rest-api":"^3.0.0" "e-spirit/firstspirit-cms-data-connector":"^3.0.0" "e-spirit/firstspirit-cms-data-storage":"^3.0.0"

Run the database migration:

BEGIN;

SET FOREIGN_KEY_CHECKS = 0;

ALTER TABLE `fs_cms_page_data_connector` ADD `store` VARCHAR(255) NOT NULL AFTER `fs_identifier`;
CREATE UNIQUE INDEX `fs_cms_page_data_connector-unique-store-fs_identifier` ON `fs_cms_page_data_connector` (`store`, `fs_identifier`);
ALTER TABLE `fs_cms_page_data_storage` CHANGE `fk_fs_cms_page_data_connector` `fk_fs_cms_page_data_connector` BIGINT NOT NULL,  ADD `fk_cms_page` BIGINT NOT NULL AFTER `fk_fs_cms_page_data_connector`,  DROP `fs_identifier`;

SET FOREIGN_KEY_CHECKS = 1;

COMMIT;

Rebuild Propel models:

console propel:schema:copy
console propel:model:build
console transfer:entity:generate

Re-generate transfer objects:

console transfer:generate

Run fs:store:data:import migration command:

console fs:store:data:import

Truncate storage table:

truncate fs_cms_page_data_storage;

Add trigger event for cms_page_connector resource:

console publish:trigger-events -r cms_page_data_connector

New features

ID Description

FCSPRY-194

Update Spryker modules to 3.0.0

FCSPRY-193

Support for 202108.0 Spryker Demo Shop

Version 2.2.0

Highlights

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Spryker modules Version

firstspirit-caas

2.1.0 ⬆

firstspirit-cms-data-connector

2.1.0 ⬆

firstspirit-cms-data-storage

2.1.0 ⬆

firstspirit-data-cleanup

2.1.0 ⬆

firstspirit-data-import

2.1.0 ⬆

firstspirit-data-inconsistency-check

2.1.0 ⬆

firstspirit-data-rest-api

2.1.0 ⬆

firstspirit-data-state-writer

2.1.0 ⬆

firstspirit-preview

2.2.1 ⬆

firstspirit-reference-components

2.0.0

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Produkt Version

FirstSpirit-Server

2021-10 (5.2.211007)

Java

11

Content as a Service (fsm)

2.19.2

Omnichannel Manager

2.4.0

Basic Workflows

1.3.4.972

New features

ID Description

FCSPRY-129

This is an optional update, that does not contain any function change. The source code of the composer modules has been adapted to the changes in php version 7.3.

Version 2.1.1

Update Notice

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

2.0.0

Snap implementation fs-spryker-content-editing

2.0.0

Reference project

2.0.0 @ GitHub

Documentation

2.1.1 ⬆

Spryker modules Version

firstspirit-caas

2.0.0

firstspirit-cms-data-connector

2.0.0

firstspirit-cms-data-storage

2.0.0

firstspirit-data-cleanup

2.0.0

firstspirit-data-import

2.0.0

firstspirit-data-inconsistency-check

2.0.0

firstspirit-data-rest-api

2.0.0

firstspirit-data-state-writer

2.0.0

firstspirit-preview

2.1.0

firstspirit-preview-navigation

2.0.0

firstspirit-reference-components

2.0.0

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit server

2021-08 (5.2.210809)

Java

11

Content as a Service (FSM)

2.19.2

Omnichannel Manager

2.4.0 ⬆

Basic Workflows

1.3.4.972

Deprecations
The support for the following functions is deprecated:

Functionality Deprecated as of Support will end by

Support for Spryker Demoshop 201907 or older

Oktober 2020

October 2021

Support for Java 8

December 2020

February 2021

FCSPRY-152 - Check documentation for broken links
With this update, the documentation has been reviewed and incorrect references have been corrected. There are no code changes.

New features

ID Description

FCSPRY-152

Fix of broken links within the documentation

Version 2.1.0

Update Notice

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

2.0.0

Snap implementation fs-spryker-content-editing

2.0.0

Reference project

2.0.0 @ GitHub

Documentation

2.0.0

Spryker modules Version

firstspirit-caas

2.0.0

firstspirit-cms-data-connector

2.0.0

firstspirit-cms-data-storage

2.0.0

firstspirit-data-cleanup

2.0.0

firstspirit-data-import

2.0.0

firstspirit-data-inconsistency-check

2.0.0

firstspirit-data-rest-api

2.0.0

firstspirit-data-state-writer

2.0.0

firstspirit-preview

2.1.0 ⬆

firstspirit-preview-navigation

2.0.0

firstspirit-reference-components

2.0.0

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit server

2021-07 (5.2.210710)

Java

11

Content as a Service (FSM)

2.19.2 ⬆

Omnichannel Manager

2.3.5 ⬆

Basic Workflows

1.3.4.972

Deprecations
The support for the following functions is deprecated:

Functionality Deprecated as of Support will end by

Support for Spryker Demoshop 201907 or older

Oktober 2020

October 2021

Support for Java 8

December 2020

February 2021

FCSPRY-146 - Separate the navigation from the preview module
With this update, the firstpirit-preview-navigation functionality has been outsourced to its own module. There are no code changes except the module extraction, because of this, this is an optional update. If you do decide to update, the firstpirit-preview-navigation module is now required to maintain the navigation functionality.

New features

ID Description

FCSPRY-146

The navigation preview module has been extracted from the preview module.

Version 2.0.0

Highlights

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

2.0.0 ⬆

Snap-Implementierung fs-spryker-content-editing

2.0.0 ⬆

Referenzprojekt

2.0.0 @ GitHub

Dokumentation

2.0.0 ⬆

Spryker module Version

firstspirit-caas

2.0.0 ⬆

firstspirit-cms-data-connector

2.0.0 ⬆

firstspirit-cms-data-storage

2.0.0 ⬆

firstspirit-data-cleanup

2.0.0 ⬆

firstspirit-data-import

2.0.0 ⬆

firstspirit-data-inconsistency-check

2.0.0 ⬆

firstspirit-data-rest-api

2.0.0 ⬆

firstspirit-data-state-writer

2.0.0 ⬆

firstspirit-preview

2.0.0 ⬆

firstspirit-reference-components

2.0.0 ⬆

General information
For the full range of functions the ContentConnect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit-Server

2021-03 (5.2.210308)

Java

11

Content as a Service (fsm)

2.14.0

Omnichannel Manager

2.2.1

Basic Workflows

1.3.4.972

Deprecations
The support for the following functions is deprecated:

Dependencies Spryker and Composer

The foundation of the following package dependencies is the B2C Demo Shop 202009.0 @ Github, through which implicit dependencies may exist.

Composer-Paket Version

monolog/monolog

*

php

>=7.1

propel/propel

^2

spryker-shop/cms-block-widget

*

spryker-shop/cms-slot-block-widget

^1.1.0

spryker-shop/shop-application

^1.9.0

spryker/application

^3.8.0

spryker/application-extension

^1.0.0

spryker/category

^4.0.0

spryker/category-storage

^1.0.0

spryker/cms

^7.5.0

spryker/cms-block

^3

spryker/cms-block-category-connector

^2

spryker/cms-block-product-connector

^1.1.0

spryker/cms-block-storage

^2

spryker/cms-page-data-import

^1.0.0

spryker/cms-page-search

^2.3.1

spryker/config

^3.0.0

spryker/container

^1.4.0

spryker/customer

^7.16.0

spryker/data-import

^1.6.0

spryker/event

^2.1.0

spryker/event-behavior

^1.1.0

spryker/glue-application

^1.21.0

spryker/glue-application-extension

^1.2

spryker/kernel

^3.35.0

spryker/locale

^3.0.0

spryker/log

^3.0.0

spryker/navigation

^2

spryker/navigation-storage

^1.0.0

spryker/product

^6

spryker/product-storage

^1.2.0

spryker/propel

^3.0.0

spryker/propel-orm

^1.0.0

spryker/router

1.9.2 || 1.10.1 || ^1.11.1

spryker/silex

*

spryker/storage

^3.8.0

spryker/store

^1.5.0

spryker/symfony

^3.1.0

spryker/synchronization

^1.0.0

spryker/twig

^3.3.0

spryker/url

^3.0.0

spryker/util-text

^1.2.0

spryker/zed-request

^3.0.0

FCSPRY-46 - Variant selection button added to banner/carousel component
The variant button introduced with the teaser grid has been revised and made usable for all CMS_INPUT_RADIOBUTTON components used in the project. In addition to the teaser grid component, this implementation also includes the banner/carousel and the text-image section in the reference project.

FCSPRY-34 - Added slot support for the homepage
A new feature of the FirstSpirit Connect for Spryker Commerce OS integration is the support for the slots provided in Spryker. Now it is possible to map content areas of static pages to slots within Spryker. The restriction of using only one section per content area on static pages is now moot.

Fixed issues

ID Description

FCSPRY-113

Missing class prevented data import via console

FCSPRY-49

Name pattern in Spryker router prevented class loading

FCSPRY-11

Adaptation of the functionality for on the fly rendering of the CMS blocks

New features

ID Description

FCSPRY-123

Revision of the documentation for the web components

FCSPRY-114

Official version 2.0

FCSPRY-78

Changing the CaaS request page size parameter to a maximum value of 100

FCSPRY-71

Refactoring of the slot support to use a custom content provider type

FCSPRY-68

Addition of an optional functionality for the preview display

FCSPRY-65

Revision of the documentation

FCSPRY-64

Revision of the english documentation

FCSPRY-46

Variant selection button added to banner/carousel component

FCSPRY-44

Refactoring of the carousel and banner component

FCSPRY-43

Little changes within the documentation

FCSPRY-40

Documentation of slots in static pages

FCSPRY-39

Enable deletion of blocks in slots

FCSPRY-36

Adjustment of the import process for the current store version

FCSPRY-34

Added slot support for the homepage

FCSPRY-30

Renaming of the composer packages to e-spirit/ARTIFACTNAME

FCSPRY-28

Adaption of the documentation to version 2.0

FCSPRY-20

Revision of the navigation to ensure compatibility with the latest Spryker demo environment

FCSPRY-16

Compatibility established for content pages for new shop

FCSPRY-10

Category page editing enabled

FCSPRY-6

Ensured accessibility of the preview in the ContentCreator

FCSPRY-5

Updating the CMS blocks to the latest mayor version

FCSPRY-3

Revision of the FirstSpiritPreviewControllerProvider to a FirstSpiritPreviewRoutePlugin

Version 3.1.3

Update Notice

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

3.1.3 ⬆

Snap implementation firstspirit-spryker-content-editing

2.1.0

Reference project

2.0.0 @ GitHub

Documentation

3.1.0

Spryker modules Version

firstspirit-caas

3.1.0

firstspirit-cms-data-connector

3.0.0

firstspirit-cms-data-storage

3.0.0

firstspirit-data-cleanup

3.0.1

firstspirit-data-import

3.0.1

firstspirit-data-inconsistency-check

3.0.0

firstspirit-data-rest-api

3.0.0

firstspirit-data-state-writer

3.0.0

firstspirit-preview

3.0.0

firstspirit-preview-navigation

3.0.0

firstspirit-reference-components

3.0.0

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit server

2023.4 (5.2.230413)

Java

17

Content as a Service (FSM)

2.22.8 ⬆

Omnichannel Manager

2.4.7

Basic Workflows

1.3.4.972

New features

ID Description

FCSPRY-223

Updated unirest library.

Version 3.1.2

Update Notice

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

3.1.2 ⬆

Snap implementation firstspirit-spryker-content-editing

2.1.0

Reference project

2.0.0 @ GitHub

Documentation

3.1.0

Spryker modules Version

firstspirit-caas

3.1.0

firstspirit-cms-data-connector

3.0.0

firstspirit-cms-data-storage

3.0.0

firstspirit-data-cleanup

3.0.1

firstspirit-data-import

3.0.1

firstspirit-data-inconsistency-check

3.0.0

firstspirit-data-rest-api

3.0.0

firstspirit-data-state-writer

3.0.0

firstspirit-preview

3.0.0

firstspirit-preview-navigation

3.0.0

firstspirit-reference-components

3.0.0

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit server

2023.3 (5.2.230314)

Java

17

Content as a Service (FSM)

2.22.2

Omnichannel Manager

2.4.7

Basic Workflows

1.3.4.972

Fixed issues

ID Description

FCSPRY-221

Improved handling of configuration input

Version 3.1.1

Update Notice

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

3.1.0

Snap implementation firstspirit-spryker-content-editing

2.1.0

Reference project

2.0.0 @ GitHub

Documentation

3.1.0

Spryker modules Version

firstspirit-caas

3.1.0

firstspirit-cms-data-connector

3.0.0

firstspirit-cms-data-storage

3.0.0

firstspirit-data-cleanup

3.0.1 ⬆

firstspirit-data-import

3.0.1

firstspirit-data-inconsistency-check

3.0.0

firstspirit-data-rest-api

3.0.0

firstspirit-data-state-writer

3.0.0

firstspirit-preview

3.0.0

firstspirit-preview-navigation

3.0.0

firstspirit-reference-components

3.0.0

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit server

2023.2 (5.2.230212)

Java

17

Content as a Service (FSM)

2.21.12

Omnichannel Manager

2.4.6

Basic Workflows

1.3.4.972

FCSPRY-220 - Removed limit of 50 pages within the Clean Up

To update the e-spirit/firstspirit-data-cleanup module, the following command has to be executed:

composer update "e-spirit/firstspirit-data-cleanup":"^3.0.1"

Fixed issues

ID Description

FCSPRY-220

Removed limit of 50 pages within the Clean Up

Version 3.1.0

Update Notice

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

3.1.0 ⬆

Snap implementation firstspirit-spryker-content-editing

2.1.0

Reference project

2.0.0 @ GitHub

Documentation

3.1.0 ⬆

Spryker modules Version

firstspirit-caas

3.1.0 ⬆

firstspirit-cms-data-connector

3.0.0

firstspirit-cms-data-storage

3.0.0

firstspirit-data-cleanup

3.0.0

firstspirit-data-import

3.0.1

firstspirit-data-inconsistency-check

3.0.0

firstspirit-data-rest-api

3.0.0

firstspirit-data-state-writer

3.0.0

firstspirit-preview

3.0.0

firstspirit-preview-navigation

3.0.0

firstspirit-reference-components

3.0.0

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit server

2023.1 (5.2.230106)

Java

11

Content as a Service (FSM)

2.21.12

Omnichannel Manager

2.4.6

Basic Workflows

1.3.4.972

FCSPRY-215 - Changed CaaS authentication to new bearer format

To update the e-spirit/firstspirit-caas module, the following command has to be executed:

composer update "e-spirit/firstspirit-caas":"^3.1.0"

Requires CaaS v15.4.0.

New features

ID Description

FCSPRY-215

Changed CaaS authentication to new bearer format

FCSPRY-211

Added configuration fields for socket and connection timeouts to the project app

Version 3.0.1

Update Notice

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

2.0.1

Snap implementation firstspirit-spryker-content-editing

2.1.0

Reference project

2.0.0 @ GitHub

Documentation

3.0.0

Spryker modules Version

firstspirit-caas

3.0.0

firstspirit-cms-data-connector

3.0.0

firstspirit-cms-data-storage

3.0.0

firstspirit-data-cleanup

3.0.0

firstspirit-data-import

3.0.1 ⬆

firstspirit-data-inconsistency-check

3.0.0

firstspirit-data-rest-api

3.0.0

firstspirit-data-state-writer

3.0.0

firstspirit-preview

3.0.0

firstspirit-preview-navigation

3.0.0

firstspirit-reference-components

3.0.0

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit server

2022.11 (5.2.221111)

Java

11

Content as a Service (FSM)

2.21.8

Omnichannel Manager

2.4.4

Basic Workflows

1.3.4.972

FCSPRY-206 - Removed limit of 50 pages within the CaaS importer

To update the e-spirit/firstspirit-data-import module, the following command has to be executed:

composer update "e-spirit/firstspirit-data-import":"^3.0.1"

Fixed issues

ID Description

FCSPRY-206

Removed limit of 50 pages within the CaaS importer

Version 3.0.0

Update Notice

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

2.0.1 ⬆

Snap implementation firstspirit-spryker-content-editing

2.1.0 ⬆

Reference project

2.0.0 @ GitHub

Documentation

3.0.0 ⬆

Spryker modules Version

firstspirit-caas

3.0.0 ⬆

firstspirit-cms-data-connector

3.0.0 ⬆

firstspirit-cms-data-storage

3.0.0 ⬆

firstspirit-data-cleanup

3.0.0 ⬆

firstspirit-data-import

3.0.0 ⬆

firstspirit-data-inconsistency-check

3.0.0 ⬆

firstspirit-data-rest-api

3.0.0 ⬆

firstspirit-data-state-writer

3.0.0 ⬆

firstspirit-preview

3.0.0 ⬆

firstspirit-preview-navigation

3.0.0 ⬆

firstspirit-reference-components

3.0.0 ⬆

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit server

2021-08 (5.2.220907)

Java

11

Content as a Service (FSM)

2.21.4 ⬆

Omnichannel Manager

2.4.4 ⬆

Basic Workflows

1.3.4.972

FCSPRY-193 - Support for 202108.0 Spryker Demo Shop
With this update, Spryker modules are compatible with version 202108.0 of the Spryker Demo Shop.

Migration Guide
Manual adjustments are required for a successful migration. Please follow the instructions below.

Spryker B2C Demo Shop
Adjust store config files under config/Shared/config_default-docker.dev_AT.php:

$config[FirstSpiritCaaSConstants::FIRSTSPIRIT_CAAS_DATABASE_PREVIEW] = 'SprykerUpdateAT@preview';
$config[FirstSpiritCaaSConstants::FIRSTSPIRIT_CAAS_DATABASE_ONLINE] = 'SprykerUpdateAT';

$config[FirstSpiritDataImportConstants::FIRSTSPIRIT_DATA_IMPORT_URL_TEMPLATE] = '/{locale}/{store}/{url}';

Adjust config/Shared/config_default.php:

$config[SessionConstants::YVES_SESSION_COOKIE_SAMESITE] = 'None';

$config[KernelConstants::DOMAIN_WHITELIST] = array_merge(
$trustedHosts, [
    ...
    'demo-spryker.e-spirit.hosting', // content creator url
]);

Enable SSL in deploy.dev.yml:

docker:
    ssl:
        enabled: true
        redirect: true

Remove the deprecated plugin HeadersSecurityExtensionPlugin and add the replacement to src/Pyz/Yves/EventDispatcher:/EventDispatcherDependencyProvider.php:

/**
 * @return
 \Spryker\Shared\EventDispatcherExtension\Dependency\Plugin\EventDispatcherPluginInterface[]
 */
protected function getEventDispatcherPlugins(): array
{
    return [
        ...
        new FsCookieEventDispatcherPlugin(),
    ];
}

Adjust src/Pyz/Client/RabbitMq/RabbitMqConfig.php:

/**
  * @return array
  */
protected function getPublishQueueConfiguration(): array
{
    return [
        ...
        FirstSpiritCmsDataStorageConfig::PUBLISH_CMS_PAGE_DATA_CONNECTOR,
        FirstSpiritCmsDataStorageConfig::PUBLISH_CMS_BLOCK_DATA_CONNECTOR,
    ];
}

/**
  * @return array
  */
protected function getSynchronizationQueueConfiguration(): array
{
    return [
        ...
        FirstSpiritCmsDataStorageConfig::CMS_PAGE_DATA_CONNECTOR_SYNC_STORAGE_QUEUE,
        FirstSpiritCmsDataStorageConfig::CMS_BLOCK_DATA_CONNECTOR_SYNC_STORAGE_QUEUE,
    ];
}

Add {% import _self as component %} to embed atom('node') in src/Pyz/Yves/ShopUi/Theme/default/components/molecules/navigation-list/navigation-list.twig in order to fix the twig exception:

...
} only %}
    {% import _self as component %}
    {% block url %}
        <a class="{{ component.renderClass(config.name ~ '__link', modifiers) }} {{ data.node.cssClass }}" href="{{ data.node.url }}">{{ data.node.title }}</a>
    {% endblock %}
...

Add all cms related types to src/Pyz/Zed/DataImport/DataImportConfig.php:

public const IMPORT_TYPE_CMS_BLOCK_CATEGORY_POSITION = 'cms-block-category-position';
/**
  * @return string[]
  */
public function getFullImportTypes(): array
{
    $customImportTypes = [
        ...
        static::IMPORT_TYPE_CMS_PAGE,
        static::IMPORT_TYPE_CMS_BLOCK,
        static::IMPORT_TYPE_NAVIGATION,
    ];

    return array_merge(parent::getFullImportTypes(), $customImportTypes);
}

Disable append prefix to cms page URLs in src/Pyz/Zed/Cms/CmsConfig.php:

public function appendPrefixToCmsPageUrl(): bool
{
    return false;
}

Override backoffice table in src/Pyz/Zed/CmsSlotGui/Communication/CmsSlotGuiCommunicationFactory.php:

<?php
/**
  * Copyright © 2016-present Spryker Systems GmbH. All rights reserved.
  * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file.
  */

namespace Pyz\Zed\CmsSlotGui\Communication;

use Pyz\Zed\CmsSlotGui\Communication\Table\PyzSlotTable;
use Spryker\Zed\CmsSlotGui\Communication\Table\SlotTable;
use Spryker\Zed\CmsSlotGui\Communication\CmsSlotGuiCommunicationFactory as SprykerCmsSlotGuiCommunicationFactory;

class CmsSlotGuiCommunicationFactory extends SprykerCmsSlotGuiCommunicationFactory
{
    /**
     * @param int|null $idSlotTemplate
     *
     * @return \Spryker\Zed\CmsSlotGui\Communication\Table\SlotTable
     */
    public function createSlotListTable(?int $idSlotTemplate = null): SlotTable
    {
        return new PyzSlotTable(
            $this->getCmsSlotQuery(),
            $this->getTranslatorFacade(),
            $idSlotTemplate
        );
    }
}

Override backoffice table in src/Pyz/Zed/CmsSlotGui/Communication/Table/PyzSlotTable.php:

<?php

/**
  * Copyright © 2016-present Spryker Systems GmbH. All rights reserved.
  * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file.
  */

namespace Pyz\Zed\CmsSlotGui\Communication\Table;

use Spryker\Zed\CmsSlotGui\Communication\Table\SlotTable as SprykerSlotTable;

class PyzSlotTable extends SprykerSlotTable
{
    /**
      * @return bool
      */
    protected function isContentProviderColumnVisible(): bool
    {
        if ($this->contentProviderTypesNumber === null) {
            $this->contentProviderTypesNumber = (clone $this->cmsSlotQuery)
                ->select(static::COL_CONTENT_PROVIDER)
                ->distinct()
                ->count();
        }

        return $this->contentProviderTypesNumber > 1;
    }
}

Add a new console command to src/Pyz/Zed/Console/ConsoleDependencyProvider.php:

/**
* @param \Spryker\Zed\Kernel\Container $container
*
* @return \Symfony\Component\Console\Command\Command[]
*/
protected function getConsoleCommands(Container $container): array
{
    return [
        ...
        new DataImportConsole(DataImportConsole::DEFAULT_NAME . ':' . DataImportConfig::IMPORT_TYPE_CMS_BLOCK_CATEGORY_POSITION),
        new FsDataImportConsole(FsDataImportConsole::DEFAULT_NAME),
        new FsStoreDataImportConsole(FsStoreDataImportConsole::DEFAULT_NAME),
    ]
}

Adjust src/Pyz/Zed/DataImport/Business/DataImportBusinessFactory.php:

/*
 *
 * @param
 \Generated\Shared\Transfer\DataImportConfigurationActionTransfer
 $dataImportConfigurationActionTransfer
 *
 * @return
 \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|null
 */
 public function getDataImporterByType
 (DataImportConfigurationActionTransfer
 $dataImportConfigurationActionTransfer): ?DataImporterInterface
 {
    switch ($dataImportConfigurationActionTransfer->getDataEntity())
    {
        ...
        case DataImportConfig::IMPORT_TYPE_CMS_BLOCK_CATEGORY_POSITION:
            return $this->createCmsBlockCategoryPositionImporter($dataImportConfigurationActionTransfer);
            ...
    }
 }

/**
  * @param \Generated\Shared\Transfer\DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer
  *
  * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface|\Spryker\Zed\DataImport\Business\Model\DataSet\DataSetStepBrokerAwareInterface
  */
  protected function createCmsBlockCategoryPositionImporter(DataImportConfigurationActionTransfer $dataImportConfigurationActionTransfer)
  {
    $dataImporter = $this->getCsvDataImporterFromConfig(
        $this->getConfig()->buildImporterConfigurationByDataImportConfigAction($dataImportConfigurationActionTransfer)
    );

    $dataSetStepBroker = $this->createTransactionAwareDataSetStepBroker(CmsBlockCategoryPositionWriterStep::BULK_SIZE);
    $dataSetStepBroker->addStep(new CmsBlockCategoryPositionWriterStep());    $dataImporter->addDataSetStepBroker($dataSetStepBroker);

    return $dataImporter;
  }

Add importer to installer files data/import/local/full_EU.yml and data/import/local/full_US.yml:

...
  - data_entity: cms-block-category-position
    source: data/import/common/common/cms_block_category_position.csv

Add a new import step for category positions to src/Pyz/Zed/DataImport/Business/Model/CmsBlockCategoryPosition:/CmsBlockCategoryPositionWriterStep.php:

<?php

/**
 * This file is part of the Spryker Commerce OS.
 * For full license information, please view the LICENSE file that was distributed with this source code.
 */

namespace Pyz\Zed\DataImport\Business\Model\CmsBlockCategoryPosition;

use Orm\Zed\CmsBlockCategoryConnector\Persistence\SpyCmsBlockCategoryPositionQuery;
use Spryker\Zed\DataImport\Business\Model\DataImportStep\DataImportStepInterface;
use Spryker\Zed\DataImport\Business\Model\DataImportStep\PublishAwareStep;
use Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface;

class CmsBlockCategoryPositionWriterStep extends PublishAwareStep implements DataImportStepInterface
{
    public const BULK_SIZE = 100;
    public const KEY_NAME = 'name';

    /**
     * @param \Spryker\Zed\DataImport\Business\Model\DataSet\DataSetInterface $dataSet
     *
     * @return void
     */
    public function execute(DataSetInterface $dataSet)
    {
        SpyCmsBlockCategoryPositionQuery::create()
            ->filterByName($dataSet[static::KEY_NAME])
            ->findOneOrCreate()
            ->save();
    }
}

Add the trigger plugin in src/Pyz/Zed/EventBehavior/EventBehaviorDependencyProvider.php:

/**
  * @return \Spryker\Zed\EventBehavior\Dependency\Plugin\EventResourcePluginInterface[]
  */
protected function getEventTriggerResourcePlugins()
{
    return [
        ...
        new FirstSpiritCmsDataEventResourceQueryContainerPlugin(),
        new FirstSpiritCmsBlockDataEventResourceQueryContainerPlugin(),
    ];
}

Add dispatcher plugin to GLUE application in src/Pyz/Zed/EventDispatcher/EventDispatcherDependencyProvider.php:

/**
  * @return \Spryker\Shared\EventDispatcherExtension\Dependency\Plugin\EventDispatcherPluginInterface[]
  */
protected function getBackendGatewayEventDispatcherPlugins(): array
{
    return [
        ...
        new EventBehaviorEventDispatcherPlugin(),
        // To enable trigger events from GLUE application
    ];
}

Adjust src/Pyz/Zed/Queue/QueueDependencyProvider.php:

/**
  * @param \Spryker\Zed\Kernel\Container $container
  *
  * @return \Spryker\Zed\Queue\Dependency\Plugin\QueueMessageProcessorPluginInterface[]
  */
protected function getProcessorMessagePlugins(Container $container): array
{
    return [
        ...
        FirstSpiritCmsDataStorageConfig::PUBLISH_CMS_PAGE_DATA_CONNECTOR => new EventQueueMessageProcessorPlugin(),
        FirstSpiritCmsDataStorageConfig::PUBLISH_CMS_BLOCK_DATA_CONNECTOR => new EventQueueMessageProcessorPlugin(),
        FirstSpiritCmsDataStorageConfig::CMS_PAGE_DATA_CONNECTOR_SYNC_STORAGE_QUEUE => new SynchronizationStorageQueueMessageProcessorPlugin(),
        FirstSpiritCmsDataStorageConfig::CMS_BLOCK_DATA_CONNECTOR_SYNC_STORAGE_QUEUE => new SynchronizationStorageQueueMessageProcessorPlugin(),
    ];
}

Adjust src/Pyz/Zed/Router/RouterConfig.php:

/**
  * @return array
  */
public function getControllerDirectories(): array
{
    ...
    // To enable gateway routing
    $controllerDirectories[] = sprintf('%s/e-spirit/*/src/*/Zed/*/Communication/Controller/', APPLICATION_VENDOR_DIR);

    return array_filter($controllerDirectories, 'glob');
}

Add sync plugin in src/Pyz/Zed/Synchronization/SynchronizationDependencyProvider.php:

/**
  * @return \Spryker\Zed\SynchronizationExtension\Dependency\Plugin\SynchronizationDataPluginInterface[]
  */
protected function getSynchronizationDataPlugins(): array
{
    return [
        ...
        new FirstSpiritCmsDataSynchronizationDataBulkPlugin(),
        new FirstSpiritCmsBlockDataSynchronizationDataBulkPlugin(),
    ];
}

Spryker Modules
Update the modules to version 3.0.0:

composer update "e-spirit/firstspirit-caas":"^3.0.0" "e-spirit/firstspirit-preview":"^3.0.0" "e-spirit/firstspirit-preview-navigation":"^3.0.0" "e-spirit/firstspirit-data-state-writer":"^3.0.0" "e-spirit/firstspirit-data-cleanup":"^3.0.0" "e-spirit/firstspirit-data-import":"^3.0.0" "e-spirit/firstspirit-data-inconsistency-check":"^3.0.0" "e-spirit/firstspirit-data-rest-api":"^3.0.0" "e-spirit/firstspirit-cms-data-connector":"^3.0.0" "e-spirit/firstspirit-cms-data-storage":"^3.0.0"

Run the database migration:

BEGIN;

SET FOREIGN_KEY_CHECKS = 0;

ALTER TABLE `fs_cms_page_data_connector` ADD `store` VARCHAR(255) NOT NULL AFTER `fs_identifier`;
CREATE UNIQUE INDEX `fs_cms_page_data_connector-unique-store-fs_identifier` ON `fs_cms_page_data_connector` (`store`, `fs_identifier`);
ALTER TABLE `fs_cms_page_data_storage` CHANGE `fk_fs_cms_page_data_connector` `fk_fs_cms_page_data_connector` BIGINT NOT NULL,  ADD `fk_cms_page` BIGINT NOT NULL AFTER `fk_fs_cms_page_data_connector`,  DROP `fs_identifier`;

SET FOREIGN_KEY_CHECKS = 1;

COMMIT;

Rebuild Propel models:

console propel:schema:copy
console propel:model:build
console transfer:entity:generate

Re-generate transfer objects:

console transfer:generate

Run fs:store:data:import migration command:

console fs:store:data:import

Truncate storage table:

truncate fs_cms_page_data_storage;

Add trigger event for cms_page_connector resource:

console publish:trigger-events -r cms_page_data_connector

New features

ID Description

FCSPRY-194

Update Spryker modules to 3.0.0

FCSPRY-193

Support for 202108.0 Spryker Demo Shop

Version 2.2.0

Highlights

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Spryker modules Version

firstspirit-caas

2.1.0 ⬆

firstspirit-cms-data-connector

2.1.0 ⬆

firstspirit-cms-data-storage

2.1.0 ⬆

firstspirit-data-cleanup

2.1.0 ⬆

firstspirit-data-import

2.1.0 ⬆

firstspirit-data-inconsistency-check

2.1.0 ⬆

firstspirit-data-rest-api

2.1.0 ⬆

firstspirit-data-state-writer

2.1.0 ⬆

firstspirit-preview

2.2.1 ⬆

firstspirit-reference-components

2.0.0

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Produkt Version

FirstSpirit-Server

2021-10 (5.2.211007)

Java

11

Content as a Service (fsm)

2.19.2

Omnichannel Manager

2.4.0

Basic Workflows

1.3.4.972

New features

ID Description

FCSPRY-129

This is an optional update, that does not contain any function change. The source code of the composer modules has been adapted to the changes in php version 7.3.

Version 2.1.1

Update Notice

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

2.0.0

Snap implementation fs-spryker-content-editing

2.0.0

Reference project

2.0.0 @ GitHub

Documentation

2.1.1 ⬆

Spryker modules Version

firstspirit-caas

2.0.0

firstspirit-cms-data-connector

2.0.0

firstspirit-cms-data-storage

2.0.0

firstspirit-data-cleanup

2.0.0

firstspirit-data-import

2.0.0

firstspirit-data-inconsistency-check

2.0.0

firstspirit-data-rest-api

2.0.0

firstspirit-data-state-writer

2.0.0

firstspirit-preview

2.1.0

firstspirit-preview-navigation

2.0.0

firstspirit-reference-components

2.0.0

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit server

2021-08 (5.2.210809)

Java

11

Content as a Service (FSM)

2.19.2

Omnichannel Manager

2.4.0 ⬆

Basic Workflows

1.3.4.972

Deprecations
The support for the following functions is deprecated:

Functionality Deprecated as of Support will end by

Support for Spryker Demoshop 201907 or older

Oktober 2020

October 2021

Support for Java 8

December 2020

February 2021

FCSPRY-152 - Check documentation for broken links
With this update, the documentation has been reviewed and incorrect references have been corrected. There are no code changes.

New features

ID Description

FCSPRY-152

Fix of broken links within the documentation

Version 2.1.0

Update Notice

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

2.0.0

Snap implementation fs-spryker-content-editing

2.0.0

Reference project

2.0.0 @ GitHub

Documentation

2.0.0

Spryker modules Version

firstspirit-caas

2.0.0

firstspirit-cms-data-connector

2.0.0

firstspirit-cms-data-storage

2.0.0

firstspirit-data-cleanup

2.0.0

firstspirit-data-import

2.0.0

firstspirit-data-inconsistency-check

2.0.0

firstspirit-data-rest-api

2.0.0

firstspirit-data-state-writer

2.0.0

firstspirit-preview

2.1.0 ⬆

firstspirit-preview-navigation

2.0.0

firstspirit-reference-components

2.0.0

General information
For the full range of functions the FirstSpirit Connect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit server

2021-07 (5.2.210710)

Java

11

Content as a Service (FSM)

2.19.2 ⬆

Omnichannel Manager

2.3.5 ⬆

Basic Workflows

1.3.4.972

Deprecations
The support for the following functions is deprecated:

Functionality Deprecated as of Support will end by

Support for Spryker Demoshop 201907 or older

Oktober 2020

October 2021

Support for Java 8

December 2020

February 2021

FCSPRY-146 - Separate the navigation from the preview module
With this update, the firstpirit-preview-navigation functionality has been outsourced to its own module. There are no code changes except the module extraction, because of this, this is an optional update. If you do decide to update, the firstpirit-preview-navigation module is now required to maintain the navigation functionality.

New features

ID Description

FCSPRY-146

The navigation preview module has been extracted from the preview module.

Version 2.0.0

Highlights

The FirstSpirit Connect for Spryker Commerce OS integration is made up by a bundle of software components. The table below lists these components and points out which versions the integration contains.

Components
This release contains the following components and Spryker modules.
Versions marked with an arrow (⬆) changed since the last release.

Components Version

FirstSpirit Connect for Spryker Commerce OS (fsm)

2.0.0 ⬆

Snap-Implementierung fs-spryker-content-editing

2.0.0 ⬆

Referenzprojekt

2.0.0 @ GitHub

Dokumentation

2.0.0 ⬆

Spryker module Version

firstspirit-caas

2.0.0 ⬆

firstspirit-cms-data-connector

2.0.0 ⬆

firstspirit-cms-data-storage

2.0.0 ⬆

firstspirit-data-cleanup

2.0.0 ⬆

firstspirit-data-import

2.0.0 ⬆

firstspirit-data-inconsistency-check

2.0.0 ⬆

firstspirit-data-rest-api

2.0.0 ⬆

firstspirit-data-state-writer

2.0.0 ⬆

firstspirit-preview

2.0.0 ⬆

firstspirit-reference-components

2.0.0 ⬆

General information
For the full range of functions the ContentConnect for Spryker Commerce OS integration requires the following modules to be installed on the FirstSpirit server:

  • Content as a Service

  • Omnichannel Manager

  • Basic Workflows

For this release the operation of the following versions is recommended:

Product Version

FirstSpirit-Server

2021-03 (5.2.210308)

Java

11

Content as a Service (fsm)

2.14.0

Omnichannel Manager

2.2.1

Basic Workflows

1.3.4.972

Deprecations
The support for the following functions is deprecated:

Dependencies Spryker and Composer

The foundation of the following package dependencies is the B2C Demo Shop 202009.0 @ Github, through which implicit dependencies may exist.

Composer-Paket Version

monolog/monolog

*

php

>=7.1

propel/propel

^2

spryker-shop/cms-block-widget

*

spryker-shop/cms-slot-block-widget

^1.1.0

spryker-shop/shop-application

^1.9.0

spryker/application

^3.8.0

spryker/application-extension

^1.0.0

spryker/category

^4.0.0

spryker/category-storage

^1.0.0

spryker/cms

^7.5.0

spryker/cms-block

^3

spryker/cms-block-category-connector

^2

spryker/cms-block-product-connector

^1.1.0

spryker/cms-block-storage

^2

spryker/cms-page-data-import

^1.0.0

spryker/cms-page-search

^2.3.1

spryker/config

^3.0.0

spryker/container

^1.4.0

spryker/customer

^7.16.0

spryker/data-import

^1.6.0

spryker/event

^2.1.0

spryker/event-behavior

^1.1.0

spryker/glue-application

^1.21.0

spryker/glue-application-extension

^1.2

spryker/kernel

^3.35.0

spryker/locale

^3.0.0

spryker/log

^3.0.0

spryker/navigation

^2

spryker/navigation-storage

^1.0.0

spryker/product

^6

spryker/product-storage

^1.2.0

spryker/propel

^3.0.0

spryker/propel-orm

^1.0.0

spryker/router

1.9.2 || 1.10.1 || ^1.11.1

spryker/silex

*

spryker/storage

^3.8.0

spryker/store

^1.5.0

spryker/symfony

^3.1.0

spryker/synchronization

^1.0.0

spryker/twig

^3.3.0

spryker/url

^3.0.0

spryker/util-text

^1.2.0

spryker/zed-request

^3.0.0

FCSPRY-46 - Variant selection button added to banner/carousel component
The variant button introduced with the teaser grid has been revised and made usable for all CMS_INPUT_RADIOBUTTON components used in the project. In addition to the teaser grid component, this implementation also includes the banner/carousel and the text-image section in the reference project.

FCSPRY-34 - Added slot support for the homepage
A new feature of the FirstSpirit Connect for Spryker Commerce OS integration is the support for the slots provided in Spryker. Now it is possible to map content areas of static pages to slots within Spryker. The restriction of using only one section per content area on static pages is now moot.

Fixed issues

ID Description

FCSPRY-113

Missing class prevented data import via console

FCSPRY-49

Name pattern in Spryker router prevented class loading

FCSPRY-11

Adaptation of the functionality for on the fly rendering of the CMS blocks

New features

ID Description

FCSPRY-123

Revision of the documentation for the web components

FCSPRY-114

Official version 2.0

FCSPRY-78

Changing the CaaS request page size parameter to a maximum value of 100

FCSPRY-71

Refactoring of the slot support to use a custom content provider type

FCSPRY-68

Addition of an optional functionality for the preview display

FCSPRY-65

Revision of the documentation

FCSPRY-64

Revision of the english documentation

FCSPRY-46

Variant selection button added to banner/carousel component

FCSPRY-44

Refactoring of the carousel and banner component

FCSPRY-43

Little changes within the documentation

FCSPRY-40

Documentation of slots in static pages

FCSPRY-39

Enable deletion of blocks in slots

FCSPRY-36

Adjustment of the import process for the current store version

FCSPRY-34

Added slot support for the homepage

FCSPRY-30

Renaming of the composer packages to e-spirit/ARTIFACTNAME

FCSPRY-28

Adaption of the documentation to version 2.0

FCSPRY-20

Revision of the navigation to ensure compatibility with the latest Spryker demo environment

FCSPRY-16

Compatibility established for content pages for new shop

FCSPRY-10

Category page editing enabled

FCSPRY-6

Ensured accessibility of the preview in the ContentCreator

FCSPRY-5

Updating the CMS blocks to the latest mayor version

FCSPRY-3

Revision of the FirstSpiritPreviewControllerProvider to a FirstSpiritPreviewRoutePlugin

31. Help

The Technical Support of the Crownpeak Technology GmbH provides expert technical support covering any topic related to the FirstSpirit™ product. You can get and find more help concerning relevant topics in our community.

32. Disclaimer

This document is provided for information purposes only. Crownpeak Technology GmbH may change the contents hereof without notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. Crownpeak Technology GmbH specifically disclaims any liability with respect to this document and no contractual obligations are formed either directly or indirectly by this document. The technologies, functionality, services, and processes described herein are subject to change without notice.