ProcessWire Weekly #236

In the 236th issue of ProcessWire Weekly we introduce ProcessWire 3.0.119, provide an update on the new website, introduce the ProcessFinder (aka elFinder) module, and check out the beautiful new website of The Camden Collection. Read on!

Welcome to the 236th issue of ProcessWire Weekly. This time we're going to dive into the latest blog post from Ryan, in which he introduces ProcessWire 3.0.119 and provides an update regarding the state of the work-in-progress website.

In other news we've got a brand new third party module called ProcessFinder – or elFinder – to introduce. We've also got a really beautiful new site of the week: The Camden Collection, which was developed by Internet Dreams Studio for the London Borough of Camden.

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!

This week in the blog: ProcessWire 3.0.119 and a sneak peek at the new website

In this week's blog post Ryan officially introduces ProcessWire 3.0.119, which includes all the features that we talked about last week, as well as some new stuff, such as a brand new functions API feature called setting(). Additionally the post includes a number of screenshots of the current development version of the new website!

New features in ProcessWire 3.0.119

First of all, here are the features that we briefly introduced in our last week's post, but which are now officially available as a part of the new 3.0.119 release:

  • Auto-opening file/image fields
    This feature, which was initially suggested and developed by Robin Sallis, lets you drag and drop files on initially closed image or file fields to upload them. When a file is dragged over the field, it will automatically open for you, thus becoming ready for file uploads.
  • Chunked ajax file upload
    This feature, suggested and developed by BitPoet, makes the built-in AJAX file upload feature read files in chunks of ~8 megabytes. This both decreases memory usage drastically, and also makes it possible to upload much larger images. (Note that the PHP max upload size setting still applies.)
  • New WireArray slices() method
    This newly added method accepts the number of slices that you want to split the WireArray into as an argument and returns an array of WireArray objects, each containing the number of items requested. This method is non-destructive, which means that the original WireArray remains intact.

A brand new addition to the functions API: setting()

In addition to the aforementioned features, there's one brand new addition this week: the functions API setting() function. This feature is available as long as you've got the functions API enabled, and essentially provides an alternative to $config for storing your own run-time settings for template use:

// set a setting named “foo” to value “bar”
setting('foo', 'bar');
// get a setting named “foo”
$value = setting('foo');
// set or replace multiple settings
'foo' => 'value',
'bar' => 123,
'baz' => [ 'foo', 'bar', 'baz' ]
// get all settings in associative array
$a = setting();
// to unset a setting
setting(false, 'foo');

This example is obviously very simplified. For an example, you can store all sorts of data with setting(): arrays, objects, and so on.

Now, in case you're wondering why we need a new solution for storing settings — well, you can obviously continue storing your own settings in $config, but there are certain benefits with the new approach:

  • settings stored with setting() are guaranteed not to conflict with any module or core related settings,
  • this approach essentially provides a blank slate reserved just for your own site-specific settings, and
  • settings stored this way can be defined and later requested via an easy to use, IDE friendly functions.

Update on the new website

Throughout his post Ryan draws connections to the new website: the setting() feature and WireArray::slices() method are explained through real world use cases related to the new site, and overall t's obvious that this update is the "next big thing" for ProcessWire, and thus has an effect on what happens to the core as well – and rightly so.

A small sneak peek into the new website. Pictured here is the new sites directory, with site categories visible in a dropdown menu.

The blog post includes more screenshots from the (current, work in progress) website, and in the post Ryan explains in detail the design inspiration for this look and feel. To summarise, this update is less about "reinventing the wheel", and more about figuring out and clarifying what ProcessWire has always been about: it provides the "wiring" for a larger construct, thus bringing your processes to life:

ProcessWire is like the “wire” that delivers the electricity to your “process”. The term “ProcessWire” refers to bringing everything together simply, easily and securely. Specifically, bringing together all the processes involved in building a website or application and wiring them all together to create something whole and complete.
— Ryan Cramer

For more details regarding this week's updates and the development status of the new website, be sure to check out the full blog post from Ryan. From said post you'll also find an in-depth introduction to the setting() function — so in case you're still wondering exactly how and where to use it, you needn't look no further.

New module: ProcessFinder by Luis Santiago

The ProcessFinder module, also known as elFinder module, is a newly released third party Process module that essentially provides the ability to browse and manage files on the disk directly via the ProcessWire Admin. The module creates a new page under Setup called "elFinder", and embeds a full-blown file management GUI implemented by the elFinder library on it.

This module comes with the ability to connect to external (FTP) and local filesystems, and includes a lot of other stuff as well. Check out the screencast below to see what exactly it is that I'm talking about here:

To be fair I've watched the video and I've still got a feeling that I've barely scratched the surface. The module and particularly the elFinder library does quite a bit of heavy lifting behind the scenes, and the configuration settings alone are rather extensive. All in all, if you're looking for a tool to manage files directly from the Admin, this module is very much worth checking out.

Thanks to Luis Santiago for developing this module and sharing it with us!

Site of the week: The Camden Collection

Our latest site of the week is a catalogue of private sale developments in London, known as The Camden Collection. The Camden Collection belongs to the London Borough of Camden, and includes a selection of available homes ranging from large scale regeneration projects all the way to smaller and more intimate developments.

Built by Internet Dreams Studio, The Camden Collection website boasts a unique, modern design with large header images and/or carousels, eye-pleasing transitions, downright beautiful typography, and different layout setups throughout the site. In terms of content types there's also quite a lot here: regular content pages, a full screen map for developments, neatly implemented search feature and search results page, news articles, and more.

Behind the scenes this site makes use of the AIOM+ (All in One Minify) module for minifying and combining static assets. The front-end and general layout are based on the Bootstrap front-end framework, and include a number of third party JavaScript libraries – some very well known ones, such as jQuery, and some slightly lesser known ones, such as the Inifinite Scroll plugin from Metafizzy.

Big thanks to the folks at Internet Dreams Studio for sharing this project with us, and our congratulations to The Camden Collection and the London Borough of Camden for this beautiful new website. Great work, everyone!

Stay tuned for our next issue

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