ProcessWire Weekly #307

In the 307th issue of ProcessWire Weekly we're going to check out the latest dev branch updates, introduce some new third party modules, and more. Read on!

Welcome to the latest issue of ProcessWire Weekly. This week we're going to kick things off by checking out the latest weekly update from Ryan, as well as taking a quick sneak peek into the dev branch commits from past week.

In other news we've got three new third party modules to introduce — ProcessLogstash, FlowtiAppPerformance, and PageUseIdAsName — and a new site of the week belonging to a farm product box delivery service called The Modern Milkman.

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

In his latest weekly update — posted to the support forum on Friday — Ryan discusses some recent events, as well as mentions a few upcoming updates for the core and the commercial ProCache module. Though there's no new core version for this week, here's a sneak peek into the latest dev branch commits:

  • Fix for an issue that was causing $config->http[ModuleName] calls to return an error instead of a valid URL.
  • HookEvent::removeHook($key) was updated to also accept a self-reference, and FieldtypeComments::find() to support page.parent_id and page.templates_id for finding comments.
  • Refactored ProcessLogin provides new customization options and allows logging in with either name or email address via single input.
  • The ability for custom classes extending the Page class to internally access the createdUser and modifiedUser properties.
  • An update for the database schema of PagePathHistory in order to better accommodate for some (relatively rare) MySQL configurations.

Be sure to check out the weekly update from Ryan, and feel free to post on the forum if you have any feedback regarding that or the latest changes in the dev branch. Thanks!

New module: ProcessLogstash

ProcessLogstash is a new third party module by the folks at Blue Tomato. This module makes it trivially easy to send ProcessWire log data via HTTP to Logstash. Logstash is an open source tool for collecting data, which can then be visualized using other services, such as Kibana.

Logstash is an open source, server-side data processing pipeline that ingests data from a multitude of sources simultaneously, transforms it, and then sends it to your favorite "stash."

https://www.elastic.co/logstash

In order to use this module you need to configure the Logstash API endpoint, but apart from that, everything happens automatically behind the scenes: the module hooks into WireLog::save() and posts logged data to Logstash. You can optionally configure custom headers — such as those used for authentication — to be sent with the request.

Thanks to Blue Tomato for sharing this project with us — definitely a useful addition!

New module: FlowtiAppPerformance

FlowtiAppPerformance, or Flowti Admin Module Profiler, provides features for keeping track of Process module performance: execution time, memory usage, and system load. You can choose whether to log data into database, ProcessWire log files, and/or Tracy debug log — though in order to use the built-in graphs database logging is required.

There are numerous config options for this module, including the option to choose the modules you want to log data for, maximum log files per module, log file directory, and the methods you want to use for logging said data.

Screenshot of the Flowti App performance module configuration screen.

For more details be sure to check out the FlowtiAppPerformance support forum thread. You can give this module a try by installing it via the built-in module installer in Admin, or by downloading or cloning it from the FlowtiAppPerformance GitHub repository.

Big thanks to Luis for developing and sharing this module — great idea, and definitely another useful addition to the ProcessWire module ecosystem!

New module: PageUseIdAsName

Our third new third party module for the week is called PageUseIdAsName: this module, developed by Blue Tomato, modifies pages using one of configured templates so that the native name field is hidden from Admin, and Page ID is automatically used as the name (resulting in ID based URLs).

There's not a whole lot to say here, really: in order to use this module you just need to select the templates that should get ID based names via module config, and that's it. So-called heavy lifting happens automatically behind the scenes.

If you'd like to give this module a try, you can install it via the built-in module installer in Admin or grab it directly from the PageUseIdAsName GitHub repository. Thanks to the folks at Blue Tomato for another useful contribution!

Site of the week: The Modern Milkman

Our latest site of the week is that of a box delivery service by Oakridge Dairy in Ellington, CT. The Modern Milkman delivers various farm products — milk, eggs, cheese, and different sorts of baked goods, among other things — directly to consumers.

The idea behind The Modern Milkman is that by using the website customers can register, choose the size of a "box" of deliverables they want, and choose the products they want home-delivered on a weekly basis. The products are gathered from local farms, so they're pretty much guaranteed to be fresh.

The website of The Modern Milkman was developed by Solution Innovators. The bulk of the content on this site is on the home page, though we wouldn't necessarily describe this site as a one-pager due to the separate views it has for registration and login workflows, contact form, and a few other key items.

The design is light and rather straightforward, with plenty of weight on product and background images, and regarding behind the scenes details we could only spot one familiar third party module: EmailObfuscator. The front-end, on the other hand, seems to be based on an in-house front-end framework developed by Solution Innovators.

Big thanks to the folks at Solution Innovators for sharing this interesting project with us, and our best wishes for The Modern Milkman — it seems to us that they're providing a wonderful service there, so definitely go check them out, especially if you happen to live anywhere near Ellington, CT.

Stay tuned for our next issue

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

This post has 3 comments:

Sam on Saturday 4th of April 2020 10:44 am

New email login is limited to PW backend, right? Had a quick look at the commit and it seems Session login() is still limited to user name. Or did I miss anything?

teppo on Saturday 4th of April 2020 20:14 pm

> New email login is limited to PW backend, right?

Correct: email login is a feature of ProcessLogin, and not directly related to Session::login(). Technically what is happening is that if an email is provided via the login form (and email logins are enabled) it'll look for the user object with that email, and then use the name of said user to log in via Session::login().

If you need similar feature for your own code, you can do the same without a whole lot of boilerplate :)

thetuningspoon on Wednesday 8th of April 2020 18:39 pm

Thanks for featuring The Modern Milkman!

Post a comment