ProcessWire Weekly #301

In the 301st issue of ProcessWire Weekly we're going to check out the latest core updates, introduce brand new third party modules RockDaterange and Modules Manager 2, and highlight a brilliant new site of the week. Read on!

Welcome to the 301st issue of ProcessWire Weekly! This week we're going to check out the latest core updates that have just landed in the dev branch, and then introduce a couple of brand new modules — in fact so new that one of them is only available as a beta release for now, and as of this writing the other one is still a work in progress!

Our latest site of the week is a project called This Oxford, and it's quite an interesting one indeed: it's not exactly a typical one-pager or a presentation, but rather a curious mix of the two. Anyway, we'll get to that in just a bit, so stay tuned.

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: new methods, email logins, translation fallbacks, and more!

While there's no official update from Ryan for this week, in this section we'll take a quick look at the latest updates in the dev branch. Most of this week's updates were tagged for ProcessWire 3.0.151, even though we're not quite there yet — here's a summary of the changes and updates in the dev branch:

  • New $field->editUrl() method was added for Field objects. This method returns a link to the field edit screen in the Admin for that particular field.
  • InputfieldForm JavaScript looks for a hash with #find-[field-name] syntax in the URL, attempts to locate a matching field, and highlights it if found. Additionally: Page::editUrl() accepts a field name as an argument, in which case the returned URL will include aforementioned hash as well: $page->editUrl('body').
  • As an alternative to a username, ProcessLogin can be configured to accept email address as the login name. Realted configuration setting can be found from the Process Login module's config screen. There are some additional requirements as well (such as enforcing unique values for the email field); see the module config screen for more details.
  • Translation method __() now recognizes "fallback strings". By using array syntax to specify the translatable string — i.e. __( [ 'new string', 'old string' ] ) — you can switch to a new translatable string while still keeping the old string as a fallback; once the new string is translated it'll be used by default, but until then the old version will continue to work just fine.

In addition to the updates mentioned here, there were also some minor fixes and a little bit of code cleanup included with this week's commits.

We'll be back next week with more core update news — in the meantime if you'd like to see this week's updates in action, feel free to give the dev branch a try. Thanks!

Beta release: Modules Manager 2

Modules Manager 2 is a third party module developed by Jens Martsch (dotnetic GmbH) and intended as a replacement for the built-in modules manager in ProcessWire. Compared to the built-in modules manager, the main attraction here is the slick, Vue.js powered GUI, which — among other things — takes discovering new ProcessWire modules to a whole new level.

Here's one of hte latest screencasts for this module; for more videos be sure to check out the Modules Manager 2 support forum thread:

You can find some additional screenshots of the Modules Manager 2 from the support forum. Among them are screenshots of the table view — similar to our current modules management GUI in Admin — which is going to be an alternative for both the card view and the reduced card view (basically a stripped-down version of the default version). You can freely switch between the GUI options while using the module.

This module has been under development for since late 2019, but the GitHub repository for Modules Manager 2 was just this week opened up for beta access — so if you'd like to give Modules Manager 2 a try, feel free to clone or download your copy right away.

Big thanks to Jens Martsch for all his hard work on this project!

Sneak peek into a new module under development: RockDaterange

Next up is another new module, and this one is so fresh that as of this writing it's not quite yet even available to the general public: RockDaterange by Bernhard Baumrock. In a nutshell this module provides an inputfield for selecting dates and dateranges, as well as a fieldtype for querying said dates with ease.

This module is particularly intended to help in cases where different datetime input options may be required — such as in event calendars, which often require different types of date inputs:

  • Single date (15.2.2020)
  • Single date and time (15.2.2020 11:59)
  • Date range (15.2.2020–22.2.2020)
  • Date range with time (15.2.2020 08:00-22:2.2020 11:59)

The module provides support for all of the above by implementing what is technically (from ProcessWire's point of view) just one inputfield, but where the user can make a case-by-case choice between all the available options with some checkbox magic:

GIF animation of RockDaterange inputfield, displaying "full day" and "has-end" checkboxes below inputs used to pick either single date, single date with time, or date range consisting of start and end dates (with optional time inputs.)

One additional feature that has been discussed would be recurring dates, though that concept is in itself complex enough that in the end it may actually end up becoming a completely separate module. (In the meantime you can also use the Recurme module for that; while no longer actively developed or supported, it's now free to download, so if the commercial aspect was holding you back, feel free to give it a try now.)

You can find more details, including notes about how the API side of things — finding pages with RockDaterange dates in use — could work from the RockDaterange support forum thread. As the module is still in its early stages it's not quite yet available to us, but feel free to submit your ideas and suggestions via the forum.

Thanks to Bernhard for working on this project — great stuff, and I for one can't wait to see the RockDaterange module in action on a live site!

Site of the week: This Oxford — an introduction to the scientific history of Oxford

Our latest site of the week is This Oxford, which is a site telling the story of Oxford — from the past to the future, medicine to artificial intelligence, Robert Boyle and Alexander Fleming to Sir Tim Berners-Lee, this site contains a wealth of information, all presented it in a truly unique manner.

This Oxford was designed and developed by Sheffield, UK based company Castus Ltd, and represents one of their trademark project types: websites that tell a story. Falling somewhere in between single-pager and multi-media presentation and boasting plenty of captivating content and vivid imagery, this site is easily one of the most interesting ProcessWire projects we've come across in a while. If the rich, scientific history of Oxford sounds even remotely interesting to you, definitely check this site out for yourself!

The one and only behind the scenes detail also visible on the surface of the site would be the AIOM+ module, while the actual front-end of this site is powered by a generous amount of custom code coupled with various third party JavaScript and CSS libraries — including GreenSock animation tools, jQuery 3, and Yahoo's YUI library.

Thanks to the folks at Castus for choosing ProcessWire as their platform for such an interesting project — and our congratulations to the Oxford Sciences Innovation for this truly splendid website!

Stay tuned for our next issue

That's all for the 301st issue of ProcessWire Weekly. We'll be back with more news, updates, and content Saturday, 22nd 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