ProcessWire Weekly #229

In the 229th issue of ProcessWire Weekly we'll cover two new third party modules (Unordered List to Pages and Add Template Enhancements) from Robin Sallis, introduce the latest core updates for ProcessWire, and showcase a new site of the week. Read on!

This week we don't have the usual blog post or forum update from Ryan regarding the core updates, but he did drop in at the forum briefly to explain an unfortunate episode involving a cat bite – you can check that out at the support forum, but in the meantime we've included a summary of the weekly commits here for your convenience.

In other news we've got two brand new third party modules, both authored by Robin Sallis: Unordered List to Pages, which is an extra action to the Admin Actions module – and Add Template Enhancements, which provides... well, enhancements for adding (or cloning) templates.

Last but not least, our latest site of the week belongs to an organization dealing with kids and eye safety – Superspecs from Dublin, Ohio, U.S.

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: what's new in ProcessWire 3.0.115?

While Ryan is recovering from the cat bite episode, here's a summary of the commits from past week for the dev branch at GitHub. We'll likely get a more in-depth look at these next week, when Ryan is again able to write a proper blog post.

First of all, here are the new features or improvements in 3.0.115:

  • Some new methods were added to the $files API variable: fileInPath($file, $path), unixDirName($dir), unixFileName($file), and filePutContents($file, $contents).
  • Pagefiles objects now also accept Pagefile objects belonging to other pages. In other words you can take a file from one page, pass it to a file field of another page, and core will automatically create a duplicate of the original file.
  • Consistency improvement for Pageimage::size() and related methods: by default even images already on target size go through the resizing process. Here's some related discussion. New option "allowOriginal" was added for overriding this behaviour if need be.
  • As a small usability improvement, when saving profile changes that require the user to type his/her current password, ProcessProfile now makes use of a separate prompt powered by the Vex JavaScript library.
  • New configuration option was added to ProcessLogin for hand-picking the roles that should get the prompt to use 2-factor authentication. This is only applicable if at least one 2FA module is installed.

There were also some bugfixes included with this week's commits:

  • Fixed an issue where the WireTempDir core class would sometimes leave mostly harmless yet also unnecessary temporary directories behind.
  • Fixed a bug in Pageimage::maxSize() where cropping was potentially occurring even when source file was already smaller than the target size.
  • Fixed a bug where limiting session history to just one item wasn't working properly, and kept storing new items without a limit instead.
  • Fixed an issue where refreshing the modules cache would sometimes result in unnecessary error messages.

We'll have more core updates to share – and most likely more details about this week's updates as well – in next week's blog post. Until then, we wish Ryan a swift recovery (and hopefully no more cat bites in the foreseeable future).

New module: Unordered List to Pages

Unordered List to Pages is a new module implemented as an extra action for the Admin Actions module. Unordered List to Pages allows you to type (or paste) an unordered list into a CKEditor field, choose the default template and a parent page, and then run the action, thus creating the page structure of the list automatically.

A notable feature of this module is support for nested lists: the resulting page structure will follow the same hierarchy, which gives you the opportunity to quickly mock up full-blown site structures in just one step. This is particularly handy if you're, say, rebuilding an existing site on ProcessWire, and you've got access to its sitemap in list format.

The default template for created pages can be overridden on a page-by-page basis by providing a template name after the page name: Page [[template]]. The module will create any templates that didn't yet exist, and you can define allowed child or parent templates as well: [[template < parent]] or [[template > child child_2]].

Thanks to Robin Sallis for creating this module and sharing it with us. It's a realy great example of using Admin Actions fort tasks that would otherwise require quite a lot of tedious manual work!

New module: Add Template Enhancements

Add Template Enhancements is another new module from Robin Sallis. In a nutshell this module adds some configurability and new options for when you're adding new templates via the Admin GUI – or cloning existing ones.

Here's the list of features included with the current version (0.1.1) of the Add Template Enhancements module:

  • Label name settings includes options for automatically filling in the label based on name when a template is created in Admin, via Admin or the API – or never.
  • Label options includes options for replacing underscores with spaces, replacing hyphens with spaces, and a couple of different capitalisation presets.
  • Edit template after add provides an optional shortcut, redirecting user to the template edit screen after a single new template was added via the Admin GUI.
  • Copy field contexts when cloning provides optional support for duplicating field contexts as well when an existing template is cloned.
  • Copy field contexts when duplicating fields provides an option copying field contexts as well when existing fields are cloned.

Add Template Enhancements config screen. Screenshot by Robin Sallis.

For more details, please visit the Add Template Enhancements modules directory page, or the Add Template Enhancements support forum thread. Big thanks to Robin for sharing yet another useful module with us!

Site of the week: Superspecs

Our latest site of the week belongs to Superspecs, which is a program focusing on the youth of the state of Ohio in United States. More specifically Superspecs aims to provide kids and youth aged 18 or younger free protective eye-wear or helmets with face masks for sports and certain vocational programs.

The responsive, ProcessWire powered website of Superspecs was designed by Mynte Design Co. and developed by Process Interactive. The design is clean and effective, with plenty of focus on different block and highlight types, and of course typography. Behind the scenes the Form Builder module is used for managing the site’s applications and questionnaires.

Our congratulations to Superspecs for their new site, and thanks for doing what you do – keep doing what you do. Also thanks to the folks at Process Interactive and Mynte Design Co. for trusting ProcessWire for this project and sharing it with us – great job!

Stay tuned for our next issue

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