Leaderboard
Popular Content
Showing content with the highest reputation on 03/08/2026 in all areas
-
@teppo Thanks, good to hear the more I use it, the more I'll be blown away. I've been using AI ever since ChatGTP first came out, but primarily just for technical questions and such. For instance, a couple months ago Claude helped me figure out how to reduce static pressure in our HVAC system by rebuilding (DIY) the return plenum and filter rack, and it was super helpful. I posed the same questions to GPT and Gemini but they weren't nearly as helpful. This week is the first that I've gotten into collaboration with the actual code. Adrian showed me all the things Claude Code had recommended for the PageFinder, and I found myself really liking what it had found and suggested... Seemed like we were on the same page, just like with the HVAC work. The other thing is that I've found it a little overwhelming with all these models (GPT, Grok, Gemini, Claude, etc.) with big changes almost weekly, and if these companies were ethical and ones I'd even want to be putting money towards. Then I learned about why they created Anthropic in the first place, and last week heard how they were sticking to their ethics and wouldn't cross their red lines despite government pressure. Sounds like integrity to me, something that is hard to find with big companies. That opened my comfort level and clarified for me that Anthropic's Claude Code was a good place to dive deeper with this stuff.4 points
-
Hi everyone, Well, I finally have a version of Tracy which is ProcessWire namespaced. This has not been easy, although the last issue (which was breaking sites on upgrade from an old non-namespaced version) finally seems to be resolved thanks to some AI help. Unfortunately because this version took so long I lost patience with maintaining separate branches so it also includes a move to IndexedDB instead of LocalStorage for Console data (since I added the multiple tabs if you dumped a lot of content across several tabs it was possible to hit the 5MB LocalStorage limit). It also includes a lot of other random fixes and security improvements (although I think mostly hypothetical given the access restrictions to it). I have also dropped support for PHP < 7.1 (inline with PW). If anyone would be willing to test the upgrade from https://github.com/adrianbj/TracyDebugger/archive/refs/heads/namespaced.zip I'd really appreciate it. Please only test on a dev site and if you do run into any issues, the best way to recover is to delete TracyDebugger folder from /site/modules folder and go back to the admin and reinstall, but hopefully this is no longer a problem. Thanks, Adrian3 points
-
Some updates to the MediaHub module I've added an import tool that lets you pull in all the existing images on your ProcessWire site without having to re-upload anything manually. If you've been running PW for a while before installing Media Hub, you'll probably have images spread across dozens of pages and fields, and doing that by hand is nobody's idea of a good time. The new Import tab (v104) scans every image field on your site, shows you what's out there in a nice table with thumbnails, dimensions, file sizes, which page and field each image belongs to, and crucially flags potential duplicates. So you can spot that the same hero image has been uploaded to 12 different pages and just import one copy. You can filter by field, template, or search by name, then select what you want and batch import the lot with a progress bar. There's also an Import by URL option if you've got images sitting on your server or hosted elsewhere that you want to bring in directly. Nothing groundbreaking, just one of those quality-of-life things that makes the difference between a module people install and a module people actually use.2 points
-
@mattgs Like Adrian, I also consider myself very environmentally conscious. I've not spent much time learning AI in part because I thought it was problematic for a lot of reasons. But I don't think we're likely to stop these AI companies so that's why I thought I should try things out with a company that seems to have more ethics than the others. Anthropic seems to have a mission for AI safety and sustainability. I hope it's legit. And as far as I can tell, the other companies don't, which I find concerning. But I'm also not as up-to-speed as you are on the on the issues you brought up, so I'll have to look closer as well as check out the video you mentioned (do you have a link?). I'm also aware that a project like ProcessWire gets executed millions upon millions of times every month (or day?) throughout the world, and every execution consumes energy. So I've always been very interested in optimization and making ProcessWire use as little time and energy as possible to do its work. The updates that we've been focusing on here are aimed directly at that. So perhaps AI is using a little energy to find optimizations and bugs in PW, but that single brief code review session reduces the energy usage of every ProcessWire execution going forward. This is a case where AI is likely saving a lot more energy than it consumes, indirectly by making ProcessWire use less energy. Some of the optimizations and bugs its found have been there since the beginning, and likely would have never been identified otherwise.2 points
-
@mattgs - I am very environmentally conscious (it was my career in a previous life). The decisions we make in life are hard and never black and white. If AI can make us be more effective developers so we can create things faster and better, then we might actually be able to help people and the planet in the process, or maybe volunteer for good if we have more spare time available. Maybe AI can help us to figure out ways to get off oil faster, or preserve species on the brink of extinction. I really don't know and I have a lot of concerns about AI in the bigger picture, but we're definitely not going to stop it at this point, so let's try to use it for good as best we can.2 points
-
This week on the dev branch we've got several commits with various core improvements and fixes. @adrian has been using Claude Code to suggest core optimizations (focused mostly on the PageFinder) and so he sent the suggestions to me. (PageFinder is the brains behind the $pages->find() method, and many others). I took the suggestions and coded them into our PageFinder, but didn't want to mess with what was already working well, so put them in a new class named PageFinder2, at least temporarily. If running the latest dev branch, you can enable PageFinder2 by adding the following to your /site/config.php: $config->PageFinder('version', 2); The most significant changes are: using subqueries for subselectors rather than separate independent queries; Reusing PageFinder instances (keeping a pool of typically 1-3 PageFinders rather than creating a new one for each $pages->find() operation); and lots of in_array() calls have been converted to isset() lookups, which should technically be faster (still the case in PHP8?, I'm not sure). There were some other changes as well. Theoretically these changes should make PageFinder even faster than it already is. I did quite a bit of testing and found that for the most part it performs the same as PageFinder v1. But then I came across a rather complex selector that translated to a much faster PageFinder operation, nearly twice as fast, and that convinced me it was worthwhile. While PageFinder v2 is not consistently faster than v1, there are some situations where it can be a lot faster. I'm not totally clear on what those situations are just yet, but I'll be doing more testing. In other situations it also can use a lot fewer queries, though that doesn't necessarily translate to a performance difference. But on the whole, all of Claude's suggestions were quite good, regardless of performance improvements. I was pretty impressed with what Claude Code had suggested, so decided to install it on my computer too. I've found it's particularly good at finding bugs. I'll ask it to do a code review on a core file, and it always has good suggestions. It uses ProcessWire terminology too. For instance it pointed me to an object that wasn't properly "wired to the ProcessWire instance", and that's something you'd only ever hear in ProcessWire land. Claude code also helped with improvements to our DatabaseQuery* classes, PagesVersions module, Wire base class, NullPage class, and minor updates to the PagesLoader* classes. I'm not having it write any code just yet, but am having it suggest where improvements can be made. I like to code. I asked it how it knew so much about ProcessWire, and it said that it stays up-to-date with the forums, the website, API docs, and GitHub repo. Thanks to @adrian and @Jan V. for recommending it to me (Jan V. uses it to manage this webserver), I can see how it's going to be a big help to ProcessWire with its suggestions and ideas, I'm already learning a lot from it. And if you get a chance to try the updated PageFinder, please let me know how it works for you. Thanks for reading and have a great weekend!1 point
-
1 point
-
And I created an almost identical blog post about the module using the module, without opening the CMS admin once. That's the demo/use case right there.1 point
-
Hey, if anyone is using Cursor for AI development, I just added some interesting functionality to the MCP module, including full 360 local/remote sync.1 point
-
Some updates to the Processwire / Cursor MCP Module. But first a recap (composed by Cursor) ProcessWire MCP — 360 Content Sync Between Cursor and Any ProcessWire Site With this Cursor MCP module for ProcessWire, you can say "Pull the about page, update the intro, and push it to production" — and Cursor does exactly that. No CMS login, no FTP, no copy-paste between environments. The module gives Cursor full read and write access to any ProcessWire site — local or remote — via a secure API. Pull pages down as editable YAML files, make changes in your IDE, and push them back. Or go the other direction: scaffold new pages locally and publish them to production in bulk. Fields and templates sync the same way, with diff previews and dry-run support before anything is written. The practical result is a genuine 360 workflow — content and structure moving freely between your local dev environment and any live site, driven entirely by natural language prompts in Cursor. What's new in this release: Remote site connection Cursor can now connect directly to any live ProcessWire site over HTTPS. Previously all MCP tools only worked against your local database — remote changes meant logging into the CMS admin manually. Now a single configured API endpoint is all that's needed. Schema sync — push, pull, diff Field and template definitions are exported as versioned JSON files. Compare your local schema against production, see exactly what would change, and push with a single prompt. Think of it as Prisma migrations for ProcessWire. Previously adding a new field to production meant recreating it by hand in the admin and hoping it matched local. Page content sync — pull Any live page can be pulled down to a local YAML file. Your content is now code — version-controlled, editable in your IDE, and diffable like any other file. Previously content only lived in the database and the only way to edit it was through the CMS. Page content sync — push Edit content locally and push it back to local, production, or both simultaneously. Dry-run is on by default so you see exactly what will change before it's applied. Cursor writes directly to the ProcessWire database via the API — the CMS admin is never involved. Create and publish pages remotely — without touching the CMS Scaffold a new page in Cursor, write the content, and publish it directly to production in one step. Template, parent, name, fields, and published status are all set via a single prompt. This is the foundation for more powerful automated workflows — bulk landing page generation, scheduled blog publishing, or programmatic content pipelines driven by keyword data or external feeds. Cross-environment page reference resolution Pages that reference other pages (a homepage featuring service pages, for example) previously stored those relationships as raw database IDs. Those IDs differ between local and production, so pushing a page reference to a different environment would silently link to the wrong page — or nothing at all. References are now stored with their URL path and resolved correctly on whatever environment receives the push. Pre-push reference validation Before any push, a new pw_validate_refs tool scans every synced page and checks that all page references actually exist on the target environment. It reports missing references (which would blank the field on push) and unpublished references (valid but hidden) separately. Previously a broken reference had no way to surface until it caused a visible problem on the live site. Coming next The next phase adds a staging environment tier (local → staging → production promotion), matrix and repeater item sync, and autonomous content publishing — where an external scheduled process generates and publishes SEO-optimised content directly to ProcessWire without Cursor or the CMS admin being open at all.1 point
-
The more you use it, the more you’ll be blown away. At least that’s how it has gone for me and most devs I know. Since Opus 4.x, Claude has completely transformed my workflow 🙂 I enjoy “manual” coding too, but AI coding has plus sides. Going from rough idea to usable feature is blazing fast, testing and prototyping has been so much fun, and AI tends to find issue (and opportunities!) humans would never spot. Also with Claude taking some of the load off my shoulders I often find myself working on multiple things at the same time… though I guess not everyone will see that as a good thing 🫣 Oh, and docs and tests! Claude is great for that stuff. It needs human guidance for both, though, as it tends to get confused about what actually matters. AI docs are often easy to spot: many words, little (or no) meaning. Admittedly sometimes this way of doing things tends to feel less like coding and more like managing a team of skilful but a little naive devs that often need help with ideation, architecture, testing, and just plain common sense 😅1 point
-
Looking good, @Peter Knight! This is exactly what I was looking for. New to PW and building a portfolio site so quickly running into image management questions. I just posted a question on handling static or non-image field images - more specfically, how can we generate <picture> srcsets with PageImageSource when dealing with asset folder images. A solution without duplication would be nice. Not sure how relevant that is to your module but thought I'd share: Picture srcsets have to be the most tedious thing in html markup. I'd be happy to beta test the module if you like. Are you planning on releasing it as paid or open source?1 point