ProcessWire Weekly #637

The 637th 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! With Ryan traveling this has been a relatively quiet week in terms of core development, but we're happy to share some core updates regardless; mostly minor bug fixes, but also some general improvements.

In this issue we're also going to introduce a third-party ProcessWire module created by Maxim Semenov: Mercato, the commerce toolkit that can turn a site into a full-featured storefront, but also lends itself well to customized workflows. And, as always, we've got a new site of the week to highlight; this time belonging to Los Angeles based composer Gavin Gamboa. 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

With Ryan traveling this week has also been quite quiet, and we don't have a regular weekly update to share either, but there are some core updates to share regardless. Here's a summary of the bug fixes committed to the the dev branch this week:

  • Fixed a bug in ProcessPageSearchLive where a configured search field that had since been deleted would result in no results being found.
  • Fixed a bug in InputfieldRepeater where AJAX loaded minItems repeater items appeared open but were unresponsive to clicks.
  • Fixed PageTableArray::isValidItem() incorrectly rejecting valid items when using custom parent placement.
  • Fixed Modules::refresh() saving stale module info snapshot after upgrading a module within the same request.
  • Fixed WireUpload::hasValidMimeType() rejecting valid MP3 files with audio/x-mpeg mime type, and also ignoring array-based MIME type configuration due to ltrim() and stripos() being used on $config->fileContentTypes regardless of its type.
  • Fixed InputfieldPageAutocomplete icons that were broken by the Font Awesome 4 to 6 migration.

As for new features and general improvements, here's a brief summary of those as well:

  • Added consistent redirect handling across all WireHttp send types and a new followRedirects option (contributed by Adrian Jones).
  • Added support for -- prefixes in ProcessWireCli command names.
  • Added the ability for wireIconMarkup() to return just the icon class string without any wrapping markup.
  • Added default .htaccess rules to block public access to AI agent and API markdown files in the wire/ and site/ directories.

Additionally the AGENTS.md documentation for the core was updated with more details about the AgentTools module.

That's all for our core updates section this week. Next week we will likely be back to our regular flow, so stay tuned for that — and keep on reading for other news and updates!

New module: Mercato

Mercato is a new third-party module from Maxim Semenov. This module is introduced as a "ProcessWire-native commerce toolkit", which essentially means that while it can be used to create full-featured e-commerce sites (shops), it is flexible by design, and can also be used as a toolkit for creating different types of projects: sites with paid content, catalogs, headless API driven experiences, and so on.

ProcessWire-native commerce toolkit: products, cart, checkout, orders, payments, discounts, fulfilment, inventory, recovery, reports, and demo storefront.

— Maxim Semenov

Here's the list of features provided by this module, as outlined in the module's README file and the sites directory entry for the Mercato module:

  • Product pages (powered behind the scenes by ProcessWire pages) with price, tax rate, stock, shipping notes, digital files, and collections.
  • Cart and checkout templates with quantity updates, discounts, fulfillment options, policy acceptance, and payment selection.
  • Orders, stored as pages under a hidden orders parent, as well as inventory rules for in-stock, low-stock, sold-out, preorder, and backorder behavior.
  • Coupon and discount rules with product, collection, customer, usage, and minimum-total targeting.
  • Built-in payment gateways, covering Stripe, Mollie, PayPal, Demo Payment, and offline bank transfer.
  • Admin dashboard for orders, products, customers, discounts, payments, refunds, fulfillment, reports, webhooks, and launch readiness.
  • Fulfillment support for carrier delivery, store pickup, and local delivery.
  • Public order status, receipt, and download flows.

Mercato also comes with a bundled demo site, which is a proper storefront, complete with products and checkout and everything in-between. Thanks to this you can easily give it a go and then decide if it feels like the right solution for your needs.

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

Big thanks to Maxim Semenov for creating this module and sharing it with us!

Site of the week: Composer Gavin Gamboa

Our latest site of the week is the website of classical pianist, composer, visual artist, and programmer Gavin Gamboa. Born in Mexico and currently based in Los Angeles, Gavin is an artist whose work encompasses classical and contemporary music, live performance, software development, and visual arts.

Gavin Gamboa is a multimedia practitioner and information designer whose work fuses premeditated music composition, free improvisation and esoteric software to form a multifaceted stylistic praxis. Born in Mérida, Yucatán, Mexico he composes for a variety of ensembles and performs internationally as a pianist with programs which include new works and those of the classical repertory.

— Gavin Gamboa

Gavin Gamboa's website is simple yet beautifully designed, focused on introducing the artist, as well as showcasing some of his work. There's a brief "about" section, links to services hosting his works or covering them in more detail, a media section with some video material, and a section dedicated to his newsletter.

As for some behind the scenes details, this site is multilingual — available in English, Spanish, and Chinese — and as a nice little touch allows one to switch between light and dark modes. The front-end is built on top of the Uikit front-end framework, while the ProcessWire modules powering this site include FormBuilder and ProMailer.

Our congratulations to Gaving Gamboa for his new website, and thanks for sharing it with us — splendid work!

Stay tuned for our next issue

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