The 132nd issue of ProcessWire Weekly brings in all the latest news from the ProcessWire community. Modules, sites, and more. Read on!
This week we've got both a new master version (3.0.41) and a new development version (3.0.42) of ProcessWire. In his weekly blog post Ryan introduces another addition to the ProDevTools module family, and we've got some new third party modules to share too.
Our latest site of the week belongs to a building contractor based in Beveren, Belgium, and while we had to leave the tip of the week section out of this issue, no worries: it'll be back next week. Meanwhile feel free to submit new tips at ProcessWire Recipes.
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.41 and a look at the API Explorer module
In his latest processwire.com blog post Ryan introduces the latest core versions: 3.041 (master) and 3.0.42 (development). The development branch includes a couple of new and improved features, along with a bunch of fixes:
$input->queryString()now supports an overrides array, making it possible to add to, remove from, or otherwise alter the output of said function on the fly.
Support for OR-groups was added to the InputfieldSelector module used in the core page Lister and ListerPro, among other places.
InputfieldSelector was updated to support proper sorting by field labels rather than just by names, and also better support for multi-language subfield names.
- Fixed an issue where deleting Repeater items could cause changes to other fields not to save properly.
- Fixed a PagePathHistory issue where a cloned child of a renamed parent page could redirect to the wrong item when accessed via an old URL.
In addition to aforementioned fixed and improvements, there was also a bunch of minor documentation improvements this week. For a full list of changes in current master branch please see the commit log at GitHub.
Briefly introducing the API Explorer module
API Explorer is the latest addition to the upcoming ProDevTools module family. First thing you folks should know about this module is that if you've visited the new docs section at processwire.com, you've already seen a part of what this module can do.
API Explorer is not based on a blob of static documentation, but rather a module that creates human-readable documentation from all the phpDoc comments and such in the codebase of a ProcessWire instance it is installed for. In other words it's a living documentation that will always be in sync with your current ProcessWire version.
Other reasons to really love the new API Explorer module:
- It brings always-up-to-date documentation right to the backend of your site, under it's own page at Setup > API Explorer. If you update your site, this page remains in sync with any potential API changes.
- It actually displays even more information than we've chosen to display at the docs section of the site, including all Wire-derived classes and API variables – some of which we have chosen to omit from the official docs for clarity.
- API Explorer generates documentation for all modules that have proper phpDoc comments in place. This is a feature you won't see on our official documentation either, for pretty obvious reasons.
If you want to see screenshots and read more about the API Explorer, check out Ryan's weekly blog post. The API Explorer module is also installed on our demo site, so feel free to log in there and check it out right away. Thanks!
New module: Limit PageTable
Limit PageTable is a new module by Robin Sallis, the author of the Connect Page Fields module introduced in our previous issue. In a nutshell Limit PageTable adds the ability to limit the amount of entries that can be added to a specific PageTable field.
If the PageTable field in question only accepts items of one specific template, the limit obviously applies for all items. On the other hand if multiple templates can be used, you can define separate limits for each template.
There are plenty of use cases where this module could become useful:
- If you are using a PageTable field as a page builder, with this module you can, for an example, declare that any single page can only have one contact form. In other words it gives you, the developer, more control over the actual content of the site.
- If you handle carousel items or news highlights with a PageTable field, with this module you can predefine exactly how many items users can add via the admin backend. In some cases enforcing limits this way can be good for usability.
- For a PageTable field that contains a list of team members for a specific project you could define how many members of a specific role can be added to a team.
- ... and so on. We're sure many of you folks can think of a use case or two of your own.
Big thanks to Robin Sallis for building and sharing this module with us – it's a very useful addition, no doubt about that!
New module: Auto Smush
Auto Smush is a really interesting new image opotimization module built by Roland Toth and modified by Matjaž Potočnik. Auto Smush can handle most common image formats out there, and includes two modes of operation:
- In automatic mode images are automatically optimized, with no user intevention required. This is pretty much as simple as it can get.
- In manual mode a separate button is added for optimizing a specific image or image variation. For those who prefer more control.
In addition to a selectable mode of operation, there are also two "engines" available, depending on your needs and available resources:
- reSmush.it online service is, at least for the time being, a free third party service, but of course there are no guarantees that it will remain free. This option is easy to get started with, but we can't really suggest it for processing private material.
- Local tools option means that images are processed locally by Image Optimizer, a bundled PHP library that, in turn, uses optipng, pngquant, jpegoptim and few more libraries to achieve the best possible results.
While there are already a bunch of similar modules available for ProcessWire, this is the first module to support a full range of different image formats, and as such a very good candidate if you're looking for an easy-to-use tool for handling all your image optimization needs.
Big thanks to Roland and Matjaž for sharing this module with us. Great stuff indeed!
Site of the week: Groep Huyzentruyt
Our latest site of the week belongs to a building contractor based in Beveren-Leie, Belgium – Groep Huyzentruyt. Apologies for those in our audience not fluent in Dutch or French, the two languages available on this site; as always, Google Translate is your friend.
Once you get past the potential language barrier, the site of Groep Huyzentruyt is really quite nice: responsive, modern, beautifully designed, and filled with high quality photography (and content, no doubt, though evaluating this part is a bit beyond our expertise). It's a splendid site, no doubt about that.
Some technical highlights include the use of at least two Pro modules, ProCache and FormBuilder. All connections to the site are secured by HTTPS, Google Maps is used for various embedded map views with custom markers, and as a relatively small but very convenient detail switching the language keeps current position in the page tree.
Congratulations to Groep Huyzentruyt for such a wonderful site, and to those involved in building this site: great job!
Stay tuned for our next issue
That's it for the 132nd issue of ProcessWire Weekly. We'll be back with more news, updates, and content Saturday, 26th of November. 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!