Awesome ProcessWire

A curated list of awesome bookmarks, modules, tutorials, videos and other cool resources from the ProcessWire ecosystem. Maintained by Jonathan Lahijani.



Official Links

Why ProcessWire?

  • Free and open-source (an unbelievable value!)
  • Uses classic LAMP stack (it still rocks)
  • Developed consistently since 2003 (and only getting better)
  • Updated nearly every single Friday (see the dev branch)
  • Fun (and perhaps addictive; seriously I've been using it for over 10 years straight)
  • Simple (fields, templates and pages can pretty much do everything)
  • Fast (built for speed)
  • Secure (a 10 year old, neglected ProcessWire site won't get hacked)
  • Developer-oriented (but easy for non-technical users to manage content)
  • Unopinionated (do things your way)
  • Completely markup agnostic on the frontend (for the OCD people out there)
  • Well architected OOP and API (it's a work of art)
  • Powerful hook system (modify core functionality with ease)
  • Strong data relationships (relate pages with each other)
  • Everything is a custom field (no 'metadata' like WordPress)
  • Multi-lingual capability (a native feature and why so many non-Americans use it 😊)
  • Friendly community (from all parts of the planet)
  • Small but high-quality (less is more; for example, one great caching module instead of 347)
  • The lead developer is a super human "10x" developer, excellent writer with Cal Ripken-like dedication (rare to find)

Additional articles:

Important Docs

Staying Up-to-date

Here's a quick guide on how to stay up-to-date with ProcessWire, both in terms of code and community activity:

Modules

Pro Modules (first-party / commercial)

Pro modules are first party modules developed by Ryan Cramer, the lead developer of ProcessWire and help support continued development of the project. Unlike community modules, Pro modules are downloaded from forum threads after purchasing a license (they cannot be updated from GitHub or the ProcessWire Upgrade module). The links labeled "Forum Thread / Download" are the direct links to the forum threads which are viewable if you are (a) a forum member and (b) have an active module subscription:

Non-core Modules (first-party / free)

These are a sampling of separate free, first-party modules (developed by Ryan Cramer, creator of ProcessWire).

Community Modules (third-party / free)

Community modules are modules developed by third-party developers and part of the overall ProcessWire ecosystem.

Site Profiles

When installing ProcessWire, you are only given the option to use the Blank Site Profile, which demonstrates a ProcessWire site in its purest, most minimal form. While this suits the needs for experienced ProcessWire developers looking for a clean starting point, it may be too minimal for those just starting out.

Consider using the Regular Site Profile to get a better idea of how to build a typical website.

If you are creating something more app-like with a strong emphasis on the admin interface, consider studying the Invoices Site Profile which demonstrates the use of Page Classes.

Deprecations and Replacements

Like any long-running software, certain features have been deprecated and replaced with improved solutions over time. These include:

Core and Pro Modules

Community Modules

The following modules are recommended alternatives for similar modules that are no longer maintained:

Notable People

  • Ryan Cramer: Founder and lead ProcessWire developer; BDFL.
  • Teppo Koivula: Author of ProcessWire Weekly newsletter and module developer.
  • Robin Sallis: Author of dozens of useful ProcessWire modules.
  • Adrian Jones: Author of several ProcessWire modules, including the strongly recommended TracyDebugger.
  • Bernhard Baumrock: Author of several key ProcessWire modules, including RockMigrations, RockFrontend and RockShell.

Frontend Recommendations

Keep it simple! Use a CSS framework combined with Alpine.js and HTMX and you'll have 99% of what you need on the frontend. Embrace the concept of HTML Over The Wire, the modern monolith and consider ditching Node-based solutions for radical simplicity.

CSS Frameworks

  • UIkit: CSS framework with JavaScript components
  • Bootstrap: CSS framework with JavaScript components
  • Tailwind CSS: CSS utility framework (no JavaScript components); Flowbite is strongly recommended for the JavaScript components

Libraries

  • jQuery: JavaScript library (or just use vanilla JavaScript)
  • Alpine.js: Lightweight JavaScript framework
  • HTMX: HTML Over The Wire library
  • Hyperscript: JavaScript library that embraces locality of behavior-style development (from the developer of HTMX)

Other Links