In the 293rd issue of ProcessWire Weekly we'll talk about the state of the core and upcoming LoginRegisterPro module, very briefly introduce you to PHP 7.4, and highlight some recent module updates. Read on!
Welcome to the latest issue of ProcessWire Weekly! This time we're going to talk about the LoginRegisterPro module and the latest core updates, highlight a few recent module updates, and provide a quick introduction to PHP 7.4 and what it means for ProcessWire developers out there.
Our latest site of the week is that of a team of skilled craftspeople from Mexico – the design and manufacturing company for high quality wood furniture, Maquiladora de Muebles. Their ProcessWire powered site includes a number interesting features, and integrates seamlessly to the Shopify e-commerce platform.
Our last issue for this year will be out on December the 28th, so there's still one more issue to go before the end of the year. For anyone reading this via the newsletter this could already be a bit late, but here we go anyway: Merry Christmas and a Happy New Year for each and every one of our readers! Have a great and relaxing end of the year.
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 and a seasonal greeting from Ryan
In his latest weekly update at the support forum Ryan talks a bit about the current state of the LoginRegisterPro module – which was covered in detail in last week's blog post – and the state of the core as we're getting closer to a new master release.
In addition there's a little seasonal greeting from the Cramer family – so make sure to check it out as well :)
LoginRegisterPro: coming soon
The LoginRegisterPro module isn't available quite yet, but the documentation is already in place, and the shop page is also open, so it won't be much longer now. In case you're interested in getting this module once it's out, be sure to fill out the form in last week's blog post in order to get an update and a coupon code once this module is finally out.
Latest core updates
A few minor updates were added to the dev branch this week, but none of those were particularly interesting: small bugfixes, minor PHP 7.4 compatibility improvements, and some tweaks to ProcessForgotPassword, SessionLoginThrottle, and WireHooks.
Our current plan is to release a new master version before the end of the year, which means that at this point we're just ironing out any remaining issues and making sure that the core is stable and ready. Want to help us? If you're using the dev branch and happen to come across an issue, please help us by reporting it via GitHub. Thanks!
PHP 7.4 – what's in it for me?
As you're probably aware, PHP 7.4 was released at the end of November this year, almost a year after PHP 7.3 was released. This new minor version comes with a number of new features, but may also cause some incompatibilities, as some older features are in the process of being deprecated – or completely removed.
Since 7.4 has come up a few times already, in both issues at GitHub and on discussions at the support forum, we thought it'd make sense to provide a few pointers for you folks – about what this new version includes, and how it relates to ProcessWire specifically.
What's new in PHP 7.4?
So, first of all, here's the official list of what's new in PHP 7.4:
- Typed Properties
- Arrow Functions
- Limited Return Type Covariance and Argument Type Contravariance
- Unpacking Inside Arrays
- Numeric Literal Separator
- Weak References
- Allow Exceptions from __toString()
- Opcache Preloading
... along with some deprecations and removed extensions, which are not particularly interesting.
Sometimes the official info can be a bit hard to digest, so but you can also find many easy-to-chew articles, such as this one from stitcher.io, and this one from Kinsta. All in all 7.4 is a nice update in terms of syntactic sugar alone, and also provides some much-waited improvements for fans of object oriented programming and strict typing.
ProcessWire and PHP 7.4
Now, how does all this actually affect us, as ProcessWire developers?
The short answer is "not much at all": ProcessWire still works with PHP versions as far back as 5.4, and the core doesn't make use of any 7.4 features.
On the other hand 7.4 gives developers working with PHP – and this obviously includes ProcessWire projects as well – some pretty awesome new tools, so it's definitely a good idea to check it out. Just keep in mind that 7.4 has been out for less than a month now, and as such there could still be some bugs and gotchas yet to be discovered.
Our current master version (3.0.123) contains some incompatibilities with PHP 7.4. A few of these are related to third party code – the PWGIF class and the HTML Purifier library – while others affect ProcessWire's native core features. Upcoming master release should fix all incompatibility issues that have been reported so far.
If you're already on the latest version of the dev branch, your site should be good to go for PHP 7.4. On the other hand if you're using latest master branch, Please wait until the next release (which should be out this year) before updating to PHP 7.4. Thanks!
A list of recently updated ProcessWire modules
Digging into new modules as they pop up is always fun, but this time we wanted to try something different, and instead highlight some existing modules that have recently been upgraded. This isn't by any means a comprehensive, all-inclusive list, but rather just the tip of the iceberg.
At this point of the year we'd also like to offer a big hearty thank you for all the authors who've again this year spent countless hours of their time maintaining and supporting the modules, site profiles, and other projects that they've offered for the general public – often for free, and with no strings attached whatsoever. You're awesome!
... and now for that list of updates:
- There have been a couple of major updates for the ImagePicker module this past week. Latest updates have added support for selecting images stored on pages, and loosened up the MySQL version requirements (which were relatively strict).
- Another module that has recently received a major upgrade is GraphQL for ProcessWire. Among other things this module now uses a new, modern, and properly maintained GraphQL library behind the scenes.
- Tracy Debugger – which is probably one of the most actively maintained modules out there – has recently released multiple updates, including those that improve PHP 7.4 compatibility, add new configuration options, and fix minor issues.
- Next in the line is the SelectExtOption fieldtype, which allows one to pick items directly from a configurable database table. The latest update to this module includes support for the Toggle inputfield, introduced in ProcessWire 3.0.139.
- The latest development version of LoginPersist, the module that adds persistent session support for ProcessWire users, includes out-of-the-box 3.x support, fixes some reported issues, and includes numerous updates behind the scenes.
- Finally, the latest version of the Wireframe output framework adds a brand new concept called components. Check out this support forum post for more details, as well as some code samples.
If you'd like to keep up with module updates, the Modules/Plugins area of the support forum is often the first place where new stuff pops up, and the modules directory also provides lists of recently modified and recently added modules. Oh, and PWGeeks is of course a brilliant source of curated ProcessWire updates!
Site of the week: Maquiladora de Muebles
Our latest site of the week belongs to Maquiladora de Muebles – a design and manufacturing company specializing in high quality wood furniture.
Founded in 2014 by María Fernanda Corominas, Pablo González and Mario González, Maquiladora de Muebles is based in the Mexico City and employs a skilled team of architects, designers, production technicians, and artisans. You can read more about their particular approach – as well as values – at the "Us" page of the site.
Behind the scenes this site makes use of the Uikit front-end framework, and some bits and pieces have been implemented with Vue.js. The only ProcessWire module visible on the front-end is FormBuilder, which is powering the contact form found from the site.
Big thanks to Eduardo for sharing this project with us, and our congratulations to Maquiladora de Muebles for their new website!
Stay tuned for our next issue
That's all for the 293rd issue of ProcessWire Weekly. We'll be back with more news, updates, and content Saturday, 28th of December. 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!