The 171st issue of ProcessWire Weekly brings in all the latest news from the ProcessWire community. Modules, core updates, sites, and more. Read on!
Welcome to the 171st issue of ProcessWire Weekly! This time we've got some fresh core update news, we're introducing a new third party module, and there's a brand new site of the week too.
For our weekly poll section we've got something new to try too. Though this feature is still a bit rough on the edges, you should now be able to directly suggest new answer options via the poll. Check it out for yourself and please let us know how it works for you, or if there's something else we should add.
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.72
According to Ryan, this week's development release of ProcessWire includes mainly updates related to the Page Export/Import feature. While you can view the full list of changes since last week via last week's processiwre.com blog post, now updated with 3.0.72 related notes, here's a brief summary of the key points:
- The Pages Export/Import feature now supports Repeaters.
- The Pages Export/Import feature now supports Comments.
- The Pages Export/Import feature now supports exporting and importing content as a ZIP file.
There were also various minor bugfixes and improvements to other features – such as the ability to retain the old filename when replacing an existing image with a new one – but you can read more about those too from the updated last week's blog post. Thanks!
Weekly poll: what's the one feature that would add a lot of value to ProcessWire, but isn't currently on our roadmap?
We've recently received requests from readers to highlight some of the user-submitted feature requests, which might not otherwise get all the attention they deserve. For this purpose we've decided to run a poll related to this topic, and also added a feature to our poll app for this purpose: the ability for end-users to suggest new poll options.
We've already added some of the feature suggestions as selectable options, but feel free to add your own suggestions by selecting the "something else, what?" option and typing in a suggestion, preferably in single, easy to understand sentence. If this suggestion is related to a GitHub feature request, feel free to mention that too.
Though we can't give any promises regarding upcoming features here, we're always interested in hearing what you folks think would add most value to ProcessWire.
- Simpler Repeater Creation via API (processwire-requests #95) (5.8%, 8)
- Tab support inside repeater items (processwire-requests #93) (3.6%, 5)
- Add mime-type checks to WireUpload (processwire-requests #88) (0.7%, 1)
- Simultaneous page editing capability (processwire-requests #23) (4.4%, 6)
- Add official support for nginx (processwire-requests #7) (8.8%, 12)
- Group fieldtype that allows sharing groups of fields between templates; similar to Repeaters, but without repeating or the need for separate pages behind the scenes (9.5%, 13)
- Changelog support in ProcessWireUpgrade module (8.8%, 12)
- LDAP / Active Directory integration (3.6%, 5)
- Strategy for flexible content types in a template (https://processwire.com/talk/topic/7477-strategy-for-flexible-content-types-in-a-template/) (7.3%, 10)
- Image Compression Engine / System in Core, that is open and simple to extend for 3party modules (3.6%, 5)
- Uikit 3 Admin Theme (6.6%, 9)
- WebP support (0.7%, 1)
- Multilanguage Image fields (0.7%, 1)
- A clean and ready module for login, logout, and registration with and without social login (2.9%, 4)
- Category or tagging system across pages, not just tagging for images (0.7%, 1)
- Simple user management as part of the core installation for creating/maintaining user accounts, and members-only content. Sign up, login, logout, update password. Also, exporting/importing users. (5.1%, 7)
- Extended search capabilities to include the content within files, improving ranking and relevancy factors. Since GCS is going out some of us are left looking at difficult options like elastic search etc. (1.5%, 2)
- A robust system for publishing changes from one PW instance (e.g. staging) to another (e.g. production) (2.9%, 4)
- Completely custom Admin which is built to be lightweight, rather than using loads of external plugin's such as jQuery UI. (0.7%, 1)
- Ability to configure any custom permission to be added/revoked at the template level (1.5%, 2)
- Simple forum module (2.2%, 3)
- Using a field across templates and when updated in one page will updated in all pages. This should be possible for any kind of field. (0.7%, 1)
- 2 Factor Authentication (0.7%, 1)
- Data structure migrations (0.7%, 1)
- Ability to select a region within an image without cropping, so we can implement an ImageFocus Area function (0.7%, 1)
- Something else, what? (15.3%, 21)
Total votings: 137
As a precaution new suggestions won't become selectable options right away, but we'll keep a close eye to any suggestions and publish new options while the poll is running. Please let us know via comments on this post if there are any issues with this feature; this is the first time it's being tested on a live site, after all. Thanks!
Feel free to check out the poll archive for results of our earlier polls. All suggestions for future polls are more than welcome too. Thanks in advance for both your answer here and any additional suggestions or feedback you might have!
New module: RockReplacer
RockReplacer is a new module built by Bernhard Baumrock. Though it was actually released a couple of weeks ago, we've only now had a chance to properly dig into it, and so far we're liking what we've seen.
In a nutshell RockReplacer is a tag replacement module. It allows you to replace custom tags, such as [tag_name], with dynamic content produced by PHP files. In some ways it's very similar to the Hanna Code module, which is also used to replace tags with dynamic content, but there are a couple of notable differences too:
- With RockReplacer each tag is connected to a separate replacer class.
Replacer classes are defined via separate PHP files placed within a replacements directory in the RockReplacer module directory. This also means that they are, by default, available for versioning using tools like Git or SVN. In the case of Hanna Code, you typically define similar code snippets via a Process module, i.e. within the Admin GUI of ProcessWire.
- Hanna Code is a Textformatter, RockReplacer is not.
RockReplacer only gets triggered once you call it's replace method within one of your template files:
modules('RockReplacer')->replace('text and [tag_name]'). You can, obviously, also pass field values to RockReplacer, but the main point is that, at least for the time being, it won't do anything automatically.
- There are some differences in terms of tag usage and syntax.
This is largely due to the differences in how and for what purpose the modules were built, but RockReplacer expects parameteres as array values instead of the [tag_name key=value] style attributes that Hanna Code uses, and unlike Hanna Code it also makes use of a value within the tags: [tag_name]value[/tag_name].
The examples displayed on the dedicated support forum thread also include a simple method of using this module to display content based on specific criteria, such as only displaying a block of content for superusers etc. The way this module handles the content within the specified tags makes this feature particularly useful.
Though Hanna Code is definitely more mature and, in some ways, perhaps a bit easier to use and grasp, RockReplacer is an interesting alternative, and well worth checking out if you're looking for a tool for tag replacement tool that fits a specific need. Big thanks to Bernhard for sharing this module with us!
Site of the week: hrdiamonds.com
Our latest site of the week belongs to hrdiamonds – a HR company based in Vienna, Austria. The hrdiamonds.com website was recently rebuilt by Bernhard Baumrock, and the new version – which, based on various quotes from the client, they're really happy about – is now based on ProcessWire.
Design wise the hrdiamonds site is kind of simplistic, and features a mainly grey color scheme supplemented by bright orange highlights and various colourful photos. On a site like this the content gets a lot of weight, and in this case there's plenty of it – and it's well authored too, so no complaints there. One thing to note is that the site is based on the Uikit front-end framework, and some of its characteristic features are clearly visible on the site itself – which, again, isn't a bad thing by any means.
Behind the scenes this site is running the commercial ProCache module, which is no doubt at least part of the reason why this site seems to perform exceptionally well – of which a performance score of 95 out of 100 on the Pingdom speed test is a pretty solid proof, one might add. Some of the other technical details include the aforementioned use of the Uikit front-end framework, HTTPS encryption using an SSL certificate from Let's Encrypt, and the use of Barba.js for smooth page-to-page transitions.
For more details, client quotes, and other tidbits regarding this site of the week, check out the showcase forum thread and also the case story at baumrock.com. Thanks to Bernhard for sharing his work with us, and our congratulations to the client!
Stay tuned for our next issue
That's it for the 171st issue of ProcessWire Weekly. We'll be back with more news, updates, and content Saturday, 26th of August. 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!