In this episode:
Discussion – A better way to manage your media library with Stuart Brameld
Firstly, I have to apologise for the terrible audio quality. Our guest, Stuart, sounds just fine, but something clearly went wrong on my side of the recording. I can only imagine that I inadvertently used my Mac’s internal mic somehow. It’s certainly bearable, but I’m sorry for messing it up for Stuart more than anything!
With that said, let’s get down to what we’ve got for you today shall we?
Let’s be honest about it, the WordPress Media Library looks great, but it’s not all that useful out of the box! Sure, it will show you nice little thumbnails of the images that you’ve uploaded, it can even be toggled to show you a list with some attached meta data, but that’s about where it ends. It’s pretty simple, and you know what, I think that it should stay this way because it’s more than usable and we’ve got to remember that WordPress is catering for a gigantic number of people and so simplicity is the name of the game.
As with all things there are people who need more than WordPress core provides. People like Stuart Brameld. You see they look at the Media Library and they think to themselves that they want it to do more, to do additional things and to look different from the way it does now.
So… meet WP Media Manager! It takes a different approach from the Core WordPress offering. For a start none of your media assets are stored in your WordPress install. They are instead stored in dedicated off-site cloud storage solutions. At present the plugin works with Amazon S3 and Microsoft Azure.
One of the benefits of putting your assets onto these platforms is that you get a highly scalable, always available, cheap option which does not rely on your cheap hosting serving up your files for you, which can be a huge bottleneck to your site performance.
One of the big selling points of the WP Media Manage is the way that it looks. It allows you to have a very tasteful UI which reminds me quite a lot of SaaS options such as Dropbox and Google Drive. You really should take a look at the way that it looks. WordPress’ media is all stored with a flat UI, there’s no easy way to find things and apply order to the media that you’ve stored in there. I like the options in Windows Explorer, the Mac Finder, Google Drive and Dropbox to create folders and sub folders. I use this all the time and WP Media Manager allows you to do this too.
Scale is also a thing that might make you want to look at this further. Azure and S3 are literally limitless (and cheap); you can store everything that you’ve ever created digitally and they will serve them up for you from multiple data centres, not from the one tiny hosting machine that you site might be sitting on!
Another great feature of WP Media Manager is the security that it affords. Stuart has a background in ITSec and they’ve worked hard to make sure that the data that flows through their plugin is stored using the security features that S3 and Azure provide. This means that you can have ‘access signatures’ which create private areas when you can store sensitive documents in a private manner. Although these documents are online, they are not available unless you use the correct API tokens. This means that you can do things like restrict access to your media to a specific IP address, for a certain length of time and many other possibilities. I personally think that this is a great feature and one that might well have you looking carefully at other rival plugins to see if they’re still needed – I’m thinking membership plugins which restrict access to assets such as .pdf’s and video files.
Stuart makes the point that the plugin is easy to set up. You create your Amazon bucket or Azure blob and paste the keys that are associated with them into the plugin. From that point on you don’t need to interact with Amazon or Azure again – you’re going to be working from with WordPress from now on.
All the standard things that you have always wanted to do easily can now be done – moving files, renaming files, deleting files. Point – click – type – enter!
Why not have a look to see if WP Media Manager can improve the way that you work with your WordPress website.
Mentioned in this episode:
Transcript (if available)
These transcripts are created using software, so apologies if there are errors in them.
Nathan Wrigley: 00:01 Welcome to the WP Builds podcast, bringing you the latest news from the WordPress community. Now welcome your hosts, David Waumsley, Nathan Wrigley.
Nathan Wrigley: 00:21 Hello there, and welcome to the WP Builds podcast. This is episode 139 which is entitled a better way to manage your media library with Stuart Bram old. It was published on Thursday the 1st of August, 2019 my name is Nathan Wrigley from picture and word.co. Dot. UK, a small web development agency based in the north of England and because we've got an interview today, there's no David Waumsley from David walmsley.com just a few things before we begin. The first one is to say, if you wouldn't mind, head over to WP Builds.com forward slash subscribe and over there you'll be able to join our mailing lists. You'll be able to join our Facebook group and slack channel and find out all the things that we do. There's a youtube channel. Basically everything that we put out in some way, shape or form can be found in on that page. The next one to say is go over to WP Builds.com forward slash deals.
Nathan Wrigley: 01:15 This is a page that we put together because various plugin developers and theme developers have reached out and given us coupon codes. We've added a couple more. We've got 50% off the page, build a cloud and we've got 10% of the Katka pro template packs for elemental, but it's a little bit like black Friday every single day of the week. So WP Builds.com forward slash deals you're the one to say would be go to WP Builds.com forward slash advertise if you would like to be featured on the WP Builds podcast and get your product or services in front of a wider audience. An example of that would be this. Do use a page builder to create your websites. The page builder framework is a mobile responsive and lightning fast WordPress theme that works with beaver builder elementor, brizy and other page builders, but it's endless customization options in the WordPress customizer.
Nathan Wrigley: 02:06 It's the perfect fit for you or your agency. Go to WP dash page builder framework.com today, and we do thank our sponsors for helping us put on the WP Builds podcast. Okay. Today on the show we've got Stuart Brameld, he's got a plugin called WP Media Manager. It's really interesting if you've ever got fed up with the capabilities, the limitations of the media library in WordPress, his solution is gonna really make you rethink about what's possible. Not only does it upload your assets to the cloud so it's not you're running on your server, but it also offers a load of permissions, capabilities, the capability to tag things and a whole load of other things that, um, that you've probably wished at some point you were able to do. I do need to say at this point that for some inexplicable reason, the audio quality on this recording was particularly poor, not only mine, but Stuart's
Nathan Wrigley: 03:00 audio was a little bit choppy as well. So, apologies, it sounds like I'm sort of doing it in a swimming pool or something so that I can't really bring it back. I've tried to, to make it sound as good as I can. So apologies for that, but I hope you can hope you can cope with it. So without further ado, here's Stuart Brameld. Hello. Welcome to the WP Builds podcast. Once more. We're on a, a bit of a different subject this week. We've got Stuart Brameld, l I'm going to say Brameld on the line. Is that, I forgot your name right there, Stuart.
Sturt Brameld: 03:33 Absolutely spot on.
Nathan Wrigley: 03:34 Okay, perfect. And he's um, as you probably took, uh, understood from his accent there. He's based in the UK, which is quite refreshing for me cause I don't have to organize crazy times of day to talk to people. He reached out to me recently and he's got a really interesting WordPress product, which I think is a little bit unique on the face of it. You might well think I've, I've come across things just like this before. Um, but as we delve a little bit deeper into it, you may be reconsidering it. Say it's a solution for managing files. Uh, your WordPress media library is not involved to, so it's quite, quite unique. Uh, Stuart, a bit of a dumb question to begin with. Do you want to just tell us, uh, what this is what it's called, where to find it? Um, let's start there.
Sturt Brameld: 04:23 Yeah, sure. Thank you. Um, so the plugins called WP Media Manager, um, and the URL is, uh, my WP media.com, um, and the plugin is essentially a, uh, file storage solution for WordPress. So if I think of it as like having a Dropbox within your or WordPress WP Admin, um, and then being able to provide a Dropbox like functionality to clients or customers or prospects, um, or users or anyone else that may access a WordPress website.
Nathan Wrigley: 05:00 Okay, great. Now we're all used to having a media library. And so I suppose that would be the first question that arises. What, what, what, how is this in any way, shape or form different from the regular media library that we've got in WordPress, which serves us very well indeed. What, what's the difference between WP Media Manager, um, and, and the regular WordPress media library?
Speaker 5: 05:23 Yeah,
Sturt Brameld: 05:24 yeah, sure. So the biggest difference is that, um, we don't store files within WordPress itself, and there's a few reasons for that. Um, but we offer load file storage to companies that specialize in file storage. Um, so the likes of at the moment we work with Microsoft Azure and Amazon s three. Um, most people I'm sure have heard of Amazon s three. Um, but they are dedicated, um, secure and highly scalable file storage solutions. Um, so whether you want to store 50 megabytes or 500 gigabytes, um, the plugin works really well. Um, with both of those different use cases,
Nathan Wrigley: 06:11 the, the, the cost of both of those services, I'm not very familiar with the cost of Microsoft Azure, but I am quite familiar with the cost of hosting anything on Amazon. And it is, it's almost vanishingly small, isn't it? You know, you can put a very, very large amount of data up there. Um, and it costs very little. Have you got any, any idea on the pricing just to give us some idea of how much we can dump in a, in a bucket before we're starting to be ramping up large bills?
Sturt Brameld: 06:42 Yeah, sure. Um, at the very high end of the spectrum. Um, so we've got one client who are using the plugin. They have about 160,000 files, um, 200. That totals about 200 gigabits. Um, can you buy some storage and they have I think 6,000 employees. Um, and the use case for this is that, um, we help run their intranet, which is based on WordPress. Um, and WP Media Manager provides all of the file access and file storage within their intranet solution and within the intranet solution, um, all of that storage costs about 15 pounds a month.
Nathan Wrigley: 07:21 Yeah. Okay. Yeah. And the, the, the real delight is of course the, the kind of the uptime and the scalability of it. You know, there is basically no ceiling of how much you can put up there. And if you can store 200 gigabytes, presumably that's bandwidth as well. That's people, you know, that's the traffic included as well. So people are uploading, downloading, uploading, downloading, and it's a lot, it's a very large amount of, and it's very affordable. Is Microsoft, is your sort of similarly priced?
Sturt Brameld: 07:53 Yeah, they're both very, very similar. We actually moved them from s three to a Azure recently.
Nathan Wrigley: 07:57 Okay. When you began this, you described it as being a bit like Dropbox, which, which intrigued me because my sort of understanding of Dropbox is that I've got, well my primary use for that kind of service, I actually use Google drive, but the, the two are very similar I suppose is that it's six things to my desktop, which then, um, are held in a repository on their data center, in their data center somewhere. And if I get a new computer or wish to look at it on my phone or what have you, these things are all kept in sync. I presume that's not what you're doing. You're not sort of sinking files to any remote PC. And then if somebody ulcers things on the remote PC, it automatically gets sucked up into the Amazon cloud. That's, is that it? I presume it's not.
Sturt Brameld: 08:43 No. Yeah, no, you're exactly right. The only slight caveat to that is, um, if you were to, for example, have to use this for a, um, customer or a client portal, um, and you have say a folder for each of your clients and they log into the website and see all of their content. Um, there are various, um, sort of desktop applications that connect to and the likes of as year and Amazon s three that allow you to also have those, those folders on your desktop. Basically, if you were to copy something into your, the folder on your desktop with this client, it would then obviously, um, upload it to the cloud solution and it would then appear within your portal. So it's all sort of within sync.
Nathan Wrigley: 09:26 Okay. But that's not the primary use case, right? So that capability does exist but with some sort of third party desktop software. Okay. That's great. So, okay. Um, so why would we want to offload our stuff? I mean, we've, we've heard about how cheap it is. That's a great reason. I can understand that. But then if we think about it, the, for most people, the, the media library in our hosting environment within the file structure of WordPress is sufficient. We don't need much more than we pay for it. If we do need more, we just pay a little bit for an extra bit of storage and so on. What, what are the primary benefits of giving the, the, I don't know, pdf documents, video files, word document, whatever, any of that stuff over to Microsoft or Amazon in this case?
Sturt Brameld: 10:13 Yeah, I think, um, I'd say there's probably three. Um, the, the user interface, I think that, um, people will see if they go to the website and exist within the plugin. Um, there are constraints that exist within the native sort of WordPress media library that makes it not particularly easy to use. Um, I know there is another, a number of plugins that provides sort of folder and more management structure to the media library. Um, but I wouldn't say that the UX of any of them is particularly fantastic and, and that's not any fault of the plugins themselves, but you are constrained by what you can do within the existing media library interface. Um, so the, the interface that we provided when you go into WP Admin for your files and folders is, is almost exactly what it looks like if you looked into something like Dropbox or Google drive and is as responsive as using one of those solutions as well.
Sturt Brameld: 11:04 Um, so I think that sort of user experience is part of it. Um, scale as we've talked about. Um, it's not impossible, but, um, there are challenges and um, uh, and concerns in, in storing huge numbers of files in your media library. And certainly when you get to large files like video or audio files, um, that often presents challenges because WordPress hosts limit the size of files you can upload and how many files you can upload and some of them be more based on the size of your, your media library. Um, uh, and then I'd say security is probably the, the, the last one. And probably the thing that we've specialized in the most, um, partly because my background is in cybersecurity and partly because of the kinds of clients we've been working with. Um, but we've done a lot to ensure that even if you store a lots of relatively sensitive corporate information within this file storage solution within WP Media Manager, um, that, that information is secured really, really, um, really well. Well, um, through things like encryption and access keys and lots of other technical stuff that you may or may not want to go into.
Nathan Wrigley: 12:14 Yeah, I think we do actually, we'll come to that in a moment, but let's deal with those points one at a time because they're very interesting. I mean, my, I do have a bit of a great with the, the media library in WordPress, it's great. You know, you've got a, excuse me, you've got a list view and you've got kind of a thumbnail view, but that's kind of where it ends and it's completely flat. You, as you say, there is the, the capability to bolt on, um, plugins which will enable you to have folders and directories and so on and so forth. But it, it isn't by default. And that I'm so used to the paradigm of working on the desktop. And I've got this nested in here and I've got this folder called videos and the inside that a videos about certain things. So there and another directory, none of that appears in the media library. But are you saying that that capability within Amazon and within Microsoft as your, that's a native capability, you can have folders nested in folders, nested in folders and, and navigate it in the way you would on a in windows explorer or the finder.
Sturt Brameld: 13:13 Yeah, absolutely. It's certainly within, within the plugin. Um, it looks almost exactly like it would if you looked into something like drops or could Google drive. Ironically, um, the, um, Amazon and Microsoft don't actually have a folder structure natively. Um, but the, the way you named the files provides a folder and that's completely transparent to, um, to any users. So, so in answer your question, yes. When you, when you install the plugin it, it looks like Dropbox within your WP admin dashboard. Okay. I just wanted to touch on another point is one actually, um, uh, I thought was quite interesting you mentioned, um, uh, so some of the constraints of the media library and what I found quite interesting or feel like a bit of a trend over the last year or so, um, which is largely why we sort of invested in at a time in building this is um, a change in the use cases for WordPress. It feels like in the last year or two that there've been more and more WordPress sites that are not just websites and people starting to use them for things like, um, customer portals and client portals and membership sites and intranet sites. Uh, and, and maybe it's just my perspective cause I'm slightly in this world now. Um, but there seems to be a sort of slight rise out of just WordPress's, you know, just a blogging platform or a website platform. And actually there's lots of other use cases that are very well suited to, um, to the platform.
Nathan Wrigley: 14:37 Yeah, I would completely agree. The oven of WordPress 5.1 was actually officially taken it away from being a blogging platform. The official nomenclature is now that it's a publishing platform. Um, I agree because of its, because of its weight, it's kind, kinda being used more and more for CMS type functionality. And so things like client portals and the, the capability to have this person logged in view this content as opposed to this person logged in who cannot view this content. I think that's more and more what people are using it for. So yeah, I would completely agree. Just stepping back a minute to the security that we were talking about earlier. Um, I guess most people will understand that in WordPress, if you upload a, an image or a video or whatever, a pdf document, it's gonna go into your uploads folder and it's basically visible on the Internet.
Nathan Wrigley: 15:33 Anybody who stumbles across that URL, whether nefariously or otherwise has access to it, it's just open. The directory is public. This, I presume from your third point a moment ago when you talked about security, this is something that we can really do away with, um, with WP Media Manager because of the, the granular security model that these, these platforms, uh, have. Can you tell us how that works? What kind of security features are built in? What capabilities are there around, you can view it and you can't or you can view it for a little bit of time, those kinds of things.
Sturt Brameld: 16:11 Yeah, sure. So, um, the main one is, um, what both of those, but we're both Microsoft and Amazon call access signatures. Um, which means that, um, the essentially the, the, the bucket or the folder and the terminology changes between these providers, but that the storage where you store your files, um, I in completely private online, obviously it is, is on the Internet, um, because it's effectively a cloud service. Uh, but there's no way of going to my storage.microsoft.com/myfile and seeing that file. Um, the only way you can access the files are either within the API key, um, uh, which we use in the backend in order to be able to manage the files in this, in this Dropbox, like, um, Dropbox might experience. Um, all you use this access key, which is valid for a specific period of time. Um, so that means you can go to, um, my storage.microsoft.com/my file and then there's a really long string on the end of it, which is an effectively and an encrypted signature.
Sturt Brameld: 17:18 And only if you have that string can you access the file and that string expires after a set period of time, which by default is 20 minutes. Um, now we actually within the plugin automatically generate that string for you. And every time someone accesses the page, um, every file on that page has a unique string associated with it in order to allow them to access the file. Um, so, so that's probably the biggest security advantage as you said, that there's, there's no need to, to a, uh, effectively public folder or a file listing anywhere on the Internet. On the Internet. Um, and then there's a whole host of other things that you can do around that because of the capabilities that exist within these dedicated sort of file storage platforms. So, um, with both Microsoft and Amazon, when you set up a new file storage container and everything is encrypted by default, they manage all the encryption keys for you.
Sturt Brameld: 18:13 You don't have to do anything. You actually have to actively now turn it off. Um, so that's something that that is quite nice for the more sensitive data. Um, you can restrict access by IP address. If it's an an intranet solution for example, only people within the company might want to access it. And that's a really solid way of restricting access to, um, to, to your content. Obviously. Um, all of the data is encrypted in transit. It's all done over SSL and HBS. Um, and then we've added a few other things within the plugin, which has sort of, I would say, safeguards in terms of preventing people doing things that could be dangerous. So, for example, you have to actively say, I want to list the contents of my root folder before you're able to do that. Um, so if you just try and put in folder equals slash um, in, in, in one of our short codes, it won't actually show anything without you actively enabling that feature. So we, we've taken the security side of things pretty seriously.
Nathan Wrigley: 19:08 And you've had a heritage because all, I, I don't know if you mentioned the amount of time a month it, you guys, but your background is in that, isn't it? I'm it sec cyber security. Um, what was it, 10 years, I think you said you've been working for 10 years. Yeah, so that's great. Um, you know, it's good to have you. Well, I think really that's where this plugin sits is for people who've got sensitive documents that they don't want available publicly on the, the web. Um, you know, Google finds it, I don't know what kind of data Google chrome's browser sends back home, but you know, billions of people are using it. So if somebody stumbles across it, I don't know if Google then sort of go out and scrape it. Um, but it is interesting, you've no idea the amount of conversations that I've had.
Nathan Wrigley: 19:56 So many conversations based around the idea of can I restrict access to this. Now I'm going to ask you about a use case, which is the most common one. Um, because I don't know if your plugin has this capability or not. Very common conversation that I have is I would like to set up a membership sites. My membership site is going to have a course in it. So that course is made a videos. I would like to make absolutely darn sure that nobody who has not paid for my course can view those videos. Now, from everything that you've just said, that sounds like it's capable, but I don't know if I can put stuff on the front end of my website with your plug in and it still works. Or is it all in the backend in the WP Admin area?
Sturt Brameld: 20:45 And that's absolutely a use case that we solve. Um, and yes, he, you can put it on the front end. So, um, we've actually got a client at the moment who's building a video library. Um, almost exactly the use case you've just described. So, um, uh, taking a step back, the, the, the, um, the way you add this to a site is through short codes, which, um, I imagine a lot of people listening to the podcast are aware of sort of how they work. They will, um, great. So, so it, it though that gives you an enormous amount of flexibility in terms of, um, how you present the information, where you present it. Um, in your use case if you have a, an existing membership plugin or portal or you want to create a new one, we are sort of, um, technology agnostic in that respect, regardless of whether you choose, um, I don't Memberr press or, um, WP membership pro or any of these other, um, uh, membership plugins. Um, we will work within them because it's literally just a case of embedding a short code on a page. Um, and if you have different users that have different access rights as all these membership plugins can do, you have to put, you know, um, um, maybe membership level one is one folder and membership level two is a different folder and you put the different shortcuts on different pages and different people get access to completely different content. Um, and it's completely secure. We are doing things,
Nathan Wrigley: 22:07 so could I use it, um, 2:00 AM bed at the video itself such that, um, somebody comes across my page and they are, um, they're bonafide, they have a membership, everything is legit and I, they want to watch the video, the second video in the course, I guess. Is that possible?
Sturt Brameld: 22:29 Yes. Yeah, absolutely. Yeah, we've got demo page actually on the website as well. If listeners go there, if they're interested, there's a section called video in bed. Um, and if you click, there's two videos in there and if you click them, they open up in a light box and then you can play them with the lightbox and there's a download button to download them as well. As I mentioned before that also got these access keys. So even if someone was to you the URL to the video and send it to someone else, it'll expire and they won't be able to use it.
Nathan Wrigley: 22:54 Presumably they won't be able to use it themselves. Um, you know, that that same URL if they went and copied it into an incognito browser that they can't watch it themselves. Um, and if for some reason I can't think of a situation where this would happen cause your software takes care of it, but if they were to somehow wait 20 minutes and try to use that same code again, I'm saying 20 minutes because that's the default as far as I understand it. Um, that would break as well. But by going through the API, when they refresh the page, they get a new string appended to the URL. So it all works, if that makes sense. Yeah. Yeah. It's amazing. So this is the solution to locking down your content. It goes into the cloud one to one of these platforms. You, you, you assigned permission to it through the WP Media Manager and then all a sudden, even if somebody's looking at your video, goes in, inspect the sauce, takes out that URL, hands it onto their best body who hasn't paid for your costs?
Nathan Wrigley: 23:56 They can not watch it. Yes. Perfect. Yeah. Yeah. That's great. Now my, um, the last time I dealt with, um, Amazon, I've never dealt with Microsoft as you are, but the last time I dealt with Amazon web services, it never ceases to amaze me how, how, how many Amazon web services there are, there are hundreds. Um, the menu fills the entire screen. How easy is it for somebody who's very low on technical capabilities to go in and set up the, the, the cloud side of things, the Amazon, the Microsoft side of things so that their files are in the right place so that the plugin is connected. How, how easy is that? Is this something that you need to be fairly technical with? Do you need to set aside a day or a week? Do we just follow a piece of documentation that you've written?
Sturt Brameld: 24:51 Yeah, there was a, there'd be some documentation I'd say you wouldn't even call it, I wouldn't say necessarily technical. Um, but that, um, you're right, there is a need to be able to go into either s three or his year and create the terminology again is different. But in Esri you create a bucket and in a year you created global. Um, ironically, the, the most challenging to doing that is finding where to do it, not doing it because you kept the menu. The menu is enormous. If you've ever seen a big mega menu, um, this is this take things to extreme. Um, so once you know where to do it, it's pretty straightforward. You Click the button that says create container or create blob and you select private and it gives you a string and a key and you went to those into the plugin. And from that point onwards, um, you never have to go into s three or Azure again. It's literally a one time set up. Um, if that's a concern to anyone that's listening to your podcast, I'm more than happy to, to help people through it while we're, we're in these early stages. But yes, there is a slight overhead as you said in, in setting that up that the nice thing being once it's done once. And if I do it, it's five minutes. If someone else does it, maybe it's an hour. Yeah, find I have to do it.
Nathan Wrigley: 26:03 Yeah. The menu is, the menu is prodigiously low. I mean it is ridiculous. Why are they entering subdivided? All of those things a bit better. I don't know, but I'm, okay. So we go in, we set up a bucket, we set up our blog, we copy the API keys. I'm going to use that term. I don't know if that's correct or not. And we paste them back over into your plugin, which then presumably that its root. The root of all of its stuff is, is that blob that, um, that, uh, what is it called? Bucket. Um, so from that point on you, you said that you could close Amazon, close Microsoft as your and walk away from it. So now we're back in WordPress. We've opened the WP admin. Um, how, how does it all work? Do we have a, a menu item that we click into and then we see it? Uh, is it, is it like a directory structure? Does it look like WordPress or do we log in to some SaaS platform that you've got set up? How does it all, how do we interact with it from that moment on?
Sturt Brameld: 27:03 Um, I'd say the easiest way to describe it is it would be like having Dropbox in WP admin. So you click the link for media manager in the lefthand wpm in navigation bar as you would for plugins or settings or anything else within WordPress. You Click that link and then you see a folder structure that looks like anything, any normal folder structure you would see and you can drill into different folders and you can go down a level to a sub folder or sub folder, sub folder and again as you would within Dropbox or Google drive or even within your, in on your desktop. Um, and then you have all the standard actions that you would expect. Um, on the right hand side as well. Again, they use the fact that you user interface is actually based on Dropbox, so it looks very similar and but things like renaming files, renaming folders, moving files, moving folders, deleting files, deleting folders, all the standard stuff you would expect is, is there on the right hand side and native within the WP admin interface. Um, and it's all cached. So in term, even if you have, as I explained, we've got a client with 200 gigabytes of data. Even if you're searching for files within WP admin across 200 Gig, it's still pretty fast. And if you're moving files, you obviously need a directory structure to move things too. Again, that's pretty fast. So we spent quite a lot of time in terms of how do we deal with this interface when it needs to be working at scale as well.
Nathan Wrigley: 28:26 Mm. I watched, um, just before we did this recording, I've watched, um, Stuart actually perform a few of the actions, you know, you did a quick search and so on and so forth. Hey, we, it was, it was quick to the point that I didn't notice any latency whatsoever. Um, you know, it just looked like you type things in and immediately like it would on my Mac in all honesty. So that's incredible. Was that, was there a lot of work in that or is that just a, a testament to the structure that's going on in the background? Or is that just because you're very clever?
Sturt Brameld: 28:55 Uh, there, there was a huge amount of work and it wasn't me. Um, but um, yeah, this is, uh, it's been quite a learning experience sort of building a plugin over time. It's probably taken a year and a half to get to this point. And, um, a lot of it is things that are almost sort of a, not seen a behind the scenes like these things like caching for example, and that the thumbnail generation as well as another one. Um, it's, it's quite challenging to figure out how you do these things so that they're transparent to a user and work like someone would expect them to. Um, and that's particularly challenging because not it, it's, um, as you said, there's, there's not many other solutions that, that work in this way. Um, and so there, there are ways of doing things in WordPress for your very technical users.
Sturt Brameld: 29:37 Things like transients. Um, so we, we, the WordPress way of caching is by using transients. We use them really extensively to ensure that that user interfaces is really fast. Uh, the same things like search. We can't, if you have 100,000 files, we can't go to, um, if someone types in, I want to look for, I don't know, brand guidelines in the search box within WP Admin, we can't then go to, um, Amazon or, uh, a Azure and say, give me a list of all the 100,000 files and then I'm going to search through the one that I need. We have to have that stored locally. Right. Um, so that's been a bit of a technical challenge to overcome. Um, but, but I think we've got that,
Nathan Wrigley: 30:14 but you said that there was, um, a client of yours with several hundred thousand, um, bits of data, let's call it that. And that's that scaling well, is it, it's your search she's able to like get through that fog.
Sturt Brameld: 30:28 Yeah, it works really nicely on the WordPress host that it's on, is not, is not a, a hugely powerful host at all. Um, in fact, the dump that the Dev site runs on WP engine and it works really nicely.
Nathan Wrigley: 30:39 Congratulations. That's amazing. Um, are we able to, like for example, simple things that I do all the time in the finder, which I'm going to use as an analogy here. I click on something, I press command and I click on something else. And those two things get highlighted and I want to drag them to another directory. Is that sort of functionality you possible can click and drag or is it more a question of ticking boxes and then you know, finding a new directory and then telling it, move it there?
Sturt Brameld: 31:07 Yeah, it's the latter on personally. There's not a drag at the moment. Um, but um, but you can select multiple files or multiple files and folders and move them to any other parent folder or sub directory. Yeah. Um, we also have the ability to tag files and folders as well within WordPress, which, um, obviously is not a standard function within something like the media libraries. Um, and where we use that is for, um, the ability to select different categories. So, for example, if you have, uh, to know if you had, if you used it to create a brand library as we've had one company do and you have files for things like logos, photography, iconography brand guidelines for example. Um, it might be that some of those things sit across different folders and you want to tag things across folders. Um, so you can do that. Um, you might, you might have, I don't know, you might have, uh, images that are within both icons and brand guidelines. For example. Um, you can tag them as images and then select images in a drop down field and it'll go, just go and show you all the images.
Nathan Wrigley: 32:14 Okay. So, so there's a way of kind of, um, putting a taxonomy on top of the structure of the file itself. You can give them tags. Uh, I, that's, that's great. I didn't know that. Um, just an aside, which occurred to me as we were talking just now, let's say for example, I get really wedded to this system and I really like it and everything is fabulous. I'm enjoying it. It's working out fine. Am I able to use it for some of the ordinary things we used to in WordPress. So for example, like I write a blog post and I want to use a featured image and the featured image usually we find in the immediate library, could I use this? Is there an easy way of like just using the WordPress a UI and just saying, I want to set this featured image. Is there a sort of cross compatibility there or would I have to adopt a different system?
Sturt Brameld: 33:03 You would at the moment you would have to use a short code. The file. Yeah. So it's a little bit fiddly. I wouldn't suggest doing it. I would say if you need to list maybe, I don't know, five or put more five or more files on a page, then it becomes much easier to use a blogging like this for single files and images and beds. It's, it's easier to use the media library that sort of what it's what it's built for. Yeah.
Nathan Wrigley: 33:27 Yeah. Um, okay. So it feels to me like this is for people who, it seems to me like the best case for this is securing things, speed offloading and security. So with the security model, um, we obviously we're, we're talking about preventing certain people from seeing things and allowing certain other peoples to see things. And we talked about our membership site. How does that work in terms of actually deploying that? So the, the familiar system might be, okay, a certain user role has the capability to view this bunch of stuff and a different user role has lesser capabilities. They can only view this portion of it. Do you use like WordPress user roles or is there a, is there a different way? A, another way?
Sturt Brameld: 34:16 Yeah, so we um, because we use short codes, um, for listing files and folders, um, we're pretty agnostic in terms of how someone creates something like a membership site. So, um, and there's actually, um, on the website there's a section in demo, there's a link to, um, an example, sort of memberships, like our own one actually that I use for my agency. Um, and there it just gives you an idea of, um, you can use any WordPress membership plugin you like, like MemberPress or restrict content pro or any of the other hundreds of membership plugins. Um, and set up a membership site with all the functionality that exists within those. Like if you log in with this user or this role, then you agreed get redirected to this specific page or this homepage. Um, we do that exactly that for our agency. So if client one logs in, they get to a homepage called client one and it lists client one's files and if client two logs in and they get to a homepage for client two and it says welcome client two and they get access to their own files. Um, and then the way we do that, obviously as you restrict access to the page and our short code is on that page, so you can't get to those files unless you have access to the page. Does that make sense?
Nathan Wrigley: 35:26 Yes, it does make sense. I was also kind of wondering on a, um, let's say for example I have a page which is forward slash or I don't know, repo or something like that. Um, if it's possible for two different people logging into to the site and having access both of them to that exact page, whether they could be, uh, viewing two different whole loads of content even though there are the same URL.
Sturt Brameld: 35:54 Um, some that's a very add to uh, um, more of a membership plugin functionality. Yeah. Yeah. So we use, um, I actually use a membership plugin called active member three 60, because I use active campaign for mail. Yep. Yep, Yep, Yep. Um, and they have exactly that functionality. So you can, you can have a short code that says if the user role is this, then show this. And if you use a role to something else and show something else all on the same page.
Nathan Wrigley: 36:19 I think I'm just, so I'm pushing a bit hard. I think really on time. I'm getting out of the bounds of the scope of what it is that you're actually intending to do. One thing that occurs to me as well. I'm wondering, so for example, if I want to list a bunch of things on the website, do you have a bunch of premade, uh, oh, I don't know, like a, like a short code which will dump in a few, um, like, like the version of the finder or windows explorer file navigator. So you can just copy or paste a short code. And there, there are the files in a nice easy to manage clickable way on the front end.
Sturt Brameld: 36:56 Yeah, absolutely. There's um, um, again, almost all based on short codes as like there's a couple of different short coats, um, four main ones. Actually it may, maybe it's worth just describing those. Um, so just to quickly list them off, there's one called list, the one called upload, one called cards and one called in bed. Um, so list is a standard folder listing like you would expect with something like Dropbox. Um, and if you do, the short code is WP media underscore list folder equals whatever folder name is. Yep. Photography. Um, you'll get a list of every folder and file that's within the folder photography. Um, the second one I mentioned is upload. Um, this gives you the ability to upload files from the front end into a specific folder. So again, you have WV media underscore folder under score upload folder equals photography. Um, someone can upload into the folder photography, um, the folder called photography. Um, and where that works really nicely is again, for these sorts of client portals. Um, we've, again, we don't our own portal, um, clients can upload to us or contractors and suppliers can upload to us, um, within one of our client's brand portals. Their suppliers can upload, um, to that area as well. And we actually have notifications built in so that when you get, you can say, if I get an upload to this folder and notify this person, which again is really nice.
Nathan Wrigley: 38:18 Yeah, I can, I can so deploy that like yesterday. That's brilliant. Yeah.
Sturt Brameld: 38:24 Um, and then there's two others, so three and four. So the card view is very similar to the list one, but, um, displays things in a, um, sort of card style. Uh, more of a sort of media card style. Um, and just to expand on that one a little bit, when you, you talked about technical challenges, um, with that, obviously we need an image to be able to show, um, of each file in order to display it, to make that look nice. Otherwise it's got sort of, we can't display an image or it's got a, um, a blank card. And so we actually generate, we generate some that every time you update, upload a pdf file or an image file, we'll upload it will automatically generate a thumbnail for that file. Um, and um, if we can't generate the thumbnail for any reason, like office documents are needed.
Nathan Wrigley: 39:08 Oh yeah. Cool.
Sturt Brameld: 39:10 You can do it. Um, which, so we can't do that. You, we, um, then have full back images. Um, so we have, um, and we're actually just in the process of having preset SVGs for the icon sets for all of the office documents. And one of the settings in the back end is you can set the colors for them. So it all looks really nice to be styled. Uh, that's called. And the last one I mentioned was video in bed, which you talked about previously. So WP media underscore in bed, um, allows you to embed either audio, video files and when you click on the audio video file, it'll display within a lightbox. You can play the video within the lightbox where you can download it. Um, it gives you the option to do those as well.
Nathan Wrigley: 39:45 Is there any capability to swap those views on the fly? So for example, um, you know, I'm in the folder, the tree structure if you like, and I'm clicking on directories. Uh, but I'm now in the, um, I'm in the directory called images and now I want to see thumbnails all of a sudden, not, not, uh, not a tree structure. Can I swap those over?
Sturt Brameld: 40:09 You can't, but we could do that. Ah,
Nathan Wrigley: 40:12 yeah. Which leads me perfectly over to my next question actually. It was, I was wondering, actually, we should probably pause that and just say a couple of things. This is very new. You're a, you're just embarking on this. Um, so the next question I'm asking is, um, what's, what is on the roadmap? Apart from the feature? I've just requests.
Sturt Brameld: 40:33 Yeah. Um, I think the, the main, the main point of this, this point is to gather feedback from people using it. Um, because I've, I've had, um, literally a handful, I'd say there's probably 10, 10 clients using it at the moment. Um, some are really big as I've mentioned. And so we've put a lot of work into being able to solve some of their problems, um, and challenges just because of the amount of content they've got. But I think we've, I feel like I've solved most of the sort of technical challenges and I think from this point onwards, most of it, most of the, the next sort of month or so is just going to be cleaning up the user interface and making it easier for people to deploy and use the plugin. And the interface is, um, pretty simple, but I think it could look a little bit nicer.
Sturt Brameld: 41:17 The other thing we're considering is, or I'm considering, is whether to offer it almost as a service so that you don't have to worry about what we discussed earlier around things like setting up as you're an s three and you just pay whatever it is, probably pounds a month and you get a hundred Gig of storage. And we deal with all the security and setting that up for. Yeah. Um, so a little bit further off, I'd be, you know, if you've got listeners that are interested, I'd be really keen to, to hear some of those different use cases.
Nathan Wrigley: 41:41 It's a very exciting project. It's brand new, so new. In fact, it's not on the wp.org repo yet, although that only my understanding is that is a plan. Um, there's no, there's no conception yet around pricing because it just hasn't got that far. Maybe in the future there'll be a, a pro tier maybe not. Who knows. Um, but if you, if this sounded like something that you could make use of, you know, you've got a real burning desire to go and check this out. Go to WP. Sorry. My WP media.com. No spaces, no hyphens, my WP media.com and you can reach out to Stuart as well. So Stuart, where on the, on the internet, like Twitter handles email addresses, whatever you want to disclose. Where can we find you if we've got some areas?
Sturt Brameld: 42:28 Yeah, I'm, I'm digital elite .co.uk is the main agency websites. Um, as you've mentioned, um, the easiest way is to go by my WP media.com um, and just click the download button or fill in any of the subscribe boxes throughout that site and all of them will come to me and I respond pretty quickly. I think I've said I'll, I'll get back to you within 24 hours maximum. Um, but more than happy to jump on a Skype call, zoom call, sort of phone conversation and talk through individual requirements.
Nathan Wrigley: 42:58 Oh, that's great. And if you've, you know, like I said, if you've got the a need for this kind of thing, you should really go for it because you're, you're in on the ground floor. A Stuart's looking for ideas. He's looking for ways to develop this and to, to to come up with new feature requests. So you know, if it's, you go and try it, test it and it's working, but you've got some feature requests now is the time. So thank you very much. Do it for coming on. I know that you've got to go and do something else in about 30 seconds time, so I'm gonna wrap it up and say thanks for coming on the podcast.
Sturt Brameld: 43:29 Absolutely Fascia. Thanks Nathan. Thanks so me on.
Nathan Wrigley: 43:31 Okay. Yeah, I hope you enjoyed that. It was nice chatting to Stuart about his plugin, WP Media Manager and the things that it can do in addition to the media library, the ability to lock down content, the ability to upload it to Azure or S3, all very nice stuff. And the fact that you can tag your assets as well as very, very nice indeed. I hope you enjoyed it. Sorry again about the sound quality. I literally have no idea what went wrong then. My best guess is that I am accidentally was recording from my Mac and microphone rather than my preferred microphone. The WP Builds podcast was brought to you today by WP&UP one in four of us will be directly affected by mental health related illness, WP&UP supports and promotes positive mental health within the WordPress community. This is achieved through mentorship, events, training and counseling.
Nathan Wrigley: 44:20 Please help enable WP and up by visiting WP&UP.org forward slash give. Right. The only things I need to mention then are please join us again next Thursday for a fresh new podcast. Join us again on Monday if you're able to. First thing in the morning, we released the audio podcast of the WordPress weekly news, the WordPress news from the previous week, um, and also on the Monday at 2:00 PM UK time, join us in the Facebook group. That's WP Builds.com forward slash Facebook where we will have a live episode with some special guests talking about the WordPress news normally lasts about an hour and it's proving to be very entertaining. So yeah, join us for those things. If you possibly can. Okay. That's all I've got. I'm going to fade in some cheesy music and say bye bye for now.