ProcessWire weekly #3

Third issue of ProcessWire weekly: new modules, interesting core updates and other recent hot topics.

Just as I thought that this issue was done and was moving on to fixing typos, @apeisa tweeted that a new feature had been added to the dev branch (the OR-groups for selectors, more about that later). Definitely one of the reasons I enjoy working with ProcessWire so much: you never know what awesome feature next commit might bring in.

The community is unbelievably fast in cooking up new and exciting things too. The great set of new modules we're introducing here is just one proof of that. If you're anything like me, you'll be feeling like a kid in a candy store after this issue.

Now, let's get this party started!

Blog module wraps up and extends existing blog profile

Blog module published by Kongondo picks up from where the blog profile by Ryan left off and makes implementing blog features for new and existing ProcessWire sites alike a truly trivial task. Setting up a blog with ProcessWire has never been easier.

The module provides common frontend features and an impressive collection of backend tools, some of which bear certain similarities with tools offered by WordPress. Intentional or not, that might actually come handy if you ever need to rebuild a WordPress site with ProcessWire.

In any case, if you're serious about blogging and want to use ProcessWire, this module is most definitely for you!

ProcessDiagnostics is a full-blown diagnostics suite

ProcessDiagnostics is a full-blown diagnostics suite that adds a new page to ProcessWire admin and makes entire environment visible for the superusers at a glance. The suite itself is quite simple, but can be extended by separate diagnostics modules – and we've already got a bunch of those available!

Started by Netcarver, this project has been evolving like crazy during last week or so – at the time of this writing it already covers just about everything from PHP, database and filesystem diagnostics to module versions and image capabilities.

More details in the forum thread linked above or in Nico's blog post at

PageTable receives a huge update: multiple templates

This update to the PageTable module, the module that only recently made it's way to the ProcessWire core (currently in the dev branch and most likely the upcoming version 2.5), adds an option for selecting from multiple templates when adding new items.

In other words, now you actually create a field that contains multiple custom-built sets of fields, making the page editor that much more flexible.

It should probably be mentioned that similar feature was once requested for the Repeaters, but never made it there, for various reasons. PageTable seems to be surpassing Repeaters in more than one way already..

Couple of major selector enhancements in current dev branch

There are actually two recent additions to selectors, both of which are covered by Ryan in this forum post: OR-groups and sub-selectors.

OR-groups are a way to define multiple, grouped selectors within one main selector, with only one of those groups having to match. Named OR-groups are also supported (more about that in the forum post linked above), but the most basic use case is best explained by a short excerpt from Ryan's commit message from GitHub:

To use, surround a selector string in parenthesis, within another selector string. Example: "template=product, in_stock>0, (featured_from<=today, featured_to>=today), (highlighted=1)" --that selector would find all "product" pages that were in stock, and were either fell in a featured date range, or had a highlighted checkbox checked.

Second enhancement, sub-selectors, is also explained by Ryan in the forum post linked above. In a nutshell (and like the name already suggests) sub-selectors are a way to include a selector within another selector to find matching pages. Here's the code sample used there, very slightly modified:

// find items with one of given companies selected in field 'company'
$companies = $pages->find("template=company, locations>5, locations.title%=Finland");
$items = $pages->find("template=product, company=$companies");

// example above re-created using sub-selectors using only one query
$items = $pages->find("template=product, company=[locations>5, locations.title%=Finland]");

Ich bin ein Berliner

In our first episode we talked a bit about the first Finnish ProcessWire meetup. This time there's been some discussion at the forum about organising a regular meetup at Berlin area, so if you're interested and located close enough, don't forget to drop a line at the forum thread here.

Enthusiasts, experts and hobbyists gathering to discuss one of their favourite subjects around a cup of coffee or a pincher of beer may not yet be a match for the grandeur of DrupalCamps and DrupalCons we've all heard of, but they're a good start and sure to be a lot of fun – isn't that what's important after all?

Stay tuned for our next issue

This time we had some pretty big updates – in fact so many of them that I had to leave a little bit of something to next issue in order to keep this one at a readable length. That right there is what I'd call a "positive problem".

Issue #4 or ProcessWire weekly will be out next Saturday, 7th of May. In the meantime, don't forget to check out the forum regularly. ProcessWire also has a strong presence at Twitter and even an IRC channel, so there's always something interesting going on.

Till next time: happy hacking with ProcessWire!

This post has 6 comments:

Adrian on Saturday 31st of May 2014 17:49 pm

Another great read teppo - 2014 is going to be an awesome year for Processwire!

apeisa on Sunday 1st of June 2014 0:27 am

Pity that they don't pay royalties for embedded tweets :) Great issue, once again Teppo!

Teppo on Sunday 1st of June 2014 1:33 am

Thanks, guys! I did mention that I'd be getting half of my news this time from you @apeisa, didn't I? ;)

Adelino on Monday 2nd of June 2014 1:54 am

If you're not a time traveler I think you should apply this regex on your post :-)

s/7 May/7 June

Thanks for the great content, it's a great way to begin our week.


mary on Monday 2nd of June 2014 3:49 am

Excellent updates Teppo, this series is definitely becoming something I look forward to every week :)

David Preston on Monday 2nd of June 2014 11:05 am

Must echo Mary's comments - only 3 posts in, and already a must-read.

Post a comment