Jump to content

All Activity

This stream auto-updates

  1. Past hour
  2. We've long wanted a way to utilise a CDN to offload images/files/videos from ProcessWire sites without losing all the native greatness of ProcessWire image and file field types. Having read various discussions on here about ways to approach this that never seemed to reach conclusion, I've thrown myself into creating a module that allows offloading of files to Bunny.net CDN as we need a solution for a specific project. I think this would be easily adaptable to any S3 compatible CDN but I've only tested on Bunny. ⚠️ This is still very beta! Use at your own risk! I've been conducting basic testing and so far, so good but there's bound to be holes or things that others may suggest better ways of doing. But I'm now at a stage where the insight/experience of the PW community might add value to the project - so I'm sharing now! Full disclosure: Once past the initial project scaffolding I've been using AI/careful prompting to write some of the code so that I can arrive at a prototype as quickly as possible. This seems to have worked well, although some of the code looks a little verbose and could probably be refactored later on. Also not security/pen-tested yet. https://github.com/warp-design/WireBunnyCdn/ Features: Automatically uploads images to Bunny storage on page save, including all variants and mirrors assets folder structure for simple merging back to local at a later date if needed. Automatically cleanses deleted files (or files from deleted pages) from your CDN. Option to mirror files to CDN or delete local copies (this is the main aim for me, otherwise we could just use ProCache). Handles (basic currently) image sizing - either using standard ProcessWire `$image->size(X,X)` methods or by implementing Bunny Optimizer for sizing using URL params. Rewrites image paths via CDN so that you can use standard `$page->imageField->url` calls with the output being a Bunny path rather than local PW path. Also handles the image previews in admin view. Roadmap: Support for video uploads (with optional separate CDN endpoint for Bunny Stream buckets). Support for front-end video output to templates using Bunny stream players/optimisation etc. Implement chunked/background uploads for large files. Support for other size() method options, like cropping etc and mapping to Bunny Optimizer equivalents. Anyway - look forward to hearing any advice/feedback/bug reports... I'm sure there's many!
  3. Did your upgrade of PHP perhaps change from CGI to FastCGI, or even FPM? There might be a resource utilization difference there, as I don't believe the upgrade of ProcessWire would cause SQL error states like that. I'm not sure if ProcessWire is fully PHP v8.4 compliant yet. You should be pretty safe with PHP 8.2, and maybe PHP 8.3. The errors should be, if I'm not mistaken, warnings, however, not actual errors.
  4. Today
  5. With new version 1.0.4 it is possible now to set multiple Stripe API Keys in the modules config. This is especially useful for testing. Unfortunatly the module still has the "pending" status, so you will not be able to upgrade via the backend. See:
  6. Updated to this last version but I still keep getting an error: Parse Error: syntax error, unexpected token "{" Line 1984 of /site/modules/Pages2Pdf/mpdf/mpdf.php Also, images are stretched when rendering the pdf: https://www.birthfactdeathcalendar.net/events/dates/november/1-november/?pages2pdf=2867 This is the code for images: <td width='150' valign='bottom'> <div style='max-width:150'> <img src=\"{$webimage}\" align='right' style='width:100%; height:100%'> </div></td> Processwire 3.0.246 PHP 8.4
  7. Apart from plenty of '500 Internal Server' errors, I'm also getting a bunch of these ones: Error: Exception: SQLSTATE[HY000] [1203] User [database-name] already has more than 'max_user_connections' active connections In /wire/core/WireDatabasePDO.php line 549
  8. Dear Nicolas, I regret my late reply. Yes, I am interested. Nantes certainly sounds French. We can also continue our conversation in French if you prefer. Bien le bonjour! François Alesch You can reach me on WhatsApp at +43 650 2537243
  9. Yesterday
  10. I would love to try this but I am getting an error when trying to restore the backup on the prod machine. When trying to go into the Database Migrations page I get an error that says: Unknown field supplied to saveField for page 1167 If I choose the migration from the admin section of the page tree I get the same error. I can open up the bootstrap one though. It was only a simple test. I added a field and a template in the dev side.
  11. @ryan - I can no longer log into the modules directory. I don't get any notification as to why either, but I do see this JS error (which might be unrelated). Uncaught ReferenceError: Inputfields is not defined <anonymous> https://d1juguve2xwkcy.cloudfront.net/modules/WireRequestBlocker/ProcessRequestBlocker.js?v=4-3.0.251:43 fire https://d1juguve2xwkcy.cloudfront.net/assets/pwpc/pwpc-e1739702c839f9ff94bc214b49a3df07d7cbaa03.js:1 fireWith https://d1juguve2xwkcy.cloudfront.net/assets/pwpc/pwpc-e1739702c839f9ff94bc214b49a3df07d7cbaa03.js:1 ready https://d1juguve2xwkcy.cloudfront.net/assets/pwpc/pwpc-e1739702c839f9ff94bc214b49a3df07d7cbaa03.js:1 completed https://d1juguve2xwkcy.cloudfront.net/assets/pwpc/pwpc-e1739702c839f9ff94bc214b49a3df07d7cbaa03.js:1 ProcessRequestBlocker.js:43:2
  12. Anthropic seems to be a little extra greedy! It seems as though the throttler appears to be working! We've still had some outages of our website as reported by UptimeMonitor, but since making a few changes and adding this module, it's only happened once; we were experiencing it multiple times per day, a few days per week. It can't all be attributed to this module, but I'm certain it's helped! It would be nice eye-candy if there were a small animation to "compress" (or scroll up) the grouping of active throttles for their removal from the list. It's quite jarring when the updates occur in rapid succession and the prior entries simply disappear and get replaced. I thought the time-to-display was coordinated with the time-to-block, but I just recently witnessed (via Firefox) a fairly rapid succession of updates, and each update caused the prior list/time-report to disappear. The below animation, although it repeats, is in realtime. The one I witnessed was a little faster. (Maybe a memory leak? I've had this open for about about 4 hours now.)
  13. Thanks - yes I forgot about PageGrid.
  14. The largest problem with the JSON-type WYSIWYG implementation of editors is that they all have their own custom implementations and conventions of how they represent the DOM via JSON. Quill was one of the first (that I was aware of) to have a complete and somewhat sane implementation therein. That said, since that seems to be the way editors are moving in general, I think it makes sense to go in that direction as well, but choosing should be made with care, determining as many pros and cons of features and technical decisions for the choice as possible. The topic that covers editor.js is: https://processwire.com/talk/topic/24876-pw-30170-– core-updates/ There was another one (I believe the next update by Ryan in News & Announcements) that partially continued the discussion, but most of it, if I'm remembering correctly, was here. Statamic's Bard uses TipTap, and prior to that used ProseMirror (TipTap uses ProseMirror under-the-hood which is likely why they were able to easily switch to TipTap; the same underlying JSON representation). EDIT: I think @jploch's module, PAGEGRID, originated out of that discussion. 🙂
  15. I think having seen Kirby CMS' blocks editor last week that that sort of UI with the JSON storage behind the scenes could be the way to go. I think some mashup of the JSON storage from one of those editors, Kirby's UI and the way the Pro Custom Fields module has its fields configured would be the perfect blend and then get rid of the need for Repeater Matrix for a lot of things. Some limitations would be that you have to store images/files somewhere but it's easy enough I guess to just have a field for each that acts as a bucket and the block editor references them. If the UI was advanced enough they could be there but hidden or something. I'll see if I can track down that other discussion - sounds interesting, thanks Brendon!
  16. Last week
  17. I think experimenting with a block-style editor would be great. In the very large discussion over WYSIWYG editors (I don't recall of this was a 2025 wishlist, or a discussion of the future of TinyMCE/CKEditor, but it had a LOT of paginated responses), a few people even experimented in creating a proof-of-concept with editor.js, showing their results. I gave it a shot but determined the end result (interface) was too cumbersome for most of my users (and I usually try to aim for a very low bar as a standard; less complaints / support needed). Even in the demo (tried today) I was able to cause a rendering bug in both of the editors mentioned (TipTap, Editor.js) above. That said, if a true module is attempted to be released, since they render and use JSON as the underlying structure, I would recommend using a similar database structure to TinyMCE and/or CKEditor, and save the HTML-rendered output in a field just in case someone wished to switch back to a standard text editor for a particular field. (Unfortunately that means only one-way compatibility, however - and increased storage costs/size...so maybe an option for that in the module.)
  18. Updated to ProcessWire from 3.0123 to 3.0.246 with PHP from 7.3 to 8.4 and getting plenty of errors "Trying to get property 'title' of non-object" and more on https://www.birthfactdeathcalendar.net. Where did it go wrong and/or how to solve it?
  19. Hi all, I’ve recently published a module and it still shows as pending. I can’t see it in the "My Modules" directory overview – although I can navigate to the module page directly via URL. Two questions: Is it intentional that even the author doesn’t see their own pending module in the overview? What’s the process for a module to move out of pending status? Does it require manual review or certain criteria? Thanks for any insights! Cheers, Mike
  20. Quick Tree This module is great for productivity when editing many pages within the admin, as it gives you direct access to the page tree navigation without having to hover the tree icon first. Download from Github For non-superusers the page dropdown currently looks like this (if no bookmarks are defined): With this module it looks like this: For super-users or users with all permissions set it looks like this: These changes are achieved width a small js file that triggers the ajax tree navigation after the dom has been loaded. While I have tested it already a bit, I release this for now as a beta version. I hope others find it useful as well.
  21. @Mike-it - sorry, it's not possible at all with the way the module works. A workaround is @teppo's https://processwire.com/modules/admin-restrict-branch-select/ which extends this module. Not quite what you are looking for, but maybe it will suffice.
  22. Hi @adrian, In the case of the "User specific branch setting in the user profile page, would it be possible to limit the branch not to a single branch but to multiple branches? Like the example below: Home Folder A (branch access) Sub-a-1 Sub-a-2 Sub-a-n... Folder B Sub-b-1 Sub-b-2 Sub-b-n... Folder C (branch access) Sub-c-1 Sub-c-2 Sub-c-n... Long or easy way to develop?
  23. Super @adrian! Yes of course use the numeric key! I'll try it soon! It worked!
  24. hi @Jonathan Lahijani I can't remember of any flag that I set, but there is $config->external that should be true when used from the cli, which is the case with rockshell. What is "put PW in CLI mode?", I don't understand.
  25. @ryan was there ever any movement on this, they are now up to version 8.1.2. I don't keep up with the WYSIWYG landscape, does it matter that PW is so far behind?
  26. @bernhard Is there a way for ProcessWire to know if it was executed from RockShell? Does RockShell leave some sort of signature that could be detected? Right now I'm working around this by putting this in the handle() method: $this->wire()->config->isRockShell = true; Somewhat related: Does it make sense to have RockShell put ProcessWire in CLI mode by default, because currently it doesn't do that and my assumption is that it would? Not sure of the pros/cons of doing that, but I'm assuming you given it some thought.
  27. Thanks for the info.
  28. The module is installed and running. Will report back on statistical findings after letting it run for about a week. The upgrade folder replacement went fine and did take up the settings from the database, so I didn't have to merge anything. The version info from the prior version is still reporting as the most up-to-date in ProcessWire Upgrade though (so searching for new versions won't show this version as available). Since I didn't get the column header in the cropped photo below, the 0.0.4 is currently installed, 0.0.2 is latest version (as reported).
  29. This week we've got several updates to the core on the dev branch. It's primarily focused on small issue fixes and optimizations. Though there's enough since 3.0.251 that I'm bumping the dev branch version to 3.0.252. Next week there won't be any new updates this time next week because I'll be traveling, but will be back right working on the core right after that. Thanks for reading and have a great weekend!
      • 11
      • Like
  1. Load more activity
×
×
  • Create New...