in Web Development

PyroCMS Addon Hierarchy

I’ve been spending a bit of time in PyroCMS the last couple of days trying to wrap my head around some of the things that it does and thought what I discover might benefit some others who are trying to get into PyroCMS.  So here we go.  I should note that some of this you’ll find in the documentation, but some of it are things that I’ve written down to help myself better understand what’s going on. Lastly this is a very generic overview.


While this is the most basic of addon’s it can also be pretty powerful.  When I initially started writing this I was going to say that this was best used for regurgitating text.  And then I looked at some of the core plugins and boy was I wrong!  There’s some pretty large plugins!  Additionally plugins work with modules that you might write. There are some limitations to plugins, but with the right person it is pretty powerful.  I would say plugins are best if you are accessing data that is already on the site in some aspect.  So if there’s something in the database you need to extract this can do it.  Combined with a module a plugin can do quite a bit!

From a users, no developers,aspect, plugins, if documented well, will allow your users to do a great deal with it’s tagging mechanism.


Widgets are the next step up from plugins.  They exist in the control panel interface and can be dragged and dropped onto web site sections (these are created in your templates).  They usually do a very specific thing and the display is written by the developer who made that widget. So in some aspects they are a bit more rigid, but can do some pretty powerful things.  Users I think will find them a bit easier to use than plugin tags, but are limited by the users creating the widget.


The grand daddy of them all!  Modules are installed in the control panel interface and allow you to do a wide variety of things.  If you are coming from a WordPress background they are plugins.  Not your simple do one thing plugin, but a plugin that’s been taking HGH and other sterioids!! They are big and at first, for a new developers aspect, might seem a bit unwieldy, but once you get into them you’ll realize the power that they can wield!  On the back end of things a module will allow you to have an interface were data can be changed.  So if you wrote a module that kept track of baseball standings or something like that you could have a backend interface that a user would be able to access and edit that information.  As I mentioned above plugins work with modules.  This is one of the ways that content is displayed on the front end.  Another way that content is displayed on the front end is through a controller and turning that on in your module setup. As I’ve not completed a module, yet, I suspect that there are some other things that I might have missed on this so, what is here is what I’ve learned so far.

Happy developing for PyroCMS!