Issue: CREATIVEX fields still not appearing Root Cause: FERRERO.FIELD.CREATIX is a CATEGORY, not a field within a category Fix: - Check category ID/name for 'CREATIX' or 'CreativeX' - When CREATIVEX category found, extract ALL items within it - Handle both tables and direct fields in CREATIVEX category - Show fields even if empty (displays structure) Structure: Category: FERRERO.FIELD.CREATIX (name: CreativeX) ├─ Table: FERRERO.TABULAR.FIELD.CREATIVEX (Confidence) │ └─ Field: FERRERO.TAB.FIELD.CREATIVEX (Platform > Rating %) └─ Field: FERRERO.FIELD.CREATIVEX LINK (CreativeX Hyperlink) Test Results: ✅ Extracted 2 CREATIVEX fields ✅ Platform > Rating (%): (empty) ✅ CreativeX Hyperlink: (empty) Now purple CREATIVEX section will appear in metadata viewer! 🤖 Generated with Claude Code
35 lines
1.4 KiB
PHP
35 lines
1.4 KiB
PHP
<?php
|
|
require_once 'src/MetadataExtractor.php';
|
|
|
|
$assetJson = file_get_contents('downloads/06_RAFFAELLO_MAESTRO_SD_metadata.json');
|
|
$asset = json_decode($assetJson, true);
|
|
|
|
// Find CREATIX/CREATIVEX in metadata
|
|
echo "Searching for CREATIVEX fields..." . PHP_EOL . PHP_EOL;
|
|
|
|
if (isset($asset['metadata']['metadata_element_list'])) {
|
|
foreach ($asset['metadata']['metadata_element_list'] as $catIndex => $category) {
|
|
$catId = $category['id'] ?? 'no-id';
|
|
$catName = $category['name'] ?? 'no-name';
|
|
|
|
if (stripos($catId, 'CREATIX') !== false || stripos($catId, 'CREATIVEX') !== false ||
|
|
stripos($catName, 'CreativeX') !== false) {
|
|
echo "Found Category #{$catIndex}:" . PHP_EOL;
|
|
echo " ID: {$catId}" . PHP_EOL;
|
|
echo " Name: {$catName}" . PHP_EOL;
|
|
echo " Structure:" . PHP_EOL;
|
|
echo json_encode($category, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) . PHP_EOL . PHP_EOL;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Test extraction
|
|
$metadata = MetadataExtractor::extractAllMetadata($asset);
|
|
echo "Extracted CREATIVEX fields: " . count($metadata['creativex_fields']) . PHP_EOL;
|
|
|
|
if (!empty($metadata['creativex_fields'])) {
|
|
foreach ($metadata['creativex_fields'] as $name => $data) {
|
|
$val = is_array($data['value']) ? implode(', ', $data['value']) : $data['value'];
|
|
echo " - {$name}: {$val}" . PHP_EOL;
|
|
}
|
|
}
|