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 supercode.co.
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.
https://t.co/koN9C88TSn great new feature for ProcessWire PageTable: support for multiple templates!— Antti Peisa (@apeisa) May 28, 2014
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?
Featured site: The Bow Tie Duck
The Bow Tie Duck is a long-time favourite of mine. Not only is the design of the site real treat for the eyes, the company behind the site imports real treats in the form of most exquisite foods from around the world to folks in the Philippines.
From the beautiful display of selected foods on the home page to the well-written story behind the concept itself on the About Us page, everything seems well thought out and polished to the point of perfection.
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!