 Good having a good Drupalcon Fantastic We've got a few minutes a couple of minutes before this starts So we'll let some people come in and then we'll we'll get rolling Yeah, yeah, I think I'm good. Yeah. Oh, okay. Cool. Okay. I appreciate it Yeah, if there are any open seats next to the walls, please try to slide down So people can can sit in the back or just hang out on the floor. Whatever Whatever works. Let's get rolling so if you're here, you're here obviously for the media module and The title of the talk is media module in core and setting up a Drupal 8 media library So I'll introduce myself. My name is Shane Jeffers and I am the director of front-end development at the brick factory and We are a Washington, DC base digital agency with that does digital campaigns for advocacy groups stuff like that and You can see that's my Twitter and the company's Twitter so you guys can follow me there or the company as well in my email You can't hear this So I'm gonna skip it sadly Sadly, I know that's my son and the video slurries, but the audio only comes out of the little projector And it doesn't quite do it justice. So but actually if you go to this the slides here I believe that the video should work. So if you can play it later on your device, it's it's funny Yeah, so here the slides Shane Jeffers comm for slash triple con dash 2018 Should be able to access that there. All right. Can I move on cool? All right, so here's what we're gonna talk about We're gonna talk about life before media. I'm gonna do a little bit of a history of Where we're coming from Before triple before media was in core. We're gonna talk about the media initiative Briefly, we're gonna talk about the inclusion of media in core And some contrived modules that you can use to extend what core gives you currently We're gonna talk about cropping some images and then we're gonna Also talk about organizing media with entity browser widgets. All right, so life before media Just read this just read this and see if you know, it's something that you've Seen before I Still I have a co-worker. I don't know if he's here right now But he doesn't want to use the media module and he's okay with uploading 500 images And keeping them all in the file system But obviously clients are like what that doesn't make sense and in most CMS is this is not how it's done So we're gonna we're gonna move on and let me jump and show you Basically what you get out of the box So this is a Drupal 8.5 install We're gonna go basically at a page here Super fancy and I have an image field whoo It's looking good already All right, there's one of my son There's gonna be a theme with my son here on this because he's a 20 months old and that's pretty much my life other than Drupal Okay, so that was pretty amazing right We have a standard image field one thing that did get added to the core image field type in In core is the ability to upload multiple images the Formatter actually looks the same on the front end, but there's a little tiny little text underneath it saying, you know You can upload an unlimited number So you can do that and that's new in core But that's basically it. That's what you get out of the box even in 8.5 so Let's talk about why that was awful It's not reusable remember Jim and the client You can't add metadata to it. The only thing you can really do is add alt tags Text and there's no support for remote video YouTube Instagram any anything anything like that And I think this is intentional. It was an intentionally simple for core So what do we do about it? We got a we got to fix it So a bunch of smart Drupal guys, I'm sure maybe some of them are even in this talk got together and And by guys I didn't mean males. I mean peeps So yeah, so they got together and realized. Hey, how can we make this better? How do we make this? Something that the client is gonna one of is gonna enjoy using and it's intuitive so they came up with a set of goals and Kind of what we just talked about in the last slide It's reusable media being able to upload an image one time and Access that image from anywhere within the system Adding fields and metadata just like you would a content type Maybe that's taxonomy. Maybe that's referencing another node whatever that is I want the ability to be able to add extra metadata to my media items Oh embed support, which is basically Remote media so it's a it's a protocol that will You basically you can put in a URL to Let's say YouTube or Instagram and it passes you back a JSON object where then you know You have access to the HTML to the username to all of this great information that then we can use to embed directly Into into the Drupal site Whizzy wig embedding we want to be able to take those media items that we uploaded and Put them into our whizzy wig and Another goal. I think this one is further in the future or actually scheduled for eight six I think but is a full-featured media library so Contribute to the rescue right so I don't know if any of you guys have heard of it, but a media entity which is Basically the successor to the media module in Drupal 7 It was written to Basically Media module was very heavy the in Drupal 7 it it forced you into a lot of things that you maybe you didn't want So what media entity did in Drupal 8 was give you kind of some of that control back? it makes it makes Fieldable entities, so you can create them just like content types add metadata there so that's really cool and They are basically the equivalent of content types. So it's just like a regular entity in Drupal a media type is what we call a media item or a node per se And The important part here is that media types make use of source plugins. So that is how Drupal defines how the data is stored. So you could have an Instagram Media type for example and the source plugin itself says Go go out to Instagram get that information back But put the title here in this field put the image in this field so it's it dictates how that data is stored So that's going to be different depending upon the media type. So it's a one-to-one relationship For example, you're going to get different data back from YouTube that you're going to get back from Instagram. So the source plugins are really neat so the fact that Almost everything that media entity can trim module did aligned Very well with with the media initiative goals. It just made sense to Port that into core. So they didn't do a direct port. I don't believe but they made some API changes and they ported the main core module I'm sorry the main core API into Drupal core So in core it was renamed to media. So it's no longer media entity And there is an upgrade path from media entity can trip Which was basically 8.3 and below There wasn't there's an upgrade path that you can check out on Drupal.org and Yeah most provider modules so provider modules like Instagram video embed field things like that media entity Twitter Those are provider modules and they were originally sort of like a four integrated with the contrived module So they now most of them all have a secondary branch that you can use Like a 2x branch that you can use to Work with the media module in core So when you're downloading these and testing these you want to make sure that you're paying attention to Which version that you're downloading because it could be incompatible if you grab the wrong one The other thing is the fact that there's an upgrade path in place means at this point, it's Recommended that you move away from media entity contrived Because it's going to go by by relatively soon All right demo time you guys got your popcorn All right, so the requirements for this demo there are a few other ones, but I just wanted to touch on some of the highlights Drupal 8.4 plus You have entity browser entity embed Media entity browser drops on JS image crop widget the video embed field and The media entity Twitter. All right, I'm actually gonna skip out here. Okay, so the first thing we're gonna do is I Showed you what you get out of the box without enabling media entity you have image fields just like a standard Drupal site so we're gonna jump in and enable the media module I tell you know like like my demo just like blew up right before this so I'm you know, I'm saying a prayer All right, so All right, so now what we're gonna do is go into the content type and we're gonna add a media field Which is basically an entity reference so I'm gonna go ahead and remove My image field here because we don't need that Any longer, so I'm gonna go in and select a new field. I'm gonna choose media Call it media There's also a note here, which is is good to note below Where I'm selecting the field it tells you that? Media is What you should use to reference these other types so as you can see in this drop-down there's an image Reference to but that's a that's a reference to the the standard image field So you don't want to you don't want to use that so it's good to check that out We're gonna set an element an whoo an unlimited Number of values so we can upload multiple images and we're going to select the media type So these are the media types that come default with with Drupal 8 It and the media module if it's enabled So you've got audio file image video Just keep in mind that these are all local So we're gonna save All right, so now let's go back to our page That we created super fancy we're gonna scroll down and we get this media area So this is not very helpful at the moment It tells me okay, I have to go to a media ad page to create this content, so I click there I'm gonna upload image a different one Let's do this one. There we go. So there he is With his bow tie So So what that actually did was we created the media item the entity in the back end, but it's not referenced to anything It's not on a node. It's not that's just the media display that we saw So I'm gonna edit my node now since I want to add it to my node And I'm gonna go down here and I'm going to Type The name of it of the media item and then I'm gonna save and view it so there we go So now I have it attached to my node It's a reusable media item that is totally separate from the node the node is just referencing it so although that works it's not fantastic at all and It's not something that we would really want to put in front of a client so I want to introduce the entity browser module which is Basically an inner an interface to select and upload and edit your entities It can be used in multiple places. It can be used as an entity reference widget So if you had a node with a entity reference field on it, you could Use this interface to select that widget instead of just searching like the autocomplete like like we just did It also aids Embedding entities into the whizzy wig so the same interface that you get to do the node references You can do to select an image and embed it directly into the whizzy wig This is the kind of wireframe version of What inch the entity browser module gives you in this case? It's kind of framed as a modal and You have two tabs here. You have view and upload those are widget plugins So obviously the view tab is going to give you access to all of the current Items that are uploaded and the upload tab will give you The ability to upload the items below that are the actual entities themselves in this case They look like images in the wireframe, but they could be anything tweets stuff like that And then the tray at the bottom kind of shows what's selected and it allows you to actually Do the selection so make the that's like the submit button Although if you were to just enable entity browser by itself the UI is not great So there's a contrived module out there called media entity browser, which basically puts a pane of coat Coat of paint on it So that makes it look better gives a little bit of JavaScript interaction Instead of having a checkbox, you know, it's actually like a thumbnail as you can click on that has a check mark So it's it's nice. They are there are also other alternatives to Media entity browser a few of them being file entity browser content browser and entity browser enhanced The only thing to double-check is that those three modules have support for the core version I Did not get to look at that but those those are alternatives that we're working with media entity contrived So I'm sure that they if they haven't ported they will Okay, so extending entity browser. We can add some things like drop zone J s we can add Editing items on upload and Using inline entity form. So I'm gonna jump back in and show that All right, let me just so the first thing we're gonna do here Is enable the module? That's definitely step number one. So we've got entity browser. I'm gonna go ahead and Enable these the media entity browser the entity browser also the IEF integration and The inline entity form module We're gonna go ahead install those Okay, so now we basically want to change the widget that's on Reference field for the media item that we just created. So we're gonna go under content types basic page and We're going to manage the form display Scroll down to our media item or media field that we just added And right now it's currently set to autocomplete. So when you click there you get a few options We're gonna choose entity browser So there's some options here and you can kind of play with them for the sake of time I'm not going to go through each one of these but we're going to use the rendered entity display plug-in and The view mode here, which is cool because when you're actually when the items render in The entity browser itself in the interface you can dictate what view mode is displayed. So that's nice So we've got that enabled. Let's jump back in and see what that looks like when we edit the node Actually, sorry before we do that. I want to look at the configuration of the entity browser One thing to note here is that when you go to the configuration screen There is currently an entity browser item here But that was added because we enabled the media entity browser module So had we not enabled that you would have had to come here and actually create Your first in an entity browser Before you could refer before you could use it. So I'm going to just show what the default one comes with This module so there's a few display plug-in options Depending upon there's some weirdness depending on and we'll talk about it a little later But in for this we're going to use modal Basically the two main ones are iframe and modal so and we'll see an example of both in Action, there's also the widget selector plugins, which were the tabs that you saw in the interface Up at the top those can be different things like currently they're you know, they're anchor tags or actually I'm not sure exactly what they are But they're links There's options for like a drop-down widget Or some other options so that depending on how you want that to look in the interface you can alter Alter that there are also The selection display plugins which One of the one of the options is a multi step selection, so I'm trying to explain this before actually showing you but if you had multiple tabs, right you can maintain the selection throughout if you use the multi step Option so if you had it at a Twitter tab and an Instagram tab instead of having to add the Twitter Embed it come back do it again go to Instagram or Twitter remember which one I said You can do it all in one so I can select a Twitter change tabs Select an Instagram post so that that's probably an option that you you want to take a look at Okay, so I'm doing the modal. I'm gonna Remove these values so that I get a responsive Version There was also a link text field there that lets you change the text of the button So if you don't if you don't like select entities because the clients can be like what? You know you can make it images or whatever generic term that You know you want to use So there's a bunch of options and entity browser, so I recommend that you go in and see what what's possible There's some there's some crazy stuff But the most important part here is we're gonna get to the widget section and I can add new widget plugins so in this case You can see here that there was a view display so The media entity browser module also creates a view for you that sets this all up So that is selecting that specific Display all right, so let's go back and edit this Select entities the screen is so small With my security update happening So so here it is this is the interface so this is pretty nice, I mean based on what we've had in the past It's sort of similar to the Drupal 7 contrib media module but Yeah, so this is nice being able to see thumbnails of your media items and Allowing them to select those it's pretty cool So in this case, I can click here and it adds a nice little check Checkbox and I can select that entity and it will Display it right in the right in the node So that's cool, right? Right? Well, I mean yeah Yeah, the the media guys have been hard at work on this and they've done a really great job So this it's exciting to be able to just stand up here and Talk about it and show the work that they've done So really cool. All right, I am going to Let's see. All right. We're not there yet. So we're gonna extend it a little bit We're gonna make it a little bit more flexible and we're gonna upload Sorry, we're gonna enable the drop zone JS Module have you guys heard of that drop zone drop drop zone JS? It's a JavaScript library that allows you to Plop some images right on top of it. So it's it's really neat And what it what it does is it includes an integration with media and core So you can create a widget an entity browser widget plugin. I mean This stuff is crazy. I'm like, yeah There's so many terms but Yeah, so it integrates with that library and we can use that as a tab for example In the entity browser. So let's go and do that So we're gonna edit our entity browser. We're gonna skip to the widget section and I don't know if you saw it before but there's basically a bulleted list of items here that tell you What's available to be added as a plugin? So we're gonna use the media entity drop zone JS with edit Option and that basically adds it to the bottom of the page here. I don't recommend that you use this default title It's a little confusing. So we're gonna just say upload images And then we have to select a media type. So in this case, I want I want to select media I'm gonna leave everything else here Okay, so let's do this again So we're gonna go select entities And now you notice I have a second tab So I only had view before which showed me my media items Now I have an upload images tab that I can click and I get this really slick Drops own JS option. So I can click here to actually Prompt the OS file selection or I can just Grab these and drop them right on top now they actually got put below That's something I forgot. That's all right Actually, let me do that So by default the form display for the image item has a few options that are on the field In this case, I actually won an auto created title so that I don't have to do that every time That's something that it allows you to do by just hiding the field on the form submission So I'm gonna just remove the name now Obviously if you want your clients to be able to name their media by all means leave that field But in this case, I'm just gonna have it auto-generate it. So I don't have to type the fields Out All right, so we're just gonna hide those and then we're gonna do this again very quickly That's a good question. I believe so. Yes. Yeah, but don't take that as gospel Unless anybody else knows okay, we'll go with that then All right, so let's select the entities here Upload images. Let's do it again. All right So now basically all I have to do is enter the Pult text for each one. Okay, so there you go. So we've added all of these. There's one more change. I want to make Just so I can show you Which I should have done while I was in there I'm gonna alter the display the managed display of this Option because it's showing the original image which is making it really large and difficult to view So I'm gonna bring this down to let's just say a medium Option and I'm gonna save it Did I not I didn't save the node. Did I see you guys knew it? You didn't say anything That's true. Hey, you know what that's perfect. I did that on purpose Yeah, so that you know my media items are there. So boom. I don't have to reupload them so let's let's go here and Select them All right, there you go. So when this displays on the node, they're gonna go from left to right So I can actually remove I can rearrange these dragon drag and drop depending on where I want to put them so that's kind of cool and Once they're saved. Let's view the node Absolutely. Yes, you can actually It's the correct Yes, yep, it's it's I mean think of it just like a node, you know if that node is referenced anywhere You know you edit that node in one place and it updates it in every everywhere So yes, the answer is yes But what's cool about this is once you do edit it gives you a pop-up that gives you access to All of the all of the fields all the metadata directly right here So in this case, I don't have any metadata. I'm just using the alt text, which is ironic since We were just talking about the media initiative, but we will get to that in a little bit Yeah, sure. Yeah, not not in core not in core. I don't think I'm sure there are some permissions that you can lock down there But yeah, yeah, yeah Yes, I don't it will not remove it from the media library. I don't believe Yeah, so if you if you if you add it if you create a node and you add an image and you remove it from that node It will stay in the media library Yeah, no, no. Oh, sorry. That's what you're asking. No, no No, now if you if you went to the media tab in the content area and removed it Yes, it would remove it from everywhere But if you just remove that specific reference from a node, no, it will stay everywhere else. Yep Yeah, sure. Yeah, it's just a different view mode like right now I'm using one view mode the default view mode, but you could for sure have a separate one for full content or whatever that is Render that on the page itself and then render the default or you know for the for the smaller thumbnail. Yep Any other questions? Okay. All right now I have to remember where I was Just hang tight. Just hang tight. It's coming All right Okay, so basically the next step is All right, so what we've got we've got multiple image upload we've got drag and drop interface we can reuse these images anywhere But they're gonna be like well, what about the whizzy wig I want to I want to add my cat picture in the whizzy wig, so there is In order to do that We use the entity embed module. I believe I'm not part of the media initiative, so they maybe I shouldn't say this But I think eventually something like this is going to be ported into core So that we can embed entities, but this module is It's amazing If you guys don't have a favorite module, this will probably become one of them So It's a contrived module basically that Allows you to embed any entity in the whizzy wig in CK editor It has support for image styles and view modes. It's Maintained by the Drupal media team And it's currently the best solution For embedding entities in Drupal. That is not what I meant to hit So let's uh Let's check it out. Okay, so the first thing we want to do is What it does is it gives you an option to add a button to the whizzy wig so we're gonna go to this area content authoring and text editor embed buttons and We're gonna check this out So we've got a couple embed buttons actually that are automatically created for us So I'm gonna click edit here just to show you So this button is Going to reference the media type and it allows me to choose a media type. So I'm gonna choose image and Again, sorry this this example is also very specific to images and a few other things But by all means you could select multiple types here do all kinds of stuff But just for simplicity sake and trying to give an example That's what I'm doing We're gonna select the media entity browser here for this button So that means when I click this button which entity browser is going to load Because you can have multiple I Also recommend uploading an icon. I don't have an icon. So we're just gonna save it But it's basically gonna load as an e which is really bad for the client so That's not recommended Then once we have our button we need to actually enable it on the text format so we'll jump in here to our text format and We're gonna take our e icon and drop it there and we're gonna just trash the other one One thing to note here is that if you want to display the embedded entities you need to check this box which Basically allows the data attributes to pass through And then Let's see here. Yes. We can figure that one more time. Just want to check something. All right. Let's do it fingers crossed So we're gonna edit this note again for the 1200 time Yes, we have an e so I'm gonna throw in. Oh, wow. I can't even see it because it's so small. Okay so we're gonna click here and I made Mistake So this is where I wanted to talk about there is a there's currently a bug I don't know if it's a bug. I maybe I shouldn't say it's a bug, but basically there's a There's a problem where you cannot use entity embed with the modal version of an entity browser So you have to go in and select and the iframe version and use that so that's what we're gonna do That's why I was getting an error So let's go create one of these real quick and I'm gonna just call this one In bed This is kind of a pain because you have to add the widgets again, but maybe there's a different way around this that I'm not aware of So if anybody knows Let me know but so we're gonna go through this process And again, what this is basically doing is giving us access to the same Interface that we saw before to select the items to add to the node So now what we need to do is Alter that button that we just created To use our new entity browser. So here we go now. We have our new one And like I said, the only change we're really making in this case is switching the display plug-in from modal to iframe Because of the problem All right So now we're back at the node And we're gonna go back to our e-button All right, so now we've got our mode. I think it's because it's like inception It's like modal inception. You have a modal inside of a modal that's in a modal and yeah So in this case it just loads an iframe in the modal which is better, you know So I'm gonna select these two. Oh I'm sorry Maybe I Missed that up. That is so odd Yeah, I said I can't select more than one. All right. Well for the sake of this I'm gonna select one and hope that it'll do it. All right All right, so this one so this is cool so I've selected the image and I'm gonna choose a thumbnail as a display. There's also the full content view mode, which you saw there So I could display it like that But this gives me access to like the image style here and everything so I'm gonna go ahead and do that So I'm gonna say here and I can choose what to link it to I'm not gonna link it to anything at this moment So let's save that take a look awesome All right, so now we have the media item That's stored Often the database and then we can pull that from anywhere We can add it to the node add it to a field or we can embed it directly into the whizzy wig All right, let me show you another example it's 100% width, but it dictates a height so Sort of But maybe that's an improvement that we can we can make Yes, that's awesome. So I'm gonna show you guys another example. What time is it 1242? All right, I think we're doing all right Since you guys been asking questions during Okay so enabled the Media entity Twitter module and We're gonna create an immediate type Twitter And notice that I have to choose a source this media source is actually the Media entity Twitter module that I just enabled that's actually the source that dictates how it's gonna store that information There's also some information here about whether to actually use Twitter the Twitter API to fetch the data In this case, I don't want to do anything special I just want to embed the direct tweet, but you you could use the API to pull specific You know options There's also some field mapping here. I'm not gonna I'm not gonna touch that All right, and then I'm gonna go in and adjust the display Because it's gonna be a little messy by default again. I don't care about the name here. I just want the URL So we're gonna drop in this URL To that tweet we don't want any of this we're managing the display of this tweet now So I'm not gonna choose any of that remove the label and Then I'm gonna use the Twitter embed format save it. Oh, there we go. All right So this actually the media entity Twitter module. I believe uses O embed So what we were talking about before about incorporating it into core it some of that technology is already in use just in the contrived space so Yeah, so this is basically that in action, but ideally We won't need a contrived module to do that eventually We'll just be able to put in the URL and it'll pull in that that remote source and embed it All right, so we're gonna we're gonna do one thing here So we're gonna check we're going to we went to our entity reference field Which was on our basic page content type and we're gonna enable the new Reference type to to pull the Twitter in which basically gives entity browser access to be able to post embed Twitter's Twitter Twitter's tweets So we'll jump back to our node and edit this right below my son. Let's delete my son Which step yes, I believe so. Yeah, there's a checkbox that says auto open it I believe so when you when you do that it will It will automatically open so we can actually pull in the Twitter Here and we could have again view modes So if there was metadata attached to it, you could add something to the top or the bottom and display it here So boom we got Twitter. We have a tweet right in our whizzy wig. That's pretty cool So we're gonna save And check it out and you can see that it loads with like some odd block quote styling I think that's from Drupal. I guess It must like put it in a block quote and it waits for the JavaScript to replace it. So I'm there's Ways around that. I'm sure Okay, so that's pretty sweet I Don't need let's see where I'm at. So let's do some cropping Yeah, sure Yes, they they they basically get default Default view modes just from an entity. So if you want to add those Yeah, you can go in and create more view modes for that But they get kind of some default Drupal view modes right out of the box. Yep I don't think I'm gonna have time to go over all of this so Would you rather talk about image cropping or organizing? Yeah, show of hands image cropping Okay, it makes it easy. All right But I can talk about image cropping very quickly I'll pull it up on my slide So there's a module called the crop API, which is kind of the core API that other modules use to crop things And there's an image a module called the image widget crop which uses a JavaScript library called cropper.js and basically when they upload the image directly when they Upload the image and you get the entity preview they can crop it and there are some options like soft limits and hard limits, so they You have like you can force them to have a certain size or you know Things like that. There's also the focal point module Which I've been to like five or six sessions here and I feel like everyone has talked about the focal point module So you probably know what it's about But allows you to like click in the focal point of the area and it crops from that focal point instead of cropping You know from the center So it really depends on how much flexibility you want to give them if if it's really just important to have one area That's always visible then go with focal point But if you want more control that you can you know drag the little handles and stuff That's more of the image widget crop Okay, let's do some organizing So Yeah, this this happens all the time like I want to be able to organize my photos like Dropbox. Can you just create Dropbox for me? Yeah, sure So let me show you show you an example of that Basically, it's gonna use taxonomy. That's the That's really the gist of it Just like you would create a node and you would tag it with taxonomy term You're gonna do the same thing except you're gonna do it with media types So in this case, I'm gonna just use image as an example the taxonomy term I had this recently with a personal project of mine where They had a set of options that they wanted To like stock images so they wanted that kind of separate from the library itself or not necessarily separate But at least a place where they could go specifically to look at the stock images that they have uploaded So I'm gonna use that as an example All right, I'm just gonna use one for Time's sake So once we've added that We need to add the field To our content type I'm sorry. Why am I adding it to the content type? Oh Geez, all right We're gonna add it to the media type. We're gonna add a taxonomy reference to the category I'm gonna just leave it at one for now and we're gonna say that it can reference our category vocabulary One two Click around aimlessly and I'm gonna choose a category Which was stock images and again you can you can alter this widget here doesn't have to be autocomplete be a select list whatever Okay, so now we have our taxonomy term and a media item is tagged with that term so we can go to our entity browser jump over to Widget and we're gonna add a new one. I'm sorry. I did this backwards We're gonna need to alter Okay, so The entity browser each widget entity browser plug-in uses a view so we need to basically alter that view to filter out the content So I'm gonna edit this and I'm just gonna duplicate the display Okay And then I'm gonna add a filter Okay, so did you guys see what I did there just basically selecting the doing a reference so I could get access to it and then grabbing the taxonomy and Selecting this is the one I want to filter out I Did this wrong technically because it's going I didn't it's gonna add this to the other entity browser display view display But that's our because it's the last thing I'm doing so I'm just gonna go Okay, so then we jump back to our entity browser here and now we can go the display and We're gonna add another view option I already did and then we're gonna select a view anybody want to guess All right, let's go for Stock images Now keep in mind. I only added this to one entity browser So this would not be available in the embed entity browser. I'd have to go and do this process again So I'm gonna go down to my media field because that's the that's the one that's using the other one So there we go. I have a stock images so as you can see the the really powerful thing about entity browser is that you can Basically use views to update it change it show the content that you want filter out the content that you want anything that you can do in views is pretty much possible so correct exactly Exactly. Yeah, like in this case I use it as an example to kind of show a prominent tab up at the top But you could by all means add an exposed filter directly to the initial display and they could just toggle those That that's fine as well. Hey, happy dance All right, so don't forget the sprints on Friday I'm sure you guys have seen the slide and every Everything so check them out And then let it let me know what you thought. This was my first time speaking at anywhere So I appreciate your your patience and everything so it's been good But thank you all and if there are any other questions that weren't asked you can come up Hi, I have a question Have you come across any of the contributing modules or even media? that would allow you to upload files beyond the PHP limit and Also, the number of files that can be uploaded because of the PHP configuration Mmm. That is that's a good question. Okay that I do not have an answer to yeah I also found your way of using views and taxonomy to be quite interesting and in that respect One could potentially use the media embed browser Plug-in to just use the image and not necessarily use media at all to kind of get similar-ish functionality know because The media module is actually how those items are stored so I Don't think you'd be able to use now. You could use entity browser to do Selection of other entities right like that would be that would be fine. I mean, I guess technically if you were to add Image and you're done right. I mean it's possible. Okay. Yeah, it's possible But that being said Media the media items specifically the media types of course are tied to source plugins, right? Pull that data in and and show how to you're right I understand you know to map that data so that you wouldn't have or you would have to create something else to do that Yeah, the other question which I have is a final one is Have you so it seems like Whenever you are using any of this ecosystem, you are essentially going into a God mode and you have access to everything and so I partially know the answer that the access control for references doesn't really work in core But have you come across something like that because you don't want to expose this entire library of your images files to anybody who has Yeah capability so well, um, I would probably say that You know, it's an entity so if the if the person if the role has access to the entity then they would just They would have access otherwise you you need to lock it down So I think at that level is probably where it stops and then you would have to maybe look contrived for more permissions All right. Thank you Workbench workbench access was recommended Can you post a link to the slides on the page for this? Oh, yes Yes, like on the whatever, you know schedule page like you can you add it to that so we could just yeah Yeah, sure cool schedule page. Yeah. Yeah, and do the slides have the list of the actual modules You use to make this happen Yes, it does cool because yeah, there's all like different versions like dev this three and yeah Yeah, I wanted to use which one not to use. Okay, I'll update it I have a list but it doesn't list out the actual branches But I I can I can update that to show which versions cool. That'd be awesome. Yeah, absolutely Hey, thanks. It was a good talk really quick on like composer to like install all this stuff I ran into some weirdest issues with like drop zone and stuff like that I can oh your Media browser is newer and you're trying to use an older drop zone. Yes, like you have any recommendations on keeping all that That's kind of related to what he was saying is where I Ran in the same thing if you just try to install this all with composer. It doesn't know Yeah, that you're using the media enter media entity contrived module versus, you know, the media and core so you have to kind of I Don't know how else to do it other than just to create a list of items with specific branches because most of the providers have created a second branch for for the media in core so I Literally just have like a list and then I'll run all of them In composer Unfortunately, like that's I can't think of any other way because otherwise it'll select like the one next version The end composer. Yeah, and then you'll run into a bunch of stuff. Yeah, oh, it's not compatible and yeah So, okay. Yep. Thanks. Cool. Thanks, man. Hi So when you try to upload the image through the WYSIWYG is there a way that you can display those fields that you have actually in the Media add media form. So when you actually add or media entity through the Media into the media entity like a piece. You will have a Media name like file and description, but when you actually upload through the WYSIWYG There's no way that you can Provide those fields. It can display those fields. The only thing is we're only displaying the teaser But it's a view so you could display the entire so is it that's the just the Display mode that you'd have to drag exactly exactly like the image gets output with The display mode if you wanted to change that to include the other fields that you've added you could do that and and that would show Right in the entity browser There's a popular module called link it. I don't know if you ever heard of it, but Like I ran into a problem where I wanted to link Anyway, the same kind of situation where I actually wanted to reference the file itself and not the in the media Entity I Don't know. That's it. I think it depends on the situation like where how you're where you're trying to put it Gotcha Hmm, I don't know that's a good question and that and you can probably check that out on the entity in bed Project HD if there's any information about that as far as I know There's no way to do that but Yeah, there may be yeah Hence we have