Jump to content

Weekly update – 21 February 2025


ryan
 Share

Recommended Posts

A storm rolled through Saturday and somehow severed our fiber internet connection. So I was offline for half of the week. But that was fine because I didn’t need an internet connection in order to start developing the new PW site design. I’ve been busy primarily with the template files and CSS this week and am making good progress and having fun.

One of the new additions to the site is one suggested by the designers, which is to have a features section and call attention to and provide more details about ProcessWire’s broad set of features. For each feature, we'll have a short title, a 1 sentence summary, and a body copy page of details (if they click to "learn more"). As I begin writing the content for this, I could use your help: 

What are the features of ProcessWire that you think deserve the most attention? (Especially when it comes to attracting new users). I’ll be writing text to describe a dozen or more features in detail, but wanted to make sure I’m focused on those that are most interesting to our current and future users. 

Thanks for your feedback, and have a great weekend! 

  • Like 12
  • Thanks 1
Link to comment
Share on other sites

4 minutes ago, ryan said:

What are the features of ProcessWire that you think deserve the most attention?

The main reason I switched to ProcessWire was the fact that I could add an unlimited amount of templates with 100% custom fields to my projects.

Back in the days WordPress had two types of content: posts, pages - I remember when the feature to have pages was added. 😂 So I started using Textpattern which allowed me to have at least 10 custom fields and individual page templates. Which worked pretty well for a while but ... after some time I needed more fields, more templates, and found ProcessWire.

In that moment I was able to create templates for books, restaurants, movies, musicians, whatever type of data I wanted and needed. Fields became more than just strings or dates. It was possible to have textareas, repeaters, tables whereever and whenever needed.

That was pretty much 10+ years ago. 🤯

 

Oh... and of course having this was awesome as well: an unlimited amount of backend users, user roles, access management, multilanguage support, resource friendly and worked perfectly fine even on low-end cheap shared hosting.

  • Like 13
Link to comment
Share on other sites

Further to what @wbmnfktr said, I think ProcessWire can be described as a low code data designer. You still need a front end developer to build public facing pages, but potentially someone with no backend development skills can build a complex range of templates for different data. 

In more complex scenarios, yes, it might be necessary to write some modules or hooks, but a huge amount can be done without writing a single line of code, but later, if people want to package up and subject to source control, there are third party modules like RockMigrations that allow taking all the field and template definitions and storing them as migrations files.

In a sense, ProcessWire in this respect is like a headless CMS of which there are a few out there that allow custom data design without coding.

But wait there's more. ProcessWire can be used as a no code/low code headless CMS, but it also assumes that you'll want to output the data somehow, and give you all the tools to do it, without being opinionated.

If you just want to output fields directly into HTML template files with some simple PHP codes, fine, you can do it.

If you want to output as API calls and use a javascript frontend framework, you can do it. (Not a core feature, but there is a third party module to enable it)

If you want to use a templating language, you can do it. (also via third party modules, or use your own)

 

  • Like 6
Link to comment
Share on other sites

ProcessWires ❤️ features

Custom Fields and templates 

Selector engine

Multi language 

Freedom of output 

Tree hierarchy with clean urls

Permissions system 

Extensibility: Modules and hooks

Image handling. Thumbnails included

Community 

  • Like 7
Link to comment
Share on other sites

ProcessWire has a lot of great features that make it better than many competitors.  I'm sure there's much more, but here's a start:

Build anything
Powerful field types and unlimited templates allow you to build anything.

Simple yet powerful API
ProcessWire gives you the tools to build what you want, easily and in record time.

Headless or hybrid
Create a REST or GraphQL API or a traditional website.

Any template engine
Twig, Blade, Latte or plain PHP? We've got you covered.

Multi language
Reaching an audience in multiple languages is not an afterthought but built right into the core.

Powerful permissions
Let users see only what they need to see, with a fine grained permission system.

Easily Extensible
Modules can change or extend almost any aspect of the system.

Long-term backwards compatible
We know you hate breaking changes. So do we.

Edited by MrSnoozles
  • Like 9
Link to comment
Share on other sites

For me ProcessWire combines the best of two worlds:

  • The world of CMS/Blogging Platforms like WordPress
  • and the world of Frameworks like Laravel or Symfony.

I think edit: I had to let AI write my brain-dump in a more professional way and I could not have said it better:

Quote

What makes ProcessWire truly exceptional is its natural learning curve that grows with you as a developer. You can start with the basics - creating pages, templates, and fields - and get a functional site running quickly. Then, as your skills evolve, ProcessWire reveals its deeper layers of sophistication.

Your journey might begin with discovering hooks, a powerful way to modify system behavior without altering core files. Soon after, you'll find yourself creating your first module, amazed at how straightforward yet powerful the module system is.

But the real magic becomes apparent as you advance in your object-oriented programming skills. The elegant architecture, the thoughtful class hierarchy, and the clean API design showcase ProcessWire's true brilliance. Even after a decade of use, you continue to discover new patterns and possibilities within its well-crafted foundation.

This is what sets ProcessWire apart - it's not just a CMS, but a system that scales with your expertise, from beginner-friendly to advanced OOP implementations, all while maintaining its elegant simplicity. It's rare to find a system that can be both approachable for newcomers and deeply satisfying for experienced developers, even after years of use.

My quick and dirty prompt (don't blame me for grammar etc 😉 )

Quote

rephrase: i think pw is great because it is easy to start with. one day you add your first hook. the other day you learn how easy it is to create your first module. it grows with you and once you call yourself an oop developer you see all the beauty of the system and you are still impressed as i am 10 years later after finding pw

I know we can debate about AI in general but I think it is very interesting to get this "birds eye view" of aggregated data as it somewhat shows the current information that lies around the web at the moment:

Spoiler

Based on the research, I can help you understand where ProcessWire excels and how it differentiates itself from WordPress and Laravel. Here are the key strengths and differentiators:

Core Design Philosophy
ProcessWire is built as a professional developer's CMS/CMF (Content Management Framework)
It's designed for creating original, custom websites rather than theme-based solutions
Everything in ProcessWire is built around a consistent field-based architecture

Technical Strengths
Custom Fields: Native first-class feature where everything is a custom field, making the API consistent and easy to work with
Superior Performance: Better database structure compared to WordPress's meta tables approach
Security: Built from the ground up with security in mind, with no known compromises from core vulnerabilities
Clean API: Simpler yet more powerful API compared to both WordPress and Laravel
Flexibility: Can be used as both a CMS and a framework, similar to Laravel but with built-in content management

Where ProcessWire Excels
Custom Web Applications: Ideal for projects requiring unique functionality and data structures
Complex Content Relationships: Excellent for sites with intricate content hierarchies
Professional Development: Better suited for developers building custom solutions
Enterprise Projects: Strong in handling large-scale, complex websites
Performance-Critical Applications: Better database architecture for scalability

Comparison with Competitors

vs WordPress:
More developer-friendly and flexible
Better security out of the box
No dependency on plugins for core functionality
Better performance with complex queries
More suitable for custom applications

vs Laravel:
Comes with built-in content management
More focused on content-driven websites
Simpler learning curve for content-heavy projects
Better suited for projects requiring both CMS and custom development capabilities

Best Use Cases for ProcessWire
Custom web applications
Content-heavy websites requiring unique structures
Enterprise-level projects
Sites requiring complex content relationships
Projects where security is paramount
Cases where performance with complex queries is crucial

ProcessWire might not be the best choice when:
You need a simple blog with standard features
You want to use pre-made themes without customization
You don't have development expertise
You need a quick setup with minimal customization

I also think that ProcessWire is a perfect alternative for systems like Typo3 and I bet that there are many many developers out there that would be super happy if they knew that ProcessWire existed! See this showcase for example.

Quote

Years ago I used Typo3 for building websites. But the really complex update routine, the complicated configuration and the ongoing change how you should build templates made it necessary for me to look for a new CMS. So Wordpress was never an option and many others were also very complicated, so I looked at ProcessWire. After a second look I really understood the approach and built my first websites with Processwire. Very quickly I switched from Typo3 to Processwire. Implementing new features into existing websites was so easy with it.

But one thing I really liked in Typo3 was the concept of pages and page content. On each page you can have multiple page contents. I.e. text or images or a mix of both. So I started to rebuild this logic in Processwire. I have templates for pages and templates for page contents. I use a page and pagecontent tag for the different types. On the PHP templates I just need to include them. So each page collects its page content children. All page contents can have a wrapper with some css classes. So it is easy to create layouts with this system.

I think this says a lot!

  • More people need to know about ProcessWire, especially the folks that are not using (or do not want to use) WordPress. All the people that expect building a website to be a "click-click install this plugin that plugin" experience are not our target audience. But all the people looking for alternatives and being unhappy with typo3/drupal/etc. are!
  • ProcessWire lacks a good page building concept. Don't want to say more about that as it would fill a whole other topic 🙂 
  • Many need a second look. Me 10 years ago included! At first sight I totally underestimated the power and beauty of this system. I hope the new website can help to change that 🙂 

https://w3techs.com/technologies/details/cm-typo3

iL02aIB.png

High traffic site? Loads of content? Why is nobody thinking of ProcessWire in that case?

And here is what AI thinks about Typo3 vs. PW:

Spoiler

Based on my research and knowledge, here's a comprehensive comparison between ProcessWire and TYPO3:

Scale and Target Market
TYPO3 is an enterprise-level CMS, primarily used in European markets, especially German-speaking countries
ProcessWire is more flexible and can scale from small to large projects, but with a focus on developer experience
TYPO3 is designed for large organizations with complex content structures
ProcessWire is ideal for both small and large projects where customization is key

Learning Curve
TYPO3 has a steeper learning curve and requires significant training to master
ProcessWire is known for its simpler, more intuitive API and easier learning curve
TYPO3 requires understanding of its specific concepts (TypoScript, site packages, etc.)
ProcessWire follows more standard PHP patterns and has a jQuery-inspired API

Features and Flexibility
TYPO3:
Rich enterprise features out of the box
Strong multi-site management
Advanced user permissions and workflows
Built-in versioning and workspace features
Extensive backend administration tools
ProcessWire:
More flexible field and template system
Easier to customize and extend
Better API for developers
More straightforward content modeling
Less overhead for smaller projects

Performance and Resources
TYPO3 typically requires more server resources
ProcessWire is lighter and more efficient
TYPO3 has more built-in caching mechanisms
ProcessWire has better performance out of the box for smaller sites

Best Use Cases

TYPO3 is better for:
Large enterprise websites
Multi-language corporate sites
Projects requiring complex workflow management
Organizations with dedicated TYPO3 expertise
Sites needing advanced user permission systems

ProcessWire is better for:
Custom web applications
Projects requiring rapid development
Websites with unique content structures
Smaller to medium-sized organizations
Projects where developer productivity is key

Community and Support
TYPO3 has a large, established community, especially in Europe
ProcessWire has a smaller but very active and helpful community
TYPO3 has more enterprise-level support options
ProcessWire has excellent community support but fewer commercial support options

Development Approach
TYPO3:
More structured and rigid development approach
Uses specific conventions and patterns
Requires more specialized knowledge
Better for teams with established TYPO3 workflows
ProcessWire:
More flexible and freeform development
Follows modern PHP practices
Easier to pick up for PHP developers
Better for custom development workflows

The choice between the two often comes down to:
Project scale and complexity
Available expertise
Geographic location (TYPO3 is more popular in Europe)
Need for enterprise features vs development flexibility
Resource availability (both server and development team)

Really excited to see the new design and website 🤩 Good luck and all the best 🚀 Thx for building and sharing such a great masterpiece with us!

  • Like 12
Link to comment
Share on other sites

Quote

What are the features of ProcessWire that you think deserve the most attention? (Especially when it comes to attracting new users).

At this point it's a bit hard to put myself in the shoes of someone just getting here, but some highlights from the top of my head:

  • The community is awesome 🙂
  • The ability to define and modify data structures in the admin using an easy-to-use GUI is still a huge deal. One can quite literally create a full-blown application just by clicking around the admin, especially when combining it with something like ListerPro (though that's a commercial tool, so may be a bit off scope here).
  • Even for those with zero programming know-how, getting a simple ProcessWire powered site (or app) up and running is a (relatively) easy task.
  • Selector engine makes querying data extremely easy, and selectors also scale exceptionally well for complex needs. Most beginners are unlikely to need to know how sub-selectors or OR groups or more complex operator types work, but there is a lot of flexibility hidden underneath. For those that have worked (or fought) with WP_Query, our selector engine is a major selling point.
  • Right out of the box there's a lot of stuff there that even some of the most advanced content management systems don't have — custom content types, amazing language support, numerous field types and inputfields, etc. Honestly, the language support alone is more advanced than anything I've seen in other systems so far, with or without plugins.
  • While it's impossible to compete in numbers with WP, there are actually a lot of high quality modules for ProcessWire. One probably won't be able to carve out a custom application just by slapping modules on top of modules, but there's a whole lot of stuff that they can do.
  • Once you're familiar with the system, extending it with modules and/or hooks is easy.
  • Did I mention the community?

Also, ProcessWire is open source and free to use with no strings attached. Unlike some other systems. (Sorry, had to go there.)

  • Like 12
Link to comment
Share on other sites

23 hours ago, Mats said:

Tree hierarchy with clean urls

+1. This may not sound very shiny and impressive, but you see a lot of systems where URLs are somehow divorced from the data structure and it’s a big turn-off for me. PW’s more manual routing features (urlsegments, path hooks) are also awesome.

  • Like 8
Link to comment
Share on other sites

So much to agree with in all of the above. My brief contribution:

I came to ProcessWire having used WordPress and CodeIgniter. WP was fine if you just wanted a really simple website, but rapidly got frustrating if you needed something a bit more (adding a bookings capability to my holiday let website involved all sorts of contortions). CodeIgniter (ok, a bit passé now, I know) worked ok but needed a lot of coding and was a bit of a straitjacket. I looked at a whole load of CMS alternatives - Drupal etc. - but only ProcessWire had the right balance between CMS and CMF based on a really simple and intuitive concept (everything is a page). Completely unopinionated, but quick to get something working which can then be built on as necessary. As your needs grow, so you realise that PW grows with you. 

  • Like 6
Link to comment
Share on other sites

@wbmnfktr @Kiwi Chris @Mats @MrSnoozles @bernhard @teppo @Jan Romero @MarkE Wow, thanks for all of the feedback. This is really helpful and gives me a lot to work with! I'm currently compiling and combining all of those feedback into a separate document that will be used to build out the features section. 

@bernhard What's the source of the first two quotes in your message? Those are really good. I might like to use portions of those quotes directly if possible, so wanted to provide proper attribution. 

@MarkE May I use a quote from what you wrote? (this quote below):

Quote

“I looked at a whole load of content management systems (Drupal, etc.). But only ProcessWire had the right balance between CMS and CMF, based on a really simple and intuitive concept, that everything is a page. Completely non-opinionated, but quick to get something working, which can then be built on as necessary. As your needs grow, you realize that PW grows with you.” —MarkE

 

  • Like 2
Link to comment
Share on other sites

On 2/22/2025 at 10:52 AM, bernhard said:

rephrase: i think pw is great because it is easy to start with. one day you add your first hook. the other day you learn how easy it is to create your first module. it grows with you and once you call yourself an oop developer you see all the beauty of the system and you are still impressed as i am 10 years later after finding pw

this was my prompt for the AI (source = me)

On 2/22/2025 at 10:52 AM, bernhard said:

What makes ProcessWire truly exceptional is its natural learning curve that grows with you as a developer. You can start with the basics - creating pages, templates, and fields - and get a functional site running quickly. Then, as your skills evolve, ProcessWire reveals its deeper layers of sophistication.

Your journey might begin with discovering hooks, a powerful way to modify system behavior without altering core files. Soon after, you'll find yourself creating your first module, amazed at how straightforward yet powerful the module system is.

But the real magic becomes apparent as you advance in your object-oriented programming skills. The elegant architecture, the thoughtful class hierarchy, and the clean API design showcase ProcessWire's true brilliance. Even after a decade of use, you continue to discover new patterns and possibilities within its well-crafted foundation.

This is what sets ProcessWire apart - it's not just a CMS, but a system that scales with your expertise, from beginner-friendly to advanced OOP implementations, all while maintaining its elegant simplicity. It's rare to find a system that can be both approachable for newcomers and deeply satisfying for experienced developers, even after years of use.

This is the output of the AI that I got from my prompt. 🙂 I think I used claude 3.5 sonnet but I'm not 100% sure.

  • Like 1
Link to comment
Share on other sites

Oh and if you need a quote for the website, this might be a starting point:

Quote

ProcessWire is remarkable in how it grows with you as a developer. You start with the basics, perhaps adding your first hook one day. Then you discover how intuitive it is to create your first module. Before you know it, you're diving into object-oriented programming, and that's when you truly appreciate the elegance of the system. Even after 10 years, I'm still amazed by ProcessWire's beauty and capabilities. - Bernhard

 

  • Like 4
Link to comment
Share on other sites

19 hours ago, teppo said:

The ability to define and modify data structures in the admin using an easy-to-use GUI is still a huge deal. One can quite literally create a full-blown application just by clicking around the admin, especially when combining it with something like ListerPro (though that's a commercial tool, so may be a bit off scope here).

I resonate very deeply with this, especially in the last 2 years where I'm using ProcessWire as a web application framework.  Maybe it's my impatience of having to write migration files or the fact that I'm usually a team of one, but modeling an app in this way and getting an admin interface "for free" with everything interconnected is peak productivity.

I look at ProcessWire very differently as of 2 years ago.  In 2006/7, not long after I decided to get into website development, I gravitated towards Ruby On Rails (which has a special place in my heart even though I haven't used it in over a decade).  However given my lack of experience with programming in general at that time (I was more of a "hacker") and the fact that a web application framework lends itself to complex applications, OOP, software engineering, etc., it was too early for me to pursue that line of work, so I went down the CMS path and eventually found PW in ~2012 after searching for an alternative for WordPress for a few years.

Two years ago, I had the opportunity to re-write an internal order and production system (a true web application... no frontend, purely admin) and I had to make a decision... should I write this in a web application framework like Rails/Laravel or can I actually do this in ProcessWire in the "ProcessWire Way"?  This forced me to look at ProcessWire in completely differently and to make a long story short, I've proven it to myself, on a deep level, that ProcessWire is a very capable web application framework as well.  Realizing and proving this to myself with this system I've developed is liberating because for me, I can use one system to do two very different types of projects.

  • Like 6
  • Thanks 2
Link to comment
Share on other sites

For me the following features (in no particular order) set ProcessWire apart from other systems:

  • Easy core upgrades, just replace the wire folder and you are good to go.
  • Low (zero) maintenance costs for core and plugins (with WordPress you need to watch plugins and core every week or day and update them)
  • Free and Open Source
  • Custom fields in core
  • Easy to learn API
  • Multi-language out of the box (which needs support for multi-language images, but that is another topic. I also know they are possible via ugly workarounds)
  • The welcoming and helpful community
  • Custom modules that modify ProcessWire or add new functionality without modifying the core
  • Like 9
Link to comment
Share on other sites

9 hours ago, dotnetic said:

For me the following features (in no particular order) set ProcessWire apart from other systems:

  • Low (zero) maintenance costs for core and plugins (with WordPress you need to watch plugins and core every week or day and update them)

I agree with everything above, but this one is pure heaven. If you work at an agency that builds WordPress sites for a living, you know the pain of updating plugins and praying they don’t break the website.

  • Like 7
Link to comment
Share on other sites

  • 2 weeks later...

Things I love:

  • its not wordpress - mostly a security issue this one
  • easily get CMS data and role your own php / frontend to display / do something with it... anything you can imagine
  • modules making is approuchable (though could do with a good user guide as they're changed quite abit over the years)
  • community is great!
  • doesn't break, or need upgrading very often
  • Like 3
Link to comment
Share on other sites

If this is still interesting...


Easy to install
Download zip, unpack, create database, run install script, go.
Or copy one of your own example installations.
No composer, no manager, no other stuff needed.


Easy to understand
All data is created in a hierarchical object structure. Each object has a certain type and may have a php output template.
In every template you have full access to the whole data using an api which is easy to understand. No sql knowledge is necessary but an understanding of "selectors" similar to jquery.
You have to have php knowledge. But you just have to get used to a manageable set of objects and methods (the api) and don't have to dive into huge frameworks which may take weeks to create a "hello world" website.


Easy to use
The backend for editors is kind of pure simplicity: One tree structure for the whole content.
The backend for admins is easy, too: Do some clicks and you created a new data type with any input fields you like.


Easy to customize and extend
Almost everything of the core objects is hookable in an easy way so that you can intervene before or after a method or even replace the method.
Writing your own extension or module is pretty easy. One class with some descriptive data and you got your first own module.
In every hook you have access to the whole api and all your data.


Easy to update core
Download latest core und replace core directory in your installation. That's it. (Except from testing... 😉 )


Well documented
There is a very good online documentation of the api so you can easyily find a description of all the methods of all core objects.


Well informed
There is a newsletter which informs you about new developments.

 

😀

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...