kongondo Posted October 19, 2015 Share Posted October 19, 2015 (edited) Media Manager Released 31 March 2016https://processwireshop.pw/plugins/media-manager/ Documentation http://mediamanager.kongondo.com/ As of 10 May 2019 ProcessWire versions earlier than 3.x are not supported ******************************************************* ORIGINAL POST ******************************************************* API Example (frontend; will be added to documentation site) Accessing and outputting the contents of the MediaManager field(s) in your template is quite simple. The fields are accessed like many other ProcessWire fields. The fields return an array of type MediaManagerArray that need to be looped to output each media within. Assuming you created a field of type MediaManager named 'media', you can loop through it for a given page as shown below. @note: Each MediaManager object has the following 5 basic properties: DATABASE (saved properties) 1. id => pageID of the page where the media lives (hidden in admin and not important to know about) 2. type => integer denoting media type (1=audio; 2=document; 3=image [for variations this will be 3x, where x is the number of the variation of an original image]; 4=video) RUNTIME 3. typeLabel => user friendly string denoting media type (audio, document, image, video) 4. media => a ProcessWire Image/File Object including all their properties (ext, filesizeStr, height, width, description, tags, filename, basename, etc.) 5. title => title of media (@note: this is the title of the page where the media lives; may or may not be the same as the name of the media file itself). This can be used as a user-friendly name for your media $media = $page->media;// returns a MediaManagerArray. Needs to be looped through foreach ($media as $m) { echo $m->id;// e.g. 1234 (hidden page in /admin/media-manager/media-parent/) echo $m->type;// e.g. 3 (a media of type image) OR 1 (a media of type audio) echo $m->typeLabel;// e.g. 'document' (i.e. type would be 2) echo $m->title;// e.g. 'My Nice Trip' (whose media file could be my-nice-trip.mp4) /* @note: - $m->media returns an object; either a ProcessWire Image (for image media) or File object (for audio, document and video media) - This means you have access to all the properties of that object, e.g. ext, tags, description, url, filename, basename, width, height, modified, created, filesize, filesizeStr, etc as well as associated methods, e.g. size() */ echo $m->media->tags; } // only output images foreach ($media as $m) { if($m->typeLabel =='image') { echo "<img src='" . $m->media->size(100,75)->url . "'><br>"; } } // There's also a toString() method so you can do: echo $page->media; /* All your media will be output wrapped in appropriate HTML tags, i.e.: audio: <audio></audio>; document: <a></a>; image: <img>; video: <video></video>; */ ******************************************************* ORIGINAL POST ******************************************************* The topic of a central media manager feature for ProcessWire has come up several times: https://processwire.com/talk/topic/4330-get-image-from-other-pages-via-images-field/https://processwire.com/talk/topic/4330-get-image-from-other-pages-via-images-field/?p=42578https://processwire.com/talk/topic/4330-get-image-from-other-pages-via-images-field/?p=42582https://processwire.com/talk/topic/425-file-manager/https://processwire.com/talk/topic/425-file-manager/?p=13802https://processwire.com/talk/topic/425-file-manager/?p=13861https://processwire.com/talk/topic/10763-asset-manager-asset-selector/ More recently, regarding my Visual Page Selector module, I have been asked several times why the module does not have an in-built feature to upload images. There's two camps on the topic of a central media manager: those who like them (especially those coming in to PW from other CMSes) and those who don't like them (primarily because of the chaotic way some CMSes (dis)organise their media management) . I think that we can have our cake and eat it too! If done the right way, closely following the principles of and harnessing the power of ProcessWire, we can have a well-implemented, organised, feature-rich, site-wide media manager. Introducing Media Manager: (a commercial module) Alongside a number of modules I am currently working on (both free and commercial), I have been developing a centralised Media Manager for ProcessWire. Before you cast the first stone, no, this is not going to be a one-large-media-bucket as in other CMS where it gets very messy very quickly . In the backend things are neatly stored away, yes, in pages. However, those are pages you will not see (just like repeater pages). Before anyone has a go at pages, remember a page is not that thing you see on the ProcessWire Tree (that's just its visual representation); A page is a record/row in the database . For the end-user of Media Manager, all they will see is the 'familiar media bucket' to select their media from. As long as it works efficiently, I don't think they care about the wizardry behind the scenes . The module allows for the comprehensive management of several media types: Audio Video Images Documents Each media type will be handled by its own sub-module so the user can pick and install/choose the type of media management they want. Features include: Access controls Centralized uploads of media Bulk management of media: tag, delete, describe, replace, etc. Bulk upload: zip; scan, single Quick upload in page edit mode Usage stats across pages (maybe?) Etc.. Would love to hear your thoughts and any feature suggestions. I think there's enough demand for such a module. If not, please let me know so that I can instead focus on other things , thanks. How other CMS do it The more efficient (PW) way of doing it Edited June 6, 2023 by kongondo archived 21 Link to comment Share on other sites More sharing options...
Mike Rockett Posted October 19, 2015 Share Posted October 19, 2015 Definitely going to keep my eye on this - fantastic idea! One of my current issues with file uploads is that they expose a certain directory structure. As much as PW is protected from that, I prefer file URIs to be a little more 'process' oriented - hence one of the reasons I created little Dispo. (Speaking of Pages as records, I've been meaning to discuss the possible storage-switch from DB to Pages for Jumplinks when I rewrite... Perhaps that would make it a lot more flexible...) 1 Link to comment Share on other sites More sharing options...
gingebaker Posted November 10, 2015 Share Posted November 10, 2015 Great Idea! I would love to see this one. Do you have some kind of timeplan for it? 1 Link to comment Share on other sites More sharing options...
kongondo Posted November 10, 2015 Author Share Posted November 10, 2015 I'm hoping in time for this Christmas 4 Link to comment Share on other sites More sharing options...
felix Posted November 11, 2015 Share Posted November 11, 2015 This would be awesome! Link to comment Share on other sites More sharing options...
OrganizedFellow Posted November 11, 2015 Share Posted November 11, 2015 I'm hoping in time for this Christmas OH Happy Holidays indeed! Link to comment Share on other sites More sharing options...
kongondo Posted December 2, 2015 Author Share Posted December 2, 2015 Getting warmer....(OK, so my icons suck, but hey...we're 75% there. ).. Page Edit List View Page Edit Grid View Page Edit Insert Media ProcessMediaManager 9 Link to comment Share on other sites More sharing options...
LostKobrakai Posted December 2, 2015 Share Posted December 2, 2015 Don't worry about the icons, have you seen some of those many wordpress plugins? 2 Link to comment Share on other sites More sharing options...
MuchDev Posted December 2, 2015 Share Posted December 2, 2015 I like this module so much! 1 Link to comment Share on other sites More sharing options...
MuchDev Posted December 2, 2015 Share Posted December 2, 2015 So here is a wild and possibly silly question, have you put thought in to media preview for documents and audio files? If I have a pile of audio files in a folder I think it would be the bees knees to be able to hit preview or something with a little ajax player... 1 Link to comment Share on other sites More sharing options...
kongondo Posted December 2, 2015 Author Share Posted December 2, 2015 So here is a wild and possibly silly question, have you put thought in to media preview for documents and audio files? If I have a pile of audio files in a folder I think it would be the bees knees to be able to hit preview or something with a little ajax player... Not wild not silly... Yes, you are covered ...but currently only audio + video. Documents are trickier, except for PDF. Still mulling using a different jQuery plugin vs fancybox? Link to comment Share on other sites More sharing options...
bernhard Posted December 2, 2015 Share Posted December 2, 2015 this looks great kongondo! have you thought about implementing the blueimp file uploader to it? it has built in preview (at least for mp3 and images) and supports client side image resizing. that's one thing i am missing most when it comes to image galleries! looking forward to trying this module 2 Link to comment Share on other sites More sharing options...
kongondo Posted December 2, 2015 Author Share Posted December 2, 2015 @BernhardB, yes, I have considered it. Will look further into it, thanks. 1 Link to comment Share on other sites More sharing options...
MuchDev Posted December 3, 2015 Share Posted December 3, 2015 hmm yeah, drag and drop would be crazy cool too. Danger scope creep warning Link to comment Share on other sites More sharing options...
LostKobrakai Posted December 3, 2015 Share Posted December 3, 2015 Drag and drop can be quite easy, if one doesn't use jquery UI: http://bevacqua.github.io/dragula/ Link to comment Share on other sites More sharing options...
kongondo Posted December 3, 2015 Author Share Posted December 3, 2015 hmm yeah, drag and drop would be crazy cool too. Danger scope creep warning Drag and drop to sort or to upload? Both are already implemented 1 Link to comment Share on other sites More sharing options...
MuchDev Posted December 3, 2015 Share Posted December 3, 2015 Drag and drop to sort or to upload? Both are already implemented Man you are a boss! What about google drive / dropbox uploading now I'm just being difficult. Seriously though, this is going to be super useful. I can think of a musician I know that I'm going to be building a site for and I was really wanting to handle his content this way. Link to comment Share on other sites More sharing options...
kongondo Posted December 3, 2015 Author Share Posted December 3, 2015 What about google drive / dropbox uploading Planned for version > 1, maybe 2nd release 1 Link to comment Share on other sites More sharing options...
David Karich Posted December 9, 2015 Share Posted December 9, 2015 Very good idea for the module! I like the concept, and in the end also for the end user easier to understand than him unlearn habits. Absolutely helpful would be an own InputField. So you can add assets not only in the text editor, but also the template. Either select from the Library, replace a selected asset or a new upload. Just like the current file InputField, but just connected to the module. Thank you for doing the work. I look forward to the module. 3 Link to comment Share on other sites More sharing options...
kongondo Posted December 9, 2015 Author Share Posted December 9, 2015 @David, The module consists of 3 modules: A Process module, a Fieldtype and, you guessed it, an own Inputfield . The Inputfield is what you see in the first and second screenshots above. 1 Link to comment Share on other sites More sharing options...
David Karich Posted December 10, 2015 Share Posted December 10, 2015 @David, The module consists of 3 modules: A Process module, a Fieldtype and, you guessed it, an own Inputfield . The Inputfield is what you see in the first and second screenshots above. Haha okay. Right. Sometimes you can not see the forest for the trees. Link to comment Share on other sites More sharing options...
Tom. Posted December 10, 2015 Share Posted December 10, 2015 Looks promising, keep up the great work Link to comment Share on other sites More sharing options...
kongondo Posted January 8, 2016 Author Share Posted January 8, 2016 Not sure what's going on with my previous post. I've deleted it...Will update with short video instead... 1 Link to comment Share on other sites More sharing options...
kongondo Posted January 8, 2016 Author Share Posted January 8, 2016 Video clip showing latest development...(note: previews of other types other than images are still a work in progress...) 21 Link to comment Share on other sites More sharing options...
Nicolas Posted January 8, 2016 Share Posted January 8, 2016 DAM it ;-) I love this. This modules makes ProcessWire a respectable Digital Asset Management. Great job kongondo 1 Link to comment Share on other sites More sharing options...
Recommended Posts