In the 459th issue of ProcessWire Weekly we're going to check out the latest core updates, introduce a brand-new addition to the ProDevTools family of developer-oriented Pro modules, and more. Read on!
Welcome to the latest issue of ProcessWire Weekly! In this week's issue we'll check out ProcessWire 3.0.213, which is the latest development version of the core and contains some very neat new features.
In other news we'll dig into a brand-new addition to the ProDevTools module bundle, called WireSitemapXML, and — as always — we'll also highlight a new site of the week, this week dedicated to the culture of the Italian rural area of Valtellina in the Alps.
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.
Latest core updates: ProcessWire 3.0.123
This week's update from Ryan is split among a couple of topics, one of which are the core updates, while the other one is about a new addition to the ProDevTools module bundle, called WireSitemapXML. We'll start by checking out the weekly core updates, and then move on to the XML sitemap module.
What's new in ProcessWire 3.0.213?
ProcessWire 3.0.213 includes a couple of pretty amazing new additions:
- A new WireNumberTools class, designed as a container for number related utilities, similar to what WireTextTools provides for handling text.
- Support for predefined configurations for new fields.
First feature provided by the WireNumberTools class are unique numbers. This is the type of thing one might use to provide unique running counter for, say, customer or invoice numbers. You can also provide a namespace variable to get counters for different purposes:
$number_tools = new WireNumberTools(); $unique_number = $number_tools->uniqueNumber(); $invoice_number = $number_tools->uniqueNumber([ 'namespace' => 'receipt', ]);
Meanwhile predefined configurations for fields make it possible for fieldtypes to define configurations so that when you create a new field, you can select a configuration, and get a new field that is set up for a specific use case (e.g. textarea with rich text editor). Additionally it's possible to add new configurations by hooking to the
getFieldSetups() method of any existing fieldtype.
For more details about this week's updates, be sure to visit the weekly update post by Ryan at the processwire.com blog. If you'd like to dig into the code, feel free to also check out the weekly dev branch commit log at GitHub. Thanks!
New module: WireSitemapXML
WireSitemapXML is a new module created by Ryan and bundled into the commercial Pro module bundle ProDevTools. This module is essentially a turnkey solution for adding an XML sitemap for your site, with plenty of configurability for power users, as well as many important features for larger, more complex websites:
- Support for up to 50,000 page URLs, matching the hard limit set by the sitemap protocol, and support for multi-language sitemaps via hreflang. Sitemaps are automatically cached to avoid rendering them more often than necessary.
- Pages can be added to — or removed from — sitemap on a per-page basis via the configuration settings of the module. Additionally URL segments can be included in the sitemap, automatically (if defined via template) or via configuration.
- Changefreq and priority (as defined in the XML sitemap schema) are defined on a per-template basis, and changefreq can also be set automatically based on page modification times.
One limitation mentioned by Ryan is the lack of support for sitemap index files. These are the official method for handling sitemaps for large sites, i.e. those with more than 50,000 pages. This feature is planned for one of the future versions of this module.
If you'd like to learn more about WireSitemapXML, including configuration options and available hookable methods, be sure to check out the official documentation page. This module is already available for those with a license for the ProDevTools module bundle.
Site of the week: Siamo Alpi
Our latest site of the week is called Siamo Alpi. This site is essentially a digital archive of the culture of Valtellina (Tellina Valley), which is a rural area in the Italian Alps.
The project aims to register and keep records of the history/society in a specific Italian rural area in the Alps, Valtellina (Tellina Valley). An archive is needed to collect several media type from the public, mainly photographs but also audio, video and digital books from local libraries.
— the sites directory entry for the Siamo Alpi website
As for behind the scenes details, the front-end of the site was crafted using the Tailwind CSS framework and Alpine.js for interactions, while some of the third party ProcessWire modules used behind the scenes include Lister Pro, ProCache, and ProMailer. The site search capability is provided by seamlessly integrated Algolia search engine.
There are more details available via the sites directory entry for the Siamo Alpi website, so be sure to check it out, and while you're at it, give this site a like if you find it half as interesting as we did. Our congratulations to the team behind this project for a job well done, and of course the client for a fantastic new site to serve as their digital archive!
Stay tuned for next issue
That's it for the 459th issue of ProcessWire Weekly. We'll be back with more news, updates, and content Saturday, 4th of March. 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!