Why ProcessWire?

ProcessWire exists to bridge the gap between the current content management landscape and the needs of many designers, developers and clients in a CMS.

In this brief article, we'll take a closer look at why ProcessWire just might be the ideal solution for your website or application needs. In order to understand why, we first have to look at the current CMS landscape, and then we'll look at where and why ProcessWire fits.

The current CMS landscape and what’s wrong with it

There are many good CMS products out there, but having used them all, it became clear that was a real lack of products that accomplished all of these things:

  • Balance their complexity
  • Make sense from the get-go
  • Adapt well to existing designer/developer processes
  • Provide a powerful and easy-to-use API
  • Deliver an equally satisfying experience to the designer, developer and end-user

Some very respectable CMSs are encumbered by structure, terminology and processes that relate back to roots in blogging. This is something that I view as a bottleneck and not the fit many designers/developers are looking for (including myself).

Other products are well architected, but require so much buying into a system that by the time we've figured it out, we'd be considered a "[insert CMS name here] developer."

Still other products have APIs that introduce so many new types of tags, bits and scraps to learn, that we find ourselves in a template system that's trying to hide the underlying programming language from us–or worse–bypassing it completely. The perspective of ProcessWire is that PHP is the most familiar and powerful template engine we could ask for, so we enthusiastically embrace it.

Then there are the products that are so good for very specific types of content (as Wordpress is for blogs) that people use them for sites far beyond what the software was really designed for. That right there should tell you there is something wrong with the CMS product landscape.

When it gets down to it, I think that there is a big hole for CMS products that make sense in the way many of us work. As a full-time web designer/developer for more than 20 years, I know my way around the terminology, site structures, markup, and so on... just like you probably do too. We shouldn't feel like we are in a completely foreign land every time we try a new CMS or understand how to develop with it.

In addition to being a content management tool for the end-user/client, the CMS should be a tool for the designer/developer that actually makes it simpler to create their vision, rather than something that they have to adapt their vision to. It should enhance and empower the designer/developer's processes rather than dictating them.

When it comes time to hand the keys over to the client, we should feel comfortable that it will provide an easy to use—and easy to support—experience for them, now and in the future. The CMS should make the client as happy as the designer and developer. These are the reasons why ProcessWire exists, and the goal of the project is to bridge those gaps.

Where ProcessWire fits

In its current state, ProcessWire is not built to a specific need like many CMSs (i.e. like Wordpress is built for blogs). Instead it is built to the needs of well structured, highly indexable, standards compliant web sites in general.

Because ProcessWire has strong support for custom data types and fields, you may find it to be an ideal fit with inventories of searchable, relational or cross referenced information. Examples include company directories, real estate listings, media delivery engines, travel listings, map applications, scientific directories, mobile application web services, searchable databases for products or services, and so on. That's not to say it wouldn't work equally well with something completely different, just that ProcessWire already has a track record of meeting these kinds of needs particularly well.

To summarize, if your site has a component that includes custom data and types that need to be highly searchable and easy to develop with, then ProcessWire is going to be hard to beat as an overall site solution. If you want full control over your markup, then ProcessWire is also the perfect solution.

Twitter updates

  • New post: This week we take a look at what’s in ProcessWire 3.0.126 which focuses largely on resolving issue reports, but also includes a handy new Page if() method— More
    15 February 2019
  • New post: ProcessWire 3.0.125 has several useful new Sanitizer methods & options, plus new ways to access them directly from the Input API variable. This makes handling user input even easier than before. Plus updates to our i18n functions & API docs— More
    25 January 2019
  • New post: In this week’s post, we’ll take a look a look at the new website and focus on some parts of it and how they were built. Then we’ll dive into the latest version of ProcessWire on the dev branch, version 3.0.124— More
    11 January 2019

Newest forum posts

Latest news

  • ProcessWire Weekly #249
    In the 249th issue of ProcessWire Weekly we're going to walk you through the latest core updates (ProcessWire 3.0.126), introduce a new third party module called Page Access Releasetime, and pick a new site of the week. Read on!
    Weekly.pw / 16 February 2019
  • ProcessWire 3.0.126 core updates
    This week we take a look at what’s in ProcessWire 3.0.126 which focuses largely on resolving issue reports, but also includes a handy new $page->if() method. 
    Blog / 15 February 2019
  • Subscribe to weekly ProcessWire news

“…building with ProcessWire was a breeze, I really love all the flexibility the system provides. I can’t imagine using any other CMS in the future.” —Thomas Aull