The 103rd issue of ProcessWire Weekly brings in all the latest news from the ProcessWire community. Modules, sites, and more. Read on!
This week we've got more updates to the ProcessWire 3.x API reference, a couple of new modules to explore, and a brand new site of the week that we're eager to share with you folks. All in all it's been another great week, and we hope that you've enjoyed it as much as we have.
As always, all feedback is welcome, so please don't hesitate to drop us a line if you can think of anything you'd like us to consider for our future issues. We're always searching for interesting ProcessWire projects too, so if you've got something neat cooking up, we would very much like to hear about that.
Please enjoy our latest issue and have a great and relaxing weekend!
On the processwire.com blog this week: more 3.x documentation improvements
In the latest post at the processwire.com blog, Ryan continues from where we left off last week: the bulk of changes introduced in 3.0.16 are somehow related to improving our documentation. Last week the documentation updates were focused on the API variables, but now we've got the most important core classes documented as well.
Additionally Ryan has made some awesome updates to both the new ProcessWireAPI module and the layout of the API docs themselves. Together these updates make the documentation section much easier to browse, and the documentation pages much, much more elaborate and just generally speaking easier to read and comprehend.
One more thing to note is that the documentation pages now support the PHPDoc @since tag and a custom #pw-changelog tag. This means that we can now display on the documentation pages not only when a specific feature was added, but also when and how we might have changed it. Less guesswork, more time for development!
Don't forget to check out the 3.x API reference, and please let us know if there are any issues, mistakes, or missing parts. Improving the documentation is currently a key priority for us, and your contributions help us make it even better!
Migrations module promises easier migrations between environments
It's a common practice to develop a site on a separate environment and merge changes to production when they're completed and tested. This is also pretty much a necessity in case you're working on a site when it's already live and noticeable downtime is completely out of consideration.
Because ProcessWire stores most of it's metadata in the database, you'll have to repeat template, field, and page changes manually in the production environment after merging the files on the disk via a version control system (such as Git) or some file transfer method (such as SFTP, rsync, or SCP). This is a tedious task that takes time, can result in mistakes, and overall is something most of us would probably prefer to avoid.
Migrations module to the rescue
The key promise of the Migrations module – built by Benjamin Milde and still in beta – is making the migration of changes from one site to another easier. Benjamins module fulfills this by providing a framework for defining PHP-based migration files, and both GUI and CLI tools for running them.
Migrations doesn't actually do the work for you; instead it defines a pattern for creating your own migration files using PHP, ProcessWire's API, and some helper scripts. The GUI and CLI tools provide a method for running or rolling back migration files, though again you are the one responsible for providing both features for your migration scripts, and the module can't restore any permanently removed data.
From small beginnings come great things
At the moment the Migrations module is a very promising new project, but we're eager to see how far it can one day go. One more thing we should point out now is that the module is easy to extend with custom helpers, which may very well become one of it's biggest assets: this makes features like module-specific helpers easy as pie.
Huge thanks to Benjamin for this extremely versatile module – we sincerely believe that it has a lot of potential, and might one day make the life much easier for us all!
Lumberjack is a simple logging module
Probably one of the smallest and simplest modules we've ever featured, Lumberjack is a recent module by GuruMeditation. The module's one and only task is logging the IP address and/or the User Agent of the user who last edited a specific page.
While Lumberjack isn't particularly useful for keeping a log of changes to the content of your site – Activity Log, Changelog, and even Version Control are better suited for that job – what makes it useful is exactly it's simplicity. It does just one rather specific thing, but it does it well.
If you need to log some basic details about the user that last edited – or created, assuming it's never edited again – a specific page and prefer to keep those details connected to the page itself for ease of use, this module might just be for you.
Thanks to GuruMeditation for sharing your work with us – all contributions to the modules directory are greatly appreciated!
Site of the week: SPAIN arts & culture
SPAIN arts & culture is a program organized by the Embassy of Spain’s Cultural Office in co-operation with the non-profit Spain-USA Foundation. The main goals of the project, as stated on their About us page, include creating links between the creative sectors of the US and Spain, and promoting modern Spain's contemporary artistic expression.
As a site, SPAIN arts & culture looks very neat, has a beautiful and unique design, works flawlessly on a variety of different devices and screen sizes, and just overall feels good to browse. The content – of which there's quite a bit – is interesting and well organized. In other words this is an usable, modern site with great design and plenty of quality content – exactly the characteristics we look for in our site of the week candidates.
Behind the scenes the site is making use of the ProCache module, which is pretty much all we could tell from the outside. Some of the front-end features this site makes use of include extensive use of SVG icons and data URIs combined with lazy-loaded images – all features that contribute to the fact that the site responds very quickly.
This site was built by Jacques Maes of Arqyestudio – big thanks to Jacques for sharing his work with us, we definitely hope to see more of his work in the future!
Stay tuned for our next issue
That's it for the 103rd issue of ProcessWire Weekly. We'll be back with more news, updates, and content Saturday, 7th 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!