ProcessWire Weekly #183

The 183rd issue of ProcessWire Weekly features the latest core updates, two new third party modules, a new site of the week, and more. Read on!

Welcome to the 183rd issue of ProcessWire Weekly! This time we're going to walk you through the latest core updates – including some really exciting news regarding the Admin Theme Uikit project – and introduce two brand new third party modules.

Two things that deserve a special mention here this week are and the 2017 CMS Critic Awards:

  • The first one is quite obvious: is a new ProcessWire tutorial site focusing on beginner friendly tutorials. There's already plenty of content there, so you should definitely check out if there's something that you can learn from too.
  • Regarding CMS Critic Awards, the results are now out. Though we didn't win this time, we were placed second in the "Best CMS for SMB" category, right behind Craft CMS. Congratulations to the folks at Craft, and let's have a rematch next year!

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.

Latest core updates: ProcessWire 3.0.83

In the latest post at the blog Ryan talks about ProcessWire 3.0.83, our latest development version. There were two major additions to the core this week, and one additional update to the ProFields Table module:

  • Password fields can now optionally require inputting the old password first. This security enhancement is enabled by default on the User profile page, but can be disabled via the settings of the built-in 'pass' field.
  • Admin Theme Uikit is now a part of the core. This is definitely the big news for this week, and if you've been following our posts you probably already know that this is a major upgrade for our entire Admin interface.
  • The commercial ProFields Table now fully supports Admin Theme Uikit. Although this won't apply to everyone out there, it's definitely great news for those using the ProFields module package.

Much of this week's post focuses on Admin Theme Uikit: how to install and enable it, how to deal with the case where you're already using an earlier version of the theme, the updates applied to the theme this week – and, of course, some news regarding future improvements.

For more details about this week's core updates and particularly Admin Theme Uikit, don't forget to check out Ryan's latest post at the blog.

New module: Fluid Images Textformatter

Our first new module for this issue is a really simple textformatter module called Fluid Images, built and released by netcarver. In a nutshell this module removes any height attributes added by a rich text editor, such as CKEditor, to embedded images.

Additionally, the module adds either an inline style max-width:100% or class image-width-control in order to automatically make images fit to their containers. If you choose to go with a class, you can manually add relevant styles to your stylesheet.

Thanks to netcarver for sharing this handy little module with us!

New module: Tasker

Our second module for this issue is a bit more complex, to say the least: Tasker is a new module for executing, monitoring, and managing long-running background tasks within ProcessWire.

In a nutshell this module allows you to create tasks and monitor their status' via progress bars and (optionally) debug logs. The GUI provided by the module allows you to perform a number of actions on created tasks – such as suspending, restarting, stopping, or editing them.

Though this module is intended for advanced users and use cases, the general concept is pretty simple: when you have to do something that would usually run way too long to be executed real-time and in browser, such as perform a large import, create a function (or method) that performs it and then register a new task for it with Tasker:

$task = wire('modules')->Tasker->createTask(
    'MyModule', // the name of the class that stores the task function
    'myTaskFunction', // the task function (should take a set of predefined arguments)
    $page, // parent page for tasks and their details (stored as pages)
    'Task title', // unique and recognizable name for the created task
    $arguments // optional extra arguments for the task function

Tasker supports a couple of built-in schedulers (UNIX cron, lazycron, or REST API + JS) and can use these to either execute tasks behind the scenes, or run them in smaller batches in order to avoid PHP's execution time limits etc. There are also some more advanced features, such as dependencies between tasks.

For more details about Tasker and examples on how to actually use it, we'd recommend checking out the Tasker GitHub repository. Any questions or comments can be posted at the Tasker support forum thread.

Big thanks to Tamas Meszaros for sharing this module with us, and congratulations for your first public ProcessWire module!

Site of the week: CAPTIVA GmbH

Our latest site of the week belongs to CAPTIVA GmbH, a German company providing gaming and home PC's, notebooks, tablets, and related accessories to customers through their extensive dealer network. Founded back in 1995, CAPTIVA started out by selling graphics cards, but these days their portfolio consists mainly of complete computer solutions, custom tailored to each customer's requirements.

The site of CAPTIVA includes product information, upcoming events, news, and a pretty neat custom-built store locator feature. The visuals of this site are downright awesome, and very much in line with what one would expect from a website focusing on gaming related products: the visual style itself is kind of flashy, and there are product images and video clips, animations, carousels, and transitions all over the place.

For behind the scenes details and a video displaying some of the management related features, you should definitely visit the showcase forum thread. There are a ton of neat features and customization options for admins, and some of the modules used include AdminOnSteroids, Map Marker, Markup Simple Navigation, Pages2Pdf, and Jumplinks. The responsive front-end is based on the Uikit framework and a number of separate JavaScript tools and libraries.

Big thanks to Maximilian Ehrhardt for sharing this amazing site with us, and especially for sharing all those behind the scenes details with us – it's always great to actually see how these things work. Keep up the great work!

Stay tuned for our next issue

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