ProcessWire Weekly #386

In the 386th issue of ProcessWire Weekly we're going to cover the latest core updates, introduce a brand new third party module for handling automatic translations for page fields, and more. Read on!

Welcome to the latest issue of ProcessWire Weekly. In this issue we'll take a closer look at the latest core updates, made available via the dev branch at GitHub. Said updates introduce a few pretty major behind-the-scenes updates for the core, while from end-users' point of view the only change should be a boost in terms of performance.

In other news we'll also check out a brand new third party extension module for the AI powered translation module Fluency, called TranslatePage. Last but not least we'll also pick a new site of the week: Austrian interview blog Talkaccino, founded and managed by Philipp Schützl.

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

In his latest weekly update at the support forum Ryan talks about this week's updates to the dev branch at GitHub. Said updates were already briefly discussed a week or so ago, and this is indeed a rather big update in terms of both features and lines of code — here's a brief summary of what's new and changed:

  • The PagePaths module, which is always included with the core but uninstalled by default, now includes multi-language support. This module provides significant performance boost for certain types of queries, so be sure to check it out.
  • Another multi-language related core module, LanguageSupportPageNames, has been refactored. This module is now more performant, and there's a new config setting for defining what should happen when a page is accessed in a language it's not available for: show a 404 error, or redirect to the default language.
  • The core PagePathHistory module (which keeps track of earlier paths for pages) has also been refactored, and among other things this module now provides a new getPathInfo() method, primarily intended for internal core purposes.
  • A new PagesRequest class has been added to the core and can be accessed via $pages->request(). Main feature of this class is the hookable method getPage(), which provides early access to getting and/or changing requested page.
  • A new PagesPathFinder class has been added to the core. This class is accessed via $pages->pathFinder(), and provides a public method get($path) for finding and validating provided path and returning an array of information about it.

If all that sounded a bit technical...

Don't worry — the features mentioned above are rather technical. The TL;DR is that the core is now even faster than before, and some core features are now organized in a way that will make core development easier in the future.

Newly added core classes may also provide interesting tools for module authors, as well as anyone working with more involved hook-related use cases.

Oh, and just in case you're wondering why the dev branch version number is still the same as last week (3.0.185) despite aforementioned updates, that's primarily because the updates included here are indeed big. We'll give them a bit more time to simmer before bumping the version, just to make extra sure that everything is a-okay.

If you'd like to hear more about this week's core updates, be sure to check out the weekly update from Ryan at the support forum, and feel free to dig into the GitHub commit log for the dev branch as well. Thanks!

New module: TranslatePage

TranslatePage is a brand new third party module developed by Robert Weiss. This is a companion module for — or extension of — Fluency, the module providing AI (DeepL) powered translations for content authored via ProcessWire's admin tools.

Whereas Fluency allows one to translate content on a field by field basis, TranslatePage adds the ability to translate entire pages. For command line use there's also the option to translate entire page trees — which means that you could, for an example, translate your whole site in one go.

This module is simple to get started with: just install it and add the fluency-translate permission to roles that should have access to it. Once installed, the module adds a new "Save + Translate" option to the save page button dropdown menu. Translatable templates can be configured via module settings, and following fields are supported:

  • PageTitleLanguage
  • TextLanguage
  • TextareaLanguage
  • File and image descriptions
  • All aforementioned fields inside Repeater, RepeaterMatrix, FieldsetPage, Functional and Table fields

Be sure to check out the ProcessTranslatePage GitHub repository for more details. This module can be installed via the built-in module installer, or you can clone or download it from GitHub. Please note that the Fluency module is a prerequisite for TranslatePage.

Big thanks to Robert Weiss for sharing this project with us — this is a very nice addition to the already impressive feature set of Fluency!

Site of the week: Talkaccino

Our latest site of the week is Talkaccino, an Austrian interview blog managed by Philipp Schützl. The blog is focused on the topics of life, society and culture, and the interviews — or rather conversations — take place in coffee shops... hence the name.

The blog was built by Octopus Ink Network, and consists of typical blog site features: interviews are sorted by publish date and can be browsed all together or by category, each individual interview has a page of it's own (with a very nice layout, just for the record), and there's also a search feature for finding just the right interview.

Talkaccino has been active for a little over a year now, and both the volume and variety of interviews featured in the blog is very impressive. Whether you'd like to hear from a biker what his culture is all about, or from a fashion label founder about his industry — or perhaps an author about the process of writing a novel... it's all there, and so much more. Although the content is only available in German, Google Translate does a pretty good job for the rest of us.

As for behind the scenes details, the front-end of the Talkaccino website is based on the Materialize front-end framework. As for third party ProcessWire modules, the one and only we could spot was AIOM+, the ever-so-popular minification tool from David Karich of flipzoom; Media.

Thanks to the folks at Octopus Ink Network, and of course the maintainer of Talkaccino, Philipp Schültzl, for sharing this awesome project with us. Splendid work from everyone involved in the project!

Stay tuned for our next issue

That's all for the 386th issue of ProcessWire Weekly. We'll be back with more news, updates, and content Saturday, 9th of October. 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