ProcessWire Weekly #520

In the 520th issue of ProcessWire Weekly we'll check out some of the latest additions to the ProcessWire module's directory, share some highlights from the latest weekly update from Ryan, and more. Read on!

Welcome to the latest issue of ProcessWire Weekly! In this week's issue we'll check out three new additions to the ProcessWire modules directory: Textformatter Image Data URI and Admin DEV Mode Colors by BitPoet, and WireMailBrevo by Timothy de Vos.

While there are no new core updates to share this week, we do have a new weekly update from Ryan, walking us through the latest version (v29) of the commercial ProFields Table module. And, as always, we've also got a new site of the week.

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 from Ryan: new features for ProFields Table

In the latest weekly update from Ryan we have an introduction to a new version of the ProFields Table module, which is one of Ryan's commercial modules available via the ProcessWire Pro Shop.

What's new in Table v29

Previous version of the Table field/inputfield added some very useful and powerful new features in the form of actions, and this version takes this feature a step further, making it very easy to apply actions to individual rows.

There is a screencast below displaying how the feature works, but you might want to check out the whole video if you missed previous Table field update. Additional details can be found from the blog post from a couple of weeks ago, where Ryan introduced the actions support, along with a couple of other new features (sorting rows as a group and setting up required columns).

As for core updates, there are none to share this week, but we'll get back to that in the coming weeks. In the meantime be sure to check out the Table field updates. Speaking from experience, I can say that it is a very useful tool for storing tabular data, and can also provide a nice performance boost for your site, as it keeps closely related things neatly in a single table, often decreasing the need for additional SQL queries.

That's all for our weekly updates and core updates section for now — thanks!

New module: Textformatter Image Data URI

Textformatter Image Data URI is a brand-new third party module from BitPoet. It is an interesting proof of concept project that modifies content in a field (or content passed to the module via code, if that's something you need) and swaps references to images (in <img> tags) with base64 encoded, inline embedded images.

Since you likely wouldn't want to base64 encode massive images — which are better served from external URLs, so that they can be cached separately of the page content, among other things — the module has a settings for maximum size allowed for inlined images. Apart from that, everything is automatic; just install the module, configure the maximum image size, and enable the textformatter for fields you wish to apply it to.

As a quick note about programmatic use mentioned above, that is not specific to this module, but rather applies to most textformatters. You can pass your own data to the format method of a textformatter, which will then automatically modify the value; the value is passed as a reference, so there's no return value for the format method:

$value = "<p>Markup and <img src="/site/assets/files/1/image.png" alt=""></p>";
$modules->get('TextformatterImgDataUri')->format($value);
// img tag src should now refer to a base64 encoded version of the image

If you'd like to give this module a try, you can clone or download it from the TextformatterImgDataUri GitHub repository, or install it via the built-in modules manager in the admin. For additional support, be sure to head down to the Textformatter Image Data URI support forum thread.

Big thanks to BitPoet for sharing this module with us!

New module: WireMailBrevo

WireMailBrevo is a brand-new third party module created by Timothy de Vos. This is a WireMail module, which means that it integrates with your ProcessWire installation and takes on the job of sending emails when using any of the core's mail-sending features — e.g. those that the system sends automatically, as well as the ones that you send manually using the wireMail() function or the WireMail class.

WireMailBrevo sends emails using Brevo, which is a commercial email marketing and transactional email provider, utilized by some pretty big players, from Stripe to eBay. Some of you may also recognize their previous brand name, Sendinblue. The company has been around since 2012, so while the brand name may be new, they've got quite a track record.

Using WireMailBrevo is as simple as using any other WireMail module. One specialty it provides, though, is the versions feature, which is specific to Brevo and can be used to send customized batch emails. In other words you can use this feature when you want to send a message to multiple recipients, but customize the values, such as subject or content, for specific recipients or recipient groups:

$email = $mail->new();
$email->versions([
    [
        'to' => [
            [
                'email' => '[email protected]',
                'name' => 'Bob Anderson'
            ],
            [
                'email' => '[email protected]',
                'name' => 'Anne Smith'
            ],
        ],
        'subject' => 'This is my version subject line',
    ],
    [
        'to' => [
            [
                'email' => '[email protected]',
                'name' => 'Jim Stevens'
            ]
        ],
        'htmlContent' => "<!DOCTYPE html><html><body><h1>Modified header!</h1><p>This is still a paragraph</p>&lt;/body&gt;</html>",
    ],
]);

If you'd like to give this module a try, you can clone or download the module's source from the WireMailBrevo GitHub repository, or install the module via the built-in modules manager in admin. In case you have any questions, be sure to head down to the WireMailBrevo support forum thread.

Big thanks to Timothy de Vos for creating this module and sharing it with us!

New module: Admin DEV Mode Colors

Admin DEV Mode Colors is another new third party module created by BitPoet. The goal of this module is to make it easy to distinguish your production environment from your development environment, so that you don't accidentally test things in production — or do something that was actually meant for production in development.

The module changes the color of the top toolbar and adds a unique text next to / instead of the ProcessWire logo there (depending on the screen size) so you can easily dinstinguish your development installations from the production systems.

— BitPoet

The module is compatible with Default, Reno, and Uikit admin themes, and essentially swaps your color theme, while also setting up a custom text to replace (or accompany) the ProcessWire logo in the admin. You can configure the color scheme and text via the module's configuration screen, and when it comes to enabling the module — or rather telling it that it's in a development environment — there are two methods:

  • enabling the option in module configuration, or
  • adding $config->devMode = true in your site's config file.

For some added convenience you can also override module settings via site config file using a set of predefined configuration properties:

  • $config->devModeBgColor
  • $config->devModeFgColor
  • $config->devModeDevString

If you'd like to give this module a try, you can clone or download it from the AdminDevModeColors GitHub repository, or install it via the modules manager in admin. Please note, though, that this is considered a beta release, so some extra precaution is recommended. If you have questions or require additional support, be sure to check out the AdminDevModeColors support forum thread.

Big thanks to BitPoet for sharing yet another very useful module with us!

Site of the week: dec3

Our latest site of the week belongs to dec3, an online marketing agency from Berkheim, Germany. The site we are featuring this week is their own website, which they've created in-house using ProcessWire.

The dec3 website is a showcase for the work that the agency does and has done for their clients, split into three primary categories: corporate websites, online specials, and digital transformation. There's a lot to see on this site, which is no surprise, considering that dec3 have been working with numerous B2C and B2B companies for over 10 years, taking on more than 1000 projects in the process.

In addition to plenty of quality content, the dec3 website also looks downright amazing, with plenty of interesting design decisions all over the place, and fancy yet unobtrusive animated effects added to the mix. A well suited showcase for a company working with web projects, that's for sure.

As for behind the scenes details, it looks like the framework behind the front-end of this site might've been Bootstrap, though with a lot of custom work added. The front-end also includes some familiar tools, such as the carousel library Swiper. As for the back-end of this site, in addition to this site being obviously powered by ProcessWire there's not much else we can say.

Thanks to the folks at dec3 for sharing their website with us — it's a brilliant site, very enjoyable to browse, and all in all definitely a job well done from everyone involved in this project!

Stay tuned for our next issue

That's it for the 520th issue of ProcessWire Weekly. We'll be back with more news, updates, and content Saturday, 4th of May. 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