The 614th issue of ProcessWire Weekly brings in all the latest news from the ProcessWire community. Modules, sites, and more. Read on!
Welcome to the latest issue of ProcessWire Weekly! In this week's issue we're going to check out what's new in the dev branch of ProcessWire, covering a couple of weeks worth of core updates leading up to the latest dev release, 3.0.256.
In other news we're going to introduce a brand-new third-party module called AiWire, and — as always — also highlight a new site of the week. This week that site belongs to a growing, UK based designer and manufacturer of plastic cards, allpay cards. More about all that in just a bit, so keep on reading.
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!
Latest core updates: ProcessWire 3.0.256
The latest core version of ProcessWire available via the dev branch at GitHub has just been bumped from 3.0.255 to 3.0.256. This version introduces a number of bug fixes and (relatively) minor new features and improvements over our latest stable release. Here's what's new from the last couple of weeks or so.
The fixes applied to the core in the past couple of weeks:
- Fix for issue #2151, where repeater pages in Lister caused warnings for non-superusers.
- Fix for issue #2154, where in Konkat admin theme style and dark mode some themeColor-options resulted in unreadable text.
- Fix for issue #2181, where ModuleJS::init() was not loading CSS/JS assets properly.
- Fix for issue #2182, where Imagesizer had a collection of public shorthand setter methods that were not working as expected.
- Fix for issue #2183, where WireMail::quotedPrintableString() caused some mail clients to display encoded "from" name as plain text.
- Fix for issue #2184, where default .htaccess rules included X-XSS-Protection that is deprecated, non-standard, and considered potentially harmful.
- Fix for issue #2185, where TinyMCE toolbar icons were sometimes slightly blurry in non-Retina screens.
As for new features or feature improvements, here's a brief summary:
- New Sanitizer methods
$sanitizer->textArray(), which recursively ensures an array contains only text values (or nested arrays of text values), and$sanitizer->json(), which returns readable and formatted JSON for given value. - WireUpload method now has the ability to retry moving AJAX uploaded files if the first attempt fails. It uses the $files->rename() method, which supports the copy-then-delete, as a fallback when simple rename alone doesn't work.
- $log->save() and other $log methods now support new features: $text argument optionally accepts arrays or objects that get converted to formatted JSON in the log viewer, some inline formatting options are supported (
`code`,**strong**, and~~~pre~~~), and the newqueueoption can be used to combine messages for the same log file into a single entry that is saved at the end of the request. - Selectors class now supports new array syntax:
[ 'template=article', 'limit=5' ].
Additionally some relatively minor updates were made to the Konkat admin theme style e.g. to improve look of selected items in Lister views, some PHPDoc blocks were improved, and some error messages were improved.
That's all for our core updates section this week. If you'd like to give 3.0.256 a try, you can get it via the dev branch at GitHub. Thanks!
New module: AiWire
AiWire is a new third-party ProcessWire module created by Maxim Semenov. This module integrates various AI providers (Anthropic, OpenAI, Google, xAI, OpenRouter) to a ProcessWire site. AiWire is in the same category of tools as an earlier module called PromptAI, but has a different angle: whereas PromptAI is an admin tool, AiWire is an API level tool you can access in your own templates or modules.
Once you've configured AiWire with your AI provider credentials, here's an example of how you might use it in your code:
$ai = $modules->get('AiWire');
// Ask AI questions and output the response
echo $ai->chat('What is ProcessWire?');
// Ask AI questions, but with a fallback
$result = $ai->askWithFallback('Translate this...', [
'provider' => 'anthropic',
'fallbackProviders' => [
'openai',
'google',
],
]);
// Generate (multiple) field values
$ai->generate($page, [
['field' => 'summary', 'prompt' => "Write summary..."],
['field' => 'ai_desc', 'prompt' => "Generate meta..."]],
], ['temperature' => 0.5, 'cache' => 'W']);There's quite a lot more that you can do with this module, so be sure to check out the full documentation and examples at aiwire.smnv.org. The module also provides utilities for testing connections and requests in admin, has the ability to cache content, and more.
If you'd like to give AiWire a try, you can clone or download the module's source code from the AiWire GitHub repository. If you have any questions or feedback for the author, head down to the AiWire support forum thread.
Big thanks to Maxim for creating this module and sharing it with us!
Site of the week: allpay cards
Our latest site of the week belongs to allpay cards. They are a manufacturer of plastic cards, based in the UK and founded way back in 2008. They offer services ranging from design to manufacturing, and can also handle delivery to customers through their network of partners.
allpay cards has grown into one of the UK’s fastest-growing and most trusted plastic card manufacturers, renowned for delivering high-quality, tailored solutions that meet the needs of clients across the UK and Europe.
— Sites directory entry for allpay cards
Created by Castus, the allpay cards website features a very nice and modern design, intuitive user interface, and plenty of quality content from company introduction to process outline and product information. All in all it is a gorgeous site that feels intuitive and effortless to use, so we've got nothing but good things to say here.
As for some behind the scenes details, the front-end of this site seems to be largely custom-built, apparently without the help of a front-end framework. As for non-core ProcessWire modules, there are at least a couple of familiar ones that we could spot: FormBuilder and ProCache, two popular Pro modules created by Ryan Cramer.
Our congratulations to allpay cards for their new, ProcessWire powered website, and big thanks to Castus for sharing this very interesting project with us!
Stay tuned for our next issue
That's it for the 614th issue of ProcessWire Weekly. We'll be back with more news, updates, and content Saturday, 21st of February. 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