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

  • ProcessWire 3.0.133 adds a useful new Page::meta() method for a new type of page-specific persistent data storage, adds the ability for users to create their own bookmarks in Lister, and has a handy and time saving update for the asmSelect input type— More
    14 June 2019
  • New post: This week we’ll take a look at 3 different WEBP image strategies that you can use in ProcessWire 3.0.132+. Then we’ll dive into a major update for the Google Client API module, and finish up by outlining some useful new updates in FormBuilder— More
    31 May 2019
  • New post: This week we've added WEBP support in ProcessWire thanks to a GitHub pull request from Horst Nogajski. This enables you to have highly optimized image output in PW and I think you’ll really like the difference it makes— More
    24 May 2019

Latest news

  • ProcessWire Weekly #266
    In the 266th issue of ProcessWire Weekly we're going to take a closer look at ProcessWire 3.0.133 (dev), introduce a third party module called Repeater Images, and highlight a recently released site belonging to the Australian Antarctic Division. Read on!
    Weekly.pw / 15 June 2019
  • ProcessWire 3.0.133 core updates
    ProcessWire 3.0.133 adds a useful new $page->meta() method for a new type of page-specific persistent data storage, adds the ability for users to create their own bookmarks in Lister, and has a handy and time saving update for the asmSelect input type. Read on for all the details, examples and screenshots.
    Blog / 14 June 2019
  • Subscribe to weekly ProcessWire news

“ProcessWire is like a breath of fresh air. So powerful yet simple to build with and customise, and web editors love it too.” —Margaret Chatwin, Web developer