ProcessWire Weekly #212

The 212th issue of ProcessWire Weekly brings in all the latest news from the ProcessWire community. Modules, core updates, sites, and more. Read on!

Welcome to the 212th issue of ProcessWire Weekly! This time we've got some pretty neat core update news directly from Ryan, two new third party modules to introduce, and a brand new site of the week belonging to an organization that provides support for people who are homeless – and those currently at risk of losing their homes.

As always, a big thank you to all of you for being here with us, and please don't hesitate to drop us a note if there's anything in your mind that you'd like to share. Your feedback helps us focus on the things that you folks want to hear more about.

Latest core updates: ProcessWire 3.0.105

The latest version on the dev branch, ProcessWire 3.0.105, adds a new site profile to the core, adds a couple of useful new functions to our $mail API variable, and makes various enhancements to the $sanitizer API variable. Here's a brief summary of what's new in the core this week:

  • The newly added "Regular" site profile is intended to introduce and demonstrate modern template development using ProcessWire, and makes use of some newer features – such as markup regions, front-end editing, and the $cache API variable. This site profile is based on the Uikit3 front-end framework and includes an extensive markup helper library for creating Uikit-specific elements.
    Read more about Regular site profile »
  • New methods added to the $mail API variable include $mail->mail(), a drop-in replacement for PHP's native mail() function with identical parameter order, and $mail->sendHTML() – which is otherwise identical to the $mail->send() method, but expects HTML content and creates the text-only version automatically. Third addition, $mail->mailHTML(), is basically a combination of the two.
    Read more about the $mail API variable additions »
  • This version also includes various improvements and additions to the $sanitizer API variable: a bunch of new options for $sanitizer->text() and $sanitizer->textarea(), improvements to $sanitizer->unentities(), and an all-new $sanitizer->removeWhitespace() method.
    Read more about the $sanitizer API variable updates »

In addition to these updates, there have also been a number of smaller bug fixes and minor improvements to the dev branch, so once again this is a recommended update for those using the dev branch.

You can read more about all the aforementioned updates from Ryan's weekly post at the blog, so don't forget to check that out as well.

Third party extension to the FormBuilder module: FormBuilder Field Cloner

While we prefer to introduce modules that've been accepted to the official ProcessWire modules repository – and so should you – sometimes a perfectly good module doesn't find its way there, for whatever reason. The module we're introducing this time belongs to that category: FormBuilder Field Cloner is a third party extension to the FormBuilder module, and was developed by Mike Spooner for Solution Innovators.

In a nutshell FormBuilder Field Cloner adds field cloning support to FormBuilder. After installing the module you'll see a new "Clone" fieldset while editing a FormBuilder form field, and when you open this fieldset, you'll find an inputfield asking for the amount of duplicates you'd like to create. Input a number, save the field – and just like that you've got a set of duplicates for your field.

The ability to clone fields can be quite handy, particularly considering that the cloning ability isn't limited to single fields: you can clone fieldsets as well, which results in all the fields inside them getting cloned as well. In case you've got a form that requires a set of similar fields repeated multiple times, this module can save you a lot of manual labor – otherwise you'd have to create all those fields one by one.

Thanks to Mike Spooner for this little gem! In case you're interested in extending the FormBuilder even further, note that this isn't the only third party extension Mike has built: there's also FormBuilderPayPal, which adds PayPal support to forms. So far we haven't had the chance to properly vet that one, so use at your own risk, though.

New Fieldtype module: Fieldtype Page IDs

Fieldtype Page IDs is a new third party Fieldtype that, simply put, stores Page references as integer values (Page IDs).

This fieldtype was developed as a quick and dirty workaround for Page Reference fields' inability to contain self-references due to built-in circular reference prevention. Since Fieldtype Page IDs stores values as regular integers, and doesn't load or otherwise process any Page objects, circular references are a non-issue.

While Fieldtype Page IDs was designed to be loosely compatible with Page Reference fields in order to make conversions between the two feasible, there are some rather notable limitations to this approach:

  • since stored values are technically speaking integers with no connection to Pages whatsoever, only basic, ID based selectors are supported, and Page values can't be directly accessed (you need to get the matching Page object first),
  • field level configuration settings are limited to the bare essentials, which currently means a selector string and an Inputfield class,
  • for the time being only a handful of Inputfields (AsmSelect, Checkboxes, Text) are supported, although support for more inputfields can be added later on.

If you need to store Page IDs (and Page IDs only) and are happy with aforementioned limitations, give this Fieldtype a try. It hasn't yet been extensively tested, so be careful and make sure that it works before going live – and please let the author know either via GitHub issue reports or the dedicated support forum thread if you run into issues!

Site of the week: Stepping Stone Projects

Our latest site of the week belongs to a registered charity called the Stepping Stone Projects – an organization that was founded back in 1984 and today provides support for homeless people, and those in risk of losing their homes, all across the North-West England.

The ProcessWire powered website of the Stepping Stone Projects was designed and built by Suspire Media, and you can find a brief portfolio entry related to this site project – not a real case story, though – from their own site. The Stepping Stone Projects website has a responsive layout, simple yet aesthetically pleasing design, and a well-thought-out information architecture. All in all this site has all the right stuff in place, and is both usable and enjoyable to use.

As far as we can tell, the front-end framework used on this site is an in-house solution developed by Suspire Media for use in their projects, and the few third party tools we spotted include Google Maps integration, Owl Carousel, and a JavaScript mobile menu called Pushy. Since there are no recognizable third party modules here, we've got no back-end details available.

Our congratulations to Stepping Stone Projects for their new website, and to Suspire Media for choosing ProcessWire as your go-to platform. It's always great to review a ProcessWire site that not only is well-built, but also has a good cause behind it!

Stay tuned for our next issue

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