No description
Changes database lookup strategy to match on full filename as it appears in Box and in the CreativeX PDF report filename field. Critical Design Change: Old (incorrect): - Strip job number and tracking ID from Box filename - Lookup: NUT_PL_pl_TEST-E2E_EHI_1x1.png - Database has: 6487512_NUT_PL_pl_TEST-E2E_EHI_1x1_7xXgKp.png - RESULT: No match found, uses defaults New (correct): - Use original Box filename for lookup - Lookup: 6487512_NUT_PL_pl_TEST-E2E_EHI_1x1_7xXgKp.png - Database has: 6487512_NUT_PL_pl_TEST-E2E_EHI_1x1_7xXgKp.png - RESULT: Match found, uses actual score Rationale: The CreativeX PDF report contains a "filename" field that stores the actual asset filename including job number and tracking ID. This is the name that gets extracted by LlamaExtract and stored in database. The A2→A3 workflow receives files from Box with the SAME filename structure (job_brand_country_lang_subject_trackingID.ext). Therefore, we match on the complete original filename, not the stripped version. Database Storage Pattern: - CreativeX PDF named: anything.pdf (name doesn't matter) - PDF contains field: filename = "6487512_NUT_PL_pl_TEST-E2E_EHI_1x1_7xXgKp.png" - Database stores: filename = "6487512_NUT_PL_pl_TEST-E2E_EHI_1x1_7xXgKp.png" - A2→A3 receives: 6487512_NUT_PL_pl_TEST-E2E_EHI_1x1_7xXgKp.png from Box - Lookup matches exactly Clean filename still used for DAM upload, only the lookup is on original. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| Python-Version | ||
| src | ||
| .gitignore | ||
| 43984435_n1izyn3l_config.json | ||
| Box-config.json | ||
| campaign_response.json | ||
| check_folder_status.php | ||
| clean_workflow.php | ||
| config.example.json | ||
| config.php | ||
| config_v3.php | ||
| Content Scaling Flow V3.postman_collection.json | ||
| Content Scaling Flow.postman_collection_Oliver(New).json | ||
| Content Scaling Flow_Oliver.Postman_Collection.json | ||
| CREATIVEX_SUMMARY.md | ||
| DAM_LOOKUPDOMAINS_RAW.json | ||
| debug_assets.php | ||
| debug_status.php | ||
| ECOMMERCE_ALLOWED_FIELDS.md | ||
| EXTRACTION_GUIDE.md | ||
| fetch_lookupdomains.php | ||
| HANDOFF_NEXT_SESSION.md | ||
| index.php | ||
| PROJECT_STATUS.md | ||
| PROJECT_STATUS_2025-10-24.md | ||
| PROJECT_STATUS_2025-10-28.md | ||
| PROJECT_STATUS_2025-10-29.md | ||
| PROJECT_STATUS_2025-10-30.md | ||
| PROJECT_STATUS_2025-11-03.md | ||
| PYTHON_AUTOMATION_PLAN.md | ||
| QUESTIONS_FOR_DAM_IT_TEAM.md | ||
| README.md | ||
| simple_test.php | ||
| test_asset_detail.php | ||
| test_creativex.php | ||
| test_direct_download.php | ||
| test_filename_parser.php | ||
| test_runner.php | ||
| test_search.php | ||
| test_upload.jpg | ||
| test_upload_standalone.php | ||
| UPLOAD_FROM_BOX_COMPLETE.md | ||
| UPLOAD_FROM_BOX_PHASE2_COMPLETE.md | ||
| UPLOAD_FROM_BOX_STATUS.md | ||
| UPLOAD_TROUBLESHOOTING.md | ||
| workflow.php | ||
| workflow_v3.php | ||
Ferrero OpenText Content Scaling Workflow
Complete automation system for Ferrero DAM content scaling workflows
Version: 2.0.0
Status: ✅ Production Ready
Last Updated: November 3, 2025
📚 START HERE
PROJECT_STATUS_2025-11-03.md ← Complete status report with everything you need to know!
🎯 What This System Does
Automates the complete content scaling workflow:
- A1→A2: Download Local Adaptation master assets → Box
- A2→A3: Upload agency files from Box → DAM
- B1→B2: Download Global Master assets → Box
- A5→A6: Handle rework assets
Features: V2 naming, 27-28 MVP metadata fields, Box metadata integration, automated status updates, email notifications, webhook integration.
✅ What's Working
- ✅ PHP web interface (4 workflows)
- ✅ Python automation (3 scripts)
- ✅ Box metadata integration (CreativeX)
- ✅ Full metadata preservation (JSONB)
- ✅ Email notifications (detailed)
- ✅ Log rotation (1 month)
- ✅ All tested and production-ready
🚀 Quick Start
PHP App:
http://localhost:8888/ferrero-opentext/workflow_v3.php
Python Scripts:
cd Python-Version
source venv/bin/activate
python scripts/test_connection.py
📖 Documentation
Essential Reading:
- PROJECT_STATUS_2025-11-03.md - Complete status (read this!)
- Python-Version/DEPLOYMENT.md - Production deployment
- Python-Version/README.md - Python automation guide
All workflows documented with screenshots and examples.
Repository: bitbucket.org:zlalani/ferrero-opentext.git
Latest Commit: b3fbb8b
Status: Production Ready ✅