PyroCMS is a content management system that, in recent months, has been growing in popularity, due to its intuitive back-end design and lightweight, modular architecture. Described as “a simple, flexible, community driven content management system,” PyroCMS is easy to learn, understand, and own.
Why PyroCMS?
...More flexible and cleanly organized than other CMS platforms.
In fact, PyroCMS is built using modular MVC, which means (in short) that each part of the system is its own micro-instance of MVC. This allows the system to be more flexible and cleanly organized than other CMS platforms. PyroCMS describes itself as a simple, flexible, community driven content management system.” And because PyroCMS is powered by CodeIgniter (at least for a bit longer, while the team migrates over to a Laravel backend), it is easy to learn, understand, and own.
While it isn’t necessary for you to know the definition of modular MVC to use PyroCMS, it's a good idea to brush up on what it refers to, before you build an add-on for PyroCMS.
Who Develops PyroCMS?
Needless to say, PyroCMS is in very good hands.
The core developers of PyroCMS are Adam Fairholm, Jerel Unruh, Phil Sturgeon, and Joshua Pekera, all of whom make frequent contributions to the project. If you’ve worked with CodeIgniter in the past, you’ve likely run across Phil Sturgeon’s name before. He’s authored a number of very useful libraries for CodeIgniter, including a RESTful server implementation, CodeIgniter-cURL, a popular template library for CodeIgniter, and CodeIgniter oAuth solutions.
In similar fashion, Jerel Unruh wrote some of the largest components of PyroCMS, including the Multi-site Manager, a part of PyroCMS Professional that allows site admins to create, delete, and manage entire websites for their clients from a single interface.
Needless to say, PyroCMS is in very good hands.
Beyond the contributions of its core developers, PyroCMS has grown rapidly to be translated into more than 22 languages and accepted code from over 120 contributors. It is a growing open-source project!
Why Consider PyroCMS For Your Next Project?
There are a number of features that make PyroCMS a very viable option for your new website project. They include, but are not limited to:
Modular MVC
Module MVC is about taking a large project and breaking it down into many smaller, manageable pieces, with each piece of that large project becoming, itself, an instance of MVC. Having this programming pattern at your disposal makes PyroCMS very powerful and highly organized. If you've already downloaded PyroCMS, take a look in this directory:
[site_dir]/system/cms/modules/
If you haven't yet installed PyroCMS, what you'll find within this directory is every part of the core system broken down into a module. This same architecture is also used for system add-ons, and is a big part of what makes PyroCMS so easy to work with.
Control over navigation menus, email templates, and 301 redirects
In the PyroCMS control panel, admin users have the ability to build custom menus/navigation and email templates for use by the system, including add-ons. Admin users can also manage 301 redirects, using the built-in Redirects module.
Easy theme development
This particular part of the system is too large a topic to address in this introduction to PyroCMS, but building a theme in PyroCMS is easier than it is to do in WordPress and other systems, which leads to time savings. At the core of how PyroCMS outputs data is the Lex tag parser. For designers and front-end developers, tags are a simple syntax to display content and perform basic logic operations. For developers, tags are the way in which you can get your data into layouts.
Mobile device detection
A nice feature of PyroCMS is its ability to easily display separate layouts for mobile. As part of a theme, you simply place your mobile layout into a separate folder than your default web layouts. That separation is highlighted in the following examples:
Your default layout would be in a template folder, like this:
your-theme/views/web/layouts/default.html
While your mobile layout would be in a template folder, such as:
your-theme/views/mobile/layouts/default.html
Module view over-loading
Don’t like that default theme layout for the blog module in PyroCMS? Hate the way the comments are output by the system? No problem. You can customize them anyway you wish by overloading the views associated with those modules. PyroCMS allows you to replace any module view with a view inside your theme. Simply copy:
system/cms/modules/blog/views/posts.php
to:
addons/[site-ref]/themes/[theme-name]/views/modules/blog/posts.php
Once this view file is in your theme, you can edit it however you like to get the design you desire. You can learn more about overloading module views in the PyroCMS documentation.
Blog
A blog module comes packaged by default in PyroCMS. Included, if you need it, is Akismet integration to help control spam comments.
Analytics, Akismet, Storage Provider (Amazon S3 and Rackspace), SMTP, and Twitter Integration
Out of the box, PyroCMS plays quite nicely with other services. The files module, for example, offers built-in support for cloud file providers, such as Amazon S3 and Rackspace. You can place a Twitter stream on a page using the included Twitter widget, and even send email from your site using SMTP.
PyroCMS is easy (and I mean easy) to extend
For me, as a developer, the most exciting feature of PyroCMS is how easy it is to extend. Building an add-on for PyroCMS is incredibly simple, when compared to other platforms. Part of its easy-going nature is that you’re working in modular MVC. Also, a module add-on contains a “details.php” that has all of the "meta-data" and installation instructions for the module. Adding a module is as simple as adding a new folder within the “addons” folder, and taking advantage of CodeIgniter. You can learn more about building addons for PyroCMS in the developer docs.
How to Get Started Using PyroCMS
If you are just starting out, though, you can use the community version of PyroCMS.
PyroCMS comes in two different versions: a free community version and a professional version. The differences between the two are few, but include some powerful features. The professional version includes PyroStreams (a module that lets you build custom data streams for your site), a multi-site manager, and more. If you are just starting out, though, you can use the community version of PyroCMS. It's a great choice for small to medium sized websites.
You can download PyroCMS from their website or clone the latest version from GitHub.
After you’ve downloaded and unzipped the PyroCMS files into your web root, loading the project in a browser for the first time will bring you to the PyroCMS installer. The installer will guide you through the steps necessary to install PyroCMS, including checking your server for the required software. Check out the server requirements page for a detailed list of what you’ll need. The installer, itself, supports multiple languages and can get you off the ground with PyroCMS very quickly.
Learn More About PyroCMS
If you require support or have questions, the core developers and community members of PyroCMS regularly answer questions on the PyroCMS forums. You're also encouraged to pick up a copy of Phil Sturgeon’s new book about PyroCMS, titled Catapult into PyroCMS.
Now, please go discover PyroCMS! You won’t be disappointed. Questions? Leave them below! mm
Comments