In the 315th issue of ProcessWire Weekly we're going to walk you through the latest core updates, introduce a couple of new third party modules, and check out a brand-new site of the week. Read on!
Welcome to the 315th issue of ProcessWire Weekly! In this week's issue we're going to kick things off by diving head first into the latest dev branch version of ProcessWire — 3.0.157 — and then introduce a couple of new third party modules: WayFathomAnalytics and TextformatterFunkyFunctions.
Our latest site of the week belongs to a London based design agency, Human After All. This site was introduced via the showcase area of our support forum earlier this week, and instantly caught our attention. More about that in just a bit!
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.157
In this week's core updates post Ryan introduces the latest dev release of ProcessWire, 3.0.157. This week the focus has been on refactoring existing core features, such as the Database and PageFinder classes, but there have been some other updates as well.
Ryan's post — which you should check out as well! — focuses on the refactoring process and explains why this is exactly the type of work that the core needs from time to time, but here are some of the other things that were updated this week:
- Default htaccess file was updated, and among some minor improvements there's also a new nuisance blocking/firewall section with examples and a link to the 7G Firewall by Perishable Press. (All rules in this section are disabled by default.)
- Sanitizer got a few new methods (
trunc()) and also some improvements to one of the existing methods (
intArray()). This week's additions are largely the same as our existing methods, but they all come with some kind of a twist;
line()(for an example) is almost identical with
text(), except that max length is not enforced by default.
- Some small updates were made to the Markup RSS module; slightly better entity handling, new PHPDoc comments, and minor code tweaks. Nothing major here, just some general housekeeping really.
For more details feel free to check out the GitHub commit log for the past week and be sure to read the weekly core updates post as well. Keep in mind that there were some pretty big behind-the-scenes changes this week, so if you're using the dev branch on production, some extra caution is recommended if you update the core. Thanks!
New module: WayFathomAnalytics
One of the latest additions to our modules repository is WayFathomAnalytics by Craig A Rodway. Built to work with Fathom Analytics, a commercial analytics tool focusing on speed and privacy, WayFathomAnalytics does two things — although one of those is actually completely optional:
- It brings Fathom Analytics dashboard to ProcessWire Admin. This is the "always on" part of the module, and the primary reason to use it in the first place.
- It also supports automatically configuring and adding the Fathom Analytics tracking code to front-end pages. This is the optional part of the module.
The module provides a ton of configurability in case you want to use it for your front-end pages, while for the dashboard to work there are only a few basic details you need to fill in. Fathom Analytics itself is quite simple (especially compared to a full-featured analytics suite, such as Google Analytics), so getting started with it is really easy.
If you're interested in giving Fathom a try, WayFathomAnalytics is a nice companion to go with it; big thanks to Craig for setting it up and sharing the project with us!
New module: TextformatterFunkyFunctions
Textformatter Funky Functions is a module that has actually been around for quite a while — the initial commit in the module repository is way back from 2017. Since this module also never made its way into the modules directory, we've only just now been made aware of its existence.
(Better late than never, right?)
Anyway, to the point: Funky Functions is a Textformatter module that was inspired by Hanna Code, and actually does largely the same thing. You use it to define shortcodes, which get run as the page gets rendered. Even the shortcode syntax should be quite familiar for any Hanna Code users out there:
[[nice-gallery images=1,2,3,6- type=special-kind]]
The main difference between Funky Functions and Hanna Code is that whereas Hanna Code provides a back-end code editor for its code snippets, Funky Functions doesn't. Each shortcode must already have a matching file on the disk; you can configure your own location for these files, or use existing files from /site/templates/fields/.
Another key characteristic of Funky Functions is that it can pull data from the fields of current page. You can specify numeric array to pull data from a field with array values (`images=1,2,3`), or you can use a selector to get items (`images="description*=cat"`):
There's actually a bit more to both file handling (such as fallback files etc.) and using field values, so be sure to check the README file provided with the module. And, as is always the case with modules that are not in the modules directory, we'd recommend that you test carefully before putting this module into production use.
Thanks to Steffen Henschel for developing this module — some very nice ideas here!
Site of the week: Human After All design agency from London
Our latest site of the week belongs to Human After All — a design agency based in London, UK.
Human After All specializes in brand and communications, and they've recently been certified as a B Corporation. They've worked and partnered with many major players out there: Facebook, Greenpeace, Pinterest, and Google — just to name a few. And, of course, they've been using ProcessWire for many client projects, as well as their own agency websites.
The new Human After All website features a nice and clean design, with interesting yet quite easy to follow layout choices, some well-placed transitions, and a really gorgeous typography. Overall the site has a really nice and well refined look and feel — there's nothing that feels out of place here, and better yet the site looks and feels just as nice on a small mobile screen as it does on a large desktop screen. Bravo!
Some tech specs, borrowed from the showcase forum thread:
- Processwire 3.0.155 with the markup regions output strategy.
- A number of third party modules, such as ProCache, Custom Inputfield Dependencies, Service Worker, and ImageOptim.
- The site uses Bulma as its front-end framework, Pjax for page loading, and lazysizes for lazy loading both image and video content.
- Static resources are distributed via KeyCDN and the site is also a PWA, which means that it can be installed when using supported browser and device.
If you have any feedback or just want to drop in a note about what you thought of this site, be sure to visit the Human After All showcase forum thread. Big thanks to Human After All for both believing in ProcessWire and sharing their awesome site with us!
Stay tuned for our next issue
That's all for the 315th issue of ProcessWire Weekly. We'll be back with more news, updates, and content Saturday, 30th 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!