Cloud CRM
🚀 New Features
Data Structure Validation Package
Description:
A universal package for validating hierarchical data structures, supporting nested arrays, maps, and objects.
How it works:
Uses tags (validate:"...") to define rules.
Supports rules: required, min, max, regex, in, custom.
Recursively traverses nested structures.
Returns a hierarchical error structure LevelError.
Benefits:
✅ Flexible and extensible.
✅ Transparent error structure.
✅ Supports complex nested data.
Custom Fields Management (Object Manager)
Description:
A new tool in Platform Admin Tool for creating, editing, and deleting custom fields.
How it works:
Full field management via UI without database changes.
Automatic synchronization with Platform Metadata API.
Benefits:
✅ Centralized metadata management.
✅ Reduced human errors.
✅ Safe modifications of object structures.
External Configuration via YAML
Description:
Supports loading configuration from config.yaml.
How it works:
Uses the Viper library.
Supports environment variable CONFIG_PATH.
Automatically creates a Config structure.
Benefits:
✅ Flexible deployment.
✅ Centralized configuration.
✅ High stability in case of configuration errors.
Migration to pgx Driver
Description:
Migration from database/sql to native pgx/v5 driver with BeforeAcquire hook.
How it works:
Uses pgxpool.Pool.
Context enriched with user_id and roles.
Benefits:
✅ Improved performance.
✅ Context-aware user identification.
✅ Ready for Row-Level Security.
System Fields for Objects
Description:
Added universal system fields owner_id and is_deleted to all objects.
Benefits:
✅ Unified data structure standard.
✅ Soft deletion and owner control.
External Fields in CRM Card Layout
Description:
CRM dynamically displays external fields from Platform API.
How it works:
Data is fetched via API considering access levels.
Only fields available to the user are rendered.
Benefits:
✅ Always up-to-date data.
✅ Flexible access control.
Saving External Fields
Description:
Ability to save external fields via Platform API.
How it works:
Local and external fields separated during submission.
Errors indicate the specific field.
Benefits:
✅ Secure integration with external systems.
✅ CRM and Platform consistency.
Automatic Metadata Updates
Description:
CRM automatically updates local metadata after Platform changes.
How it works:
Receives events via webhook or queue.
Transforms data into internal format.
Benefits:
✅ Continuous synchronization.
✅ Reduced manual updates.
Hybrid ID Architecture
Description:
Two-layer identification: internal id and public record_id.
How it works:
record_id format: [prefix][hex16].
Prefixes stored in object_prefixes table.
Benefits:
✅ Unique, API-friendly identifiers.
✅ Backward compatibility.
System Table Updates
Description:
Updated table structure with record_id, external_id, and systemmodstamp.
Benefits:
✅ Unified metadata.
✅ Improved integration.
✅ Automatic audit of changes.
Custom Objects API
Description:
Added endpoint GET /api/v1/schema/objects for listing custom objects.
Benefits:
✅ High performance.
✅ Full access control.
✅ Integration-friendly.
API Enhancements
Description:
Expanded API support:
Describe Custom Object — full metadata description.
Permission Sets — sorting and filtering.
Metadata Deployment — asynchronous deployment with rollback.
Benefits:
✅ Transparent auditing.
✅ High integration stability.
✅ RLS, OLS, FLS support.
Power BI Embedded — Edit Mode
Description:
Edit Power BI reports directly inside Cloud CRM.
Benefits:
✅ Unified analytics in the system.
✅ No need to open external Power BI.
Picklist & EnumSet
Description:
Enhanced picklists with support for global and local sets.
Benefits:
✅ Flexible reference management.
✅ Unified data types.
Localization & UX Improvements
Description:
Full multilingual support and UI updates.
Benefits:
✅ Better usability across countries.
✅ Snackbar notifications, error messages, improved user interaction.
🐞 Bug Fixes:
Fixed endless loading when opening objects.
Custom Text-area fields now display correctly.
Placeholder “Not specified” now shows.
Fixed 500 errors when creating HCO/HCP with custom or Boolean fields.
Changes in custom fields are now saved.
Duplicate api_name issue fixed.
Fixed 422 error when creating picker with indents.
Fixed wrong withoutSystemFields parameter.
Removed extra Decimal/Boolean fields in forms.
Permissions now apply correctly after creating a field.
Fixed 500 errors opening Region/City.
Users no longer incorrectly migrate into metadata.
HCO/HCP records save correctly after editing.
Removed redundant UI elements in Plain Text.
Trigger trg_permission_change no longer causes errors.
🧭 GeoForce
User Territory Transfer and Copy
Description:
Ability to transfer or copy user territories to another user without data loss.
Benefits:
✅ Secure territory management.
✅ Simple user rotation handling.
Thematic Maps
Description:
New module for visualizing analytics (turnover, organization types, specialists).
Benefits:
✅ Interactive visualization of territories.
✅ Flexible layer and color control.
POI Visualization (Polygons, Heatmap)
Description:
Multiple POI visualization types: polygons, heatmaps, SVG.
Benefits:
✅ More informative maps.
✅ Density analysis of objects.
Layer Name Translations
Description:
Layer names now managed via translation system.
Benefits:
✅ Localization support.
✅ Flexible naming management.
Default Map Version
Description:
Each product area opens the map version defined in the system.
Benefits:
✅ Automatic loading of the correct map version.
✅ Improved usability.
Infrastructure Updates
Road networks created for Armenia, Azerbaijan, Georgia, Moldova, Hungary, Mongolia.
Test graphs built for all covered countries.
✅ Preparing full multinational support.
🐞 Bug Fixes:
Isochrones no longer cross country borders.
Fixed Voronoi polygon generation with large datasets.
Fixed timeout when generating Voronoi layers.
Bricks list now displays after clearing search.
User selection persists after search.
Filter block widths aligned across tabs.
Summary table no longer collapses while drawing.
Repainting of unassigned polygons restored.
Grid works even without geomarketingMSSKUType option.