ProcessWire Weekly #207

The 207th 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 207th issue of ProcessWire Weekly! This time we've got a brief summary of the latest core updates, two new third party modules – PageTable Extra Actions from Robin Sallis and Page Query Boss from Noel Boss – and a really interesting new site of the week representing two contemporary art museums from Venice, Italy.

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.100 (dev)

This week's core updates came in the form of a brief forum update from Ryan. This time the focus has been mainly on fixing issues and improving various smaller details on the dev branch while we're working towards our next stable master release. Here are some highlights from this week's commits:

  • __debugInfo() additions and improvements for various objects, making these more useful particularly to debugging tools, such as the Tracy Debugger module.
  • Various updates for Pagefile and Pageimage objects, including new properties, such as human-readable modifiedStr, createdStr, and mtimeStr.
  • Image crop, focus, and variations options now show up as expected for non-superusers when used within Repeater or RepeaterMatrix fields.
  • Small but notable usability improvement to the RTE link editor, where the link input is now automatically focused.

We don't really have anything else to report right now, but in case you're both curious and code-savvy, you can review this week's via the GitHub commit log for April 23-27th.

If you'd like to comment on these or simply say "thanks" to Ryan, feel free to do so via this week's core update forum post. Thanks!

New module: PageTable Extra Actions

PageTable Extra Actions is a new third party module from Robin Sallis. In a nutshell this module adds a new "actions" column to PageTable fields, and this column in turn has two separate buttons, which you can use to either publish/unpublish or show/hide a specific PageTable item.

PageTable Extra Actions in action. GIF animation by Robin Sallis.

In case you've been using Repeaters in ProcessWire 3.0 you've probably already noticed that they now have a toggle button for modifying the publish status of a Repeater item. Although the UI is quite different – and there's a separate button for toggling visibility – this module brings very similar ease of use to PageTable fields as well.

Once again thanks to Robin Sallis for sharing your work with us!

New module: Page Query Boss

Page Query Boss is a new module from Noel Boss, able to build complex nested queries containing multiple fields and pages and return an array or JSON. You can use selectors to specify which pages you want returned, field names to specify which fields to return, callback functions to refine the returned values – and much, much more.

Thanks to the ability of this module to nest queries, you can extract pretty much exactly the structure you require, while writing very little code – or probably in most cases no code at all. Since this is probably best explained with an example, here's a relatively simple sample query, borrowed from the Page Query Boss support forum thread:

// simple query:
$query = [
    'height',
    'floors',
    'images', // some fields contain default subqueries to return data
    'files' => [ // ... but you can also override those defaults:
        'filename'
        'ext',
        'url',
    ],
    // Assuming there are child pages with the architect template or a
    // field name with a page relation to architects:
    'architect' => [ // subquery
        'name',
        'email'
    ],
    // queries can contain closure functions that return dynamic content
    'querytime' => function($parent) {
        return "Query for {$parent->title} was built " . time();
    }
];
$pages->find('template=skyscraper')->pageQueryJson($query);

The main use case for this module, according to the author himself, are SPAs and PWAs, but you can use it for a lot of other stuff as well – such as moving data from site to site, or for providing any kind of custom JSON API for your site. In case you've ever done such things before, I bet you can appreciate the ease of use that this module brings in.

Big thanks to Noel Boss for this really useful module. It's a really wonderful tool, and will no doubt see plenty of use in various projects in the near future!

Site of the week: Palazzo Grassi - Punta della Dogana

Our latest site of the week, Palazzo Grassi - Punta della Dogana, represents two museums of contemporary art located in two of the most representative buildings in Venice, Italy. Both museums have been restored and set up by the Japanese architect Tadao Ando, and they alternate collective and monographic exhibitions.

Designed and built by Basilico Srl, the site has a kind of a contemporary art feel to it as well. The typography is interesting – to say the least – and some rather wild animations, and generous amounts of white space, give the end result a rather unconventional look and feel. While the majority of the site is basically black and white, strong colors can be found from both images and fixed elements, such as the full-page navigation.

Other notable details include the multi-language nature of the site, and the fact that even though this site definitely has an unconventional look and feel, in no way does that diminish its usability. The site is easy and fun to browse and read, and contains plenty of interesting content as well – such as the rather extensive video archive.

The front-end of the Palazzo Grassi - Punta della Dogana site is based on the Bootstrap front-end framework, which is complemented by some smaller tools and libraries, such as the cross-browser animation library Animate.css. When it comes to the ProcessWire side, we really can't tell you much: there are no familiar third modules visible here, so this part remains a mystery.

Big thanks to Basilico Srl for sharing this site with us, and our congratulations to the clients – Palazzo Grassi and Punta della Dogana – for their wonderful new website. For anyone interested in reading more about this particular project, we'd recommend that you check out the case story from Basilico – it's a real treat in itself!

Stay tuned for our next issue

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

This post has 1 comment:

Noel on Sunday 29th of April 2018 19:36 pm

Thanks for featuring my new module! Weekly.pw is such a valuable resource to find new an interresting stuff! Just wanted to mention that the module is still alpha and comes from a not yet a very expirienced PW developer ;)

Post a comment