← All docs
Rexel · Overlay Lifecycle

Overlay Program · Process Definition

Overlay Lifecycle

Two mechanics run underneath every stage: code promotion (how a change physically reaches an environment) and feature exposure (whether that change is switched on for anyone). They are independent, and that separation is what makes the whole process work.

Manual PO sign-off gate Automated coverage only
BUILD tickets merged QA automated tests UAT · SWEDEN PO manual sign-off UAT · ALL auto tests + NRT PROD · SWEDEN PO manual sign-off PROD · OTHERS automated coverage MATURE cleanup ticket tickets merged (see Build) sprint-end release or cherry-pick Sweden UAT passed auto + NRT green on all Sweden prod passed stable across all banners

Activation logic

Core rule: a user only sees the new overlay when both configs are on. An overlay being deployed and an overlay being visible are two different facts: the Angular side has its own config for whether it renders the new modal instead of the old one, and Hybris has its own config for whether it dispatches the trigger event at all.

HYBRIS CONFIG → ANGULAR CONFIG → OFF ON OFF ON old modal (if any) nothing renders new code not shown old modal trigger never fires NEW OVERLAY what a user sees

Build & ticket model

Ticket split: four ticket types cover an overlay end to end, because analysis, the two codebases, and cleanup are each a separate piece of work:

TypeTicketsWhy
Hybris 1 — business-rules analysis Documents what the legacy overlay actually enforces today, before any code is written, so the Angular build replicates the real rules instead of guessing at them.
Angular 2 — implementation, then integration Building the new overlay and wiring it into a given page are treated as separate pieces of work.
Hybris 1 — trigger / config, only if Hybris-triggered Removing the old trigger and dispatching the new event is the same code change, not two. Skipped when the overlay is triggered from a page already on Angular (PDP, PLP, Joblist, Configurators) rather than one still served by Hybris (Cart, Checkout, Homepage, transversal concerns like session timeout).
Cleanup 1 — retires the legacy path Filed once the overlay is fully validated and stable everywhere (see Maturity & cleanup); removes the legacy modal and the config.

This defines what ticket types exist and why — not which tickets exist for which overlay today. That's tracked operationally on the Spring Overlay Coverage page.

Testing process

How an overlay is tested and signed off end to end, from Build through QA, UAT and Production, broken out by who's holding the ticket at each step.

Gate formal sign-off Task Coordination Activation (feature exposure) Optional
BUILD QA UAT PRODUCTION Dev Angular Dev Hybris QA automation PO Countries Implement the overlay Deploy on Storybook Deploy to QA env Assign tickets to QA Deploy to UAT Assign ticket to PO Tell Dev Hybris to activate config Deploy to production Wire trigger & config Assign tickets to QA Activate configuration for requested banners Activate configuration for requested banners Assign ticket to QA Activate configuration for requested banners Validate ticket in QA Signs off all banners on QA Run automated tests on every banner Signs off all banners on UAT Run NRT Sign off lead country If validated assign to QA Sanity check Can test live before activation

End-to-end on QA. Both the Angular and Hybris overrides described in Activation logic need to be exercised together so the overlay can be tested end to end on QA — making sure both are in place is QA automation's job.

Production

Handoff into prod. Once the automated suite passes on every UAT banner, QA automation reassigns the ticket back to the developer who built it, and they release it to prod. Once it's live, the PO runs a sanity check and QA automation runs NRT.

Rollout order: same Sweden-first shape as UAT, then the rest of the banners follow under two production-specific constraints:

Country testing at activation is FYI, not a gate. Before an overlay is activated for a given banner in prod, that country can test it live if they want — using the same URL-parameter override, without touching the shared config — but there's no required approval step. Overlays needing country-specific input (content, wording, local nuance) get that during discovery instead, not as an activation gate.

Rollback is symmetric with rollout. Because the config is just an environment variable, turning it back off is just as instant as turning it on — a bug or blocking issue in production reverts to the old modal immediately, with no code change and no deploy.

Maturity & cleanup

Cleanup trigger: once an overlay is fully validated and stable across every banner, the config goes away entirely. The config exists to let old and new coexist safely in the meantime, which means the code carries both versions behind a conditional indefinitely by default. A cleanup ticket is what actually retires that: it removes the legacy modal code and the config, leaving the new overlay as the only path.