spartacussampledataaddon AddOn creates new WCMS base sites for Spartacus that share the same product catalog with the default
powertools sites, but with content catalogs that have been modified specifically for Spartacus requirements.
The following diagram demonstrates how the
Electronics-Spa base site is created. The process is similar for all sample stores.
To download and install the
spartacussampledataaddon AddOn, see Installing SAP Commerce Cloud for use with Spartacus
. The impex file paths in this document are to the
spartacussampledataaddon AddOn that has been installed with SAP Commerce Cloud.
spartacussampledataaddon AddOn does the following:
Creates new base sites called
powertools-spa, if these sample stores are configured in your
extensions.xml. See the
site.impexfile for each base site in the
resources/spartacussampledataaddon/import/storesfolder for details.
Creates a new
catalogVersions(Staged and Online). See the
catalog.impexfile for each base site in the
resources/spartacussampledataaddon/import/contentCatalogs/folder for details.
CatalogVersionSyncJobthat can sync
[samplestore]-spaContentCatalog:staged. See the
sync.impexfile for each base site in the
resources/spartacussampledataaddon/import/contentCatalogsfolder for details.
spartacussampledataaddon AddOn includes the
SpaSampleAddOnSampleDataImportService, which extends
DefaultAddonSampleDataImportService. It overrides the default
importContentCatalog function, so that during system initialization or system update, the
importContentCatalog function does the following:
- creates a new catalog
- performs some cleaning
- imports the content catalog from impex
- gives permission to the
cmsmanagerto do the synchronization
- imports email data
CMS Changes Specific to the Spartacus Project
[samplestore]ContentCatalog:Staged is synchronized to
[samplestore]-spaContentCatalog:Staged, the initial data is the same in both content catalogs. But, to make Spartacus work better, the
-spa versions contain different CMS data. Changes are made on the
[samplestore]-spaContentCatalog, which are described in the following sections.
Removing Unused Pages, Content Slots and CMS Components
Spartacus does not contain all of the pages that are found in Accelerator. The unused pages, content slots, and CMS components are removed from the
[samplestore]-spaContentCatalog. You can check the
cleaning.impex file for each base site in the
resources/spartacussampledataaddon/import/contentCatalogs/electronicsContentCatalog folder to see what is removed.
Replacing the JspIncludeComponent with the CMSFlexComponent
JspIncludeComponent allows you to include JSP code when you provide the path of the JSP file that then gets inserted. It does not make sense to have this type of component in the Spartacus Angular-based application. A new type of component, called
CMSFlexComponent, was added to SAP Commerce 1905, which allows you to get selectors, and also includes code from our libraries in the Content Slot.
Note: For backwards compatibility, Spartacus supports the
Adding Data into the
CmsSiteContext enum was created in SAP Commerce 1905. It is a dynamic enumeration that contains the available site context. Spartacus has two site contexts: language and currency. The following is an example from
INSERT_UPDATE CmsSiteContext;code[unique=true];name[lang=$language] ;LANGUAGE;"language" ;CURRENCY;"currency"
Replacing the Homepage Preview Image
The Spartacus homepage looks different from the legacy Accelerator storefront, so the preview image has been updated accordingly.
Adding a SiteContext Slot with New Components to Each Template
SiteContext slot has been added to the header in every template in Spartacus, and two new components, the
CurrencyComponent, have been added into this
SiteContext slot. The following is an example from
INSERT_UPDATE CMSSiteContextComponent;$contentCV[unique=true];uid[unique=true];name;context(code);&componentRef ;;LanguageComponent;Site Languages;LANGUAGE;LanguageComponent ;;CurrencyComponent;Site Currencies;CURRENCY;CurrencyComponent INSERT_UPDATE ContentSlot;$contentCV[unique=true];uid[unique=true];name;active;cmsComponents(uid,$contentCV) ;;SiteContextSlot;Site Context Slot;true;LanguageComponent,CurrencyComponent
CMSSiteContextComponent is a new type of component that was created in SAP Commerce 1905.
Updating the MiniCartSlot
MiniCartSlot in the
electronicsContentCatalog contains two components: the
OrderComponent and the
MiniCart. In Spartacus, the
OrderComponent is not used anymore, so it was removed from the
MiniCartSlot. The following image shows the
MiniCart component in the
Adding CMSlink Components to a New SiteLinks Slot
The Spartacus header now contains
SaleLink CMSlink components, which have been added to a new
SiteLinks slot. Because this slot has been added in the header, the new
SiteLinks slot has been added to every template. The following image shows the newly added CMSlink components:
Creating New CMS Pages
The following new CMS pages have been created with the
spartacussampledataaddon AddOn also creates the necessary content slots and CMS components that are contained in these new pages.
Adding More Content to the “Not Found” Page
Along with a banner image, the “Not Found” page now also includes links and text, as shown in the following image:
Adding a SignOutLink in My Account
In the default content catalogs, the
MyAccountNavNode does not have a child node for
SignOut. To fix this in Spartacus, the
spartacussampledataaddon AddOn adds a
SignOutNavNode as a child of the
MyAccountNavNode, and adds a
SignOutLink to the
Updating the Breadcrumb in Spartacus
In the default content catalogs, the
breadcrumbComponent is located in the
spartacussampledataaddon AddOn moves this component from the
NavigationBarSlot to the
BottomHeaderSlot, and the
BottomHeaderSlot is also added to every template. However, to avoid having a breadcrumb for the
BottomHeaderSlot is removed from the
Updating Page Labels to Start with a Forward Slash
In Spartacus, page labels are used as the configurable URL for content pages, so these page labels need to start with a
/ forward slash. The following is an example of the update that the
spartacussampledataaddon AddOn makes to every content page:
UPDATE ContentPage;$contentCV[unique=true];uid[unique=true];label ;;login;/login
Adjusting the Searchbox Component Configuration
spartacussampledataaddon AddOn adjusts the searchbox component configuration as follows:
INSERT_UPDATE SearchBoxComponent;uid;minCharactersBeforeRequest;maxProducts;maxSuggestions;waitTimeBeforeRequest;$contentCV[unique=true] ;SearchBox;0;5;5;0
Making CMS Changes Related to Checkout
spartacussampledataaddon AddOn makes a number of CMS changes that are related to checkout. For more information, see Extending Checkout.
Making the Product Details Page CMS-Driven
spartacussampledataaddon AddOn makes the
ProductDetails template CMS-driven by adding another
ProductSummarySlot slot, which contains the following CMS components: