feat(exporter,viewer): support EPM (Explore Islamic Art Collections) alongside ISL (#1426)
Commit: 5dc3cbd91e3aac6ab69836b3ed18a1bb23128826
Date: 2026-07-05 23:02:14 +0000
Author: PascalHavelange
Commit Message
feat(exporter,viewer): support EPM (Explore Islamic Art Collections) alongside ISL (#1426)
Legacy islamicart.museumwnf.org merges two legacy projects everywhere:
ISL (Discover Islamic Art) and EPM (Explore Islamic Art Collections) -
pc_entrance.php, pclist_all.php, and database_results.php all explicitly
query "project_id='ISL' OR project_id='EPM'". The exporter has only ever
been run with ISL, so EPM's ~1,222 objects across 18 countries (15 of them
entirely absent from ISL, e.g. Austria) were missing from the data package
even though EPM was already fully imported into inventory-app's database.
- partner-exporter.ts: add `project_ids` per partner (which curated
project(s) it's listed under), since legacy keeps ISL and EPM partners as
two entirely separate lists (pm_partner_list.php vs
pm_partner_list_eiac.php) rather than merging them like Permanent
Collection/Database do.
- Database.vue / DatabaseResults.vue: add an "Include Explore Islamic Art
Collections" checkbox (default off, ISL only), mirroring legacy's own
database.php checkbox.
- PartnersEntrance.vue / PartnersResults.vue: split into two sections/sets
(Discover Islamic Art / Explore Islamic Art Collections), matching
legacy's separate pages.
- Permanent Collection needed no changes - it already shows the full
`items`/`partners` lists with no project filtering, so it automatically
merges ISL+EPM once the export includes both, matching legacy's
unconditional merge there.
Requires re-exporting with both project keys (`ISL EPM`) for this to have
any visible effect - verified locally against a real multi-project export.
EOF
Co-authored-by: Pascal HAVELANGE <havelangep@hotmail.com>
Files Changed
- 📝 Modified:
scripts/exporter/src/exporters/partner-exporter.ts - 📝 Modified:
scripts/viewer/src/composables/useInventoryData.js - 📝 Modified:
scripts/viewer/src/views/Database.vue - 📝 Modified:
scripts/viewer/src/views/DatabaseResults.vue - 📝 Modified:
scripts/viewer/src/views/PartnersEntrance.vue - 📝 Modified:
scripts/viewer/src/views/PartnersResults.vue
Links
This documentation was automatically generated from Git commit data.