Introduction to ProcessWire
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
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.
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
- PHP 5.3.8 or greater
- MySQL 5.0.15 or greater
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 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.
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 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.
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.
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.
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.
The community is very active, and you are
likely to get a response to your question pretty fast.
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.
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.
The community is small compared to
WordPress. You can get free how-to videos and articles on nearly every subject
The number of modules or plugins is
small. There are not many developers working for ProcessWire.
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.
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.
Source: Tuts Plus