In the 288th issue of ProcessWire Weekly we'll cover the latest core updates, introduce WireMailSendGrid, host a new weekly poll, and showcase a new site of the week. Read on!
Welcome to the latest issue of ProcessWire Weekly! This week we're going to take a quick look at the latest commits in the dev branch of ProcessWire, and explain what's new or changed since last week's ProcessWire 3.0.145 release – there's no version bump for this week, but there's actually quite a bit of new stuff nevertheless.
For this issue we've also got a new WireMail module called WireMailSendGrid, and a new weekly poll in our ongoing #processwireworks series. Our latest site of the week belongs to a Pan-African entrepreneurial training program, seed fund, tech incubator, and hub known as MEST; they're an organization that's trying to change things for the better, and we're absolutely thrilled to have them on the ProcessWire bandwagon.
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!
Quick look at the latest core updates
This week we don't have a new core version available, but we do still have some new commits in the dev branch since last week's ProcessWire 3.0.145. Here's a brief summary of what's new and changed:
- Support for Fieldtypes to specify that a Field should use a custom class that extends the Field class, rather than always using the "Field" class. This new feature is already in use for Repeaters and Comments – check out the CommentsField class for a real-world use case.
- A new "minimumAge" config setting for the PagePathHistory module, and a new method wire404(). The wire404() method that allows programmatically throwing 404 exceptions in such a way that the PagePathHistory module – and potentially other modules as well – know to perform all their regular actions, as opposed to assuming a "forced" or "intentional" 404.
- Support for $pages->touch() for specifying the date type – modified, created, or published – to update. Until now this method always updated the modify date, and that's still the default behaviour, but you can also specify another date type as an optional third argument for the method.
- Ability to programmatically send Admin messages and errors that shouldn't be collapsed by using a new constant setting Notice::noGroup. This can be used to make extra sure that a user can't miss an important message or error.
... and some additional updates to $modules->findByPrefix(), ability for the wireMail() function to automatically strip unwanted port numbers from an email address, ability for PageFinder and PagesLoader to retain more information for debugging purposes, various PHPDoc updates, and some new PagesEditor features that we'll likely cover in more detail in our future issues.
That's all for this week's core updates; we hope to share more details again next week!
We're currently preparing for a new stable release, which means that there are likely going to be fewer new features, and more maintenance work and small improvements, in the short term. In case you're already using the dev branch, please let us know if you're having any problems with it by opening an issue at GitHub – thanks!
New module: WireMailSendGrid
This week we're happy to introduce yet another alternative for the different WireMail module's we already have available: WireMailSendGrid, which seamlessly integrates the SendGrid service and ProcessWire's native email sending features.
Just like SendGrid bears some similarities with another API based service Mailgun, so does the WireMailSendGrid module have certain similarities with WireMailMailgun: the configuration options are quite extensive, and you can – for an example – choose to enable or disable features such as click tracking and open tracking.
As a WireMail module WireMailSendGrid works just like the native mail feature, through the wireMail() method or various object oriented APIs. There's a very detailed README at the project's GitHub repository with all the options and methods clearly spelled out, so be sure to check that out in case you're interested in giving this module a try.
Big thanks to Guy from The Big Surf for creating this module and sharing it with us – absolutely brilliant work!
Weekly poll: what are the main reasons for you to use ProcessWire for your projects? (#processwireworks)
In this week's #processwireworks poll we're interested in hearing about your reasons for choosing – and sticking with – ProcessWire as the platform for your client projects. What do you see as the greatest benefit of the platform, and what resonates best with your clients? Is it something technical such as security or scalability, or perhaps the end user experience?
In the poll below please choose the primary reasons you're using ProcessWire – preferably no more than three choices, but that's really up to you. Thanks in advance!
- Security (10.1%, 46)
- Performance (10.5%, 48)
- Flexibility – fits different needs and use cases (18%, 82)
- Scalability – fits small and large projects alike (9.9%, 45)
- Friendly and helpful community (10.5%, 48)
- Ease of use for the client (12.5%, 57)
- Ease of use for the developer (15.6%, 71)
- Steady stream of updates for the core (5.3%, 24)
- It's the system that I'm already familiar with (4.2%, 19)
- Existing features, such as third party modules (2.9%, 13)
- Clients are requesting ProcessWire specifically (0.2%, 1)
- Something else, what? (0.4%, 2)
Total votings: 456
As for our last week's poll, in which we asked you to describe the clients you build ProcessWire based solutions for, the results – partial results, since the poll is still running, and there may be changes along the way – are in.
To summarize, again, the biggest client group – and this probably isn't such a huge surprise – were businesses and companies, pretty closely followed by not-for-profits, and then individuals. Public sector, education, and associations were not quite as big, and finally religious organizations and media were the smallest categories.
Here's a pie chart of the data we've got so far:
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: MEST
Our latest site of the week belongs to MEST, which stands for Meltwater Entrepreneurial School of Technology.
MEST is a Pan-African entrepreneurial training program, seed fund, tech incubator, and hub created by the Meltwater Foundation, the not-for-profit arm of Meltwater, in 2008. Their goal is to create jobs and wealth in Africa by training, supporting, and investing in the continent's most promising software entrepreneurs.
The website of MEST was designed and developed by the London, UK based web design agency Internet Dreams Studio. It is modern, dynamic, and visually impressive: there are plenty of varying layouts thanks to what appears to be a sort of a block builder approach – with pages consisting of a number of blocks, or modules – and plenty of video and image material to liven things up.
Big thanks to the folks at Internet Dreams Studio for sharing yet another amazing project with us, and our congratulations to MEST. Inspiring!
Stay tuned for our next issue
That's all for the 288th issue of ProcessWire Weekly. We'll be back with more news, updates, and content Saturday, 23rd 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!