ProcessWire Weekly #555

In the 555th issue of ProcessWire Weekly we're going to check out the latest core updates, introduce a new third party module that adds the ability to automatically convert email messages to pages, 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 terms of core development and introduce a brand-new third party module called PipeEmailToPage.

As always we've also got a new site of the week to highlight. This week that site belongs to a German company offering open space management for commercial and municipal clients: Fedder und Zünkler Service GmbH & Co. KG.

This is our last weekly issue for 2024, and quite a few of you will likely be reading it via the newsletter that comes out a few days later, so it's time to wish you all Happy New Year! 2024 has been an interesting year for the ProcessWire project, and we're already looking forward to seeing what awesome things our community will achieve in 2025.

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

We don't have a weekly update from Ryan this week, but we do have some core updates to share. These updates are already available via the dev branch at GitHub, and include a total of 4 bug fixes, 1 documentation update, and 1 update that adds (or rather adds back) a bunch of inputfield collapse options for fieldsets.

Here's a summary of the bug fixes applied this week:

  • Fix for issue #1875, where specifying only maximum width or height for client side image resize was forcing that value for both dimensions, because both values are required. As of this week core now instead sets the missing dimension to a very large number; specifically 99999 px.
  • Fix for issue #1927, where hiding pages from page list via ProcessPageList module settings didn't hide from the page tree.
  • Fix for issue #1934, where the core Lister or ListerPro with "limit" set to zero was still unintentionally displaying a pager.
  • Fix for an issue reported via PageListCustomChildren repository, where page list was removing strings identified as tags from page labels. Now this behaviour is only triggered if the "noTags" option has been specifically enabled.

Aforementioned documentation update corrected a wrong method name mentioned in MarkupHTMLPurifier docs, and the collapse options added back for fieldsets are hidden, collapsed when blank, collapsed when populated, collapsed when blank and loaded via AJAX, and collapsed when blank and locked. These were removed in ProcessWire 3.0.179, and it's worth noting that some of them may still need further testing.

That's all for our core updates section this week. We'll be back with more updates next week, by which time we may in fact also have a new core version available; stay tuned for more updates!

New module: PipeEmailToPage

PipeEmailToPage is a brand-new third party ProcessWire module created by Mark Evens. This module was created as a replacement for ProcessEmailToPage, and what it does is, in a nutshell, converting incoming e-mail messages into pages. Though there's quite a bit more to it, and the approach this module takes is rather interesting:

  • First of all messages need to be piped to a script included with the module. How this is done depends on your individual hosting setup, but cPanel for an example has a built-in feature you can use to pipe incoming messages to a PHP script.
  • When a new message arrives, it is initially written as a file within assets directory, which also serves as a failsafe in case ProcessWire is somehow not able to do its magic; messages are left in queue, and can be processed later.
  • You can configure multiple pipes on your site just by creating new parent page(s) and specifying the e-mail address that the page responds to. When a message is sent to this address, it is automatically converted to a child page of said page.
  • You can specify allowed or disallowed senders via module config settings, as well as hook into PipeEmailToPage::checkSender() to provide custom validation logic.
  • Once a page has been created, what happens to it next is up to the developer — the module doesn't dictate how this part of the process works, but rather expects you, as the developer, to trigger your own post-processing logic e.g. via lazy cron.

For more details, be sure to check out the README file included with the module. There are various configuration settings etc. that you can use to customize exactly how things should work. Note also that this module is currently considered to be at alpha stage, and before enabling it on a production site you should test carefully.

If you'd like to give this module a try, you can clone or download the module's source code from the PipeEmailToPage GitHub repository. Be sure to check out the README file for additional instructions, though — the module also requires zbateson/mail-mime-parser to be installed.

Big thanks to Mark Evens for creating this module and sharing it with us!

Site of the week: Fedder und Zünkler Service GmbH & Co. KG

Fedder and Zünkler are among Germany's leading companies for tailored open space management, with services geared towards commercial and municipal clients. Founded in 2013, they now manage more than 2,500 properties of varying size for their clients.

The website of Fedder and Zünkler was created by typneun Designagentur, and is set up very much like your usual company website: a home page with key details about the company, services page, info pages about the company and their network of partners, and a contact page. Oh, and a big thumbs-up for providing a contact form basically on each page.

As for behind the scenes details, the front-end of this site appears to be custom-built, without the help of any full-blown front-end framework, with just a few familiar third-party dependencies — such as jQuery and Slick. In terms of non-core ProcessWire modules, there's only one that we could spot: FormBuilder.

Thanks to the folks at typneun Designagentur for sharing this project with us, and our congratulations to the client, Feder and Zünkler, for their new, ProcessWire powered website!

Stay tuned for our next issue

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