pyrocms-lg

PyroCMS has no future

An article posted on nettuts called “What’s PyroCMS?” has caused some debate.

In my opinion PyroCMS has no future as a serious CMS (Content Management System) or CMF (Content Management Framework) for a number of simple reasons:

PyroCMS is built on Codeigniter, which for me is a brilliant PHP set of libraries. You can put together (and I have a number of large commercial sites) a website/application with ease. Now Codeigniter is not Cake or Symphony but a very loosely coupled MVC framework which has a nice set of helpers and classes to take out the tedious part of putting an app together. Phil Sturgeon, the original author of PyroCMS, was (but no longer thankfully) lead on Codeigniter Reactor. Phil wanted to take Codeigniter forward but in a direction that not everyone wanted it to go – Codeigniter is not and will never be a CMS or CMF out of the box.PyroCMS has a number of podcasts and here Phil talks about PyroCMS.  However he mentions in a few places that PyroCMS does not use the current stable version of Codeigniter but version 3 (That’s the one that he was trying to push forward and Ellis Lab has not accepted). So currently PyroCMS is running on a Fork of Codeigniter and he mentions that they are going to be changing to Laravel in an upcoming version.

So who is going to maintain this Fork?

Will we all have to rewrite our modules when we change to Laravel?

Maintaining the Fork I suspect will be “Security patching and adding the odd function that PyroCMS needs only”, by a few dedicated people.

The switch to Laravel according to Phil will be done on PycoCMS version 2.3 + with backward compatibility. Version 3+ will drop Codeigniter. Although he says that version 2 will be maintained.

Lets added up the figures; the PyroCMS team will maintain a Forked Version of Codeigniter, two versions of PyroCMS, PyroCMS Pro (did I mention you need to pay for that one) and probably a Forked version of Laravel. Then you have to look to the upcoming dev version ? I don’t believe they have enough volunteers to do this.

I build sites on Codeigniter, Drupal and WordPress – which ever is the most appropriate for that client.

Now I love using Codeigniter as a PHP helper library and I have a quite a few large sites that I built out with Codeigniter. My first thoughts were alone the lines that “Hey PyroCMS could be just the backend I need” and so I started to build a client’s site on PyroCMS instead on WordPress.  However is soon became clear that PyroCMS’s lack of of modules would mean building quite a few extra modules. But what was more concerning was when I heard about PyroCMS’s roadmap. Would I be having to rebuild this client’s website (probably for free) next year because 1; PyroCMS has gone or 2; PyroCMS codebase has changed and I wouldn’t be able to update this site.

For me the, the commercial decision was easy – WordPress.

I can’t see what PyroCMS is hoping to achieve – It will never catch-up with WordPress, Joomla, Drupal etc. It dosen’t offer anything over these main stream CMS/CMF’s.

I can here the Purists charging the gate about design patterns etc – Get a life.

PyroCMS could succeed if it went with being just an admin overlay for Codeigniter.

17 thoughts on “PyroCMS has no future”

  1. Not a purist

    I’m just here to be the one that is not a purist and saying that I agree completely with your point of view. I actually thought this myself, but I was too lazy to blog about it.

    Cheers man!

  2. It sounds to me that you just have a beef with Phil and chose to use your blog to whine about it. What you failed to do is provide any real references to back up your opinion.

    I will help you out, starting with reasons why the PyroCMS “team” (not just Phil) opted on moving away from Codeigniter.

    1. Thanks for you comment Jeff.

      I do not have a beef with Phil. I have a lot of respect for him and in fact anyone who gives up their time for the good of the common cause.

  3. Couldn’t Agree any more!
    I too believe that pyrocms is destined for the bin. First of all its modules are expensive which deters me from using it and there are just a handful of them compared to the many that other CMS vendors provide. Glad you said it first!

  4. Hey there,

    I figured I would stop by and give my thoughts on your thoughts.

    Firstly I have to stress that PyroCMS does not run on a “fork” of PyroCMS, but the official development branch of CodeIgniter. This is not some special version I have been “trying to push”, but one I contributed to along with the entire CodeIgniter Reactor development team during my tenure as a core contributor for the CodeIgniter team, assigned and supported by EllisLab.

    https://github.com/ellislab/codeigniter/tree/develop

    There it is, thats what PyroCMS 2.2 and 2.3 are running off. Why is this not already the latest stable? Because EllisLab have refused time and time again to commit any resources to finishing up the user documentation design for the 3.0 branch, meaning that even though it has been ready for over a year it will not be able to be released – which is maddening. EllisLab have not put a single commit into CodeIgniter in the last 6 months, showing their interest in its progress is non-existent.

    Why are we not using the latest stable 2.1.x? Because it’s old as hell and doesn’t do any of the things we need. 3.0 has had over 3,000 commits and is not only quicker, but more stable and handles PDO much better, but still has issues.

    http://philsturgeon.co.uk/blog/2012/12/5-things-codeigniter-cannot-do-without-a-rewrite

    Here is a fairly concise list of some problems we’ve had using CodeIgniter for PyroCMS.

    Beyond that, PDO is fundamentally broken, SQLite3 support has never worked properly for fulltext search, namespace support is so broken that you simply cannot have a module called “Events” (what?) and the REST support is janky (I know, I wrote the only long lasting system to ever actually work).

    CodeIgniter WAS great, but it’s had its day and it’s time to use a system that makes more sense. Laravel 4 takes advantage of modern-day practises, Composer through and through, lets us use awesome packages to add considerably better functionality than CodeIgniter has ever offered and actually lets us unit-test our codebase.

    Moving is not easy, which is why we’ve been open, honest, and incredibly forthcoming about the process:

    https://www.pyrocms.com/blog/2012/11/foundations-for-our-future

    We’re also making great progress:

    https://www.pyrocms.com/blog/2013/02/progress-with-eloquent-and-laravel

    As for your comments about “never catching up with Drupal or Joomla”, well thats your opinion but firstly: do we need to? Secondly, we have a great number of users switching in from those systems who are very happy with their move.

    The internet is full of options and thats wonderful. If PyroCMS is not for you then I’ll be sad to see you go, but the switch from being based on a framework that has no future to a framework that is taking the PHP community by storm is certainly not going to hurt us. Our largest module developers are incredibly excited about the change, but I’ll completely understand if you personally are not.

    1. First of all, thanks Phil for making your valid point. As I have said in an earlier comment – this is not personal and I have great respect for you and your commitment to Open Source Projects.

      I’d also like to say thanks for clearing up the Codeigniter Issue. I’m sure many people from the Codeigniter Community have been left in the dark with regards to the Reactor project – I couldn’t find any reference to it on the Codeigniter Site, which is of course now is http://ellislab.com/codeigniter

      My comments come from a commercial aspect rather than a developers point of view. For the bulk of my income I work as a sub-contractor to companies that build and maintain web Apps for Govt Ministeries and agencies in New Zealand. The platform is not an option because Drupal is specified.

      1. Reactor

        Fair enough, if you gotta use Drupal you gotta use Drupal, that doesn’t mean PyroCMS is struggling :)

        EllisLab did quite a lot of shouting about us “Reactor Engineers” in 2011 and the start of 2012 but trailed off and have mentioned nothing about CI 3.0 since.

        http://ellislab.com/blog/c/codeigniter/P20

        There were plenty of articles about the plans here.

        Specifically this:

        http://ellislab.com/blog/entry/new-user-guide-in-development

        This new user guide was thrown into the develop branch (where 3.0 lives) without being anywhere near complete, then they froze all work on the design. This basically threw CI 3.0 on the rocks and until they fix that the version is unusable.

        This is one of many reasons why I have had to ditch CodeIgniter and move to something more modern. I promise you this, if PyroCMS stuck to being CI only it would be dead in a year, but moving to using various PHP 5.3 components has given us an amazing second wind and the community in general could not be more excited.

        That said, you will OBVIOUSLY have die-hard CI fans who are going to sulk and throw a fit, but if they gave L4 a try with an open mind its impossible to be unimpressed.

  5. I’ve been following PyroCMS for around 5 months now and (at first) I was put off by the actual CodeIgniter dependency but decided to give it a go when I found that it was switching to Laravel 4.

    I think I have the same opinion as a lot of people on the subject: I don’t mind re-writing a little bit of code when the transition to Laravel is *complete* but if I have to re-write a lot of code I’ll be pretty annoyed.

    The fact is that PyroCMS was built to be easy to use and accessible, it has awesome documentation and CodeIgniter itself has very robust documentation. Laravel 4’s documentation, in comparison is lacking for absolute beginners but for more experienced developers it gives just enough to not condescend you.

    The only other reasonable option would be to build (yet another) framework out of Composer packages and build a CMS with that.

    Actually, that wasn’t even reasonable so ignore it.

  6. Moving toward Laravel4 ;-)

    I just made a fresh install of Pyrocms and there are already some Laravel 4 components in it (vendor->illuminate) and that is so cool!
    Well I am not especially a php framework guy but what seems obvious to me is that the future of CMSs will be built on top of php frameworks. I have used many of the big CMSs (Joomla, Drupal, WordPress, even Modx) and every time I felt uncomfortable with those complex (and bloated architectures).

    I felt that I was not learning to be a better programmer but that I was only adapting myself to these apps.

    I was recently converted to php frameworks, and especially Laravel 4, by Jeffrey Ways’tuts on nettuts. For the first time everything made sense and I feel that I am now learning something that will make me a better coder ;-)

    I just can’t wait to see Pyrocms entirely moved on top of Laravel 4!

    I don’t have any opinion about Pyrocms future. Will it last, will it be over in a year. Don’t know.
    But it’s not important as far as there will probably be other CMSs built on L4 (or other frameworks) in the near future. Switching from one of these new tool to another will surely be easy.

  7. Hi Kevin,

    Your article on PyroCMS/ comments on CI 3.0

    Just stumbled across your post & was curious about something you wrote: “Phil wanted to take Codeigniter forward but in a direction that not everyone wanted it to go – Codeigniter is not and will never be a CMS or CMF out of the box”

    The whole (Codeigniter) world is trying to figure out why EllisLabs won’t release 3.0, but that’s the first comment I’ve read anywhere that gave any sort of insight to the internal conflicts there. Is that anything to do with it, or merely why Phil quit?

    Thanks!

    Jeff

    1. As mentioned earlier, Ellis Lab have not committed any updates for quite sometime. Although that does not surprise me, if you look at their history with 1.7.x

      Ellis Lab use Codeigniter as their base library (for want of a better word) to run their flag ship software Expression Engine. So I can understand that they will update CI when they need it for EE.

      For the rest of us CI is an open source solution to use as we want. Personally I use it as a set of helper libraries, having said that I haven’t built a site on CI for over a year. Small brochure sites I use WordPress and anything more complex then it’s Drupal.

      Hopefully some of the earlier commenters will respond as I’m sure many of us would like to know the answer to your question.

  8. Was a good stepping stone.

    I found PyroCMS a good way of learning how to best leverage CodeIgniter. Of particular use I found were the examples of using the third party MX (HMVC) extension, migrations, templates, active record, etc. I can understand why going forward the idea of using a more modern MVC framework makes sense for PyroCMS, but for those of us just learning the ropes of MVC using CodeIgniter, PyroCMS as-is can be very helpful.

    I tend to use WordPress whenever building websites, but when a client has a very specific design requirement, cobbling it together with semi-compatible WordPress plugins (and their inevitable security holes) just does not work. That is where a system like PyroCMS comes in handy. It is a nice tool for that odd middle-ground between simple websites and enterprise web applications.

    As for Phil’s fallout with Ellis lab, I am guessing Phil initially saw a good thing in CodeIgniter, like many of us, but got tired of waiting for them to take it to the next logical level. CodeIgniter is a good stable system, but definitely not a leading edge framework anymore. Phil is just one of those smart and hard working guys who has to push the envelope. I think that is as natural to him as breathing and he was running out of air with the CodeIgniter framework.

  9. PyroCMS is a great CMS

    I run an established web design and development company and over the years have used many, many CMSs. Whatever the future of PyroCMS, it is in fact a great system from a CMS point of view.

    You state “It will never catch-up with WordPress, Joomla, Drupal etc. It dosen’t offer anything over these main stream CMS/CMF’s.” – thank god for that! I have built many sites in these systems until we found PyroCMS. I would not want PyroCMS becoming an overbloated, overcomplicated, trying to be everyone to everyone, slow CMS system like these others. PyroCMS is simple for customers (lets not forget those eh, they are in fact the most important users of the CMS), and its dead easy to build modules using CI.

    Even if it does not move forward, I am sure to be using PyroCMS 2.2.x for many years.

  10. It’s too bad.

    Personally I thought that PyroCMS’s days were numbered when it went from “we offer professional support and documentation for a fee” to “now there’s a pro version you have to pay for and some of the best features were moved into it.” That, and when the web store rolled out I couldn’t get it to work for almost 3 months.

    It’s tricky, I think that they might have the ability to maintain the triple-fork platform, but you’re right about the community backing not really being quite strong enough for it yet. And with the “best” version of the thing being a paid product I don’t see that shifting any time soon. With wordpress you have 10k+ free themes to choose from. With PyroCMS you have like 5, and you can really only count like 3 of them.

    It’s sad because I really like pyro and I enjoy using it. I’ve installed it for dozens of clients. But I don’t see what it offers over other options, aside from easy plugin development. With things like calipso and nodize for node.js, mezzanine for django/python and refinery for RoR it’s getting difficult to justify deploying new sites on PHP at all.

  11. WordPress, Joomla, Drupal. These are disgusting CMSes. Neither wordpress or drupal use modern MVC paradigms or modern PHP language features. They are a disgusting hodge-podge of APIs, some OO, most not. The template files are a hideous mix of php logic and html. The general quality of wordpress themes on a code level is a vomit inducing mix of 100 jquery libraries thrown together inside some dodgy “framework” to manage theme settings.

    I have worked on drupal sites supposedly able to serve 20,000 concurrent users, which have collapsed running on 4 servers with 30 varnish servers, and 32 mysql servers after just 2000-5000 users with every page cached to hell and back in 101 different ways. Pathetic. The drupal community is arrogant and living in technology 10 years old and they think it is the be-all and end-all. You need 100+ modules to get it off the ground and even then it is like an overfed pidgeon trying to fly. The admin ui is also the most horrible experience a human being could live through. Generally the develoeprs will do anything to hack a mdoule to get it to work rather than doing the terrible thing – write your own code.

    Laravel 4 is the most beautiful php framework I have ever seen. PyroCMS moving to is pretty exciting. Not that I use CMSes anymore I write everything from scratch using javascript MVC and restful APIs. Still exciting though.

    1. Totally agree with your view. I used all of the 3 old mainstream CMS. In their day they were great, but that was like 10 years ago!!!

      These systems were entirely based on the idea of powerful servers delivering content to various HTML4 web browsers with a smattering or AJAX support. The environment in which theses systems evolved is no more.

      On Nov 15th, Google will officially stop supporting IE8, so in real-terms, the non HTML5 browser market is about to start dying off, and with it, hopefully, the horrendous types of interfaces we see in these old CMS.

      Restful services are able to communicating with multiple interfaces through multiple devices. Client-side frameworks like AngularJS extend HTML5 through custom tags, directives, templates, etc. This is where things are headed and any CMS that succeeds in the future will do so in this environment.

      As for Laravel, I give it a good chance of being the foundation for a really great, modern CMS. There really isn’t much competition on that level right now.

      I also laughed at one of the comments above about calipso, nodize,and mezzanine. Had anyone ever looked at those? The Calipso project has died. Nodize has like 2 users (check the forum), and the Mezzanine UI is truly horrendous.

Leave a Reply

Your email address will not be published. Required fields are marked *

4 × five =

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>