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 11
  • Thanks 1
Link to comment
Share on other sites

  On 2/21/2025 at 8:28 PM, ryan said:

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

Expand  

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 12
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.

Expand  

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

Expand  

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:

  Reveal hidden contents

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.

Expand  

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:

  Reveal hidden contents

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 11
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).

Expand  

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 11
Link to comment
Share on other sites

  On 2/21/2025 at 10:32 PM, Mats said:

Tree hierarchy with clean urls

Expand  

+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 7
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 5
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

Expand  

 

  • Like 2
Link to comment
Share on other sites

  On 2/22/2025 at 9: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

Expand  

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

  On 2/22/2025 at 9: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.

Expand  

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

Expand  

 

  • Like 3
Link to comment
Share on other sites

  On 2/22/2025 at 7:53 PM, 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).

Expand  

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 1
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

  On 2/24/2025 at 12:49 PM, 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)
Expand  

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...