Guidelines
10-Sep-2025 • 3R0846 • What is a Product Context? How to Introduce Product Context? By Using ProductContextDirective By Providing ProductContextFacade By Providing SelectedProductContextFacade Retrieving Data from the Product Context Inject ProductContextFacade Use ProductContextAccessDirective Linking Embedded Contexts Customizing
Guidelines
20-May-2025 • 3H0845 • Syntax Examples One Domain, One Channel, Multiple Locales Multiple Domains, Multiple Channels, Multiple Locales Multiple Subdomains, Multiple Channels, Multiple Locales Extended Example with Many Different Configurations Extended Example with Two Domains, One with Basic Auth (Except /fr), the Other
Guidelines
12-Sep-2025 • 30844H • Building Configuration HTTPS or SSL Basic Auth Multi-Site Ignore Parameters During Caching Access ICM Sitemap Override Identity Providers by Path Add Additional Headers Content Security Policy Other Features Cache Cache Clearing Shared Redis Cache Cache Timing Clearing the Redis Cache Redis for Development
Concepts
28-Mar-2025 • G30843 • Intershop Commerce Management (ICM) PWA - Server-Side Rendering (SSR) PWA - Nginx Browser Default Production Deployment Deployment Without Nginx Hiding the ICM Backend Stateless vs. Stateful Building Blocks Further References Intershop Commerce Management (ICM) The Intershop Commerce Management (ICM)
Concepts
28-Mar-2025 • 30842K • Different Levels of Testing Unit Module Integration End-to-End Test File Locations Deviation from Standard Angular Test Frameworks PageObject Pattern Handling Test Data Different Levels of Testing Testing the PWA follows the basic principle of the test pyramid (https://martinfowler.com/bliki/TestPyramid
Guidelines
28-Mar-2025 • 30Q841 • Declare Components in the Right NgModule Do not use NgRx or Services in Components Delegate Complex Component Logic to Services Put as Little Logic Into constructor as Possible - Use ngOnInit Use Property Binding to Bind Dynamic Values to Attributes or Properties Pattern for Conditions (ngIf) with Alternative
Guidelines
08-Oct-2025 • 3084Z0 • Building Building Multiple Themes Running Development Local ICM Cache Heap Dumps Creation Analysis Further References Building To simply build the Intershop PWA in server-side rendering mode, you can use the package.json script npm run build , which builds the Intershop PWA with the production configuration
Guidelines
24-Jul-2025 • 3Y0839 • Quick Start Step 1 - Clone the Project Step 2 - Install the Dependencies Step 3 - Start the Intershop PWA Customization Deployment Running Tests Code Style Type Safety Pre-Commit Check Code Scaffolding Further Help Quick Start Before working with this project, download and install Node.js with the included
Concepts
28-Mar-2025 • 3083S8 • File Name Conventions General Folder Structure Extension Folder Structure Modules Extending Modules File Name Conventions In accordance with the Angular Style Guide and the Angular CLI convention of naming generated elements in the file system, all file and folder names should use a hyphenated, lowercase
Guidelines
27-Jun-2025 • 308A37 • Introduction Workflow Check the Accessibility of a Page ESLint Rules Partially Automated Testing Google Lighthouse Silktide - Accessibility Checker WAVE - Web Accessibility Evaluation Tool IBM - Equal Access Accessibility Checker Manual Testing Keyboard Screen Reader Further References Introduction
Guidelines
28-Mar-2025 • 30836K • File and Naming Conventions Reusable Form Components Page Specific Form Components Data Models Services Extensions Form Behavior General Rules Usage of Formly, Template Driven and Reactive Forms Validators Keep Templates Simple The Intershop PWA has switched to using formly to define and build forms
Concepts
16-Sep-2025 • 3R0834 • Introduction Angular CMS Components Navigation Components Account Content Pages View Contexts Design View Integration with an External CMS Introduction The Intershop REST API contains resources reflecting the aspects of Intershop's integrated Content Management System (CMS), i.e. Pagelets, Includes
Concepts
28-Mar-2025 • 30A835 • Introduction Library angular-oauth2-oidc Implementation and Configuration of Identity Providers PWA Initialization Login, Registration, Token Refreshment, Logout Vanishing of the apiToken Cookie Further References Introduction Several ICM REST operations require an authenticated user. Authentication
Guidelines
28-Mar-2025 • B30833 • NGINX Optimizations NGINX Optimizations Custom Webpack Build PurgeCSS Safelisting Development Further References The NGINX building block applies: Compression of responses ngx_brotli is used to compress files on NGINX because Brotli has a better compression ratio compared to gzip. The configuration of
Concepts
28-Mar-2025 • H30832 • Server Side Rendering robots.txt Page Metadata Optimized URLs This concept documents our approach for search engine optimization for the Intershop Progressive Web App. Server Side Rendering The PWA uses Universal for pre-rendering complete pages to tackle SEO concerns. An Angular application without
Guidelines
28-Mar-2025 • 3Z0831 • Code Integrity Dependencies Code Formatting Unit Testing UI Testing Universal Testing Static Code Analysis This section provides an overview of required continuous integration steps to verify the validity of code contributions. All mentioned tools provide feedback on success or failure via exit code
Guidelines
28-Mar-2025 • 308E30 • JSDoc Tags Document Only When Needed! The JSDoc comment format is used for general information. Examples for the comment styling pattern can be found here: TypeDoc - DocComments. Use this format to describe components, modules, etc., but also methods, inputs, variables and so on. Example for General
Guidelines
28-Mar-2025 • 30X829 • Configuring ESLint Custom ESLint Rules The PWA uses ESLint for static code analysis and to enforce best practices. In order to use ESLint with Angular, we use the typescript-eslint and angular-eslint packages extensively. The PWA's ruleset is configured in .eslintrc.json and includes base rulesets to
Guidelines
28-Mar-2025 • 308C28 • Configuration Login Registration Token Lifetime Logout This document describes the authentication mechanism if punchout is used as identity provider. If you need an introduction to this topic, read the Authentication Concept first. Configuration The PWA must be configured in a specific way to use punchout
Guidelines
28-Mar-2025 • T30827 • When to Write Cypress Tests? Rules for Developing Cypress Tests Always Stick to Small Scope Pay Respect to Individuality Do not Reinvent the Wheel Stick to the PageObject Pattern Debugging Flaky Cypress Tests Further References When to Write Cypress Tests? With Angular most of the functionality of simple