ProcessWire Weekly #627

The 627th 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 check out what's new in the core this week, right before introducing a couple of new and very interesting third-party modules: GitSync from frameless Media, and ProcessWire PhpStorm Meta from Philipp Schreier (interrobang).

As always we've also got a new site of the week to highlight. This week that site belongs to a German automotive and mobility dealership and service center based in Göttingen: Friedrich Rolf GmbH. 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.262

This week we have a new weekly update from Ryan, in which he covers the latest dev version of the core, 3.0.262. This version is primarily about bug fixes, with some minor feature-like updates thrown in the mix.

This week on the dev branch we have around 35 commits that cover mostly minor bug fixes. Most of them were submitted by @adrian and several others were found by Claude and GPT 5.5 Codex using the WireTests framework.

— Ryan

We won't bore you by covering all the fixes in this version, as there are quite a few of them and most are pretty minor, but feel free to check out the commit log for the dev branch at GitHub for the full list. Among the fixes there are some CSS updates for the admin, SVG sanitizer security hardening that helps mitigate cross-site scripting (XSS) risks, new API.md files, and database and query updates.

This week Ryan has also updated the WireTests module, adding new tests and support for tests that live outside the module's own folder. That latter part is going to be quite important going forward, since that we are planning to bring this module to the core.

That's all for our core updates section this week. For more details, be sure to also check out the weekly update from Ryan at the processwire.com support forum. Thanks!

New module: GitSync

GitSync is a new third-party ProcessWire module from frameless Media. This module synchronizes your modules with GitHub repository branches directly from the admin panel. With it, you can easily pull the latest versions of each module to a test server without manual FTP uploads after every commit.

The overview screen of the GitSync module, displaying various modules with repository and branch names, sync dates, settings, and available actions.

The module communicates with GitHub REST API, compares module's hashes with those in GitHub to identify updated modules, supports for webhooks so that GitHub push can automatically trigger an update, and also supports accessing private repositories using GitHub's personal access tokens. Obviously there's also proper logging and permission handling, as well as various important security features baked in.

If you're interested in giving this module a try, there's a detailed guide for setting it up and using it, available via the modules directory, as well as the module's README. This guide explains how everything works, what requirements there are for different features, and so on. Definitely check it out first.

You can install it via the built-in modules manager in the admin, or clone or download the module's source code from the GitSync GitHub repository. For support requests, head down to the GitSync support forum thread.

Big thanks to frameless Media for sharing yet another interesting and useful module with the ProcessWire community, great contribution as always!

New module: ProcessWire PhpStorm Meta

ProcessWire PhpStorm Meta is a new third-party module created by Philipp Schreier. This module adds and automatically updates a .phpstorm.meta.php file that enables proper autocompletion in the PhpStorm IDE. Basically when you use a method such as $fields->get(), your IDE can automatically suggest you actual field names (and more).

The list of autocompletions enabled by this module is extensive:

  • wire container keys for wire('...') and Wire::wire('...')
  • module names for Modules::get() and Modules::install()
  • field names for Fields::get()
  • template names for Templates::get()
  • unique page names for Pages::get()
  • hookable methods for Wire::addHook*()
  • page status constants/strings for Page::status(), Page::addStatus(), Page::removeStatus(), and Page::hasStatus()
  • field flags for Field::addFlag(), Field::removeFlag(), and Field::hasFlag()
  • template cache-expire constants for Template::cacheExpire()
  • Inputfield collapsed constants for Inputfield::collapsed()
  • sort flags for WireArray and PageArray sort(), sortFlags(), and unique()
  • Field type autocompletion by Page class (optional, enabled via module config)

By default the module places the meta file in site/assets/.phpstorm.meta.php, but the location can be changed via module config settings. The file automatically regenerates when fields, templates, or modules change, and you can trigger a forced regenerate via the module config screen.

If you'd like to give this module a try, you can install it via the modules manager in the admin, or clone or download it from the ProcessWirePhpStormMeta GitHub repository. In case you have questions for the author or require additional assistance, head down to the ProcessWire PhpStormMeta dedicated support forum thread.

Big thanks to Philipp for creating this very useful module and sharing it with us!

Site of the week: Friedrich Rolf GmbH

Our latest site of the week is that of Friedrich Rolf GmbH, a German automotive and mobility dealership and service center based in Göttingen, Germany.

The company has been around since 1980, initially as a car dealership but since then they've expanded their range of services a lot, and relatively recently they've started offering bicycles and e-bikes as well.

Since 2022, we've been delighted to partner with various bicycle companies, selling e-bikes, traditional bicycles, cargo bikes, and folding bikes. This fits perfectly with our concept, especially in bike-friendly cities like Göttingen.

Created by MPSN Design, the Friedrich Rolf GmbH website is a neatly designed, mobile-friendly and very responsive website with plenty of details about the company, services, and of course the vehicles they currently have for sale. It's nice to find a company site that goes a bit further than just providing minimum details and a product list, and this site is definitely that: there's a lot of information, and the news section feels active too.

As for some behind the scenes details, the front-end of this site appears to be largely custom-built, likely on top of the Bootstrap front-end framework, and there are some familiar JavaScript utilities in work here, including Tiny Slider. When it comes to non-core ProcessWire modules, the ones we could spot were FormBuilder and ProCache.

Our congratulations to Friedrich Rolf Gmbh for their new, ProcessWire powered website — as well as the team behind this project at MPSN Design for a job well done!

Stay tuned for our next issue

That's it for the 627th issue of ProcessWire Weekly. We'll be back with more news, updates, and content Saturday, 23rd of May. 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