In the 244th issue of ProcessWire Weekly we'll cover the latest core updates, introduce the new processwire.com site, ask a PHP version related question in the weekly poll, and showcase the site of an open source room bookings app. Read on!
Welcome to the 244th issue of ProcessWire Weekly! Hope you've had a great week so far, and even better weekend ahead of you. In this week's issue we're going to dive into the latest core updates and the new processwire.com website, ask you folks about which PHP versions you're currently using, and introduce a very neat new site of the week.
We've already got some content lined up for our next week's issue as well, but here's one last minute update that we really wanted to get out as soon as possible: Camilo Castro is currently working on a ProcessWire course titled ProcessWire 101 – and from the looks of it, this is going to be a really valuable resource once it's finished.
Although the Processwire 101 course is still a work in progress, you can already enroll – and when you do, you get the course for free, or you can pay a fee in order to support Camilo for all the work he's doing for ProcessWire and the community. Be sure to visit the enrollment site for a list of topics that Camilo is planning to cover as well.
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!
New processwire.com website is now live, and ProcessWire 3.0.124 is available via the dev branch
The new processwire.com website has been a hot topic both here and on the support forum for a few weeks now. Last week we got the chance to check it out in a subfolder of the main site, and this week Ryan has gone and released the new site – so if you haven't had the chance to check it out yet, we'd highly recommend that you do that right away!
A behind the scenes look at the new processwire.com website
In this week's blog post Ryan discusses in detail what's going on behind the scenes at the new processwire.com website, which non-core modules were used on the site and while working on it, which tools he chose for the development, and of course the front-end solutions used on the site.
Here are some highlights from the post:
- As you probably guessed already, a few of Ryan's own Pro modules – including Form Builder and ProCache – can be seen on the site. There are other third party solutions used as well, ranging from Tracy Debugger, which was used during the development, to WireMailMailgun, which passes messages from the site to the transactional email service Mailgun.
- In the template files Markup Regions and the Functions API are used exclusively. Both are relatively recent additions to ProcessWire, and in the post Ryan goes on to mention that he'll be dedicating some time next week towards properly documenting the Functions API.
- The showcase section and the site search feature have gone through some pretty major upgrades for the new site, among which are a feature for the showcase in which submitted sites are auto-validated from time to time. The site search, on the other hand, now provides suggestions from various sections of the site.
- Performance has been a key area of focus for this rebuild project, and now that the site is finally live we're seeing pretty amazing results in various testing tools – not to mention that user feedback has been very positive as well.
Overall this project was a massive one, and the end result is a major upgrade over our earlier site, which was admittedly getting a bit outdated. Now, be sure to visit the blog for more details on the processwire.com website, and please keep sending us feedback regarding the new site via the support forum!
What's new in ProcessWire 3.0.124?
In addition to the new site, this week we've also got a new dev release of ProcessWire. Version 3.0.124 both adds some new features, and also improves some of our existing features. Here's a quick summary of what's new in this release:
- New Sanitizer method
$sanitizer->trim()works otherwise exactly like its PHP counterpart, except that it automatically recognizes all the different whitespace variants (30+ of them, to be more exact) included within UTF-8, as well as a number of their encoded versions, including
- The WireHttp core class now includes cURL support. In practice this means that when you make a HTTP request using WireHttp, behind the scenes it'll attempt to use PHP's fopen(), and if that isn't available it will fall back to sockets – and finally, if sockets are unavailable as well, it will attempt to use cURL.
- The error message you get if Functions API is disabled and you try to use one of its features is now a lot more informative, explaining why the function you tried to access wasn't available, and how to make it work.
- The MarkupQA class, which automatically corrects issues in HTML markup stored in fields, has a new config setting
ignorePaths. This allows you to define paths that should not be corrected, or flagged as errors. This is particularly useful for sites that include dynamically created paths that can't be validated on the fly.
That's it for our core updates section this week, but once again: be sure to check out Ryan's weekly post for more details on both the processwire.com site update and the features added or updated in ProcessWire 3.0.124. Thanks!
Weekly poll: which PHP version are you hosting your ProcessWire sites on? (January 2019)
It has been more than a year since we last asked you folks about the PHP versions you use to host your ProcessWire sites on, and with a lot being going on since then – both with ProcessWire, and in the PHP world – we thought that this would be a good to to revisit that question.
So, which PHP version – or versions – are you using to host your ProcessWire websites? We've included PHP versions from 5.3 to 7.3 in the poll, and you can choose more than one applicable version, but feel free to leave a comment as well if there's anything you'd like to add to your answer.
- PHP 7.3 (9.5%, 17)
- PHP 7.2 (40.2%, 72)
- PHP 7.1 (24%, 43)
- PHP 7.0 (12.8%, 23)
- PHP 5.6 (9.5%, 17)
- PHP 5.5 (1.7%, 3)
- PHP 5.4 (1.1%, 2)
- PHP 5.3 or anything older than that (1.1%, 2)
Total votings: 179
For the record, here's a direct link to the results of our previous PHP version poll. Hopefully we'll see some changes here in comparison to those numbers :)
Feel free to check out the poll archive for results of our earlier polls. All suggestions for future polls are more than welcome too. Thanks in advance for both your answer here and any additional suggestions or feedback you might have.
Site of the week: classroombookings – an open-source room booking system for schools
Our latest site of the week is the marketing and documentation site for an open source project called classroombookings – a highly configurable room booking system targeted specifically to schools.
The open source tool – freely available for self-hosting, but a hosted plan is provided as well – is a full-featured booking system with features including customizable timetables, ability to set the boundaries of the academic year and set holidays, unlimited number of rooms or users, and support for both one-off bookings and timetabled lessons. Note that this tool is not in itself based on ProcessWire, and has in fact been around since 2006.
The classroombookings website – which, for the record, is also open source and freely available from GitHub – is rather simple in its design, yet has a nice professional look and feel to it. Simplicity often leads to ease of use and performance benefits, and that might be true here as well: the site is quite usable, and performs really well. Showcase thread for the classroombookings website mentions the site being based on Spectre CSS front-end framework, which is admittedly a new acquaintance for yours truly.
Some behind-the-scenes features used on this site include third party modules Admin Template Columns, Process Date Archiver, Settings Factory, and Hanna Code. There's also a custom module called Releases, which pulls release information directly from the GitHub API. In case you're interested in learning more about how this site was built, you can find the entire source code at the classroombookings-website GitHub repository.
Big thanks to Craig Rodway for sharing not just this site, but also the entire source code behind it with the ProcessWire community – that's really inspiring! All the best for Craig and his classroombookings app from us, and keep up the great work.
Stay tuned for our next issue
That's it for the 244th issue of ProcessWire Weekly. We'll be back with more news, updates, and content Saturday, 19th of January. 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!