ProcessWire Weekly #44

44th issue of ProcessWire Weekly brings in all the latest news from the ProcessWire community. Modules, sites and discussions. Read on!

Welcome to our latest weekly issue – hope you've had a great week. Once again it's time to grab a cup of coffee, sit back, and get your weekly dose of ProcessWire news.

Getting closer to the release of ProcessWire 2.6 means that the focus of our development for the coming weeks will be in making 2.6 stable and rock solid. This is a huge release, and we'd be more than happy to see even more users using and testing the development branch in order to make sure that it's all it can be when the time is right for the release.

In other news, the forums have been buzzing with interesting topics lately. After the initial plans for ProcessWire 3.0 were announced, there have been various posts about ideas to consider for our next major version. This is a very good time to join the forums – or, if you already are a member, now is a great time to be active and take part in the discussion.

Now, without any further delays, let's get our weekly post started. We hope you'll enjoy our content, and please don't hesitate to drop us a line if there's anything we've missed!

Latest ProcessWire core and ListerPro module updates

Based on Ryan's latest processwire.com blog post, here's a summary of the latest news for ProcessWire's core, as well as some interesting news for the commercial ListerPro module. From usability improvements to disappearing modules, it's been an interesting week again:

  • Improving usability for mobile users is an important goal, and for this purpose the tables you'll find from the Admin have now been made responsive. The rows will collapse on small screen sizes, making it much easier to browse through tabular data on various small-screen devices.
  • ProcessWire is now able to automatically create a database during the installation phase, assuming that the user account you've given it has the permission to do that. This helpful little addition was originally submitted by @plauclair as a GitHub pull request.
  • Mainly useful for testing and debugging purposes, you can now disable autoload modules without uninstalling them, and thus losing all their configuration settings. This feature can be very useful, but also potentially dangerous, which is why it's behind both the debug and advanced modes (configurable from your /site/config.php file).
  • The mystery of disappearing modules is now solved. This was a particularly pesky issue affecting some versions of the dev branch. If you've been using the development branch, it's recommended to update it, visit the Modules page and refresh the cache there.

One particularly important piece of news this week is that the release of ProcessWire 2.6 is planned for May – or sooner if possible. Right now the focus is in closing any outstanding issues and adding some final features so that we'll be ready for another successful release.

If you've been following the steady stream of core updates here or in the processwire.com blog, or using the development branch yourself, you're already familiar with most of the features 2.6 will introduce. If not, we'd suggest revising. Either way, it's going to be an awesome release!

Additionally the commercial ListerPro module received a whole bunch of updates. In addition to various bug fixes and improvements, ListerPro is now more configurable, sports a new modal "add new" feature for pages, and supports responsive Lister tables.

As always, this has been just a brief summary of changes. For an in-depth article complete with screenshots and more, please visit the blog post mentioned above.

Fieldtype Select External Option

Select External Option is a new Fieldtype module by Christoph Thelen (kixe). While more or less a work in progress still, it's already very stable, and in a nutshell enables you to create fields that let you select values from any existing database tables; both ProcessWire's own ones, and any other tables you might have in your database.

As an example, you could create a new Select External Option field, select the templates table, define id as the option value, and name as the option label. That's it – you've just created a new field for easily pulling details from your templates table to the frontend.

Being a general purpose Fieldtype means that Select External Option won't offer any specific features related to the target data, but on the other hand being compatible with all database tables with numeric keys makes it very flexible, especially for working with custom tables.

Thanks to Christoph for building this helpful module – keep up the good work! We'll be sure to follow the development of this module closely.

Menu Builder by Kongondo

Menu Builder is a module with quite interesting background story. Work on it started back in 2013, was put on hold for a very long time, and only just recently continued by popular demand. It's a good thing for us it did, as the now published product is an extremely flexible visual menu builder answering a multitude of needs:

  • First of all, it's a visual menu builder for site admins. It has it's own tree view and allows you to easily drag and drop pages within that tree to create menu structures spanning over multiple levels.
  • Menu items can be ProcessWire pages, but they don't have to be that; you can also include outside links within your menu structure. Outside links can, optionally, be opened in new tabs.
  • Customize individual items easily: for ProcessWire pages you can choose custom labels without affecting the pages themselves, each menu item can get its own CSS IDs and classes for custom styling, etc.
  • The backend module, ProcessMenuBuilder, is bundled with the MarkupMenuBuilder module for easily rendering an HTML version of your menu for the frontend of your site.

The list goes on and one, so if you're interested in a tool for building custom menu structures, please head down to the support forum thread where the module author describes them all, complete with screenshots and code samples. For a quick start, you can always just grab the module directly from GitHub.

Our gratitude goes to Kongondo for building and releasing yet another tremendously useful module. Your work is very much appreciated!

Blick, a helper module for front-end

Blick, a new module by Christian Raunitschka, is a simple and easy-to-use helper module for embedding static assets (JavaScript, CSS, and images) into your sites front-end in a clean and unobtrusive manner. Please note that this module is in beta; extra caution recommended!

The main benefit of Blick is in it's syntax, which is intended to make things as clean as possible; instead of directly combining path variables and including program logic in your templates, you can outsource those tasks to Blick. Some examples borrowed from the forum thread above:

$assets = $modules->get('Blick');

$assets->js('index')->url;
// returns /site/templates/scripts/index.min.js?v=1426170460935
// 'min' and version parameter added, which was fetched from the file modified date

$assets->js('main')->url;
// returns /site/templates/scripts/main.js?v=1426170460935
// without 'min', because there is no main.min.js

$assets->js('main');
// returns <script src="/site/templates/scripts/main.js"></script>
// because 'jsDefault' is set to 'markup'
// you can also access it explicitly via $asset->js('main')->markup

There's actually more to this module; it can be autoloaded to avoid $modules->get('Blick') calls, it's highly configurable, and so on. For complete description, please see the forum thread above. Thanks to Christian for providing us with this rather helpful helper module!

Site of the week: news portal 1815.ch

1815.ch is a Swiss news portal built for Mengis Medien AG by update AG. The site has just been relaunched and was introduced by Philipp 'Soma' Urlich at the ProcessWire support forums.

Based on the figures mentioned in the post, this site is definitely on the larger side of ProcessWire sites we've come across so far: 60k+ pages, 18k+ articles, and 7k+ registered users. Especially for such a huge site 1815.ch is remarkably fast, proving the point that when you're using ProcessWire, size doesn't matter.

Big part of the speed and good response times are thanks to various front-end and back-end optimisations: lazy loading images, minimising and combining JavaScript and CSS resources with AIOM+, and serving content using extremely fast ProCache module.

Apparently there's even more going on under the surface, including imports from feeds and so on. Too bad we can't dive that deep, so we'll just have to take Soma's word for that. Either way it's a splendid site, and we'd like to congratulate update AG for another job well done!

Stay tuned for our next issue

That's it for the 44th issue of ProcessWire Weekly. We'll be back with more news, updates, and content next Saturday, 21st of March. 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