I don’t have that much experience with modX, Processwire, or other CMS/CMF or even PHP; I don’t even have a real site done with any of these yet
But I’m planning to, and I’m learning bit after bit. And so I settled on modX a few months ago, as a learning engine, after reading all the good reviews and browsing these forums for weeks. So I started developing my first website using modX; first with Evo then with Revo as I discovered modX at about the time Revo was released. But anytime I wanted to do *anything* in modX, I had to learn a new markup, how to use a new snippet (and first had to find the correct documentation; most of the time I had better luck by searching for specific tutorials on the net; ex. WayFinder, Ditto - then GetResources, ...). Same thing when I tried to connect to the DB to access my own tables, I started with Evo and it was quite easy with plain queries, then in Revo I couldn’t find a way until I was told it was better to use XPDO/PDO, which I tried to learn for a couple weeks, before someone told me it was also possible but not advised to do it the old way. Also I was very frustrated by the slow interface in modX manager, and by the fact that - for example - I had to create sub-resources to allow the inclusion of multiple (ie. dynamic number) images or urls. And there is that "problem" with the templates having to be stored in the DB, requiring incessant copying/pasting from my favorite editor to modX UI (yes after some time I was using the hack to load them from file, but that kept me thinking there was something wrong in its conception). Also one thing I kept reading when discovering modX is that it was one of the only, if not the only, framework that allowed managing multiple sites from one single installation; I gave it a try and was submerged by the complexity of the process, having to set up a lot of configuration options, having to play with "contexts" (still have to understand this fully), etc. It’s certainly something very powerful, but it’s also something that made me realize I didn’t need all of this complexity, that I needed something much easier.
So I was still learning modX but started to search for alternatives; tried a few and stumbled upon Processwire. After reading the presentation and watching the little video introduction, I thought it could be the one. Gave it a try, and could recreate the website I was working on with modX for weeks in just a few lazy days. And all immediately made sense. It was like I just found the missing piece of the puzzle
But I must say that modX prepared the path for me because Processwire allows me to work about the same way, I managed to use some concepts into Processwire because I already learned them from modX.
So just to list a few positive points in Processwire against modX:
- no need to learn new markups: [(, [[, [+, [*, [!, ... Always brings confusion when I’m coding in templates, snippets, chunks, ... I end up trying each combination until it finally works !
- multiple "template variables": easy selection of multiple images for one single page for example.
- I can code "snippets" equivalent with a few lines of code, removing all the bloat. For example there is not need for something like GetResources, I can easily find any page and access its variables thanks to the simple API.
- I can make "chunks" equivalent too. I put "snippets" and "chunks" in their own folders, so can easily edit them in my editor of choice.
- fast responsive manager: I can browse hundreds/thousands of pages with no slowdown; in modX, before the resources tree reloads, you can forget what you wanted to do !
And... that it’s for now. Still learning.