ferrero-opentext/Python-Version/config/field_mappings_prod.yaml
nickviljoen 04eccab9e7 Enhancement: Add environment-specific configurations and metadata improvements
This commit includes critical updates for PPR deployment:

1. Environment-Specific Field Mappings:
   - Created field_mappings_ppr.yaml with agency code "Oliver"
   - Created field_mappings_prod.yaml with agency code "0000221659"
   - Updated config_loader.py to auto-detect environment based on DAM URL
   - Enables seamless deployment between PPR and PROD environments

2. Metadata Extractor Enhancements:
   - Added MetadataTable extraction support for nested fields
   - Enables extraction of "Type of Video & Static Right" multi-value field
   - Added logic to apply defaults to existing but empty fields
   - Fixed agency name display_value handling for domain fields

3. Default Values Added:
   - VIDEO_POST_PROD_COMPANY: "Oliver Marketing Ltd"
   - AUDIO_POST_PROD_COMPANY: "Oliver Marketing Ltd"
   - PROD_COMPANY (Production House): "-"

These changes ensure:
- Correct agency codes per environment (PPR/PROD)
- Proper extraction of nested tabular fields
- Default values for empty production company fields
- Seamless deployment workflow

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-28 20:41:21 +02:00

78 lines
2.4 KiB
YAML

# MVP Field IDs - Add or remove fields here (no code changes needed!)
# PRODUCTION ENVIRONMENT CONFIGURATION
mvp_fields:
# Asset Info Category
- FERRERO.FIELD.MKTG.ASSET TYPE
- FERRERO.FIELD.FISCAL YEAR
- MAIN_LANGUAGES
- FERRERO.FIELD.ASSETCOMPLIANCE
- ARTESIA.FIELD.ASSET DESCRIPTION
- FERRERO.FIELD.MARKETING.FLAVOUR
- FERRERO.FIELD.MARKETING.SIZE
- FERRERO.FIELD.STATE
- ARTESIA.FIELD.ASSET NAME
- FERRERO.FIELD.SUB BRAND
- FERRERO.FIELD.ASSET VALIDITY START PERIOD
- FERRERO.FIELD.ASSET VALIDITY END PERIOD
# Marketing Category
- MARKETING_TAG
- FERRERO.MARKETING.FIELD.AGENCY NAME
- FERRERO.MARKETING.FIELD.SPOT_VERSION
- FERRERO.MARKETING.FIELD.DIRECTOR_NAME
- FERRERO.MARKETING.FIELD.VIDEO_POST_PROD_COMPANY
- FERRERO.MARKETING.FIELD.VID_POST_PROD_CONTACT
- FERRERO.MARKETING.FIELD.AUDIO_POST_PROD_COMPANY
- FERRERO.MARKETING.FIELD.AUDIO_POST_PROD_CONTACT
# Market Category
- FERRERO.MARKET.FIELD.TYPE_VID
- FERRERO.MARKET.FIELD.IPRIGHT
- FERRERO.MARKET.PROD_COMPANY
- FERRERO.MARKET.FIELD.LICENSIN
- FERRERO.MARKET.FIELD.BUYOUT
- FERRERO.MARKET.FIELD.FERRERO PROPERTY
- FERRERO.MARKET.VID_N_STAT
- FERRERO.MARKET.FIELD.LICENSE
# CreativeX Category (from Box metadata template)
- FERRERO.TAB.FIELD.CREATIVEX # CreativeX Score (Platform > Rating %)
- FERRERO.FIELD.CREATIVEX LINK # CreativeX URL
# Master Asset Lineage (for derivative tracking)
- ARTESIA.FIELD.ASSET_ID # Master Asset DAM ID
# Fields to update from V2 filename
filename_updates:
ARTESIA.FIELD.ASSET NAME:
source: clean_filename
required: true
ARTESIA.FIELD.ASSET DESCRIPTION:
source: subject_title
required: false
FERRERO.FIELD.MKTG.ASSET TYPE:
source: asset_type
required: true
MAIN_LANGUAGES:
source: language_code
transform: uppercase
required: true
# Fields to force to specific values
forced_values:
FERRERO.FIELD.STATE: Local
FERRERO.MARKETING.FIELD.AGENCY NAME: "0000221659" # PROD agency code
# Default values for missing or empty fields
defaults:
FERRERO.FIELD.ASSETCOMPLIANCE: "-"
MARKETING_TAG: "Tag"
FERRERO.FIELD.FISCAL YEAR: "2025/2026"
FERRERO.MARKETING.FIELD.AGENCY NAME: "0000221659" # PROD agency code (exact case required)
FERRERO.MARKETING.FIELD.VIDEO_POST_PROD_COMPANY: "Oliver Marketing Ltd"
FERRERO.MARKETING.FIELD.AUDIO_POST_PROD_COMPANY: "Oliver Marketing Ltd"
FERRERO.MARKET.PROD_COMPANY: "-" # Production House