Proposal for Media Management in early versions of Drupal CMS
MVP
Early versions are intended to be minimal viable product. We are aiming for intuitive, simple to work with and performant tools and features that leverage already existing core and contrib functionality.
Keep niche features out of the base
We intend only to include the most widely used features in the base. Other features can be added as options or by adding them, likely with project browser.
Agile
This proposal is intended to be agile so we can react to developments from other tracks, experience builder and new information.
Development
We should try to keep a short time span between beginning development of a feature and release to the Drupal CMS project so we reduce lag for the other tracks.
Using recipes and new system features
We have some relatively new things in the system - experience builder, recipes, single directory components - so we may hit some constraints with using them (e.g. ability to delete or turn things off). We will work out solutions and adapt where we hit constraints.
Images
Image Styles
The track will create a set of optimised image styles.
We will create image styles and responsive image styles plumbed in with media view modes for components to use.
These will be 16:9, 4:3, 3:2, square, uncropped, 2:3, 3:4, 16:9
Large, medium and small of each.
Cropping will be by focal point.
There are two ways to create responsive image styles. Most responsive image styles will use the simpler format. Responsive image styles will only use the ‘picture’ element when art direction is required by a component.
For ‘official’ recipes, we expect to review and optimise images used by recipes. We will not let unoptimised images be a blocker to progress and release.
Image styles in grids - we are limited in what we can plan for now because we don’t have technical information on how grids will be used yet and what control we may have to optimise images in grids.
Alt text
We will review use of alt text in components in the base and official recipes. We have a future item to provide guidance on alt text use for editors.
SVGs
We need to undertake further discovery to understand the way that people want to use SVGs. We can make use of
https://www.drupal.org/project/svg_image →
to enable people to use SVGs in similar ways to images. We may implement a recipe for this and ‘see how it goes’.
PDF documents
We plan to create an entity type for PDF separate to ‘document’ so that we can facilitate features like thumbnails, ‘download’ and ‘open in browser’ that other documents don’t have the properties for.
Other documents
There will be an entity type for a limited number of popular document types.
Document download front end components should display the file type and file size.
Remote Video
We intend to use core remote video. We will work with the privacy track to plan and implement GDPR compliance for remote media.
We don’t aim to support remote audio initially, other than if in general we decide to support iFrames.
iFrames and embeds
We don’t plan any special support for embeds, other than embedding iFrames through the editor in a compliant way subject to input from the privacy track and others.
Self hosted video and self hosted audio
We don’t plan initial support for these. We would like to make these available as options in future.
Future features
We plan to focus on the first phase so don’t go into detail here, but after completion of the first phase we plan to add more features. The track is working out the potential scale and shape of some other features, including:
Bulk uploads, better image cropping and manipulation, ‘my uploads’ improved filtering, improved organisation of media assets, alt text guidance, deleting of media assets, support for instances and derivatives, scanners and guidance, galleries, accessible carousel and more.