In this session, we’ll explore the challenges of managing media assets across multiple Drupal sites—namely, unnecessary duplication, inconsistent metadata, and editorial hand-offs that slow teams down—and introduce a robust parent/consumer model to overcome them.
1 . Why a Centralized DAM?
- We’ll begin by outlining the drawbacks of siloed media—wasted storage, version drift, and editorial friction—and demonstrate how a single “parent” DAM can serve “consumer” sites with on-demand, consistent media delivery.
2. drupal_dam Module (Parent Site)
Dive into the parent-site setup:
- Enabling JSON:API on Field Storage & Field Config
- Creating a dam_consumer role & assigning precise API permissions
- Building a form to select which media bundles to expose
- Exposing media via a secure custom REST endpoint
3. drupal_dam_client Module (Child Sites)
Learn how each consumer site connects to the parent:
- Configuration form: connecting to parent JSON:API & entering JWT credentials
- Enhancing the Media > Add page with “Upload to Parent DAM” links
- Dynamic form generation on media-create.
4. Fetching field definitions via JSON:API
- We’ll cover JSON:API calls to pull help text, required flags, defaults, and option values—then auto-build entity reference and list fields. As a bonus, we’ll discuss pre-populating edit forms via the same mechanism.
5. Media Library Integration
- See how to add a “Parent DAM” tab to each exposed bundle, enabling in-UI browsing and one-click media selection from the centralized repository.
6. Lessons Learned & Future Enhancements
- Performance considerations, caching strategies
- Multi-site scalability tips
- AI-powered enhancements: automatic duplicate detection and removal using AI image/text analysis, and semantic search on the Parent DAM to improve asset discovery