ProcessWire Weekly #359

In the 359th issue of ProcessWire Weekly we're going to cover the latest news from Ryan, check out a couple of brand new modules, and more. Read on!

Welcome to the latest issue of ProcessWire Weekly! In this issue we're going to talk a bit about the latest core development news, which include a very interesting infrastructure related update that's currently being worked on behind the scenes.

In other news we'll dive into a couple of brand new third party modules geared towards power users, and introduce our latest site of the week, which is a rather unique project for Berlin based interior design label and boutique. Plenty of ground to cover, so better get right into it.

Thanks to all of our readers for being here with us again, and as always, any feedback is most welcome – please don't hesitate to drop us a line if there's anything in your mind you'd like to share with us. Enjoy our latest issue and have a great weekend!

Weekly update from Ryan

The latest weekly update from Ryan covers an interesting new core feature that hasn't yet landed on the dev branch, but is already in testing: support for separate read-only and read-write database connections in the core WireDatabasePDO class.

In his post Ryan talks more about how this feature came to be and why it's important, but to summarize the key points:

  • This update makes it easier — and more cost-effective — to scale a ProcessWire site in cloud environment. By utilizing read-only databases it's also possible to automatically scale database resources based on actual demand.
  • Currently this feature is being tested with Amazon Aurora and RDS Read Replicas, but it's in no way limited to Amazon; the intention is that any cloud platform that has similar capabilities can be used once this feature is complete.
  • In order to make this possible in the first place, the core WireDatabasePDO class had to be rewritten, which means that this is a pretty big update. Hence the delay before pushing it to GitHub — we don't want to introduce unexpected side effects.

We'll make sure to post an update once this feature is ready for wider audience. Be sure to check out the weekly post from Ryan for more details regarding this feature. Thanks!

New module: Dynamic Options

In the disclaimer we mentioned two power user modules, and Dynamic Options is the first of the two. This fieldtype module works nicely in combination with various select and checkbox fields we have in the core, but what makes it special is the way options are populated: with code.

$wire->addHookAfter('FieldtypeDynamicOptions::getSelectableOptions', function(HookEvent $event) {
    $field = $event->arguments(1);
    if ($field->name !== 'my_field_name') return;
    $event->return = [
        'red' => 'Red',
        'green' => 'Green',
        'blue' => 'Blue',

This approach has a lot of benefits and use cases, from being able to store options in code and thus in version control, to more advanced ones such as being able to select from a list of modules, forms, files on the disk, list of elements from an external data source — or just about anything else you can think of.

Some examples of Dynamic Options in action. Screenshot by module author Robin Sallis.

Big thanks to Robin Sallis for sharing this module with us!

For more details and examples on how to put this module into use, visit the Dynamic Options support forum thread. You can install this module via the built-in modules manager, or clone or download it from the Dynamic Options GitHub repository.

New module: File Manager

Our second module for this issue is one called File Manager. This module provides full control over the files on your site: you can upload, download, rename, and even remove existing files via an easy to use control panel.

The module also includes ACE editor, which adds syntax highlighting and other handy features for code editing. That being said, with great power comes great responsibility: providing GUI access to files, especially those that contain code, is not something you should implement unless it's absolutely necessary and you're certain that it's safe.

This module is probably the most powerful module. You might destroy your processwire installation if you don't exactly know what you doing. Be careful and use it at your own risk!

— tcnet

Check out the modules directory entry for File Manager for screenshots of the UI, as well as some additional details about the module's capabilities.

Thanks to module author tcnet for building this module and sharing it with us. In case you'd like to give this module a try, you can install it via the modules manager within admin, or clone or download it from the File Manager GitHub repository.

Site of the week:

Our latest site of the week is an interior design label and boutique at Prenzlauer Berg in Berlin, Managed by interior architects Jennifer and Melanie Nölken the boutique has a unique product range, from high-quality home accessories and tableware, to designer lights and what they describe as "unusual Berlin souvenirs".

The website could be described as "unique" as well. It's far from your typical corporate site, featuring a unique design comprised of strong colours and abstract shapes, text and image elements that get randomly placed on each page load, and so on. Unique and different, this site is definitely fun to browse.

One feature we found particularly interesting is the "book an appointment" calendar at the bottom of the site. Providing potential customers a way to use a calendar to book their own shopping session seems like a pretty neat approach, all things considered.

A quick peek at the implementation of this site, built by ENORM Digital, reveals that it's largely hand-crafted, and any third party modules that the site might be using remain hidden as well. Some highlights from the front-end include lazy-loaded images using the lazysizes library, and carousels powered by the Owl Carousel jQuery plugin.

Big thanks to the folks at ENORM Digital for sharing this project with us, and our congratulations to for their new, brilliant, and very unique website!

Stay tuned for our next issue

That's all for the 359th issue of ProcessWire Weekly. We'll be back with more news, updates, and content Saturday, 3rd of April. 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