Issue #14 of ProcessWire Weekly is here with latest core updates, projects and other hot topics. Read on!
As we're quickly moving towards the release date of ProcessWire 2.5, we've got another pretty lengthy issue for you. Core updates for the week are once again pretty interesting, ranging from small usability improvements to rather large features – but more about that later.
If I had to pick just one news item from this week it'd probably be the beta release of the new alternative admin theme for ProcessWire 2.5. I'm hoping that at least some of you have the time to grab the theme and see how it works for you.
Now, let's get started with the weekly updates!
Summary of latest updates to ProcessWires development branch
Content for this section is, once again, provided by Ryan Cramer, the lead developer of ProcessWire. Some minor edits were done by yours truly. Also, if I may add, there's some pretty big news here this time, so you'll really want to check it out!
ProcessWire 2.5 testing
We are adjusting our focus to preparing ProcessWire 2.5 for release, so the pace of our core additions will slow a bit over the next couple of weeks. We are already starting to lock down the feature set and work to refine what's already there to make it fully stable for the upcoming 2.5 release.
We appreciate your help testing. In particular, we'd like to know how it works for you when upgrading existing 2.3 or 2.4 installations. As this is still a development version, it's preferable to test on non-production sites or those where you won't be devastated if something goes wrong. That being said, we're using the latest development version on ProcessWire.com, among other sites, and it's been smooth sailing so far.
If you want to grab a copy of the dev branch to test, please visit GitHub (and make sure your selected branch is "dev"): https://github.com/ryancramerdesign/ProcessWire/tree/dev.
A couple of weeks ago, we showed you the new Field export/import functions. Now we've got the same thing available for Templates. Migrating templates and field definitions (including contexts) is now as simple as copy and paste. Here's how it works:
- In your admin, go to Setup > Templates. In the lower right corner, notice the new Export and Import buttons. Click the Export button.
- Select one or more templates to export and click Export.
- On another site, go to Setup > Templates > and click Import this time. Paste in the data that was generated from your export.
- The next screen tells you what it found and gives you the opportunity to decide what gets created, modified or removed. Review the details and when ready, click Commit Changes.
As you might expect, this tool can modify existing templates and fieldgroups, or create new ones. If you are also migrating fields, you'll want to use the nearly identical Field export/import tool first (in Setup > Fields), so that your template import has all the fields it needs to re-create your templates/fieldgroups in full.
One other thing to note is that this tool is focused on template settings and the related fieldgroup/field definitions. However, it does not include the actual template files (i.e. PHP files) in the data. It's certainly feasible that it could (and we'll add it if there's sufficient demand), but the reality is that template files rarely exist on their own and usually have other includes or partials being referenced.
As a result, we think it's best to continue migrating your template files the same way that you do now. Though next week we'll likely be adding some file information to the template data so that it can alert you when it detects that the template files vary between the source and destination.
We hope that you enjoy using this tool and that it is a real time saver. However, you'll want to limit your use to non-production sites at present, as this feature is brand new. We appreciate your help testing–please let us know of any issues you run into.
Change to how input fields collapse
In the past, there have been a few occasions where people are confused when they click on the label for an input field in ProcessWire, and it causes the field to close (or open). As a result, we have changed that behavior this week:
- If you click on the label for an open input, it focuses the input (where applicable).
This is more consistent with the behavior that I think people expect from open inputs. It's also more consistent with how labels are supposed to work with inputs in general. You might also notice the arrow icon in the far right side of the label pulsates when you do this. That is there just to tell you that you can close the input by clicking on that arrow (should that be your intention).
- If you click on the label for a closed input, it opens the field and then focuses it (where applicable).
For consistency, and so as not to confuse anyone: once a label has been used to open a field, it can also be used to close a field.
- The small arrow on the far right of every input field can always be used to open or close the input.
- A new "visibility" mode has been added to the field input configuration.
This new mode (called Inputfield::collapsedNever, from the code side) is an option for those that want inputs that can never be closed.
More CKEditor upgrades
With CKEditor being our new default rich text editor, we're continuing to upgrade and tweak it. This week we added support for custom configuration properties and custom configuration files. Now you can literally customize any CKEditor property possible.
- When editing the settings for a textarea field using CKEditor, go to: Input > CKEditor Settings > Custom Config Options. Here you can specify
property: valuepairs for any CKEditor setting. For an example, if you want to make your CKEditor interface bright blue, enter
- If you prefer to keep your CKEditor config settings in a file, you can use /site/modules/InputfieldCKEditor/config.js.
- If you prefer to keep your CKEditor config settings in a file, and specify different settings for each of your CKEditor fields, create a file just like the one mentioned above, but append the field name to the filename, like this: config-body.js (for a field named "body"). See our example /site/modules/InputfieldCKEditor/config-body.js.
New download capabilities in WireHttp class
When you download a module from the modules directory or ZIP file into your site, it uses the
WireHttp::download() method. This download method is also available for your own use.
However, there were some instances where it wouldn't work due to server capabilities or PHP configuration, etc. For instance, some web hosts have PHP's
allow_url_fopen option disabled, which would affect the ability to download in WireHttp.
This week we've added two new download methods to the class, ensuring that it can work on most, if not all, servers. First it attempts to use cURL. If that doesn't work, it falls back to fopen. Finally, if that doesn't work, it falls back to sockets. Hopefully with these additions, you'll always be able to use the download feature regardless of server.
There's a bunch of new sheriffs in town
Some of you might've noticed that a while ago our moderating team nearly quadrupled. With the popularity of our support forum increasing, new responsibilities have emerged – but rest assured, with our newly reinforced moderating team the situation remains under control!
The moderating team is a group of volunteers striving to keep the support forum a nice place to give and receive advice and discuss a wide area of topics. We're not paid for answering or moderating – we simply believe in ProcessWire as a project and choose to dedicate some of our time to help it thrive. That's all.
Sneak peek to upcoming ProcessWire admin theme: Admin Theme Reno!
The roadmap mentions that ProcessWire 2.5 will ship with a second admin theme, Reno. This has been in the works for a while now and today I'm thrilled to announce that the development of has entered a phase where it's available for the general public.
If you're interested in seeing what the future of ProcessWire's admin looks like, install the dev branch today and grab Admin Theme Reno from GitHub. You won't be disappointed.
Note: after installing the theme, you should visit the settings page to set things up.
Gallery: a new photo album module built by Kongondo
Kongondo has been working on a fantastic new module called Gallery – which, as the author himself explains in the related thread, is actually a combination of backend photo management suite and a frontend module for rapid creation of publicly viewable galleries.
Since words just aren't enough in this case (and even if they were, it'd require an entire post of it's own) please take a look at this video showcasing Gallery in it's current beta state:
Apertus is an admin theme geared towards the needs of developers
Marcus has released a new admin theme called Apertus. The theme is quite simple, with couple of main colors, sidebar with a bunch of tools in it and some general use buttons at the top of each page. The design is actually based on the knowledge base site profile.
What sets this theme apart from the ones we already have is that it's intended for developer use with some helpful tools like links to ProcessWire's documentation, built-in forum search, settings to indicate which site you're currently on etc.
Highlights from the support forum
Here's a bunch of recent discussions from ProcessWire support forum you folks might find interesting and/or useful:
- Import script, Strava importer provides useful insights for integrating ProcessWire with an external service – in this case a sports tracking platform called Strava
- PassiveCron and cron.pw, services we've covered in some of our previous weekly issues, have just been released as beta versions!
- For all the typography lovers out there, ED Design is celebrating the launch of their new site by giving away a title font called Grupo3
- Faisal Halwan has posted his notes – a basic tutorial, really – for creating right-to-left sites with ProcessWire for languages that require it, such as Arabic
- This has been around for a while already, but it's very helpful nevertheless: a step-by-step tutorial for setting up a ProcessWire environment on Mac OS X by Martijn Geerts!
Featured site of the week: Jakob de Boer Photography
So far our featured sites of the week have been ones from the ProcessWire sites directory. This time we're making an exception. Jakob de Boer Photography isn't in the sites directory, yet once I stumbled into it (via this tweet) I found it exceptionally beautiful and fascinating!
To grasp just how wonderful it is, the site really has to be seen.. and preferably heard too. It's a photographers site with fantastic images from all around the world, with a site design to match that. Whether you're a fan of such things or not, in this case the calm, ambient background music really adds to the atmosphere of the site.
Congratulations to the author and designer for doing awesome work – oh, and if you're reading this, please consider submitting the site to the ProcessWire sites directory. We'd love to include it in our showcase!
Stay tuned for our next issue
That's all for our issue this week – thanks for reading and hope you've enjoyed it! As always, any suggestions are more than welcome, either via comments here or the feedback form.
Our next issue, ProcessWire Weekly #15, will be out Saturday 23rd of August and a newsletter version will be delivered a few days later to ProcessWire newsletter subscribers. Until then, happy hacking with ProcessWire!