All Activity
- Past hour
-
wbmnfktr started following PageCarbon - CO₂ emissions tracker
-
Buy land. Plant trees. Don't talk about it. Repeat.
-
Sure thing. If it were possible to code a module like that, I would be the first to do it. Jokes aside, anything that helps even a little is welcome, of course. Thanks for sharing!
-
Agreed — and while we're waiting for the forests to grow back, at least we can measure how much damage our websites are doing. 🌱 Awareness is the first step. Knowing your numbers is what makes the conversation about natural restoration possible in the first place. The module doesn't claim to solve anything, just to measure.
-
szabesz started following PageCarbon - CO₂ emissions tracker
-
Which should be addressed by planting forests and most importantly, letting nature heal. https://en.wikipedia.org/wiki/Biological_carbon_fixation "The process of biological carbon fixation plays a crucial role in the global carbon cycle, as it serves as the primary mechanism for removing CO2 from the atmosphere and incorporating it into living biomass. The primary production of organic compounds allows carbon to enter the biosphere. Carbon is considered essential for life as a base element for building organic compounds. The flow of carbon from the Earth's atmosphere, oceans and lithosphere into lifeforms and then back into the air, water and soil is one of the key biogeochemical cycles (or nutrient cycles). Understanding biological carbon fixation is essential for comprehending ecosystem dynamics, climate regulation, and the sustainability of life on Earth." Destroying natural habitats is something we should have stopped doing a long time ago. But it's not too late. I think we should concentrate on letting nature heal on its own by restoring (letting it restore) as much habitat as possible. We should just let Mother Nature do what she does best, without trying to play God by always trying to fix what we have screwed up by some sort of yet another artificial method we (most of the time) come up with.
- Today
-
Hi everyone, Every web page has a carbon footprint. Most developers have no idea what it is. This module measures it. GitHub: https://github.com/mxmsmnv/PageCarbon What it does Tracks response size, PHP execution time, and peak memory per front-end request, then estimates CO₂ using the Sustainable Web Design Model v4 (Wholegrain Digital, 2024). Results appear in a dashboard under Setup → PageCarbon. Admin dashboard: Per-page ratings: 🟢 A (< 100 mg) / 🟡 B / 🟠 C / 🔴 D (≥ 700 mg) 24-hour hourly CO₂ bar chart Top 50 pages by average CO₂ with exec time, response size, and hit count Real-world analogies - all-time total translated into 12 everyday equivalents: car km driven, espressos brewed, Netflix hours, Google searches, short-haul flights, trees needed for a year, and more DOCX export - zero-dependency, pure PHP via ZipArchive Screenshot: Performance-first architecture: WireCache buffer - metrics accumulate in memory, batch INSERT once per hour (zero per-request DB writes) Bot sampling - only 1-in-N bot requests recorded, human requests always in full 90-day raw retention with permanent hourly aggregates - historical data never lost Frontend API: $pc = $modules->get('PageCarbon'); echo $pc->renderBadge($page); // full card echo $pc->renderBadge($page, 'compact'); // single-line pill $stats = $pc->getStats($page); // avg_co2_mg, rating, hits... The average web page produces ~500 mg CO₂ per view. Most ProcessWire sites do better - now you can prove it.
-
@wbmnfktr The current version of AgentTools lets you configure the max iterations on the module screen. Previously the number was like 5, but the new default I believe is now 20. They are good at fixing bugs. It's just that some of the bugs were previously silent or not commonly noticed. I use multi-instance quite a bit, and even on this site (the whole modules directory is a separate install booted from this one). But I've not run into this issue. Is it possible the two instances are running different versions of PW?
-
Some time ago, I decided to install xdebug on my development server, but I never really needed it or used it. TracyDebugger is enough for what I'm doing. I didn't notice it then because my app was not highly developed at the time, but it really causes speed issues especially if you're working on a sophisticated site with a lot of business logic. For a long time, I thought it was just ProcessWire itself being slow, my app being slow due to some optimizations I hadn't done yet, my database being very large, combined with my low spec dev server, but it turns out disabling xdebug, which I had long forgotten about, made things much faster. Just a heads up if you're having speed issues!
-
- 3
-
-
PW 3.0.261 – Core updates + AgentTools updates
adrian replied to ryan's topic in News & Announcements
If you instantiate another PW install via new ProcessWire() then your site will also likely break due to: https://github.com/processwire/processwire-issues/issues/2247 - Yesterday
-
ryan started following PW 3.0.263 – Core updates, AgentTools, WireTests
-
This week in the core, dev branch updates were largely focused on API documentation, with several minor core bug fixes (via WireTests) resolved during the at the same time. We also have new versions of the AgentTools and WireTests modules released this week as well. Core New: API.md documentation files (for agents and us): $classLoader / WireClassLoader — covers namespace registration, class maps, prefix/suffix path fallbacks, and findClassFile() for debugging (view) $datetime / WireDateTime — covers all public methods including date formatting, string-to-timestamp conversion, and relative/elapsed time output, with live-tested examples (view) $log / WireLog — covers save(), message(), warning(), error(), reading with getEntries()/getLines(), pruning, deleting, and built-in log names (view) $notices / Notices — covers adding notices, Notice flags (including string names), iterating, filtering with viewable(), hasErrors(), hasWarnings(), rendering, and Notice properties (view) $fields / Fields and Field — covers getting, creating, saving, cloning, tagging, flag constants, and field methods; (view) $fieldgroups / Fieldgroups and Fieldgroup — covers field membership, template relationships, and field context (view) $templates / Templates, Template, and TemplateFile — three separate API.md files covering the templates manager, the Template object in full, and the TemplateFile rendering class (View: Templates, Template, and TemplateFile). AgentTools module In AgentTools admin, you'll find a new "Tasks" feature. This lets you create your own custom tasks, which are essentially saved prompts that you can reuse and configure. The system also comes with several built-in tasks, including: WCAG accessibility review: Review templates and representative content for common accessibility issues. Recent log review: Scan ProcessWire logs for recent errors, suspicious activity, and operational issues. Migration review: Review pending AgentTools migrations before they are applied. SEO and content hygiene review: Review site structure and representative content for SEO/content quality issues. Template file security scan: Scan template files for common security risks in output, selectors, and request handling. A shared animated processing overlay UI was also added, used by both AgentTools and Page Engineer. (Try it!). Probably only of interest to agents, but more tools were made available via the CLI, which helps out with Engineer requests, as well as AI agents that you may have available on your localhost dev environment. WireTests module New comprehensive tests added to WireTests for the following API variables: WireClassLoader ($classLoader) User and Users ($user and $users) Role and Roles ($roles) Permission and Permissions ($permissions) WireDateTime ($datetime) See the full list of included tests (so far) Thanks for reading and have a great weekend!
-
- 9
-
-
-
ukyo started following WireConsole
-
Hi @maximus, Thank you for taking my request into consideration, I have updated Ichiban and I can confirm that in my case {combo.field} and combo.field is working as expected and og:image is showing as intended, the only detail is when I’m using combo fields as source for OG image URL, Ichiban doesn’t show the resolved path and social preview doesn’t show up, but it’s still rendering the correct URL in the source code. In pages that have a unique image field {image} shows the correct resolved path and the social preview image
-
A router layer over URL segments API that replaces complex if/elseif chains with clean, expressive route definitions. Supports named parameters, type aliases, regex constraints, optional segments, wildcards, and HTTP method matching — all wired directly into ProcessWire's template system via page hooks. https://processwire.com/modules/simple-router/ Alpha — v0.1.0. This module is in early testing. The API may change before a stable release. Feedback and bug reports are welcome.
-
- 3
-
-
-
A tiny ProcessWire admin utility. Hold a modifier key and click any Inputfield toggle to copy the field's machine name to the clipboard — without collapsing the field. Useful when building templates, writing selectors, or debugging: no more hovering to read the name in the title attribute. Github: https://github.com/dlzi/FieldNameCopier
-
- 3
-
-
-
Hi @Krlos, Thank you so much for testing Ichiban and for the kind words. I really appreciate it. You found a real gap there. Ichiban was resolving top-level image fields, but it was not yet following ProFields-style dot notation for nested fields inside Combo/Table/Repeater Matrix fields. I’ve fixed this in v0.1.1-alpha. For a Combo image field, you should now be able to use: field:combo.image or: {combo.image} I also aligned it with the same dot-notation style used in Collections, so nested ProFields paths are supported too, for example: field:blocks.hero.image field:media.property_photos.photos field:prices.*.image For Open Graph images, the resolved image will still go through Ichiban’s normal OG image handling and create the 1200x630 variation when possible. Thanks again for catching this, and also for the very kind note about the recent modules. It means a lot, especially knowing you’re using some of them in production.
-
szabesz started following PW 3.0.261 – Core updates + AgentTools updates
-
PW 3.0.261 – Core updates + AgentTools updates
szabesz replied to ryan's topic in News & Announcements
Looks like Claude/Codex is good at introducing regressions/bugs in the core, or am I mistaken? -
This module provides a ProcessWire Admin UI (“bridge UI”) for the ProcessWire Console ecosystem. It does not re-implement Console features itself; instead it integrates with: trk/processwire-console (required for most features) trk/processwire-boost (optional; status/info only) Module repo
-
- 6
-
-
- Last week
-
PW 3.0.261 – Core updates + AgentTools updates
adrian replied to ryan's topic in News & Announcements
Another behaviour change to be aware of coming from this commit: https://github.com/processwire/processwire/commit/a8ed4d3b#diff-7bf8b3ff2a160688d91f86d0da53350f83e10520af659edfc48da1a0d1cf80a8 If you were adding an array of items via the API you used to have to reverse them first to get them in the order you wanted. Now because of the change from prepend() to add() they will be added in the order in the array you provide, rather than in reverse. I used to reverse before adding so had to remove that step and now things are fine again. -
We might have a minor misunderstanding here. Building modules, tools, apps, anything with little to a lot of logic and functions is not the issue here. My problem is not that there are functions or config fields (Admin UI) missing or not working in a way or form I imagined them to work. The problem is that the Agents and LLMs are not ready yet to build module backends (Admin UI) - even when outlined in high detail. Sometimes they are almost there or at least it looks like it, sometimes they invent something totally new and won't even use existing field types, wrappers, and classes. Having an existing module, adding new functionality, new config settings, or even pages works incredibly well. That's because the Agent/LLMs can re-use existing structure of backend code. Besides that I totally support your step-by-step process and workflow. You can't just throw a vague idea towards whatever tool and expect a wonder. That's for sure. Little side note: I asked Kimi and Opus to build a module that's only purpose is to showcase module pages, all sorts of inputs and outputs. So I have a working base for interfaces I can point at later on. The prompt for those interested: The result: https://github.com/webmanufaktur/ProcessShowcase
-
Hi @maximus, I have been testing your module, and so far it’s really impressive! The only problem I’ve found is how to map an image field that lives inside a combo field to an og:image. I’ve tried combo:image, combo.image, and {combo.image}, but none of those have worked. I also want to take the chance to thank you for your recent modules, you’ve been on an impressive productivity streak and personally I’m using several of your modules in production
-
szabesz started following How Do You Prompt Admin Page Designs
-
For this, I recommend: https://buildermethods.com/prd-creator Quote: "PRD Creator is just markdown — not Claude Code-specific. If you’re using Codex, Antigravity, Cursor, or another agentic tool, download the bm-prd-creator folder from the bm-skills repo and install it as a custom skill, command, or rule per your tool’s convention. The workflow is identical." These are the actual files: https://github.com/buildermethods/bm-skills/tree/main/plugins/bm-prd-creator/skills/bm-prd-creator You may also want to watch this from the author: https://youtu.be/g6VvvS46uCM
-
Work in progress, but in this version, clicking the title takes you to the module config page. You can upgrade dev to the latest commit, which also works for modules. Uninstalled modules are only updated/downloaded, but not installed.
-
You are right. Ok. You are violating forum rules with this one too. "modules thread" Have you missed an apostrophe perhaps? I am asking this because "module's thread" would make more sense to me. Am I missing something perhaps? Anyway, I deleted my comment above. Cheers.
-
@szabesz would you mind removing your statement from my modules thread please? As it has nothing to do neither with the module nor with the question that soma asked, which I simply responded to. Also your post is IMHO violating forum rules and while I could respond I respect those rules and will not respond to what you wrote. But I'm happy to discuss what you wrote in a PM. Thanks!
-
I’m late to the Konkat theme but having used it recently, I really like it. It seems without any major UI adjustments that it’s just a nicer experience and if I’m not imagining things, a little faster? Nice job @diogo and everyone. If you’re open to feedback, can I add the following. First, the main grey background is a touch too dark for my personal preference, and interestingly a client mentioned the same, describing it as too industrial. They’re marketing. They like their UI to be friendly and approachable. The issue is a practical one: a heavy base grey compresses the tonal range before we placed a single element on the page. To make cards or panels register visually at all, you have to resort to strong contrast because a nice, subtle layering just disappears. Alternatively, with a near-white base you have room to step up gradually, building visual hierarchy through gentle increments. A heavy base leaves nowhere to go without things feeling either too dark or muddy. This isn’t a design lecture… just trying to pinpoint the particular issue. And I agree it only really affects module builders but interestingly, a client recently remarked that they found it a little industrial and unwelcoming compared to the previous theme. Next up, buttons… I find that buttons with 100% border radius never appear as truly aligned as flat side buttons with a subtle border radius. We switched to rounded buttons years ago on an enterprise project, everyone loved the change ( yay, jelly beans!) and now we’re going back to traditional 4px border radius throughout because everything just looks better aligned. It seems the beauty of using the css vars is I can easily tweak these things myself but wondered if at least the grey background was under consideration? Otherwise and honestly, it’s a great theme and I’m looking forward to using it more.
-
I would still recommend following the following scenario, at least that's how I did the Job Board, not just everything chaotically, but purposefully in stages. 1. You need to write a module specification, explain the idea, and ask the AI to ask you questions interactively - this will help you open up better. 2. Once the specification is ready, you can start coding. Sometimes you have to bet big, like in a casino. That's what I did with Opus 4.7—the cost of a week's worth of code was $5—meaning I'd burned through the weekly limit. 3. Launching in the environment. Previously, I simply uploaded files, debugged using screenshots - I worked like this for quite a long time, copied the code from the chat window to an FTP file, made an update, and then continued testing. 4. Buy a $99 license for MAMP and specify the folder with files for Claude Code or Codex. 5. Request a technical analysis, preferably cross-analysis using several models—sometimes they can contradict each other. Fix critical bugs. 6. Continue testing. Sometimes, when I don't like the interface, I tell the AI, "Simplify the interface in WireWall or add more data to the Dashboard in Job Board." 7. Manual testing of inputs and checkboxes. However, this can be replaced with Claude Cowork. You just need to describe the task to it and then ask it to generate a report so you can continue making the code work. 8. Sometimes the AI doesn't know what's inside or how the data is stored. You need to install TracyDebugger with Adminer or, alternatively, write a small tool that receives the data and then saves it as JSON so it can debug itself. In general, this simple plan will help you write a good application. I like Processwire for its interactivity and the fact that you can build the architecture of 3-4 full-fledged websites within it. Teams and investors with bloated staffs are no longer needed. Everything can be done solo. Thanks to @ryan for your work, the forum and the people who move this platform forward!
-
Hey everyone, MediaHub v1.17.0 is now available and introduces Focus Point support, SVG uploads, Input Field UI enhancements, and improved KONKAT compatibility. Existing customers: visit your account downloads area. New to MediaHub?: visit my in-progress landing page Full changelog: https://www.peterknight.digital/docs/mediahub/v1/changelog/ Release blog post https://www.peterknight.digital/blog/posts/mediahub-1-17-release/ Happy to answer questions here, but in the meantime, here are some screenshots. Focus Point support and focus point aware cropping. In the crop editor, you can now set and change the Focus point target.... As you might expect, crop presets and auto-generated crops snap to the focus point... SVG support Also in 1.17, driven by a request from @Stefanowitsch: SVG support for logos, icons, and illustrations that need to scale cleanly. SVG uploads are off by default. Enable them under Modules → Configure → MediaHub in the new SVG Support section. When turned on, uploads require the native ProcessWire FileValidatorSvgSanitizer module. If the sanitiser isn’t installed, uploads are refused rather than letting an unsanitised file through. InputField UI polishes Detail view is meant to show more per card, but the layout felt cluttered. Detail-mode cards now use a cleaner layout with a Crop · Focus · Edit action strip and inline file metadata. More to come on that front. It's somewhat based on the native Input Field view, but with a few tweaks. Konkat Theme If you run the ProcessWire KONKAT light admin theme, 1.17 includes improved compatibility across MediaHub’s admin screens. The asset detail page gets a cleaner card layout, a Modified column in the Crops table, and usage-aware delete confirmations (not shown) IE MediaHub warns you before deleting an asset or crop that’s still referenced elsewhere. Next up, as promised, I am working on improved support for batch operations, such as bulk upload and getRaw() support for massive libraries. Thans for reading. If you like what you see, I hope you can make MediaHub part of your next ProcessWire project 🙂 P