The 642nd issue of ProcessWire Weekly brings in all the latest news from the ProcessWire community. Modules, sites, and more. Read on!
Welcome to the latest issue of ProcessWire Weekly! In this week's issue we're going to kick things off with a quick overview of the latest core updates, available via the dev branch of ProcessWire at GitHub, as well as share a new weekly update from Ryan.
In other news we've got a new third-party module to introduce: MCP Server, created by Maxim Semenov. And, as always, we've also got a new site of the week to highlight — this time belonging to Kyagulanyi Ministries, a Christian faith-based NGO based in Uganda. Keep on reading for more details.
Thanks to all of our readers for being here with us again, and as always, any feedback is most welcome – please don't hesitate to drop us a line if there's anything in your mind you'd like to share with us. Enjoy our latest issue and have a great weekend!
Latest core updates: ProcessWire 3.0.271
This week we have a new development version of ProcessWire, 3.0.271, as well as a new weekly update from Ryan at the ProcessWire support forum. This week there have been a total of 41 commits to the core, and here are some highlights from those commits:
- An optimization for FieldtypePage effectively halves the number of per-page-ref-field delete statements triggered when any page gets removed. Thanks to Adrian Jones (@adrianbj) for submitting this one!
- Database index updates: new index for pages_parents.parents_id, pages.parent_id is now indexed with sort, and new index for session_login_throttle.last_attempt.
- Cache updates: selector-based caches for a page's previous location are expired when the page is moved, removal of WireCache test fixtures is ensured, and a bug was fixed where preloading caches prevented generation of values not yet cached.
- Multiple issue fixes, including issue #2084 where repeater subselectors exceeded the temporary table column limit, issue #2297 where WireHttpMulti::execute() silently discarded queued requests, issue #2300 where .htaccess rule blocking AI agent markdown files didn't apply to all folders, issue #2310 where LazyCron was writing to modules table even when no jobs had run, and issue #2314 where WireHttp had trouble communicating with a server identifying as a teapot.
- Various UX improvements, including a warning for unsaved changes if value has been typed but not yet blurred, automatic switching to default language when the active language is deleted, Font Awesome icon prefixes fixed for Inputfield header, and some scrolling and positioning fixes for the admin interface.
- It is now possible to choose per FieldtypePage field whether references to trashed pages should be kept (current default behaviour) or removed. Removed references are automatically restored if the page is restored from trash.
- Process Page Edit Image Select module was updated so that RTE requests cannot invoke non-RTE image save actions, resulting in WirePermissionException instead.
- ProcessPageSearch now checks field viewability on a per-page basis, omitting any non-viewable values automatically.
- Renamed/moved/templateChanged hooks are now consistently triggered only if the save actually changed relevant values. Among other things this should prevent PagePathHistory from adding redundant path history entries on subsequent saves.
- The version of jQuery library loaded when $config->debug is set to "dev" has been bumped from 3.6.4 to 3.7.1, and a fix was backported to the default 1.12.4 version for an issue where Chrome reports "Permissions policy violation: unload is not allowed in this document" in the admin.
We probably forgot to mention some updates, so if you're interested you can check out the full dev branch changelog for the past week at GitHub.
That's all for our core updates section this week. For more details, be sure to also check out the weekly update from Ryan, in which he talks a bit more about where things stand in terms of core development right now. Thanks!
New module: MCP Server
MCP Server is a third-party ProcessWire module created by Maxim Semenov. It provides an easy way to implement MCP server for AI tools on your site, while keeping things as safe as possible: built on top of the official MCP PHP SDK, it provides an authenticated, streamable HTTP endpoint that modules can use to register tools for AI clients.
Installed provider modules opt in and keep ownership of their validation and business rules; MCP Server owns transport, client identity, scopes, rate limits, tool discovery, and audit evidence.
— Maxim Semenov
In other words MCP Server module doesn't provide any tools by itself, but rather works as a gateway between AI clients and other modules. In order to provide such tools, a module must declare mcpProvider as true in their module info, and implement two specific public methods:
public function mcpProviderInfo(): array;
public function mcpTools(): array;In addition to enabling communication between external clients and local MCP tools, this module also provides an admin interface and CLI tools for checking server status and audit logs etc. Maxim has also already built MCP tool implementations for various modules he's maintaining — including Tickets, Ichiban, Olivia, and Relay.
If you'd like to give this module a try, you can clone or download it from the McpServer GitHub repository, or install it via the built-in modules manager in the admin. In case you have questions or requests for the author, head down to the MCP Server support forum thread.
Thanks to Maxim Semenov for creating this module and sharing it with the ProcessWire community. Great stuff as always!
Site of the week: Kyagulanyi Ministries
Our latest site of the week belongs to Kyagulanyi Ministries, a Christian faith-based non-governmental organization (NGO) and church network founded in 2010 and based in Uganda.
We share the love of Christ through ministries that meet spiritual and practical needs, strengthen local leadership, and help communities flourish.
— Kyagulanyi Ministries,
In addition to spreading the Christian gospel, Kyagulanyi Ministries helps communities flourish through a holistic development approach. Among other things they help rural communities, schools, and churches access clean drinking water, run charity projects, and support education.
The website of Kyagulanyi Ministries provides details about the organization, including their background and ongoing projects, the leadership, impact stories, and more. Their site has a very nice, modern design, to the point yet informative content, and plenty of photo and video material — all in all a very nice site to visit.
As for some behind the scenes details, there's not a whole lot we can say about this project. The front-end of the site appears to be custom-built, using a BEM style CSS methodology, and JavaScript features also seem to be hand-crafted. The site has no signs of familiar non-core modules either, but it does feel very fast and responsive.
Our congratulations to Kyagulanyi Ministries for their ProcessWire powered website — we're happy to have this project featured in the ProcessWire sites directory!
Stay tuned for our next issue
That's it for the 642nd issue of ProcessWire Weekly. We'll be back with more news, updates, and content Saturday, 5th of September. As always, ProcessWire newsletter subscribers will get our updates a few days later.
Thanks for staying with us, once again. Hope you've had a great and productive week, and don't forget to check out the ProcessWire forums for more interesting topics. Until next week, happy hacking with ProcessWire!
Post a comment