Purpose
The purpose of this initiative is to enable independent releases of Agent Desk from CX Core releases.
Agent Desk is designed as a decoupled Angular-based frontend where all business logic resides in backend services. The UI acts as a presentation layer, consuming:
-
API-based interactions (request/response)
-
Event-driven interactions (socket-based real-time updates)
Architecture Overview
Agent Desk follows a decoupled, API and event-driven frontend architecture:
-
Frontend (Agent Desk - Angular)
-
Responsible for UI rendering and user interaction
-
Contains minimal business logic
-
Consumes backend services via APIs and socket events
-
-
Backend (CX Core / Services)
-
Owns all business logic and workflows
-
Exposes functionality via APIs
-
Publishes real-time updates via socket events
-
This architecture allows UI enhancements and experience improvements to be released independently, as long as there are no changes to backend contracts or event structures.
This approach enables:
|
Benefit |
Details |
|---|---|
|
Faster delivery |
Of UI improvements |
|
Reduced dependency |
On backend release cycles |
|
Greater flexibility |
In deploying user experience enhancements |
|
Improved responsiveness |
To user feedback |
Release Independence Criteria
Agent Desk can be released independently when changes are limited to:
UI-Only Changes (Safe for Independent Release)
-
Layout, styling, and UX improvements
-
Component-level UI enhancements
-
Client-side validations (non-business critical)
-
Performance optimizations in UI
-
Bug fixes not affecting API/event contracts
UI changes that do not affect backend APIs or event contracts can release independently.
Agent Desk Dependency on CX Core
Though Agent Desk targets independent release, some CX Core changes require synchronized releases.
Agent Desk must release with CX Core in these cases:
|
Dependency Type |
Description |
|---|---|
|
Changes in CIM Events |
Modifications, additions, or removals affecting Agent Desk data consumption or real-time behavior |
|
API Changes |
Updates to APIs (request/response structure, endpoints, authentication) used by Agent Desk, including deprecation or replacement |
|
New Features Requiring UI Support |
Backend capabilities needing corresponding UI implementation |
|
Data Contract or Schema Changes |
Changes in payload structure or data models exchanged between CX Core and Agent Desk |
|
Authorization / Security Changes |
Updates in authentication flows, roles, or permissions affecting UI behavior |
In these cases, Agent Desk and CX Core releases must align to ensure compatibility and prevent runtime issues.
Agent Desk Release Semantics
Agent Desk follows Semantic Versioning (SemVer):
Version Format: MAJOR.MINOR.PATCH (e.g., 5.3.1)
Major Releases (N.0.0)
A major release introduces breaking changes that are not backward compatible.
Characteristics:
-
Changes requiring updates in dependent systems
-
Incompatibility with previous versions
-
Mandatory upgrade for continued support
Examples:
-
API contract changes (endpoint modification/removal)
-
Changes in event (socket/CIM) structures or semantics
-
Significant architectural changes
-
Removal of deprecated features
Example:
Upgrading from 4.0.0 → 5.0.0 introduces new capabilities but breaks compatibility with older versions.
Minor Releases (N.X.0)
Minor releases add new features or enhancements while maintaining backward compatibility.
Characteristics:
-
Non-breaking additions
-
Optional upgrades
-
Compatible with existing integrations
Examples:
-
New UI components or screens
-
Additional filters, views, or configurations
-
Enhancements to existing features
Note:
Users must be on the corresponding major version (e.g., 5.x.x for 5.3.0).
Patch Releases (N.X.X)
Patch releases focus on stability improvements and fixes.
Characteristics:
-
Fully backward compatible
-
Non-disruptive
-
Safe to upgrade or downgrade
Examples:
-
Bug fixes
-
UI improvements (layout, styling, usability tweaks)
-
Performance optimizations
-
Security patches
Example:
A bug in 5.3.0 is fixed in 5.3.1 without impacting existing functionality.
Additional Guidelines (Recommended Enhancements)
Backward Compatibility Principles
-
Maintain backward compatibility in minor and patch releases
-
Clearly document breaking changes in major releases
Release Documentation
Each release should include:
-
Release notes
-
Impact analysis (breaking vs non-breaking)
-
Migration steps (for major releases)
Version Alignment Strategy
-
Agent Desk can lead CX Core for UI-only changes
-
Must align when API or event contract changes occur
Feature Flagging (Recommended)
-
Enable independent rollout of UI features
-
Decouple feature availability from backend readiness
-
Support gradual rollout and rollback
Rollback Strategy
-
Patch and minor releases should support quick rollback
-
Major releases should include fallback strategies
Summary
This initiative enables independent, faster, and more flexible Agent Desk releases through a decoupled, API and event-driven architecture.
It defines when alignment with CX Core is required and adopts semantic versioning and structured release practices to ensure both stability and agility in development and deployment.