54th issue of ProcessWire Weekly brings in all the latest news from the ProcessWire community. Modules, sites, and more. Read on!
This week we've got some new core features to share, a site of the week accompanied by a very interesting case story, and two new modules – one of which is still in beta, but deserves to be mentioned here nevertheless.
Grab a cup of coffee, sit back, and check out our weekly updates. If you've got feedback for us, please don't hesitate to drop us a line via the feedback form. We're always looking for new material too, so if you've got ideas, we'd be more than happy to hear them.
Thanks for sticking around, and have a great weekend!
Latest core updates: save reminder for Page Edit and views for Process modules
If you grab the latest version of the ProcessWire development branch, 2.6.1, you'll get a taste of two brand new features Ryan has been working on:
- Save reminder for the Page Editor asks for a confirmation when you attempt to leave the Page Editor while there are still unsaved changes.
If you've ever lost work by dropping an image to a wrong part of the page (and thus loading it instead of current page), accidentally hitting the back key at a wrong time, or simply by closing the wrong browser tab – well, you'll find this feature very helpful!
For earlier versions of ProcessWire a very similar feature is available via the Form Save Reminder module by Philipp 'Soma' Urlich, and the new core addition actually checks for said module, and disables itself if it is found.
- Process modules can now utilize separate view files, making it that much easier to structure them in a way that is both manageable and understandable.
If you're building a larger module this can really come in handy: execute*() methods can return an array instead of final output, in which case the system looks for a view file named after the execute method from the ./views/ directory, and treats your array items as variables there.
For file naming there are two possible approaches, and in the case of an execute method called
executeFoo() said file would be either ./views/execute-foo.php or ./views/foo.php. For a real example, take a look at the development branch of the ProcessHello module.
This was just a brief summary of this weeks core updates, based on Ryan's latest processwire.com blog post. Don't forget to visit the original post for more details!
Updated versions of Hello World modules and a mini tutorial for short links by Ryan
In addition to the development branch updates described above, in his weekly post Ryan also introduced new versions of our example modules, HelloWorld and ProcessHello. Intended as examples of ProcessWire's module interface in action, said modules are now up to date with ProcessWire 2.6 and all the neat new features it introduced for module authors.
Another non-core item in Ryan's post is a brief yet complete example of building a simple short links system with ProcessWire. This mini tutorial is not specific to ProcessWire 2.6, but it's still a very good example of using the set of tools provided by ProcessWire to build something new and very useful in just a few simple steps.
For the short links tutorial and more details on the example modules, take a closer look at Ryan's latest blog post.
WireMailMandrill: integrating the Mandrill email infrastructure with ProcessWire
WireMailMandrill is a new module by Craig Rodway, and while it's still in beta and not even submitted to the modules directory yet, it could become very useful in the long run. In a nutshell this module integrates the Mandrill email service with ProcessWire in a way that avoids both the reliability issues of local mail servers and the performance issues introduced by SMTP.
The main difference between WireMailMandrill and existing 3rd party WireMail modules is that WireMailMandrill communicates with Mandrill via its HTTP API, while other WireMail modules use the SMTP protocol. The problem with SMTP, when used for real-time email processing, is its bad performance; a result of the chattiness of the protocol, and thus often unavoidable.
Another benefit of a service like Mandrill is its reliability, especially if you're sending business-critical emails. Setting up an email server is easy, but dealing with spam issues and all the other complex stuff is rarely what you'd like to spend your time on. Mandrill currently offers 12,000 emails per month for free, which should be quite enough for most smaller sites too.
For details about WireMailMandrill, check out the related support forum thread and grab the module from GitHub. Thanks to Craig for sharing this useful module with us; hopefully we'll be seeing a stable version out as soon as possible!
New module: 404 Logger
404 Logger by Christoph Thelen is exactly what the name suggests: it creates a new log file and records all requests hitting the 404 page. This can be handy if you're trying to track down those pesky broken links on a larger site or after a bigger change or migration.
This module also logs the reason a 404 was thrown, whether it's simply "page doesn't exist", "unpublished", or perhaps "view not permitted". All in all, it's a nice little helper module for specific situations, and just about as easy to get started with and use as one could imagine.
Thanks to Christoph for making this module available. Keep up the good work!
Site of the week: Maletschek Nautics
This time our site of the week belongs to Austrian boat center Maletschek Nautics, was built by Bernhard Baumrock, and caught our attention for two quite obvious reasons: it's a stunning site, and we really enjoyed reading the case story. "It's a quantum leap forward" just might be the most epic quote we've ever heard from a client, and absolutely to the point!
From an end-users point of view, the site is responsive and works neatly on all kinds of screen sizes. The real magic, from our point of view at least, begins once you dive under the surface, and take a look at the clever widget system, handy in-context edit links, and all the other goodies; no wonder the client enjoys using this site!
If you've got a few minutes to spare, we'd like to suggest the case store. There's also a screencast available, showcasing those neat management tools mentioned above, and from the case story thread you'll find a detailed description on how all that was set up. Definitely recommended stuff, and absolutely stunning work from Bernhard – congratulations!
Stay tuned for our next issue
That's it for the 54th issue of ProcessWire Weekly. We'll be back with more news, updates, and content next Saturday, 30th of May. 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!