Closed (outdated)
Project:
Drupal core
Version:
9.2.x-dev
Component:
media system
Priority:
Major
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
12 Dec 2016 at 09:11 UTC
Updated:
25 Mar 2021 at 15:58 UTC
Jump to comment: Most recent, Most recent file
Comments
Comment #2
samuel.mortensonComment #3
samuel.mortensonComment #4
samuel.mortensonWe're working on an experimental Github project before pulling a patch, which is located here: https://github.com/mortenson/media_library
Comment #6
samuel.mortensonAs the Berlin Media Sprint is closing up, I'm uploading a patch of what we have now and have marked the Github project as deprecated, as all development should happen in the issue queues from now on. This patch was worked on by myself and @webflo.
Here's what the module provides so far:
I've also uploaded two animated GIFs showing some of the functionality already "completed":
The following core patches are required to use this patch:
To facilitate testing and review of this patch, I've added a test submodule called "media_library_test". This module provides two default Media Types, and a Content Type which uses a single and multivalue Media field. I recommend following this flow when testing:
There is so much work to be done here, but hopefully this list of major priorities makes sense:
This patch is by no means ready for a RTBC status, so I'm marking the issue as "Needs work" until we've added all the features we want for the MVP. That said, I would love to get feedback at this stage and would appreciate some help from core contributors who are more experienced than me.
Thank you!
Comment #7
mparker17@samuel.mortenson Fantastic work! :) Thank you for helping to move this issue forward!
Comment #8
webflo commentedComment #9
webflo commentedI realize that, this is not correct. items_count and delta should match. I think we should init items_count with 0 and increase it similar to $delta. or use $delta for the comparison.
Anyway, i added and remove media entities in the widget and the field state was not correct after a few iterations.
Comment #10
webflo commentedWe should decide if we want to replace the existing selection or always add new items. Its an odd mix atm.
Comment #11
samuel.mortenson@webflo Agreed, I think the View should only add items onto the existing selection, but it would be good to get UX feedback on what is expected.
I would propose these changes to the widget, if we go with appending and not replacing:
I'll work on this and try to get a new patch in soon with sorting working.
Comment #12
samuel.mortensonThis patch:
Comment #13
samuel.mortensonSome quick self-review:
We need to use the libricons mentioned in #2828538: Produce high fidelity screens based on Media prototype.
The persistent selection is really useful for AJAX views - but isn't required for the Media Library to function. @webflo Should this be moved to a new issue?
We need a composer.json change as well, since we're adding a new module to core.
We'll eventually need to break this out into functional/theme styles, and copy the theme styles into stable.
Just a comment - This was added following UX feedback about having relative dates in the View, the only difference between this and the "datetime_time_ago" field formatter is that I set a max age on using relative times. If a Media Item was created over a month ago, we show the full date.
This function is really long! Maybe we can split it up into protected methods to better support refactors and tests.
I'm not 100% sure this callback works now that we have sorting in. When we add Javascript testing I'll feel better about the logic here.
In general I think the next step here should be coordination with the UX team to identify MVP goals, and we should start writing tests for the standalone page and the widget before adding entirely new features. I'll plan on writing Javascript tests for the widget this week.
Comment #14
gábor hojtsy@samuel.mortenson: re the remove icon, we use libricons for admin facing styling, see https://github.com/ry5n/libricons -- if that has a useful icon for your needs, that would be the most consistent pick.
Comment #15
gábor hojtsyTried applying this patch with https://www.drupal.org/node/2831274 #162 and it says
upon installing the modules. Should one also apply #2834777: Refactor Drupal\system\Plugin\views\field\BulkForm to support a select form as well or that is not the latest of what to apply?
Comment #16
gábor hojtsyIf you can make this not be in the testing package, drive-by testers using simplytest.me could run with the patch and try it out with the test types. That would not be kept for the final version of the patch of course.
Comment #17
samuel.mortenson#15 - You'll also need to apply the most recent patch from #2834777: Refactor Drupal\system\Plugin\views\field\BulkForm to support a select form as well, yes. I gave some review instructions in #6 but maybe that comment should be re-factored into the issue summary.
I noticed that in #2660124: Dynamically build layout icons based on well formed config contributors are uploading full patches (including dependencies) for the testbot, then do-not-test patches with just the changes from that issue. I'll start using that format going forward to make review easier.
#16 - Good point, I'll try to get that into the next patch.
Comment #18
berdir#16: Doesn't work like that, it is not the package that is being excluded. Drupal doesn't look for modules in tests folder unless some flag is setting settings.php or we're actually running a test. So if you want to make it available, you have to move it to a separate folder, outside of tests.
Comment #19
gábor hojtsy@Berdir: thanks. I think it would be useful to have it in a regular module location then to facilitate testing. Alternatively if the document/image/video patches are in a good enough shape, we maybe want to have a compound testing issue for all of them somewhere :) Asking that now on #drupal-media in IRC.
Comment #20
samuel.mortensonI attended the UX meeting today and the feedback on way we're handling re-sorting Media was very positive. I think it's safe to say that the way sorting the selection works now is going to be similar to what eventually lands in core.
That said, I still need to write Javascript tests for the field widget as it exists now, make a few styling updates that were suggested by the UX team, and continue to improve the field widget's handling of selections. We'll also need to provide default display mode settings for known Media Types that are going to be committed in core, specifically YouTube, File, and Image. Things are looking good so far though!
Comment #21
gábor hojtsyYoutube recording from UX meeting today: http://youtu.be/hf8AovBZflo
Comment #22
samuel.mortensonSorry for the holiday delay! I'm still working on tests, and have started looking into a CKEditor plugin as well. My notes from #13 still need addressed, and I also noticed some quirks when adding/removing/resorting in the field widget. We're also waiting on new icons for edit/remove from the UX team.
Comment #23
samuel.mortensonI started working on integration tests and already got stuck! For some reason clicking on the local tasks in the admin view returns a 403, but I can't replicate this in the UI at all. If anyone is a test expert and can figure out why this minimal test fails, let me know! Otherwise I'm waiting for new icons to follow up with the rest of my feedback from #13.
For other contributors, the open tasks for this issue are:
1) Find out why the test in this patch fails
2) Figure out what's required to embed Media in WYSIWYG as a part of this or another patch, and write it :-)
3) Review the Field Widget added in this patch, see if there are bugs when adding/sorting/removing media and address them
Comment #24
berdirYour views argument includes a view access check for the passed in media type. But media_type only has an admin permission (administer media types), which your test user doesn't have.
It is an interesting feature obviously, but per-type view access is not something that the current media patch/module provides.
Comment #25
gábor hojtsy@samuel.morteson: the embedding problem has its issue at #2801307: [META] Support WYSIWYG embedding of media entities, I see how it needs to be integrated with the library, but it also needs its own components, eg. markup decisions for the embed code, etc.
Comment #26
samuel.mortenson@berdir That makes sense, thank you! I'm all set to continue writing tests for the library and field widget now. I'll probably remove the type access check as there is already (view) permission checking on the media items, and a user shouldn't need to administer media types to use the library.
@gábor-hojtsy It makes sense that the WYSIWYG part of this issue would be blocked until that's closed, I'll hold off on that work for now.
So I'll just work on test coverage for now, then circle back to the field widget. Thanks again!
Comment #27
tedbowCrossed out github link in summary because it seems patches are more recent.
Also added link to #2834777: Refactor Drupal\system\Plugin\views\field\BulkForm to support a select form as well in the summary so that it is obvious you need to apply this patch too.
Comment #28
samuel.mortensonComment #29
samuel.mortensonJust getting test coverage working for the standalone page, field widget tests are forthcoming. The "with-dependencies" patch includes the two issues this patch depends on, so please only review the "do-not-test" patch if you're looking into this issue. :)
Comment #33
slashrsm commented#2830691: Improve out of the box UI / UX for Media handling from the contrib Media module is related and could be useful.
Comment #34
gábor hojtsy@dyannenova is working on a significantly updated patch for this. (I don't have a way to assign this to her but it should be).
Also we discussed the latest version of that on the UX call today. Here is the recording (very short, just reviewed this): https://youtu.be/LbQis7Va8zg
Comment #35
dyannenovaHere are my updates on top of the dependencies from #29. This includes styling changes for the media library, and interaction changes, like the toggle for metadata, and hiding actions on the main library page until items are selected.
Here's an example of attaching new media through the library field widget:

Work that needs to be done
I've added an example button for adding new media to the top of the library widget, but this needs to be built out to load the form in the modal and lead the user through adding media and back to the library with their newly added item selected.

Right now the core dialog javascript moves the views filter submit down to the bottom of the dialog. For clarity, this needs to be overridden to move the "Apply filters" button back to the header. The text on the "Selected items" button could also be clearer. On the ux call we discussed using "Attach selected media" instead.

Comment #37
webflo commented@DyanneNova: Could you upload the last patch without all the dependencies? Thx.
Comment #38
samuel.mortensonWhy was the local task deriver removed?
And why was the mask removed?
Comment #39
dyannenovaThe local tasks were removed based on one of the ux meeting discussions, where everyone agreed that they should be changed to views filters.
I removed the mask because I couldn't find a case where it was needed. Where is it being used? Is there a reason we can't target only the top level for dragging?
Comment #40
samuel.mortenson@DyanneNova Alright, we'll also need to update MediaLibraryTest as that specifically had coverage for the local tasks.
I found that while re-ordering media items in the field widget using drag and drop, users would sometimes drag the thumbnail image, preventing the default jQuery.ui draggable behavior. You should be able to replicate this by selecting two Media items with thumbnails and re-ordering them while dragging on a thumbnail.
Comment #41
samuel.mortensonComment #42
berdirI think this makes more sense in the media system component, probably the issue was created before that existed?
Comment #43
seanbRerolled since the main patch landed. I tried to create a interdiff for 29-35 and used that for the reroll, uploading that as well. Found a new issue for the main patch #2880199: Revision user not set when saving media which causes this to break. So hopefully we can that fixed asap.
*edit
In the end everything works by the way! The admin/content/media page is a little weird (since you can't seem to do anything like edit or delete media items). But picking stuff from the library looks awesome! Nice work!
Comment #44
idebr commentedEnabling Media library
media-library-with-dependencies-2834729-43.patchresults in a fatal error:Fatal error: Class 'Drupal\system\Plugin\views\field\SelectFormBase' not found in /[...]/core/modules/media_library/src/Plugin/views/field/SelectMedia.php on line 23Comment #45
seanbYou need to apply #2834777: Refactor Drupal\system\Plugin\views\field\BulkForm to support a select form as well first. I guess that patch should be added to the dependencies patch.
Comment #47
marcoscano#44 is right, there was a namespace typo in the base class. The attached patch solves it.
Also, moved the config objects from
installtooptionalto allow easy install/uninstall/install without Drupal complaining that the objects already exist in config.The "-with-dependencies" patch already includes #2834777-17: Refactor Drupal\system\Plugin\views\field\BulkForm to support a select form as well, the other one is the media library patch only.
Comment #48
chr.fritschSo I rerolled this patch and fixed a few coding style issues.
I also added media_library view displays for image and file.
This issue is currently also blocked by #2877383: Add action support to Media module
Comment #49
chr.fritschForgot the interdiff
Comment #51
phenaproxima#2877383: Add action support to Media module is in. Let's give this a re-roll.
Comment #52
jan.stoecklerRerolled patch attached, was well as -with-deps.patch for testing purposes.
Comment #54
jan.stoecklerSorry, git mishap, should be applying now.
Comment #58
jan.stoecklerThis should fix some of the test failures.
Comment #60
jan.stoecklerThese changes fix errors that arise when using more than one instance of this new widget per form, and when those instances are on fields with the same field name.
Comment #62
samuel.mortenson👋Hello everyone - I wanted to give an update on this issue based on the discussions we had at Drupalcon Nashville last week.
The plan right now is to land the MVP in three parts, each committed separately. Those parts are:
All of this work will happen in a separate experimental Media Library module, which will be easy to iterate on in the 8.6.x development cycle. Ideally we would finish all three tasks and then open another issue to move all the code into the main Media module, which would mean it becomes stable in 8.6.x.
I will try to get a patch for #1 uploaded today or tomorrow, either in this issue or a new one. Let's finally get this in!
Comment #63
phenaproximaI concur with the plan outlined above, and have committed myself as the one to review this code regularly in order to keep @samuel.mortenson and other contributors unblocked.
Let's do this.
Comment #64
phenaproximaAlso, I just realized that we're not postponed anymore, so removing that from the issue title.
Comment #65
samuel.mortensonHere's an updated patch based on #60 that removes all Field Widget related code. I also moved our Javascript to ES6, added optional configuration for Audio and Video media, and added a link to view the Media items (I think we forgot about that, and just focused on Bulk Upload :P).
This issue may be too noisy to iterate on this patch, but I wanted to upload it here first to get visibility on it. If core maintainers want a new issue we can make one and carry the issue credit over.
Edit: interdiff-60-65.txt is the real interdiff with #60 (without deps), interdiff-2834729-60-65.txt is a mis-upload. 🤦♂️
Comment #67
samuel.mortensonAttempted to fix test errors.
Comment #68
phenaproximaThis looks really promising.
I've asked @starshaped to review the CSS in various browsers/themes, so I'll tag this for screenshots.
I'm wondering if we should make this a more generic class (and update the CSS/JS to match) so that other parts of Drupal could use the same pattern we're implementing here. Do you think that would be a lot of work? It's a decision we should make now, since changing existing views in update hooks is a nightmare.
Should we add "created time" or "author" filters by default here? Not sure how much is too much.
Why don't we have entity view displays for audio and video media types too?
Why is 'name' hidden in this view display, but not the File media type's?
Couldn't we use toggleClass() here?
Is there any way this could be accomplished with CSS only? I guess the fact that we're changing the parent makes it impossible, but it was worth asking again...
Should we provide an uninstall hook to do the inverse?
"implementation" should be plural.
Follow-up?
Why are we exposing this for every entity? Shouldn't it just be for media items?
I'm wondering if we should prove this with a test, since the JS is heavily class-based. I'm also wondering if it might not be a better idea to use data attributes so that we can wrap important markup in Attributes objects, rather than expecting themes to keep the CSS classes.
Comment #69
samuel.mortensonAddressing #68 -
Comment #70
phenaproximaYes, I'm imagining exactly that, and I imagine it would live in Views. We don't have to put it in Views right now, but let's bear this idea in mind and "groom" it for eventual movement into Views.
I concur. Let's get UX eyes on that.
Sounds good. Please do!
Okay, that sounds like a good compromise.
Comment #72
samuel.mortensonQuick fix for tests.
Comment #73
phenaproximaLooking excellent!
Do we need additional variants of this icon for other color schemes? (That's probably a question for the UX team.)
Let's change this class to something more generic, so that we can (ideally) bring this click-to-select functionality into Views. Any ideas for what to call it? Maybe 'click-to-select'?
Again, to groom this functionality for inclusion into Views, let's rename the plugin now (click_to_select or something like that, or maybe just 'selection').
Same here.
Should this also be made "generic"? If so, something like 'selectable-content' might make more sense.
I will be demoing the library to the UX team today and will ask them about the filters. Specifically, whether we have enough, or should have different ones out of the box.
Why is this dependency here? It's not used in the view display; it's really just a dependency of the media type, no? Can we remove it, or was it automatically calculated?
Same here.
Same here.
And here.
It's SO nice to be able to use flexbox. However, I wonder if we shouldn't make these into generic classes so as to eventually merge this CSS into Views.
I'm not entirely certain we're supposed to size type in pixels. This file needs review from a CSS expert who knows the standard practices for core CSS.
I'm not sure this will have the intended effect (to prevent links in the rendered content from being clicked). If it indeed does, we should prove that with a functional JavaScript test.
Can we use .closest() here, for clarity?
Can't we just check
$input.prop('checked')?I don't think we need this comment. Anything in a JavaScript file will only be taking place if JavaScript is available :)
I think we can prefer .closest().
I think we could use .closest() here too.
Not a big deal, but why do we have the explicit dependency on User?
I believe jquery.once already depends on jquery, so we can remove the explicit jquery dependency.
The test should assert that this link actually appears.
If we're going to move this into core as a Twig function, let's also mark it @internal.
Would it helpful to use data attributes, and/or Attributes objects, for these purposes? Like <div data-media-library-component="preview"> and <div data-media-library-component="attributes"> or something? It might separate the concerns a little more cleanly.
Nit: need a hyphen between "Library", and "specific", e.g. "Media Library-specific".
Let's call assertSession() once at the top of the method and keep re-using the result of that.
Also, can we definitively assert that thumbnails are being displayed and names are not? Additionally, let's assert that bulk actions are present and functioning as expected.
Comment #75
phenaproximaEDIT: Redacted. See #74.
Comment #76
phenaproximaRemoving screenshots for the bug that wasn't.
Comment #77
phenaproximaOpen questions for the UX meeting today:
Comment #78
phenaproximaWe discussed this in the UX call today. The takeaways...
Comment #79
phenaproximaWe discussed this in the weekly Media meeting this morning. We decided to continue this work in a more organized set of child issues and convert this issue into a meta, with an updated issue summary.
Comment #80
phenaproximaWhoops, little typo in the issue title.
Comment #81
phenaproximaSigh, minor typos in the IS.
Comment #82
peterx commentedA question about testing this module along side Media entity browser. Is this module intended as a 100% replacement for Media entity browser? If so, I will track this issue and test the alpha/beta code. If not, which issue is the right one to track?
Comment #83
phenaproxima@peterx, this is not intended to replace Entity Browser at all. It fulfills a bare-bones use case for reusing media, whereas Entity Browser provides infinitely more opportunities for customization. You're certainly welcome to test it, but bear in mind that the media library has a much smaller scope than Entity Browser, and that's by design. :)
Comment #84
phenaproximaComment #85
andrewmacpherson commentedAdding some triage headings for the raodmap: must-have, should-have, could-have. I've filled in a few a11y must-haves, and I hope the main initiative team can update the rest.
Comment #86
andrewmacpherson commentedComment #87
andrewmacpherson commentedre: #78
Massive +1000 from me. That's a really useful thing for accessibility. Not so much for specific WCAG conformance criteria, but a bunch of benefits that are harder to test objectively...
Comment #88
andrewmacpherson commentedI filed #2973162: allow users to toggle between the media library grid and the old table-based list as a could-have.
Comment #90
samuel.mortensonThe Media Library module, field widget, and upload functionality landed! I updated the issue summary with a ton of follow ups.
Comment #91
phenaproximaDowngrading #2987924: Define an API for finding media types based on an arbitrary value from a must-have to a should-have, based on #2987924-24: Define an API for finding media types based on an arbitrary value.
Comment #92
phenaproximaComment #93
phenaproximaMaking this a child of #3007166: [META] Stabilise and/or remove experimental modules as appropriate in/before Drupal 9 per Gábor's request. Also removing outdated information from the IS.
Comment #96
geek-merlinIMHO should-have
Comment #97
geek-merlinIMHO critical bug so must-have. Escalated that issue to major only to not bikeshed over the prio.
Comment #99
phenaproximaComment #100
phenaproximaWhile sprinting on the media library in Barcelona, the team decided to discuss our assumptions regarding the UX and designs, and make them explicit. So here they are, in no particular order:
Overall, we want to build a terrific media library that offers an excellent out-of-the-box experience for relatively simple use cases. Media management is a very complicated problem space, and it's impossible to build something that will please everyone and work for every situation. Complicated use cases, then, will probably need contrib solutions like Entity Browser, and we're comfortable with that; the points above, then, are what we believe constitutes a "relatively simple" use case, and what we intend to optimize for.
Comment #101
feyp commentedI was asked to provide some feedback on this list as well, so here is my take on it from our perspective. I'm of course entirely aware that our customers might not reflect the vast majority of users out there and some might even be very special cases.
The main reasons why our customers want a media library or like the concept, when we suggest it to them, are:
For the last two cases I think that a UX that treats reusing existing media as a second class citizen would be far from ideal. On the other hand it would probably depend a lot on the final implementation.
Especially for the last case, we have some systems where content editors can't add media in the CMS at all. If they want to use new media items, they have to add it to the external asset management system and then search and select it in the CMS.
Another common pattern with very large organizations is, that customers ask to have special roles for editors that can add and update media items. Mostly, this is for policy reasons (maintaining a certain quality or a consistent design/marketing message, ensuring accessibility requirements are met, ensuring the customer has copyright for a media item and it is properly set in the metadata, etc.).
The feedback that we receive from customers, also from medium or small customers that start from an empty system, is, that once they have created a certain number of media items, they tend to be using the select feature more often over adding new items and they like that they can just select an item that's already there without having to upload the files again and filling in all the necessary meta data again. It saves valuable time in the editing process. I have to admit that this depends somewhat on how easy it is to add new items, so it might be mitigated by the ideal UX for adding new items ;).
Another example that comes to mind: Some customers require their editors to use at least one image for every piece of content. Again, there are different reasons for that and you can argue if it is a sane policy or not. However, in those cases the customer usually has a large number of stock images in its media library that they can choose from for content that doesn't come with an image, which is often the majority of content. This is especially true for some of our customers from the publishing industry.
In principal, I agree that adding media e.g. through the field widget should be straight forward and is a very important use case, but I would not differentiate between adding and reusing media. From the feedback we receive from our customers, I think they are equally important and common use cases.
I already mentioned that one before in a discussion with seanb: Especially some of our large customers (think of a federal government agency, the website of a large city, a large academic institution, a large NGO) tend to have a requirement for more than 5-10 media bundles. At the field level this is indeed not a problem since we usually only allow a few bundles per field, but when it comes CKEditor integration, we usually allow to embed any type and the interface has to work with that.
This is something I personally agree with, however we often get feedback from customers large, medium and small that a click on button x is not needed or why do I have to click on this and then on that, wouldn't it be enough to just click on this and then the action is done automatically? Given how often this comes up, it seems that content editors are very sensible to clicks that could be saved, especially if they work with the system for some time. W/r/t media library for example, a regular request of our customers is to just select a media item as soon as a user clicks on it for fields with a cardinality of just 1 item. "Why do I have to click on 'Select'?" is a regular question. When I explain that this is (probably) done to keep it consistent with fields that have a cardinality greater than 1 and it is more clear to users not as familiar with the system, they insist that they want this. "We will mention it during training, it is more important for us to be able to quickly get things done. As soon as a user uses the feature once, they will learn how it works and expect it the next time", etc.
I can 100% agree with the rest of your assumptions, they are in line with how we think our customers are using the system and with the feedback we receive.
I hope this was helpful to you. If I should elaborate on any of the points or you have any questions, let me know.
Comment #102
peterx commentedWhen someone decides to use something extra from media, such as EXIF info, is it intended that they install a replacement for media library or should developers look at creating modules to add on to media library?
Comment #103
bkosborneI don't think I understand this. How would this look practically? If users selected a media item from the library on a media reference field, then that media item becomes "detached" from the library?
Comment #104
peterx commentedWhen someone selects a media item, say an image, and replaces it, every reference will get the new image.
When someone selects a reference and changes it, the reference would point to a difference media item, the original item will remain unchanged, and all other references to the original will continue to point to the original.
what is not defined is what happens when the original is deleted. There would be references pointing to nothing. Presumably there would be a warning about deleting an item before all references to the item are changed. There would also be a list of all references to the item so that you can change or delete all references before deleting the item.
Comment #105
phenaproximaMedia fields are simple entity reference fields -- at the data layer, there is nothing different about them at all. The media library is just a nice interface for them, but they are still standard entity reference fields. So the same thing would happen as when you delete a node or taxonomy term (or any other entity) that is referenced from an entity reference field.
Comment #106
berdirAnd because it is a standard ER field, it means you can use the entity_usage project, which in the latest version, has configurable (per entity type) messages on the edit and delete form that warns users about existing usages.
Some thoughts/questions:
* What is the place of the entity browser project? I don't think media library aims to provide the same extensibility as entity browser does, so there is still a place for that IMHO, e.g. to integrate external DAM systems like we did for e.g. Bynder. Would be really neat if we could update entity browser to benefit from the UX improvements done here. Or do you think the media library will be extensible enough to cover that and entity browser might just become a way to configure it, so similar architecture without the UI to change it?
* You mention a lot of assumptions, the question is whether there will be ways to change them. For example, dropzonejs also doesn't offer any type-detection out of the box, but it does have events which we are using to do exactly that in our distribution.
* I do agree with the library vs local behavior and what affects what, we treat that the same. Question is, how exactly do you plan to achieve per-usage description/alt text? A regular ER field can not handle that, it would need a custom type, actually just like the current image field type which is a reference + per-placement alt/title. Except it is more complex than that, because each media type will have different fields, e.g. a youtube video type will not have an alt text. Also, that isn't really a media library feature as it's actually by definition outside of it :)
Comment #107
seanbAdded a bunch of new issues based on the new designs being created in #3019150: Update/improve mockups and designs for the media library.
Also reevaluated the priority of issues with webchick and phenaproxima. The list is now more or less in the right order.
Comment #108
andrewmacpherson commentedAdded a WCAG level-A issue - #3024184: Make the tabbing order match the visual reading order in MediaLibraryWidget. This has a patch to fix the problem, but it still needs a bit of CSS too.
Comment #109
andrewmacpherson commentedAdding #3023966: Remove unnecessary title attribute from show-row-weights button. as a nice-to-have. That issue is mainly about tabledrag, but the media library widget has a custom version of the show-weights button.
What's the "questionable" category for here? Maybe it belongs in there.
Comment #110
phenaproximaComment #112
phenaproximaRemoving #2987924: Define an API for finding media types based on an arbitrary value from the IS, as it is now closed for good since it was based on outdated assumptions.
Comment #113
phenaproximaAlso updating the ones that are done.
Comment #114
seanbAdded new issues.
Comment #115
andrewmacpherson commentedNew must-have: #3033943: MediaLibraryWidget selected items count is not conveyed to assistive tech correctly. I put a detailed plan there.
Comment #116
andrewmacpherson commentedAdded #3033960: After adding media, return the user to the media listing they started from. A should-have, I think.
Comment #117
dwwAdded #3033442: Use 24 items per page for better responsive grid behavior as a could-have. Simple and small, makes for nicer responsive grid behavior.
Comment #118
phenaproximaAdded a few should-have UX issues to the roadmap.
Comment #119
andrewmacpherson commentedAdding #2973140: Convey AJAX progress messages to assistive technology. as a should-have.
The issue isn't specific to Media Library, however there is a LOT of AJAX going on in in the MediaLibraryWidget. By my count there are at least 3 AJAX behaviours there which can benefit from this: changing tab, changing filters, changing to grid or table.
Comment #120
andrewmacpherson commentedTentatively adding a must-have: #2805219: Some dialogs do not receive focus when opened. This bug isn't actually media library's fault, and it affects dialogs elsewhere. So we can change the status if you like.
We have dialogs in various places in our admin UI, but prior to media library all the instances form part of a site builder task. I asked on Slack, and we believe MediaLibraryWidget is the first use of a dialog as part of a content editor task. (I'm not counting dialogs from CKeditor, as those are a different implementation).
My reason for marking it as a must-have comes down to our value of "prioritize for impact". Content editors outnumber site builders. In a large organization, there can be hundreds or thousands of editors, and a mere handful of site builders. Many users of company intranets may not even know what Drupal is. Smaller organizations may have sites built by agencies, where the site builders are all in the agency, and no-one in the client organization has encountered a Drupal dialog before. The point is the audience for our dialogs is about to increase, and MediaLibraryWidget is affected by this bug, so it has become more important to fix.
Comment #121
andrewmacpherson commentedWe've been doing more accessibility review, and fleshing out #2988431: [Meta] Accessibility plan for Media Library Widget. That issue is already mentioned in the must-haves here. There are many accessibility issues arising from the design updates in #3019150: Update/improve mockups and designs for the media library, notably the tabs in the MediaLibrayWidget dialog. Now the accessibility plan also has some child issues of it's own, which need further triage into must/should/could. I'll bring those over here soon.
Comment #122
andrewmacpherson commentedComment #123
seanb#2996029: Add oEmbed support to the media library and #3033100: Media library field widget styles are broken on initial page load just landed. Yay!
Comment #124
andrewmacpherson commentedA bit more a11y triage. Should have #3035316: ‘Add media’ in MediaLibraryWidget should be a button, not a link
Comment #125
andrewmacpherson commenteda11y triage - I'd like to treat #3016807: Improve refocus on submit buttons of Media Library Widget modals as a must have. Without that, it's a very disorientating for keyboard users and screen reader users.
It's not really addressed by WCAG though.
Comment #126
andrewmacpherson commentedDuring the UX meeting today we discussed an awkward chicken-and-egg problem with #2981044-64: Unify the grid/table views of the media library where we need to fix a level-A WCAG issue, but we have to do it with a template override in Seven (or Classy), and we can't add a template to a core theme until after we have marked media library as a stable module.
So between the product managers (@webchick + Gabor), the media leads (@phenaproxima and @seanb), and myself, we have agreed a special handling of the accessibility gate.
Adding a note about that in the IS.
Comment #127
andrewmacpherson commented#3035994: Add a Media Library views template to Seven theme to change to order of the views header and exposed filters was filed as the follow-up mentioned in #126
Comment #128
phenaproxima#2964790: Move formatting code in TimestampAgoFormatter into DateFormatter refers to code which no longer exists (if it ever did) in Media Library. I think this issue arose from an older generation of the design for the Media Library, which displayed creation dates in the grid of media items. Dates were removed from the UI long ago, due to clutter, so that issue no longer needs to be part of this roadmap. I'm removing it.
Comment #129
phenaproximaThe bug that #2989503: Add tests to prove that the media library widget works when target_bundles is NULL is testing for was inadvertently fixed in #3020716: Add vertical tabs style menu to media library, so I'm going to de-escalate it to "should-have" priority.
Comment #130
phenaproximaMoving a couple of issues into the "done" list. :)
Comment #131
phenaproximaAdding #3037666: Consider renaming the grid display of the media library and #3037668: Improve visual coherence of the media library as could-haves.
Comment #132
seanbAdding some new issues that were created.
Comment #133
seanbAdded some more follow ups and re-ordered the must haves. Also added a group of issues that are blocked on the module becoming stable.
Comment #135
seanb#3037767: Improve responsive styling of grid items in the media library and #3035316: ‘Add media’ in MediaLibraryWidget should be a button, not a link are in. Yay!
Comment #136
phenaproximaMoved #3023801: Allow newly uploaded files to be deleted from the media library without saving them to the "done" list. :)
Comment #137
phenaproximaAnd #3016807: Improve refocus on submit buttons of Media Library Widget modals :)
Comment #138
phenaproximaCrossing #3023797: Let users choose what to do after selecting and/or adding items in the media library off the list! :)
Comment #139
webchick^ That officially marks Media Library "UI complete" for 8.7!! If you haven't given it a whirl in awhile, please do! (Clone from Git, or wait until 8.7.0-alpha2/beta1).
Comment #140
webchickHere's a demo video by @seanB showing off the AMAZING progress!
Comment #141
Christopher Riley commentedSo can we assume that this will be available in 8.7 when released?
Comment #142
phenaproxima@Christopher Riley: In a word, yes. Everything in the demo video will be in Drupal 8.7.0 alpha2 and beyond.
Comment #143
webchickYep, though note that the module is still experimental and not yet stable... targeting that for 8.8.
Comment #144
phenaproxima#3019150: Update/improve mockups and designs for the media library is now marked Fixed, so I'm moving it into the "Done" list.
Comment #145
seanbRemoved #2113931: File Field design update: Upload field. from the must have list. While it is important for the media library, it is not actually solved in the media library module, and can not be a stable blocker imho.
Added #3020907: Avoid horizontal scrollbar in media library dialog when using small viewports to the list of fixed items. This has been solved in #2981044: Unify the grid/table views of the media library.
Removed #2805219: Some dialogs do not receive focus when opened from the list. This has been solved in #3035316: ‘Add media’ in MediaLibraryWidget should be a button, not a link for the media library and the solution has been added to the issue to hopefully help that move forward.
Comment #146
webchickI guess the issue with #2113931: File Field design update: Upload field. being removed from the "must-have" list is that until that's done, the media library does not match the designs. And it's not a little quibbly on-the-margin thing in the designs (like, say, the "X of 5 uploaded" bit) but THE interface through which one uploads new media. :\
Comment #147
effulgentsia commentedThat's true if you interpret the media library to include the interface through which one uploads new media. However,
media_library.info.ymlsays:Which does not include uploading new items.
It's a product management decision as to whether adding new media is sufficiently part of or adjacent to the media library to warrant keeping the module experimental until that's done. But from my perspective, I think it's reasonable to call it stable if everything related to the scope of "finding and using existing media items" is stable.
Comment #148
webchickWell, uploading new things is included in the Media Library directly these days; here's a screenshot from the above video:
We probably need a follow-up to change the module description (and hook_help()?) accordingly.
Comment #149
webchickCompare/contrast with mocks at #3019150: Update/improve mockups and designs for the media library:
Comment #150
webchickAs to whether it's worth blocking... I'm not sure. If it was the only issue remaining, I can see the logic for letting it through as stable, since it's not introducing "new" ugliness. But OTOH, the drop zone is a significant part of the new designs, so seems kinda like shipping a three-wheeled car without it. :\
Comment #151
seanbComment #152
seanbComment #153
seanbAdded #3042407: Add access checking for the passed selection IDs in the Media Library. as a must-have.
Comment #154
seanbAdded the issues related to implementing #2801307: [META] Support WYSIWYG embedding of media entities.
Moved #3023809: Add a selection overview to the media library widget modal to the list of should haves, since this came up a couple of times during the UX and A11Y reviews.
Also added #2113931: File Field design update: Upload field. back to the list of must haves. Even though this is not something that is solved in the media library module, we agree that that having this makes a big difference.
Comment #155
seanbComment #156
phenaproxima#3033653: InvalidArgumentException when adding reference field without Media type has landed!
Comment #157
phenaproxima#3033943: MediaLibraryWidget selected items count is not conveyed to assistive tech correctly landed! Another one bites the dust...
Comment #158
chandeepkhosa commentedI moved 3 completed issues that were crossed out into the `Done` section from other sections to help readability of what's left to do.
Comment #159
phenaproxima#3037668: Improve visual coherence of the media library is in!
Comment #160
phenaproximaAdding #3060603: Live preview is broken when editing the media_library view as a must-have stable blocker. My justification for this is that part of Media Library's flexibility is the fact that it's built around a view, and live preview is very important for customizing that view. If live preview is broken, Media Library is automatically much harder to configure.
Comment #161
phenaproxima#3038350: Deny access to all media library View Displays if there is no valid state object is in. :)
Comment #162
seanb#3035446: Inform assistive tech users about the outcome of using the MediaLibraryWidget dialog just landed. Yay!
Comment #163
andrewmacpherson commentedMaking #2994702: Allow editors to alter embed-specific metadata, as well as `data-align` and `data-caption` and #3023807: Override media fields from the reference field into strong should-haves for this roadmap.
The detailed reasons are in comments 8-10 at #2994702-8: Allow editors to alter embed-specific metadata, as well as `data-align` and `data-caption`.
Comment #164
phenaproximaHeyo! #2990664: Media library does not work when Drupal is installed into a sub-directory landed :) Another stable blocker bites the dust!
Comment #165
phenaproximaSorry -- accidentally moved that to the wrong list.
Comment #166
wim leersRemoving #3019201: Improve UX of the 'Remote video' media type which is now obsolete. Also removing some duplicates.
Comment #167
phenaproximaRemoved #2985168: [PP-1] Allow media items to be edited in a modal when using the field widget from the roadmap after wontfixing it following discussion with @seanB and @xjm at Drupal Dev Days Cluj.
Comment #168
phenaproximaRemoving #3023767: Reuse or build on vertical tabs styling in media library and #2988215: Use #element_validate for the upload element in the MediaLibraryUploadForm from the roadmap.
Comment #169
phenaproximaMoving #2969678: Integrate Media Library with Content Moderation to the must-have list after discussion with @xjm.
Comment #170
phenaproximaRemoving #2973124: Provide better context in accessible names of EntityOperation views plugin drop-button operations from the roadmap. The media library view/widget itself, which is the most author-facing part of the Media system, is not affected by this issue because it does not expose any dropbuttons, and this is a wider problem in core. I'm moving it to the Media Initiative roadmap instead, because it affects that aspect of things much more severely.
Comment #171
phenaproximaMoving to #3003150: Media library causes validation errors when it is used in a required field of a nested form to should-have list per discussion with @xjm.
EDIT: Also removed the item about adding "carousels for multi-value wizardmagick" because, as we recall it, the UX team did not like this idea, and it can certainly be done in contrib.
Comment #172
phenaproximaFollowing a discussion with @seanB and @xjm, I need to update this roadmap with issues that have been created since late March, 2019, which is the last time our queue was properly triaged.
I am adding:
Comment #173
phenaproximaTa-da! #3019202: Rename "File" media type to "Document" is in.
Comment #174
phenaproxima#3044649: Delegate media library selection handling to the "thing" that opened the library is in. Awwww yeah!
Comment #175
phenaproxima#3060603: Live preview is broken when editing the media_library view bites the dust.
Comment #176
seanbAdded the A11Y must-haves to the roadmap for better visibility of the remaining work.
Comment #177
phenaproxima#3035408: Identify purpose of vertical tabs in MediaLibraryWidget dialog for assistive tech users. is in!
Comment #178
gábor hojtsyI just had a quick call with @phenaproxima and discussed what he raised earlier in chat as well. Unfortunately #2113931: File Field design update: Upload field. turned out to be a no-go in terms of implementing the widget as designed. Unfortunately it needs to go back to the drawing board in terms of accessible markup and visual design that goes with it so it looks unlikely to be ready soon. It is my understanding that this is a massive UI improvement but it does not degrade accessibility or other requirements to not have this feature update in place. So while I would really love to have this UI improvement in, it sounds unrealistic to hold the stability of the whole of media library to this pre-existing UI component issue. That said, I support moving the successors of that issue to the top of the should have list from the must have list.
Comment #179
phenaproximaThanks, Gábor. Fixing the issue summary as agreed.
Comment #180
phenaproxima#3038254: Delegate media library access to the "thing" that opened the library is in, completing #2983179: [META] Implement stricter access checking for the media library. All RIGHT!
Comment #181
phenaproximaAdded two more must-have WYSIWYG issues to the IS.
Comment #182
phenaproximaRemoving #3039829: Remove link to media item from media library view. from the should-have list; it is a must-have and is listed as such.
Comment #183
phenaproximaAdding #3059955: It is possible to overflow the number of items allowed in Media Library to the should-have list, since it is a major UX bug; adding #3065677: Create a media_library form element to the could-have list, since it'd be a lovely feature for DX.
Comment #184
seanbWe landed #3039829: Remove link to media item from media library view. so that means the meta issue #2988431: [Meta] Accessibility plan for Media Library Widget now only contains should-haves and could-haves.
Comment #185
andrewmacpherson commented#184:
The a11y plan still has some points listed as "needs triage". Now that the a11y is much further along, it would be good to do another triage pass over that list, just in case we missed any must-haves.
Comment #186
phenaproxima#2940029: Add an input filter to display embedded Media entities landed; that's one step closer to WYSIWYG support in core!
Comment #187
seanbAdded #3063216: Inaccessible Media entities still have rows generated for them in the Media Library view, containing form wrapper markup *and* the media label.
Comment #188
phenaproxima#2994696: Render embedded media items in CKEditor is in! Adding #2994702: Allow editors to alter embed-specific metadata, as well as `data-align` and `data-caption` to replace it.
Comment #190
phenaproximaAdjusting the issues linked the IS per product manager feedback in #2801307-94: [META] Support WYSIWYG embedding of media entities.
Comment #191
phenaproximaAdding #3077756: Improve description of the Media Embed filter as a stable blocker.
Comment #192
oknateRemoving #3077756: Improve description of the Media Embed filter as Must-have, as it's been decided to fold that back into #2994702: Allow editors to alter embed-specific metadata, as well as `data-align` and `data-caption`.
Comment #193
phenaproxima#3055516: Notice: Undefined index: target_bundles when new reference media field created is in!
Comment #194
phenaproxima#2994702: Allow editors to alter embed-specific metadata, as well as `data-align` and `data-caption` is in as well!
Comment #195
chris matthews commentedIs there any chance that #2998713: Add a media source for remotely hosted files could be categorized as a "Could-have" or "Should-have" issue?
Comment #196
effulgentsia commented#3063216: Inaccessible Media entities still have rows generated for them in the Media Library view, containing form wrapper markup *and* the media label no longer blocks #2969678: Integrate Media Library with Content Moderation. Therefore moving it from the "Must-have" to "Questionable".
AFAICT, #3074608: Optionally allow choosing a view mode for embedded media in EditorMediaDialog is now the last child of #2801307: [META] Support WYSIWYG embedding of media entities that needs to block Media Library from being stable, so simplifying this issue's must-have list to just reference that one and not the meta.
Comment #197
effulgentsia commentedTrying #196 again. I copy/pasted the wrong issue numbers in the IS, so reverted that and trying again.
Comment #198
effulgentsia commentedPer discussion with @webchick, updating the first must-have to an either/or.
Comment #199
xjmI moved #3063216: Inaccessible Media entities still have rows generated for them in the Media Library view, containing form wrapper markup *and* the media label to the should-haves. Even if it's no longer blocking a must-have, it's still an ugly, user-confusing bug.
If we could see some more of the accessibility should-haves fixed, that would be good -- a long list of unresolved major issues is "significantly increasing technical debt". I suggested reaching out to accessibility contributors for top priorities or low-hanging fruit that would be particularly helpful.
Comment #200
rainbreaw commented@xjm, I've reviewed everything in this and the #2988431 Accessibility Plan, and my thoughts regarding the priority of remaining accessibility concerns are:
Top priority:
Can be demoted somewhat if needed:
These appear to no longer be an issue:
Unsure:
For this one, I'm unsure if it is really something that should be done, or at the very least it may need more deliberation as to how it will be implemented.
It depends:
Drag & Drop
While this is a should have from an overall user expectation standpoint, from an accessibility standpoint, in my mind, it isn’t. However, if the drag and drop element is implemented, then making sure that it is accessible to non-sighted and keyboard-only users is a must-have, not a should-have. In this case, this can simply mean bypassing the drag and drop interaction points entirely and moving a keyboard only user to the clickable upload button.
Comment #201
gábor hojtsy#3081587: Multilingual content is shown double in the media library view was found by @webchick and @shaal, it would be really odd to mark media library stable without a way to resolve that, since even Umami could not use it yet.
Comment #202
andrewmacpherson commented#200
It's already listed on the media library accessibility plan as a could-have. I don't think it can be demoted any lower, short of ignoring it.
Comment #203
shaalAdded #3081587: Multilingual content is shown double in the media library view to must-have, per #201
Comment #204
xjmI added #3081526: Add announcement after clicking 'Save and select' in the media library. to the should-have list based on #200. I also moved that and #2973140: Convey AJAX progress messages to assistive technology. to the top of the should-have list with a note.
Thanks @rainbreaw and @andrewmacpherson!
Comment #205
xjmThis morning I went through all the Media Library issues that are new since we last triaged the queue back in June. Of those issues, the following don't appear yet on the roadmap above and need to be triaged (mostly followups to the CKEditor work):
Data integrity and upgrade path
Public or internal APIs and BC
Performance and cacheability
Accessibility
Usability
Other
I've not read through all the above issues as yet, just wanted to document that these are what's not already been triaged. Many are probably just could-haves.
Edit: Sorted the issues into some categories.
Comment #206
xjmI filed #3082690: Mark Media Library as a stable core module for the final step of actually marking the module stable once the must-haves are done. I've also added #3072319: Determine the scope of default styling for embedded media (what belongs in Classy, Stable, etc.?) to the must-have list since this directly affects what that patch will actually contain. These things don't actually change the scope of the roadmap in any way, but best not to forget about them until the last minute. :)
Comment #208
xjmShuffling the IS to clarify the "todo after module is stable" stuff. Those issues should have RTBC-like patches available and probably should all be committed together as part of the issue to mark the module stable (rather than as followups).
Comment #212
xjmAdding a "needs triage" section as per #205.
I also notice #2983179: [META] Implement stricter access checking for the media library was reopened the day it was marked fixed, so moving that one back to the "needs triage" section as well.
Comment #214
xjmSorting the should-haves so the list is less overwhelming, and also moving #2981105: Media Library should not modify the media view to needing triage as an upgrade path issue.
Comment #216
xjmMoving one un-triaged accessibility issue up to the should-haves, and recategorizing another that's actually more of a generic UX issue. (There is, of course, overlap.)
Comment #217
xjmMoving a wontfixed issue to the end, and also adding an issue that was reopened for update hook numbering to the ones we need to triage.
Comment #218
phenaproximaAdding #3083090: In the media library, announce the type of media being selected (follow-up of #3035331: Improve keyboard focus behaviour of vertical tabs in MediaLibraryWidget) as an untriaged accessibility issue.
Comment #219
bnjmnmAdding #3037781: Accessibility problem with invisible buttons in AJAX dialogs to the accessibility issues. Currently the dialogs have invisible submit buttons that can still be accessed via tab navigation. This is in could-haves of #2988431: [Meta] Accessibility plan for Media Library Widget, but it becomes more of a problem when there are multiple submit buttons such as "Save and Select" + "Save and Insert", which causes two phantom tabstops. Plus, it's (probably?) an easy fix.
Comment #220
xjmAdding #3063216: Inaccessible Media entities still have rows generated for them in the Media Library view, containing form wrapper markup *and* the media label itself back to the roadmap for further triage of the security requirements, I've been told #2969678: Integrate Media Library with Content Moderation is intended to mitigate some of this, so the patches need to be tested together to endure there is no information disclosure regardless of whether or not Content Moderation is enabled. Thanks
Comment #221
phenaproxima#3035331: Improve keyboard focus behaviour of vertical tabs in MediaLibraryWidget is in; removing from the should-have accessibility list.
Comment #222
xjmAdding some link fragments to the IS.
Comment #223
xjmComment #224
xjmTriaging #3063343: Make MediaLibraryState implement CacheableDependencyInterface to remove the need for hardcoding a cache context to could-have only based on updates on that issue. Thanks @Wim Leers!
Comment #225
xjm@phenaproxima and I discussed #2981105: Media Library should not modify the media view and agreed it is a must-have due to the impact on site data integrity and upgrade paths.
Comment #226
xjm@phenaproxima made #3061783: Improve MediaLibraryState's dependency injection model a could-have.
Comment #227
xjmComment #228
xjmAgreed with #3074863: Improve the UX of captioning in CKEditor @phenaproxima that this issue is a could-have, because the behavior is also the same for existing issue buttons and we should improve the interaction and UX of both!
Comment #229
xjmWe made #3074859: Add a button to remove an embedded media item from the editor a could-have because it is a feature request and we are not actually sure whether it's the correct solution. Good to research after stable if needed.
Comment #230
xjmWe made #3072323: Add consistent default margins for left- or right-aligned widgets in CKEditor a could-have since it is a refinement to the presentation of CKEditor embeds and can be improved after stable.
Comment #231
xjmComment #232
xjm@phenaproxima and I moved #3072317: CKEditor embedded media previews do not render with attached assets to could-have (it might be a wontfix).
Comment #233
xjm#3071713: Make error messages for embedded media themeable seems like a feature request that can be done after stable, so @phenaproxima and I moved it to could-have.
Thanks everyone!
Comment #234
xjmComment #235
effulgentsia commented#3074608: Optionally allow choosing a view mode for embedded media in EditorMediaDialog landed, so moved it to Done. And therefore, moved #3078287: Constrain the width of aligned images, media, blockquotes etc to a max of 75% to "Should-have".
Comment #236
effulgentsia commented#235 only did a copy, not a move, so this does the deletion.
Comment #237
phenaproximaMoving #3075593-6: Allow MediaEmbed filter to use data-langcode to set media translation to the could-have list per Gábor's feedback. It feels like a feature request that falls outside of the 80% use case and can introduce substantial additional complexity.
Comment #238
phenaproxima#2969678: Integrate Media Library with Content Moderation landed, and the requested follow-up for #3039829: Remove link to media item from media library view. is filed and RTBC, so I'm moving these issues to the "done" list.
Comment #239
phenaproximaAlso moving #3063343: Make MediaLibraryState implement CacheableDependencyInterface to remove the need for hardcoding a cache context, which landed a couple days ago.
Comment #240
phenaproxima#3059955: It is possible to overflow the number of items allowed in Media Library was promoted a critical must-have issue, so I'm removing it from the "should-have" list.
Comment #241
phenaproximaWhoops, sorry! Moved the wrong thing.
Comment #242
xjmI moved #3076773: Edit Media button within WYSIWYG should include media label for screen readers to should-have based on discussion with @rainbreaw and @andrewmacpherson. Thanks for the reviews!
Similarly, given @andrewmacpherson's feedback on #3083090: In the media library, announce the type of media being selected, I am moving that one to could-have.
Comment #243
xjmOh and moving CM to fixed!
Comment #244
xjmAlso moving down a few more fixed issues.
Comment #245
xjmI moved #3073734: Immediately delete a media's file when pressing 'Remove' in the media creation modal to must-have based on Adam's explanation. Fortunately it's already RTBC -- Adam seems to have anticipated my train of thought there. :)
Comment #246
xjmBased on Adam's update in #3073535: Allow only a subset of the media library to be exposed to CKEditor, that issue can be considered a could-have and a feature request or usability improvement. Moving accordingly.
Comment #247
geek-merlinAFAIK, media library is as agnostic to attachments as entity_embed. So #3084312: Make (embedded entities') JS work inside CKEditor and #3084322: Leverage (server-side-ajax) JS logic for client-side AJAX may be useful here too.
Comment #248
xjmAdded #3063216: Inaccessible Media entities still have rows generated for them in the Media Library view, containing form wrapper markup *and* the media label to the must-haves as per #3063216-32: Inaccessible Media entities still have rows generated for them in the Media Library view, containing form wrapper markup *and* the media label.
Comment #249
wim leers#247: there are very very strong and already documented reasons that should not be done.
Comment #250
geek-merlin@wim: That's harsh without any pointer for me to make sense of. Imho you strongly advocated just that in #2882866-8: Provide a preview display setting for use in WYSIWYG editors, improves authoring ergonomics "Then let's just make that JS load inside CKEditor!" so i put some work into this, now i'm quite disappointed you react like this. Can you give me a pointer to what you mean? I surely don't want to bark up a wrong tree, nor put more work into a misunderstanding.
(Also i surely don't want to distract the 8.8 final sprint, just had the opportunity to work on something that i thought is useful later.)
Comment #251
wim leers#250: oh, the issues you linked are newly created by you, the title of the first issue you linked is very close to an issue we fixed & closed months ago. So I thought you were linking to that and ignoring the detailed, long conversation in there. Apologies! 😞
I I see you did comment on that issue last night, but I suspect you haven't read it yet. I replied to your first issue at #3084312-3: Make (embedded entities') JS work inside CKEditor — let's continue the conversation there 😊
Again, my apologies — I confused two issues because your title immediately made me conclude (wrongly, obviously!) that you were just pointing to an issue that I'd already spent countless hours on. A pointer was not necessary … if I hadn't mixed up issues 🙃 Sorry about that!
Comment #252
geek-merlin#251: OK, thank you for clarifying that immense misunderstanding., no hard feelings left.
I'll immediately read that issue though...
Comment #253
xjmAdding #3055648: Frequent random fail in \Drupal\Tests\media_library\FunctionalJavascript\MediaLibraryTest to the should-haves. It's not a must-have because it has no impact on production, and the test is equally disruptive for the development process regardless of whether the module is beta or stable.
Comment #254
phenaproximaPer #3072319-16: Determine the scope of default styling for embedded media (what belongs in Classy, Stable, etc.?), that issue is no longer valid and should therefore be removed from the must-have list. Not sure if #3071713: Make error messages for embedded media themeable is now a stable blocker, but it is surely a should-have at this point because, although it is technically a feature request, it has some front-end framework implications. I'll leave the release managers to decide if it is a must-have.
Comment #255
phenaproxima#3072279: Stop generating align-* classes for preview in DrupalMedia CKEditor plugin and #3081523: Improve the focus behaviour after clicking 'Save and select' in the media library. are in!
Comment #256
phenaproxima#2981105: Media Library should not modify the media view is a current critical in HEAD and is a must-have stable blocker; removing it from the should-have list.
Comment #257
phenaproximaEDIT: Fixed a mistake I made in the previous comment.
Comment #258
phenaproxima#3063216: Inaccessible Media entities still have rows generated for them in the Media Library view, containing form wrapper markup *and* the media label is currently a must-have stable blocker; removing from the should-have list.
Comment #259
phenaproxima#3073734: Immediately delete a media's file when pressing 'Remove' in the media creation modal is in, so removing from the "must-have" list. Another stable blocker bites the dust! (Queue the funky bassline.)
Comment #260
phenaproxima#3076773: Edit Media button within WYSIWYG should include media label for screen readers just landed. A high-priority accessibility issue!
Comment #261
phenaproxima#3073535: Allow only a subset of the media library to be exposed to CKEditor is in. 'Twas only a could-have, but still, a nice feature!
Comment #262
bnjmnmMoved #3062375: Media library item loses focus when hovering over item's title to should-have. Confirmed it is a bug, and fortunately already have a patch for it.
Comment #263
phenaproxima#3034244: Add a cancel or back button to the media library was closed by @webchick; she doesn't think it is relevant anymore, given the work that has gone into Media Library since that issue was filed. So, moving it to the very end of the "done" list. :)
Comment #264
phenaproxima#3037781: Accessibility problem with invisible buttons in AJAX dialogs is in! That list of accessibility should-haves is looking miiiighty slim. :)
Comment #265
wim leers#3071713: Make error messages for embedded media themeable also landed.
Comment #266
wim leersAnd #3081233: The default display for new media types should only show the source field just now, too.
Comment #267
wim leersHard to keep up here — #3062375: Media library item loses focus when hovering over item's title just landed too 💪
Comment #268
wim leersFollowing @phenaproxima's example in #263 with #3075593: Allow MediaEmbed filter to use data-langcode to set media translation, which was closed a week ago.
Comment #269
andrewmacpherson commentedRecently filed, adding to must-have: #3085935: Media library "select all" button announcement is reversed
Comment #270
phenaproxima#3081357: Media alignment mismatch between the WYSIWYG and rendered media -- drupalmedia.js shouldn't convert data-align properties when Filter Align disabled was closed as outdated, so I'm removing it from the "needs triage" list.
Comment #271
phenaproxima#3085935: Media library "select all" button announcement is reversed is in, yay! #shipit
Comment #272
phenaproximaComment #273
bnjmnmAdded the IE bug #3085908: Media library thumbnails are blurry/skewed in IE11 to should-have.
Comment #274
phenaproximaI am sorry to say that due to changes in the direction of #2980769-18: Move Media Library styles into the Seven theme, #3049943: Media library should not use js- prefixed CSS classes for styling has been escalated to a stable blocker.
Comment #275
phenaproxima#3003150: Media library causes validation errors when it is used in a required field of a nested form made it!
Comment #276
phenaproxima#3049943: Media library should not use js- prefixed CSS classes for styling is now a must-have; removing it from the should-have list.
Comment #277
phenaproxima@alexpott committed #3049943: Media library should not use js- prefixed CSS classes for styling, so that unblocks the remaining must-have front-end issues. 🤪
Comment #278
phenaproxima@larowlan committed #2981105: Media Library should not modify the media view! 🎉
Comment #279
seanb#3081587: Multilingual content is shown double in the media library view just landed as well. Yay!
Comment #280
phenaproximaComment #281
phenaproximaAnother day, another dead Grendel (#3063216: Inaccessible Media entities still have rows generated for them in the Media Library view, containing form wrapper markup *and* the media label). No bug can prevail against me and my mighty code warriors!
Comment #282
phenaproximaMoving #3035994: Add a Media Library views template to Seven theme to change to order of the views header and exposed filters to the "done" list, because it has been merged into #3082690: Mark Media Library as a stable core module.
I'm also removing this bit of info that was originally added by @andrewmacpherson:
I'm removing it because it is no longer valid. #3035994: Add a Media Library views template to Seven theme to change to order of the views header and exposed filters fixes the WCAG violation, and it's going to be committed at the same time and in the very same patch as the one that will make Media Library a stable module. So we are not "mark[ing] a stable module with a level-A WCAG focus order failure"; we are fixing the failure at the same time as we commit the module.
Comment #283
phenaproximaAlso moving #3038489: Add a Media library views template to Seven theme to add wrapper around the grid rows into the "done" list, because it too has been merged into #3082690: Mark Media Library as a stable core module.
Comment #284
phenaproximaAdding #3087206: Perform further Media Library documentation polishing as a should-have, per @webchick's request.
Comment #285
phenaproxima#3055648: Frequent random fail in \Drupal\Tests\media_library\FunctionalJavascript\MediaLibraryTest is in; what a relief! 😅
Comment #286
phenaproximaAnd then...
...and then, there was One. Stable. Blocker. Left.
Moving #2964789: Document the Media Library module to the "done" list.
Comment #288
phenaproxima#2980769: Move Media Library styles into the Seven theme is done.
So...there are no more stable blockers.
Let's do this.
Comment #289
rainbreaw commentedInformational: I've been creating issues based on the NVDA walkthrough we did for Media Library, which can be seen in-context with notes linked from the agenda for the walkthrough: https://docs.google.com/document/d/1cvlrRb2sedV_jajLkw0YsJyxMxJ8HoqqFyvk...
I've been marking these as 8.9.x-dev, as these are not stable blockers.
Comment #290
phenaproximaRestoring accidentally blown-away changes to the issue summary.
Comment #291
xjmUpdating to list #3087456: Move some representational classes in Media Library to Classy and others to Seven and/or Claro, as appropriate as part of the required scope to mark the module stable.
Comment #292
xjmMoved #3073901: Determine an upgrade path from CKEditor image button to media library to #2825215: Media initiative: Roadmap as a standard profile blocker/upgrade path issue related to the file/image migration generally.
Comment #293
xjmBelatedly moving all the "triage needed" issues to should-haves based on the feedback that was previously provided.
Comment #295
xjmComment #296
xjmAdded the Media Library issues filed since the last triage, for what should hopefully 🤞be the final triage. (Roughly half are the accessibility issues from the recent walkthrough and subsequent testing.)
Comment #297
xjmThe following issues already listed as "should-have" are filed as normal issues:
For the most part, if something is considered a "should-have" prior to marking the module stable, that means it's probably major. So, for the above, we should evaluate whether each issue should be promoted to major, or whether it's no big deal and can actually be demoted to could-have. (Having issue priority set correctly is one of the things we look for when evaluating a feature's technical debt prior to marking it stable.)
Thanks!
Comment #299
oknateHere's a minor issue that affects the media library post update comment: #3087184: Update.php comments display improperly due to poor usage of str_replace.
This comment:
Gets converted to this when displayed to the user:
8705 - Sets admincontentmedia to the table display of the 'media' view.Comment #300
andrewmacpherson commentedFollowing #289 - I also looked through the list of issues arising from the NVDA walkthrough. I agree with Rain that most of these are not stable blockers.
However there are two issues which I would class as major, because they both relate to WCAG "Error Identification" at level A.
Typically we've been treating level-A as major/must-have, and level-AA as normal/should-have. I'm aware that we are SO close to marking Media Library as a stable module, and these were only filed at the eleventh hour prior to alpha week. Treating them as must-have stable blockers will throw a serious spanner in the works (and will be very sad).
The release managers have previously indicated that accessibility bugs are eligible for inclusion after marking a core D8.y.z-alpha release. I'm open to treating these as strong should-haves, if the initiative team can keep working on them up to RC, say.
Note that the scenarios for these two bugs are similar; I suspect they may both need the same fix.
@cboyden's team should get an issue credit when we mark it as stable, for the screen reader walkthrough testing they did. (TODO, find out if the others have d.o accounts.)
Comment #301
phenaproximaI can't speak for the rest of the initiative team, but I'm certainly willing to work on these (and coordinate work on them) for fixing during alpha and/or beta. They also seem to me like they might be the same issue, and possibly even a pre-existing condition in core, so I agree that they should not block stability.
Comment #302
andrewmacpherson commentedI would relate these two "error identification" WCAG level-A issues in #300 as higher priority than the ones that were previously marked as top priority should-haves (which are an advisory technique for level AA "status messages").
Comment #303
cboyden commented@andrewmacpherson, team members who worked on the walkthrough and have drupal.org accounts are myself and @annagaz.
Comment #305
xjmAdding some (incomplete) issue credits, to make sure the accessibility reviewers are credited for helping to develop the roadmap as per #303.
Comment #306
phenaproxima#3085908: Media library thumbnails are blurry/skewed in IE11 is in.
Comment #307
phenaproximaRemoving #3085532: Media Library Always allows creation of new references from the triage list, because it is a duplicate of an existing issue (already in the roadmap) and has been closed as such.
Comment #308
phenaproximaRemoving #3085254: [PP-1] All displays of the administrative media overview should be in a single view from the triage list. I have closed it as outdated, as the problem which originally gave rise to it has been resolved cleanly in another issue.
Comment #309
phenaproximaRemoving #3085545: title attribute still not added to oEmbed iframe from the triage list because it has nothing to do with Media Library. The feature and code in question lives entirely in the Media module and always has.
Comment #311
phenaproximaRemoving #3087613: cannot use Enter when doing quick-edit on a media-field from the triage list. As far as I can tell from the steps to reproduce and from the demo video, it has nothing to do with the media library.
Comment #312
phenaproximaRemoving #3082036: Move functionality of the Meta position module into core from the triage list. As far as I can tell, it is a feature request that has nothing specifically to do with the media library.
Comment #313
phenaproximaMoving #3084558: Reconsider default grouping label for Media fields for screenreader clarity to the accessibility triage list.
Comment #314
phenaproxima#3087456: Move some representational classes in Media Library to Classy and others to Seven and/or Claro, as appropriate is completed and has been merged into the patch being built in #3082690: Mark Media Library as a stable core module.
Comment #315
phenaproximaRemoving #3087533: In the media library selection modal, help the user identify if they they have already selected/added an item from the triage list, because I consider it a duplicate of #3041147: Preserve the selected items across multiple uses of the media library, which is already in the roadmap and has a longer history.
Comment #316
phenaproximaRemoving #3034243: Improve selection text in Media Library from the should-have list, and replacing it with #3087389: When selecting media to add through the media library modal, the # of # selected text is contextually confusing, especially if read by a screen reader from the triage list. The latter issue has a more detailed summary that covers the accessibility implications of the problem, and neither issue has had much work done on it.
Comment #317
xjm@phenaproxima and I just did a quick review of the issues filed in the past few weeks. Here is a rundown:
We think these accessibility issues are major:
These issues are more normal/could-have:
Most of the non-accessibility issues left are also normal/could have:
These issues are feature requests:
Let me know if I have the priorities set incorrectly on any of those accessibility issues. Thanks!
Edit: Forgot to mention, I asked for #3087126: Media Library "select all" checkbox does not have proper margin in RTL styling to be added to #3082690: Mark Media Library as a stable core module.
Comment #318
xjmI also read over the issues @phenaproxima filtered out in the previous comments and agree in each case. Thank you!!
Comment #319
phenaproximaResponding to #297, and three more:
Comment #320
xjmThanks @phenaproxima. I promoted the majors and sorted the normals down to could-have.
Comment #321
dww#3085908: Media library thumbnails are blurry/skewed in IE11 was reverted, moved back to 'Should have'.
Comment #322
phenaproximaMade some changes:
Comment #323
phenaproximaRemoving #3071682: The oembed Resource value object should be more permissive for NULL dimensions from the roadmap. It is not related to Media Library at all; the relevant code lives in Media and always has.
Comment #324
phenaproximaRemoving #3087184: Update.php comments display improperly due to poor usage of str_replace from the roadmap. Although it is a minor nuisance and is exposed by one of Media Library's update functions, it is a bug in the update system and not specific to Media Library at all.
Comment #325
andrewmacpherson commented#3084011: The source of alt text in embedded image media is not clear has major priority, but was un-triaged here. Discussed it with @phenaproxima.
Comment #326
phenaproxima#3084011: The source of alt text in embedded image media is not clear has the "major" priority, so it is a should-have. :)
Comment #327
xjmMoving a couple accessibility majors up from the triage section as per #317.
Comment #328
xjmAlso moving around the rest of the triaged a11y issues as per #317 and subsequent comments.
Comment #329
xjmTrying to be parsimonius with my IS update comments because we're about to hit two pages again.... I'm updating the IS as per #317 still.
Comment #330
oknateMoving #3082690: Mark Media Library as a stable core module under the done section.
Comment #331
oknateCan we get this issue triaged into the IS list? #3092795: [regression] Restore styling for embedded media edit button in Seven theme
If we can't get this into 8.8, it would be good to add it to a release note or something so people don't bang their heads against the wall wondering where the pencil went.
Comment #332
chris burge commentedAdded #3117172: Allow CKEditor styles for <drupal-media>
Comment #334
wim leersI'm concerned that lots of people are adding lots of 1–5% desired features (unrelated to accessibility/security/performance!) and hence blocking this from getting Media enabled by default in Standard.
Comment #336
phenaproximaMedia Library has been a stable core module since Drupal 8.8, and therefore I think it's time to close out this issue in favor of #2825215: Media initiative: Roadmap. I've moved all the outstanding issues in this issue's summary to that meta.