Jump to content

kongondo

PW-Moderators
  • Posts

    7,469
  • Joined

  • Last visited

  • Days Won

    144

Everything posted by kongondo

  1. I'll see if I can include his in the next version of Media Manager. My current thinking is that I'd add an extra column/subfield to FieldtypeMediaManager.
  2. Hi @fruid, I am totally confused by this ?. When editing a media item (i.e. inside media manager), you are editing the page where the media item lives. In the case of an image, the image is in a normal ProcessWire image field. So, the description, tags, cropping, etc are all native ProcessWire inputs and functions. Yes it is.
  3. Thanks @nurkka I am working on showing preview thumbnails actually. But I still get your point about long filenames. I agree. There will be a list view. However, I cannot guarantee that the filenames would not be cropped, i.e., we cannot control for how long a filename will be, especially in some non-English languages. However, we'll try and get in as much text as we can. The current plan is to have the meta data in a sidebar to the right (like GDrive). I'll consider this. Maybe make it configurable. @fruid, Yes, exactly. Please see the docs: Accessing Media Manager Objects Properties Media Manager Objects
  4. @fruid. Sorry for the delay in getting back to you. Long weekend here. Please change the relevant code to: <?php namespace ProcessWire; $importedUsualPages = $pages->find("your-selector"); $arrayOfConnections = [ 'my-usual-page' => [ 'id' => 1876, 'imported_mm_pages_ids' => [2035, 2036, 2038, 2056] ] ]; foreach($importedUsualPages as $importedUsualPage){ $importedUsualPage->of(false); $mmField = new MediaManagerArray(); $importedMMPagesIDs = $arrayOfConnections[$importedUsualPage->name]; foreach($importedMMPagesIDs as $importedMMPageID){ $mmFieldItem = new MediaManager(); $mmFieldItem->id = $importedMMPageID; $mmFieldItem->type = 3;// 1-audio; 2-document; 3-image; 4-video // add MM item to MediaManagerArray $mmField->add($mmFieldItem); } // ----- // populate mm_field of page $importedUsualPage->set('mm_field', $mmField); $importedUsualPage->save('mm_field'); } Let me know how it goes.
  5. Would it be technically possible and would there be major benefits to decouple 'read' caches versus 'write' caches? I.e., when reading, we use the file system but when writing we use the database system. Perhaps configurable via $config. Just wondering.
  6. Hi @MrSnoozles, Thanks for the feedback. Yes, a breadcrumb navigation is planned. I haven't started work on it yet. It will be very similar to Google Drive (i.e. like the demo.filerun). True. And the 'green' is just for testing. So, no decision made there yet. The browser for the recording was zoomed in at around 175% so that could be the reason but I've note this, thanks. Thanks! Hi @fruid. No. As mentioned in the post with the video demo, the next MM will not be available until after the summer at the earliest. I have also just noticed this. It must be related to a newer version of ProcessWire. I am only noticing it in 'All media' view. Pagination is working fine if viewing a single media type. It shouldn't show twice and yes, I have also seen this if in 'All media' view. That footer is not inserted by Media Manager. It is inserted by ProcessPageLister which is the class that ProcessMediaManager extends. The next version of MM will not be extending ProcessPageLister so this error won't occur. Good idea. I'll add this. Sorry about that. I'll have a look. Will do. Totally! Thanks for all the feedback!
  7. @bernhard Have you searched for a dedicated library, e.g. on npm? I have seen a number of libraries in the past such as this one. There is also this conversation on SO.
  8. @Juergen. Thanks for this. I think @bernhard is talking about JavaScript perhaps, for use before the form is even submitted to the server.
  9. Hi @Boost. Yes, Media Manager is a paid (pro/commercial) module. Are you perhaps talking about the free Media Library module versus Media Manager (the pro module)?
  10. As both you and @elabx have alluded to, it is a tricky one. For MM specifically, since we are using Lister (will change in the next version, most likely, to htmx), it could also point to an error about a particular image on a particular page. The [object Object] is most likely the text of the error that ProcessWire is returning. Like @elabx pointed out, have a look at the Network tab. A 500 error would mean a server error. Some of the possible causes are a very large image that MM did not finish resizing, or there was an error uploading it, hence clogging up stuff. I have received a number of suggestions about handling such stuff, especially from @gebeer. I'll include this in the next updates. Back to your issue, I know 800 images is lot because it means 800 pages, but if you are able to narrow this down to some possible 'big' images, you can sort out the issue manually by editing the relevant (MM) page. However, this too can make the system hang. So, you might want to resort to the API in that case. Let me know how it goes
  11. Uploads: Three way (all upload to the current category): DnD Via right click which pops open a contextual dialog and you select 'upload' Via the 'New' button, which pops open a contextual dialog and you select 'upload' New Button: Opens a dialog/dropdown from which you can choose : 'new folder', 'file upload' or 'folder upload' [this latter one will also create the virtual folder, i.e. category] By default, yes, it is the entire library. However, there will be advanced search, accessible by clicking some icon within the search box. It will open a dialog within which you can set search parameters such as type, name, date, category, etc.
  12. Like ProcessWire page reference fields. Yes. Media pages are not nested. They reference 'categories' (folders) which themselves can be nested. To the user, they look like 'folders' in everyday computing (sort of). Conceptually, they are virtual folders. Technically, they are like page reference fields. This means that a media item can belong to more than one category. This is achieved simply by it referencing multiple 'category pages' (like page reference fields). So, technically, we don't nest media items. Instead, we nest the categories and the media items follow that, virtually. Categories are nestable pages. For instance, in the demo, People is a top level category (folder) page. It has two (ProcessWire) page children, Men and Women. If we wanted to, we could further sub-divide this, e.g. Men > Sports Men > Martial Arts > Etc... These are all 'category' pages. It is not shown in the video but from the screenshot below, you can see the category 'Fruits' is deeply nested. Deep Nesting Back to the demo, for example, the images (media items) you see when viewing 'Men' have the category 'Men'. Definitely. This is because as explained above, we don't nest the media items themselves. Their paths are fixed. For instance, to move some media from the category 'Berries' into 'Apples', behind the scenes, we will just change its category (reference) to 'Apples' (or 'Green', to be more specific). The media itself doesn't move. I am still working on the 'move' from the UX point of view but it will most likely be via both drag and drop and using menu (context) options.
  13. Hi all, I wanted to update you on the progress of the next MM as discussed from this post onwards. Here's a very short preview of the next MM. It is still very early days. Nothing is polished and things may change. My main focus is on the functionality although I spent a bit of time on the GUI. I have spent considerable time thinking about the conceptual design, especially for the API and I am quite pleased with that so far. Before you ask, I don't know when this will be ready. It is not a small re-write. I do know that it won't be until after the summer though, that's for sure. Happy to get early feedback, thanks. MM Next Early Preview Demo 1.mp4
  14. @fruid, True. This is planned for the next version of MM (see this post). I'll post a demo of it here later today. There is no firm ETA for its release but it will be after summer most likely.
  15. Hi @fruid, Do you mean when viewing the media in Media Manager? If yes, that is not currently possible. What's your use case? I'll have a think about this.
  16. Hi @Boost, Are you able to install other modules by uploading their zip files? If not, I am thinking is a permissions issue in your system?
  17. Is your issue resolved then? I see your edit as well but I am still confused.
  18. That's exactly what I said wouldn't work ?. You cannot control non-native children. If the children are MB (drag and drop) children, they are always shown (unless you disable them in the backend using the disable menu item option). I don't understand what you mean by 'not really working'. A little more detail would help.
  19. What @flydev said. A slightly different alternative to the above is to store the order values in a hidden input as a CSV. In that case, you don't need to touch window.location.href. You would use the values in the CSV to access the GET params sequentially.
  20. @bernhard Very late comments here. I'd started watching but things got in the way and I didn't finish. I've just finished watching. A-M-A-Z-I-N-G! Thoroughly enjoyed this one. Thanks for sharing and thanks for representing ProcessWire. It looks like a lot of thought went into the presentation. It was also interesting to hear about your background. I am guessing this perhaps explains why your work/modules are always so polished and of high quality!! I suppose you don't get into a helicopter without meticulously checking everything works as it should ?. I liked the way you showed the basics first and gradually moved into the more advanced topics. I also liked the way you used git history. I have learnt some new things as well and my interest is piqued. I have never been a fun of PHP template engines but that latte stuff you showed got me really interested. That is a lot like 'modern-js' like you said! Have you noticed any performance issues with latte? I was also very impressed with ddev. I know you have mentioned it before but the 'docker' bit is what has put me off in the past. For some reason, docker was either slow on my machine (a Windows thing maybe?) or just wouldn't work. I am very curious about ddev now. Do you still use a Windows machine? How's ddev in terms of performance? Anyway, great stuff and thanks again for sharing!
  21. Hi @Roych, There is no setting for this currently. 'include_children' applies to only to the 'real/natural ProcessWire children pages. For instance, if my ProcessWire page tree is as follows: Home About History Mission Team Services Plans And your Menu Builder Menu is as follows (in the backend): Home About Services If you use 'include_children', your rendered menu will display as follows: Home About Services History Mission Team As you can see, 'include_children' will grab the 'real' children (ProcessWire pages) of 'About' and display them in the menu. However, without 'include_children', your menu will be rendered as follows: Home About Services You cannot programmatically disables 'Services' from not showing. I.e,, there is no option for you to get: Home About However, you can achieve what you want by using getMenuItems() You can have getMenuItems() return an object (WireArray). You can then use WireArray methods to remove children items from the WireArray. Finally, given that this is a single level menu, you can just loop through the filtered WireArray and display them in your markup. Example code (untested): <?php namespace ProcessWire; $menu = $modules -> get('MarkupMenuBuilder'); // get the menu items for menu with ID 1030 /** @var WireArray $menuItems */ $menuItems = $menu->getMenuItems(1030); // OR, if passing options // $menuItems = $menu->getMenuItems(1030, 2, $options); // ------ // grab top level menu items only // they do not have a parent, i.e. parent_id == 0 /** @var WireArray $topLevelMenuItems */ $topLevelMenuItems = $menuItems->find("parentID=0");// you could also use (destructive) filter $out = "<ul>"; foreach($topLevelMenuItems as $topLevelMenuItem){ $out .= "<li><a href='{$topLevelMenuItem->url}'>{$topLevelMenuItem->title}</a></li>"; } $out .= "</ul>"; Hope this helps.
  22. Thanks for reporting @gebeer. Added to my TODO.
  23. Hi @Pretobrazza, Currently this is not possible but will be possible with the next version mentioned in this post above. Best
  24. @alexm. This one's a mystery. It works here just fine. I'll check what my server environment is for the demo to see if that sheds any light.
  25. @alexm, Try: <?php namespace ProcessWire; $formattedCurrency = str_replace(" ", "", $formattedCurrency);
×
×
  • Create New...