25 April 2019
We have a truly knowledgeable, talented and prolific ProcessWire module developer as our 2nd interviewee, Robin Sallis.
PW Review: Which of your many useful Third Party modules, do you feel should be a part of the ProcessWire Core?
Robin Sallis: At first I was going to answer "none of them", but seeing as images may be renamed and replaced within an Images inputfield it would make sense for the same to be supported for files within a Files inputfield. This would make my Files Rename Replace module unnecessary.
Generally speaking however I think it's good to have extra functionality added through third-party modules and there's no need for such modules to be adopted into the core. Keeping modules outside of the core gives the community a chance to contribute to the ProcessWire ecosystem and reduces the maintanance burden on Ryan.
PW Review: What improvements to the ProcessWire Core do you feel needs addressing or enhancements?
Robin Sallis: I find ProcessWire a joy to use and I'm happy with virtually all aspects of the core. Having said that I notice I currently have 46 open requests in the processwire-requests repo, but these are all for relatively minor things. In terms of major new features I'm looking forward to "custom properties for image/file fields" which was first mentioned in the 2017 roadmap. I'd also love to see an Image Reference fieldtype, and version control (i.e. field history) offered within the core or as a Pro module from Ryan.
PW Review: What other parts to the ProcessWire ecosystem, other than the Core, would you like to see changed or improved?
Robin Sallis: I think things are good on the whole and I don't see any areas that are crying out for improvement.
When it comes to the userbase I'd like to see an increase in the number of experienced PHP developers using ProcessWire and contributing to the community. It's good when any new user starts working with ProcessWire but I think it's especially important to attract experienced developers because their knowledge can help to solve difficult issues raised in the forums, they might develop useful new third-party modules, and they could potentially ensure a bright long-term future for ProcessWire by contributing to the core.
However I don't know that anything specific needs to change in order to further this goal. The new website should help to boost the appeal of ProcessWire, and so long as the feature set continues to meet the requirements of more experienced developers and existing users continue to spread the word then we are on course.
PW Review: What are your favorite Non-Commercial and Commercial ProcessWire modules?
Robin Sallis: My favourite non-commercial module is Tracy Debugger by Adrian Jones. It's hardly possible for me to overstate how much difference this module has made to my learning. I have discovered so much about how the core works and about PHP development in general by using its barDump feature, and the Console is very useful for running quick experiments with the API. I feel like Tracy Debugger has opened up a whole new world that was previously mysterious to me. A big thank you to Adrian for his ongoing work on this module - over 90 commits this year alone!
My favourite commercial module is ProCache by Ryan Cramer. It provides a real performance boost to any website and is supremely easy to use. Great value for money.
PW Review: As a long-term ProcessWire Professional, what is most important to you and your clients when building or maintaining a website?
Robin Sallis: The thing that I most appreciate about ProcessWire is that it lets me quickly develop websites that are highly customised in terms of design and functionality. I like that ProcessWire doesn't assume anything about the front-end and gets out of the way to let me craft the exact output I want. And I find the API and module system intuitive and easy to work with, which lets me develop custom functionality quickly. Most of my clients are NGOs and non-profits and the quick workflow that's possible with ProcessWire allows for solutions that I suspect would be slow to achieve in other systems and therefore prohibitively expensive for my clients.
Clients also appreciate the simplicity of the admin experience. Because of the "everything is a page" philosophy the page tree is usually all they need to find the content they want to edit, whereas other systems require them to move between separate sections for pages, news, blog, files, etc.
PW Review: What would you recommend to anyone new to ProcessWire that will make their journey to this platform easier?
Robin Sallis: Thinking back to when I first started working with ProcessWire I remember that the "everything is a page" philosophy mentioned above took some getting used to, as did the absence of a central files/images manager. Once I let go of assumptions of how things "must be" in a content management system I began to see the power and simplicity of the ProcessWire way. So my first piece of advice to new users is to question your assumptions when you find that ProcessWire does something differently, and try going with the flow of the ProcessWire way before attempting to recreate the approaches you might be used to from other systems.
My second piece of advice is to install Tracy Debugger. It's not just useful for debugging problems in your own code - it's also a tool for exploring and learning about the core and third-party modules. You might be surprised at how quickly complicated code and mysterious objects begin to make sense when you start dumping things with bd().