For Drupal 8.6, we shipped with an experimental media library that:
- Provides a nice visual interface for browsing through all the media items in your site
- Can be opened from a node form (or similar author-facing context) in order to visually select media items to reference in a field
- Provides a way to upload several media assets into Drupal, quickly enter metadata for them, and reference them in a field -- all without having to leave the page you're on
This is the roadmap issue for how we will get this module to "stable" status. The path to stable lies through this jungle of issues:
Must-have
- Either #3074608: Optionally allow choosing a view mode for embedded media in EditorMediaDialog or #3078287: Constrain the width of aligned images, media, blockquotes etc to a max of 75%. Both would be great, but either one is sufficient to make media embedding usable enough to allow Media Library to be stable.
- #2964789: Document the Media Library module
- #2969678: Integrate Media Library with Content Moderation
- #3081587: Multilingual content is shown double in the media library view
- #3072319: Determine the scope of default styling for embedded media (what belongs in Classy, Stable, etc.?)
- Prepared patches for:
- #3035994: Add a Media library views template to Seven theme to change to order of the views header and exposed filters. IMPORTANT. This one has special handling for the accessibility gate where we mark a stable module with a level-A WCAG focus order failure. See comment #126 in this issue, and comments #64-65 in #2981044: Unify the grid/table views of the media library.
- #2980769: Move Media Library styles into the Seven theme
- #3038489: Add a Media library views template to Seven theme to add wrapper around the grid rows
- #3082690: Mark Media Library as a stable core module
Should-have
Accessibility
- Fix should-haves of #2988431: [Meta] Accessibility plan for Media Library Widget
- #2973140: Convey AJAX progress messages to assistive technology. (top priority!)
- #3081526: Add announcement after clicking 'Save and select' in the media library. (top priority!)
- #3081523: Improve the focus behaviour after clicking 'Save and select' in the media library.
- #3037781: Accessibility problem with invisible buttons in AJAX dialogs
Usability
- The "chain" of issues that replace #2113931-253: File Field design update: Upload field.:
- #3023806: Add "All" tab with all media items to the media library widget
- #3059955: When creating media in the media library, it is possible to overflow the number of items than allowed by the field
- #3023807: Override media fields from the reference field
- #3033960: After adding media, return the user to the media listing they started from
- #3034242: Improve wording of buttons in the media library
- #3034243: Improve selection text in Media Library
- #3034244: Add a cancel or back button to the media library
Other
- #3023809: Add a selection overview to the media library widget modal
- #2981105: Media Library can delete user customizations to the media view and therefore should modify the media view more intelligently
- #2987921: Use a custom widget or form alter for the media library upload form instead of CSS
- #2993187: Add a media library widget setting to only choose existing media
- #3003150: Media library causes validation errors when it is used in a required field of a nested form
- #3049943: Media library should not use js- prefixed CSS classes for styling
- #3050508: Media library loads front-end theme when invoked from settings tray
- #3063216: Inaccessible Media entities still have rows generated for them in the Media Library view, containing form wrapper markup *and* the media label
Could-have
- #3026636: Allow AJAX links to replace a specific selector
- #2938121: Expose a local action to bulk upload media items
- #3065677: Create a media_library form element
- #2988223: Make the MediaLibraryUploadForm's image style configurable
- #3037666: Consider renaming the grid display of the media library
- #3041147: Preserve the selected items across multiple uses of the media library
Questionable
- #2971209: Allow the user to choose a different view or view mode for the Media Library
- #2987675: The media library field widget should work without Javascript
Triage needed
Security and privacy
- #3073734: Immediately delete a media's file when pressing 'Remove' in the media creation modal
- #3063216: Inaccessible Media entities still have rows generated for them in the Media Library view, containing form wrapper markup *and* the media label
Data integrity and upgrade path
- #3076544: After updating `FieldConfig` entities, the old configuration is still being used
- #3073901: Determine an upgrade path from CKEditor image button to media library *** This one seems important to me. We need a plan here, even if that plan ends up being "document and wontfix".
- #3073535: Allow only a subset of the media library to be exposed to CKEditor
- #3081233: The default display for new media types should only show the source field This one is at least a UX issue and sounds like it affects the default data model (correct?)
- #3073734: Immediately delete a media's file when pressing 'Remove' in the media creation modal (again)
- #2981105: Media Library can delete user customizations to the media view and therefore should modify the media view more intelligently
- Update hook numbering followup for #3039829: Remove link to media item from media library view.
Public or internal APIs and BC
Performance and cacheability
- #3071682: Caching issue when referencing an oEmbed resource with an illegal height dimension
- #3063343: Add cacheability to MediaLibraryState
Accessibility
- #3083090: In the media library, announce the type of media being selected (opened as a follow-up to #3035331: Improve keyboard focus behaviour of vertical tabs in MediaLibraryWidget)
- #3076773: Edit Media button within WYSIWYG should include media label for screen readers (see discussion on issue re: whether this should be a stable blocker or whether it's out of scope as an existing a11y issue for all elements)
Usability
- #3079818: Expected the media library to be opened by an entity reference field
- #3075527: Allow users to link embedded media entities in CKEditor
- #3074863: Improve the UX of captioning in CKEditor
- #3081357: Media alignment mismatch between the WYSIWYG and rendered media -- drupalmedia.js shouldn't convert data-align properties when Filter Align disabled
- #3074859: Add a button to remove an embedded media item from the editor
- #3072323: Add consistent default margins for left- or right-aligned widgets in CKEditor
- #3062375: Media library item loses focus when hovering over item's title
- #3081233: The default display for new media types should only show the source field (Repeated from above list)
Other
- #3075593: Allow MediaEmbed filter to use data-langcode to set media translation
- #3072317: CKEditor embedded media previews do not render with attached assets
- #3072279: Consider no longer generating align-* classes for preview in DrupalMedia CKEditor plugin
- #3071713: Make error messages for embedded media themeable
Done
- #3035331: Improve keyboard focus behaviour of vertical tabs in MediaLibraryWidget
- #2994702: Allow editors to alter embed-specific metadata, as well as `data-align` and `data-caption`
- #3055516: Notice: Undefined index: target_bundles when new reference media field created
- #2994699: Create a CKEditor plugin to select and embed a media item from the Media Library
- #2994696: Render embedded media items in CKEditor
- #2940029: Add an input filter to display embedded Media entities
- #3038254: Delegate media library access to the "thing" that opened the library
- #3035408: Identify purpose of vertical tabs in MediaLibraryWidget dialog for assistive tech users.
- #3060603: Live preview is broken when editing the media_library view
- #3044649: Delegate media library selection handling to the "thing" that opened the library
- #2990664: Media library does not work when Drupal is installed into a sub-directory
- #3038350: Deny access to all media library View Displays if there is no valid state object
- #2981895: Prevent already-selected media items from being chosen twice
- #3033442: Use 24 items per page for better responsive grid behavior
- #3038245: [PP-1] Don't allow all media types if no target bundle is configured
- #3033943: MediaLibraryWidget selected items count is not conveyed to assistive tech correctly
- #3033653: InvalidArgumentException when adding reference field without Media type
- #3023966: Remove unnecessary title attribute from show-row-weights button.
- #2989503: Add tests to prove that the media library widget works when target_bundles is NULL
- #2962110: Add the Media Library module to Drupal core
- #2962525: Create a field widget for the Media library module
- #2956368: MediaThumbnailFormatter produces unhelpful text alternative and title attributes for media thumbnails
- #3020707: Streamline buttons in the media library widget
- #3020716: Add vertical tabs style menu to media library
- #2988433: Automatically create and configure Media Library view and form displays
- #3024184: Make the tabbing order match the visual reading order in MediaLibraryWidget
- #3023802: Show media add form directly on media type tab in media library
- #2996029: Add oEmbed support to the media library
- #3033100: Media library field widget styles are broken on initial page load
- #3037766: Inconsistent margin/padding on media library vertical tabs.
- #3035434: Improve name of MediaLibraryWidget dialog
- #3035316: ‘Add media’ in MediaLibraryWidget should be a button, not a link
- #3037767: Improve responsive styling of grid items in the media library
- #3019150: Update/improve mockups and designs for the media library
- #3023797: Let users choose what to do after selecting and/or adding items in the media library
- #3016807: Improve refocus on submit buttons of Media Library Widget modals
- #3023801: Allow newly uploaded files to be deleted from the media library without saving them
- #3020907: Avoid horizontal scrollbar in media library dialog when using small viewports
- #3038241: Implement a tamper-proof hash for the media library state
- #3037668: Improve visual coherence of the media library
- #3035446: Inform assistive tech users about the outcome of using the MediaLibraryWidget dialog
- #3039829: Remove link to media item from media library view.
- #2994702: Allow editors to alter embed-specific metadata, as well as `data-align` and `data-caption`
- #3055048: Media Library insert doesn't show custom fields