ProcessWire: CMS With A Difference
If you have been following the previous CMS instalments here at Noupe, you must already be aware that every once in a while, we review a Content Management System. Today, we shall be taking a look at ProcessWire, a very straightforward and nifty open source CMS.
ProcessWire: CMS With A DifferenceProcessWire is a rather lesser known yet well loved open source software. In terms of the usual bit, it relies on PHP5, has a decent selector engine, a modular plugin architecture, and a jQuery inspired API. The CMS itself has won its own share of awards, so yes, it is not entirely obsolete or unknown. And among the millions of CMS out there, if yours manages to attract even a tiny fraction of recognition, you can be assured that you’re walking in the right direction. With the introduction out of the way, let us focus on certain key aspects and take a look at how ProcessWire fares.
Modus OperandiProcessWire claims to be a CMS that intends to simplify things. Naturally, one would expect the CMS itself to be simple in terms of operation, and ProcessWire does not disappoint. The installation process, to begin with, is fairly direct and does not involve many hassles. The update process, on the other hand, does require a little bit of tinkering around, but it is not rocket science either. If you compare ProcessWire’s upgrade mechanism to that of WordPress, you may probably be disappointed. But if you were to compare ProcessWire’s update process to that of, say Joomla!, you will find the former to be really easy. Basically, ProcessWire stores all your content in the /site/ directory. Now, since the /site/ directory is obviously not part of the CMS source installation, logic dictates that you can replace the other files without damaging or losing your content. The generic update stratagem is as follows:
- Download the new version, and unzip it on your local drive.
- Upload and replace these directories or files: /wire/, /index.php and /.htaccess.
- Of course, you can find detailed steps and guides on the ProcessWire website, and if there are additional instructions, make sure you give them priority over the above checklist. There are various other ways too: find them here.
Community and DocumentationProcessWire is not WordPress, and before anything else, this becomes evident in terms of numbers. The user base is relatively smaller, and so is the community. However, going by the activity in the forums, the community surely seems to be both lively and active. There are regular discussions (and debates), so if you are talking ProcessWire, you will hear more than just crickets. http://www.youtube.com/watch?v=PEetje9obtw On the negative side, though, I find the documentation to be far less impressive. The API docs and guides are tolerably good, but the overall support documentation is next to negligible. If you are seeking help with an issue, the best (and apparently the only) place to start your search will be the official forum. Apart from the forums, you also have certain videos at your disposal, but if you were looking for something like the WordPress Codex or what Concrete5 and others have at their disposal, you will be badly disappointed. This is one of the biggest areas where ProcessWire needs to pick up quick.
The Good and The BadNow, before winding it up, let us take a look at some of the pros and cons of ProcessWire:
- Simple and straightforward updating, installation and usage process; really difficult to go wrong with something as clear as ProcessWire’s interface.
- The organization of pages and templates make website management fairly simple and easy.
- Impressive API; easily customizable custom fields and templating structure.
- Good collection of modules.
- Active community.
- The documentation!
- Maybe I am missing something here, but I think global variables need to be used more. Otherwise, even tiny chunks of content has to be created as a page.
- In ProcessWire, almost everything is a ‘page’. This is good once you get used to it, but for someone who is migrating from another CMS, having everything as a page even though you may not really require a page for that purpose is rather confusing at times. Once again, this is more a matter of familiarity than anything else.