ProcessWire Weekly #595

The 595th 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 dev branch of ProcessWire this week, and introduce a brand-new third party module created by Robin Sallis: Image Hotspots.

As always, we're also going to highlight a new site of the week. This week that site belongs to an Italian digital agency called Basilico, and it is one of the most beautiful and responsive sites we've seen in a while. More about that in a bit, so keep on reading.

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

This week Ryan is back with a new weekly update, and we've also got some new core updates. These updates are mainly optimizations and bug fixes, along with some PHP 8.4 compatibility improvements, so no notable new features to report this time over.

Here's a brief summary of what's new in the dev branch:

  • Fix (optimization) for issue #1971, where PageTable fields using sortfields caused extraneous SQL queries per each value page.
  • Fix (optimization) for issue #2003, where converting a title to unique page name caused large amount of SQL queries when many pages with same name existed.
  • Fix for issue #2047, where the use of trigger_error() and E_USER_ERROR was causing deprecation warnings in PHP 8.4.
  • Additional updates for issue #2071, which is an issue collecting various PHP 8.4 deprecation warnings.
  • Fix for issue #2073, where using joinFields for multiple PageTable fields could result in some of their value pages being left out.
  • Fix for issue #2079, where using joinFields to get Page field values could result in some of the values being left out.
  • Fix for issue #2136, where the InputfieldWrapper::getAll() method removed fieldset fields as expected, but left corresponding fieldset close fields in place.
  • Fix for issue #2132, where removing fields with many complex values (e.g. repeater fields) could fail due to removal taking too long. ProcessWire now automatically sets a longer execution time limit in these cases.
  • Adjustment for issue #2133, making PagesAccess::updatePage() hookable in order to make it possible to skip over some pages (e.g. repeater items) if/when needed e.g. for performance reasons.

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

New module: Image Hotspots

Image Hotspots is a brand-new third party ProcessWire module created by Robin Sallis. With this module you can specify hotspots for an image, which we've had fields before, but in this case each hotspot refers to a Repeater item, which adds a lot of flexibility.

When you install this module, it adds two new fields for storing hotspot coordinates: one for the x position, and another for the y position. All you need to do is add these fields to a repeater field, select the source image field via repeater field settings, and start adding values. For more details, check out the modules directory entry above.

As for front-end use, that's really up to you — placing a marker on an image is really quite simple, and there are many, many ways to actually display tooltips or whatnot. This module doesn't dictate how to handle that part.

A screenshot by module author Robin Sallis, demonstrating what the Image Hotspots module looks like in action.

If you'd like to give this module a try, you can install the module via the built-in modules manager in the admin, or clone or download the module's source code from the Image Hotspots GitHub repository. In case you require additional support or have any questions or suggestions, head down to the Image Hotspots support forum thread.

Big thanks to Robin for creating this module and sharing it with us, amazing work as always!

Site of the week: Basilico

Our latest site of the week belongs to Basilico, which is a digital agency based in Rezzato, Italy. They are a full-service agency offering services in the broad categories of branding, content, web design, and digital marketing, with an impressive client list that includes some big names, such as Coccinelle, Bell Helmets, and United Colors of Benetton — just to name a few.

We are a digital agency made to deliver excellence in branding, web design, development and digital marketing.

— Basilico

The Basilico website, created in-house at the agency, is simply gorgeous: deceivingly straightforward design with a modern twist, beautiful typography, transition effects that user interface feel quite interactive, and loads of quality photography and content. In terms of content this site includes a detailed section about the agency, a portfolio of their works, and of course their contact details and a contact form.

As for some behind the scenes details, it looks like the front-end of this site is largely custom-built, without the help of a full-blown front-end framework. There are, though, some familiar front-end utilities; these include barba.js for transitions, and Swiper for some fancy carousels. As for ProcessWire modules, there are a couple of those that we could spot: commercial Pro modules Form Builder and ProCache.

Thanks to Basilico for sharing their site with us, and our congratulations for a job well done to the team behind this project — this is one stunning website, no two questions about it!

Stay tuned for our next issue

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