Fourth issue of ProcessWire weekly: core updates, awesome things built by ProcessWire users, and potential plans for the future of the system itself.
One thing that constantly amazes me is how flexible ProcessWire actually is. From personal sites to large enterprise-grade portals and entirely custom applications, all sorts of interesting things are being built using the set of features it has to offer.
This time, along with core updates and 3rd party modules and other important content, we'll also be taking a look at one quite extraordinary solution built using ProcessWire as a basis (Processmarks). Hopefully in the near future we'll be seeing a lot more of that!
Updates on the built-in modules system
The module system received an upgrade earlier this week. All of the following updates were applied in this commit by Ryan to current dev branch and simplified certain aspects of modules themselves:
- Modules no longer require init() method
- Instead of getModuleInfo() basic module info can be moved to either ModuleName.info.php or ModuleName.info.json
- Modules can now define required permission and users without said permission won't be able to use them at all
- Modules can additionally define an array of permissions (note the difference: first option is called 'permission', second 'permissions') and if they do, those are installed and uninstalled automatically with the module itself (unlike 'permission')
In a nutshell this update trimmed some unnecessary stuff from modules and removed the need for custom code to handle certain common tasks, such as managing and/or checking permissions.
Considering effects of some recent changes the the core itself and the availability of 3rd party tools such as this module config helper by owzim ProcessWire module development in general seems to be steadily moving towards less custom work and more automation and reusable components.
Quick glance to the future of ProcessWire
We're still getting used to features introduced by ProcessWire 2.4 and with 2.5 just around the corner there's going to be a whole bunch of new treats for us very soon. Just as we thought that things were moving fast, Ryan has already shed some light on the plans for future instalments of ProcessWire in some of his recent forum posts.
The general idea is making the system more self-contained once we reach 3.0, so that multiple ProcessWire sites could be run side by side. While not something that would affect "regular" sites built with ProcessWire, for setups where otherwise separate ProcessWire sites need to co-operate this is awesome news.
At least in theory this could also mean that one site would be able to directly bootstrap another and perform tasks on it using it's public API without the need for any "middleman" solutions. Integration at a whole new level, that is.
Missing that preview button from ProcessWire admin?
The way content is managed in ProcessWire has it's benefits, but leaves something to be wished for regarding seeing what your content will look in the final page. This is especially true when working with live content, which often involves making changes, saving the page and reloading it on another tab to see what those changes look like for the general public.
Wouldn't it be great to have a simple way to preview your page without affecting what general public sees? Well, now we've got not just one but two distinct modules already taking care of this sort of task:
Process Preview by Nico Knoll is not really a new module per se – more like one that has very recently been revived as a project. According to Nico the module now has a sponsor and work on it has been continued. In a nutshell this module adds a "Preview" link to the Page Edit, making it possible to preview changes before saving the page.
Textarea Preview by owzim provides somewhat similar features, but targeted at a single textarea at a time. With a click of the preview button automatically inserted beside textareas you can see exactly what the content written in that textarea will end up looking after all textformatters have been applied. Here's a screencast of this module in action:
Both modules have their own strong points and valid use cases, so we'll be following the development steps of both with great enthusiasm. In a way both of them are also pushing the limits of what has been possible using ProcessWire so far, and for that I congratulate both Nico and owzim for a job well done!
Persistent login for users
"Remember me" functionality isn't a part of ProcessWire's core features. This is definitely helpful feature for certain types of services and something that users have been requesting and now we've got a solution in the form of a 3rd party module: Login Persist by Craig A. Rodway adds a very well-thought-out persistent login support for ProcessWire.
For the record, there are certain security implications with this sort of feature. My advice would avoiding it unless it's required and when it really is required using a known and proven solution such as aforementioned module. This is one area where you don't need or want to reinvent the wheel.
Huge thanks to Craig for providing this feature – and congratulations for your first modules directory submission!
Built with ProcessWire: Processmarks, a self-hosted bookmarking system
This isn't exactly brand new either, but just in case someone still hasn't seen it: processmarks is a bookmarking system built using ProcessWire and Bootstrap. Since the system isn't available for public (at least yet) we'll have to settle for this screencast for the time being:
A lot of what you see on that video is custom work and this definitely isn't something you can put together without quite a bit of an effort, regardless of the system powering it, but it does still work as a great example of the kind of things motivated and skilled developer can achieve with ProcessWire.
Featured sites of the week: Via Medici and Innovation Day 2014
This time we've got two awesome sites to introduce, both of them built by MadeMyDay (Marc Hinse) and published very recently.
Via Medici is German design, sales and marketing company with a new and absolutely gorgeous website powered behind the scenes by ProcessWire. Innovation Day is an event hosted by Via Medici and it's site is also powered by ProcessWire.
Both sites are crafted with great care and filled with large, high-quality photography, beautiful typography and smooth transitions – in just the right proportions. The design and user experience of these sites seem like a perfect fit for the company and event they represent.
Stay tuned for our next issue
That's it for this weeks issue, thanks for bearing with me. Fifth issue of ProcessWire weekly will be out 14th of June with new and hopefully interesting topics.
As always, all suggestions about the content of next issue is welcome (best way to reach me is sending a tweet to @teppokoivula, but a comment here or a PM at ProcessWire forum or an email to teppo.koivula at gmail works too).
See you next week and until then, happy hacking with ProcessWire!