Introduction to ProcessWire

ProcessWire logo

Introduction

ProcessWire is a free open source content management system (CMS) and content management framework (CMF). It comes with all the resources needed built in and helps in saving both time and the effort required to put up a live website.

Though there are a lot of other content management systems and content management frameworks, they usually aren’t that easy to customize. ProcessWire, on the other hand, is fairly customizable for anyone familiar with PHP.

ProcessWire requires a lot less resources than some other CMS/CMFs, and if you want to save resources on your server or have limitations, you can use ProcessWire.

What makes it different from other CMSs, you might ask. To put it in one word: “simplicity”. Their website boasts highly of how ProcessWire is simple and easy to use and can be tailored to one’s own needs.

The name, ProcessWire, has a story behind its origin. You create websites for your clients and the process or workflow is the same for most of them. These processes have been continuously refined to the point where it makes sense to create a product. As such, ProcessWire is a system that keeps these processes bundled together like a wire… simple, organized, secure and fast. Based on a plugin architecture, ProcessWire’s name also reflects the wires that join together these plugins to create new processes.

Requirements

ProcessWire runs on Apache, PHP and MySQL. You can find detailed requirements on the website. If you want to set up a local server on your machine using MAMP/WAMP, you can run ProcessWire without any difficulties. You'll need:

  • A Unix or Windows-based web server running Apache
  • PHP 5.3.8 or greater
  • MySQL 5.0.15 or greater 

Comparison

If you like to code or can code, then ProcessWire would be a good choice. But if you have no coding skills but want a website, then WordPress would do you fine. WordPress has become popular because it is so well suited to those that want to grab a theme and set up their website. ProcessWire, and its lack of a mature theming model, is simply not the right choice for that use case (for now at least).

WordPress is the first choice of anyone starting out. Why? Because it is popular and you can find support from a lot of users on support forums. Also there are a lot of users creating how-to videos and tutorials, and most of them are free.

ProcessWire, on the other hand, is not very popular and caters to only a small community of users. A small community translates into striving for quality over quantity, and it has a different target audience. If you run into a problem, you are likely to get a complete answer from the developer or other knowledgeable users on the ProcessWire forums.

The core advantage of using ProcessWire is its API. The API is simple, light and fast, and it makes complex tasks very easy and quick to accomplish. Though it will take you more time to program it, once it’s done, the final end product will do exactly what you want and will be easier to maintain in future.

ProcessWire can be customized by using modules. Modules are basically plugins which will add a specific functionality to your website. 

The ProcessWire module database can’t be compared with other giants like WordPress, Drupal or Joomla because they have a huge community of developers making plugins. This fact is both good and bad. It's good in the sense that you can always find what you are looking for, but most of the times you will find out that these plugins can break each other. Also you’ll spend some time before you actually find the one that suits your needs. Generally, we try a few plugins before settling on a particular one.

The ProcessWire module list, on the other hand, has hundreds if not thousands, with clearly marked stable/beta categories. Sometimes you need a specific feature added to your website but that would require you to install two or more plugins to achieve that. In ProcessWire, if you need some functionality you can build it right into the templates. 

With ProcessWire, all of your content is based on custom fields. It's in the core, the API, and the admin UI. And fields/templates are remarkably simple to set up. With this approach, many of the things you have to resort to using plugins for in WordPress are there by default in ProcessWire. 

ProcessWire is a lot leaner and faster than WordPress and more customizable, making it the perfect environment for amateurs as well as serious designers and developers, who can use it to easily maintain and publish content.

The update procedure in ProcessWire is a breeze. It rarely breaks anything or causes conflicts due to version mismatches. On the other hand, in WordPress, every time you update you are at risk of something breaking or causing a conflict with another plugin you have installed. And then you’ll need to either roll back or find the conflict by troubleshooting.

Flexibility

When it comes to customization and flexibility, ProcessWire has a lot to offer. You can decide what should be displayed on the admin panel. The admin panel of ProcessWire is built as a subset of pages, by which you can change the look and feel easily, and you can create permissions easily for any number of different user types which can be used in the front of the site too.

ProcessWire uses a hierarchal structure for pages and navigation. You can add as many levels as you like. This makes it easier to create and maintain complex data structures.

The main block of the ProcessWire structure is simply a Page. There are no sidebars or widgets. Everything can be achieved with a page, as a page may contain different fields to serve a specific function. A page in ProcessWire most often represents a physical page on the web site. But it can also be just a data container for use by other pages.

All page fields in ProcessWire can be used as custom fields. You can easily create fields as you wish and then use them and achieve the required function.

ProcessWire is designed around custom fields. This makes it super flexible to your needs and you can create whatever you want.

You can create templates for your website. Templates are actually PHP files, and different templates serve different purposes on your website. You can use as many templates as you'd like to use on a single page.

Pros

Custom:

You can create exactly the website you want. You can control the look and feel of your website from front end to back end. You can create the structure as you like and manage the data according to your specs.

API:

This feature alone is so powerful that you can forget the rest. With a simple line of code you can achieve what you want, no matter how complex the task is. It's powerful and simple.

Admin UI:

You can customize the look and feel of the admin panel. The WordPress admin panel looks a lot like that of a blog, whereas ProcessWire's admin UI is more suited to web sites.

Community:

The community is very active, and you are likely to get a response to your question pretty fast.

Caching:

ProcessWire has a built in cache and is available for every template as standard. You don’t need to install any additional plugin for this to work. You can also upgrade to a more powerful caching system for a fee.

Update:

Plugins are checked and tested, and you can install and update them without worrying about a crash. There is no destructive interaction between different modules, and you can update without breaking your website.

Easy to Learn:

The learning curve for creating templates is much less steep than for WordPress. You can use any of the major CSS frameworks out of the box, and can create your website.

Cons

Community:

The community is small compared to WordPress. You can get free how-to videos and articles on nearly every subject about WordPress.

Plugins:

The number of modules or plugins is small. There are not many developers working for ProcessWire.

Skill Level:

If your programming skills are not that great, you are going to find it difficult to go ahead with ProcessWire. You can’t really do much without coding skills.

Small Developer Base:

ProcessWire's developer community is small. There are very few developers who know about it. So if you are looking to make a switch, it becomes a little difficult to hire another developer who is familiar with ProcessWire.

WordPress, on the other hand, has a large community of users and developers, and you can easily find a replacement.

Conclusion

ProcessWire is a good alternative if you are serious in making a little effort and setting things straight, once and for all. You can make a website for yourself which is easier to maintain and update, and you can worry about publishing content later. A lot of the times we are doing both, troubleshooting the problems as well as pushing content onto the website.

In this write-up, I have tried to cover its good features and also tried to shed some light upon its shortcomings. And I leave it to you to explore ProcessWire yourself and decide whether switching over to this framework suits you best.

Tags:

Comments

Related Articles