This release focuses on improving the reliability, regional consistency, and future-proofing of project and business opportunity metadata.
Key improvements include a redesigned approach to project role handling, introducing dedicated role views and a new email-based identifier aligned with the emerging Person domain. Several legacy defects were corrected, including misclassified company identifiers, invalid JSON payloads affecting API exports, and historical inconsistencies in opportunity metadata.
We also resolved a critical naming collision in the Feedback domain by clarifying customer versus owner email fields, ensuring stable checksums and safer cross-domain joins. Change-date handling has been standardised across SharePoint and file-based sources to strengthen auditability and historical tracking.
Finally, a set of technical view renames was applied to support regionalisation and improve clarity of data origin.
Overall, this release strengthens data integrity, supports multi-region reporting, and reduces risk to downstream consumers.
1. Project Roles Review
Views affected
project_meta_codes_UKSproject_meta_codes_UKS_archiveproject_meta_codes_APCproject_meta_codes_roles_APCproject_meta_codes_rolesproject_meta_codesproject_meta_codes_roles_UKSproject_meta_codes_USDproject_meta_codes_roles_CADproject_meta_codes_roles_USD
Change
- Role attributes have been removed from the main
project_meta_codesview and rebuilt in dedicated*_rolesviews. - Role data is now constructed bottom-up from the original
project.rolesassignment logic.
Key design decision
EMAILis now the primary identifier for project roles.- This is derived as:
LEFT(8, HASH(normalised_email))
Rationale
- Removes dependency on
PERSON_ID, enabling support for regional project managers. - Aligns with the future Person domain design.
- Provides consistent cross-regional role identity.
Known limitation
- CAD and USD role data has been inferred from name-only sources.
- Where a full name is not available:
EMAILwill be synthetic/false ⚠️- The original name is preserved in
NAME
2. Company Identifier Correction (BusOpp_APC)
Views affected
busopp_item_values_APCbusopp_meta_codes_APCbusopp_meta_dates_APC
Change
- Corrected legacy bug where:
OBJECT_CLASS = COMPANY- instead of
OBJECT_CLASS = COMPANY_ID
Impact
- Restores consistency with the Common Data Model.
- Prevents misclassification of company identifiers.
3. Export View JSON Encoding Fix
Views affected
busopp_core_meta_exportproject_core_meta_export
Change
- Fixed JSON encoding bug causing API failures.
- Date and
HASHBYTESvalues are now encoded as stableVARCHAR.
Impact
- API payloads now validate correctly.
- Export endpoints are stable again.
4. Historical BusOpp Metadata Fixes
busopp_meta_dates_UKS_archive
Issue
OPPORTUNITYhad been altered toPROPOSALin the main view, affecting history.- Dates were split between
PROPOSALandDELIVERY.
Fix
- Restored consistent attribute handling for historical records.
busopp_meta_codes_UKS_archive
Issue
ROUTE_TO_MARKETJSON payload was missing a structural comma.- Resulted in invalid JSON.
Fix
- Corrected JSON structure.
- Payload now passes encoding tests.
5. Feedback Domain – EMAIL Naming Collision
Views affected
feedback_meta_codes_customerthermometerfeedback_meta_codes_customervoicefeedback_meta_codes_legacyexternalfeedback_meta_codes_legacyinternalfeedback_meta_codes_requestsfeedback_meta_codes_response
Issue
- Naming collision between:
CUSTOMER.EMAILOWNER.EMAIL
Because:
META_TYPEis not part of the checksum logic.- Both collapsed to the same attribute identity.
Decision / Fix
OWNER.EMAILremains unchanged.CUSTOMER.EMAILrenamed to:CUSTOMER.EMAIL_ADDRESS
Rationale
OWNER.EMAILaligns withEMPLOYEE.EMAILin other domains.CUSTOMER.EMAIL_ADDRESSis treated as a reference/contact field.
Impact
- Breaking change for consumers using
CUSTOMER.EMAIL. - Semantics unchanged; only the attribute name has changed.
6. CREATE_DATE Standardisation
APC (SharePoint List)
Views affected
customer_core_details_APCproject_meta_dates_APCproject_meta_dates_APC_archivebusopp_core_details_APC
Change
CREATE_DATEnow sourced from SharePoint list[createdon].
Benefit
- Improves change history traceability.
- Provides reliable lineage for SharePoint-derived data.
NA & EUR (Source File-based MP8/9)
Views affected
busopp_core_details_EURbusopp_core_details_NAbusopp_item_values_EURbusopp_item_values_NAbusopp_meta_codes_EURbusopp_meta_codes_NAbusopp_meta_dates_EURbusopp_meta_dates_NA
Change
CREATE_DATEnow derived from file name using:FY_PERIOD_START_DATE
Benefit
- Provides consistent and auditable historical tracking for file-based ingestion.
7. Project Baseline Metadata Enhancement
View affected
project_meta_dates_UKS
Change
- Added structured
BASELINEmetadata, including:- Revision date
- Revision number
- Planned values update history
- User comment
Impact
- Baseline changes are now explicitly traceable.
- Supports audit and comparison use cases.
8. BusOpp Technical Renaming (Regionalisation)
Views affected
busopp_core_details_UKS_archivebusopp_core_details_archivebusopp_item_values_linesbusopp_item_values_lines_UKSbusopp_meta_codesbusopp_meta_codes_UKSbusopp_meta_codes_archivebusopp_meta_codes_UKS_archivebusopp_meta_datesbusopp_meta_dates_UKSbusopp_meta_dates_archivebusopp_meta_dates_UKS_archive
Change
- Technical rename of views to follow regionalised naming conventions.
Purpose
- Improves clarity of data origin.
- Aligns with multi-region architecture.
- Reduces ambiguity between global and regional datasets.