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.
Comments
Thanks for you comment Jeff.
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.
I have made some code contributions (all bit it very small) back to PyroCMS and in fact to modules in WordPress, Drupal and Codeigniter Libraries. You can see some of them on my github.
https://github.com/dollardad
So I feel that I'm not one of these users that grabs, moans and gives nothing back.
But I stand by my opinion that I can't see PyroCMS lasting and not because Phil or the team aren't committed but it's just the numbers.
It sounds to me that you just
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.
- PDO support in CodeIgniter is broken
- there are fundamental limits in CodeIgniter which block it from ever truly taking advantage of PHP 5.3+
- for CodeIgniter to ever leverage any part of PHP beyond version 5.2, it would require a drastic rewrite.
- rolling the changes to Lavarel out over a few versions so add-on developers remain happy.
- Laravel 3 roots come from CodeIgniter so developer familiarity will exist
- the move to Laravel is going to take time and is going to be done in steps, so no one said or expects you to rewrite all your add-ons right away.
The above is just a tiny bit of the facts that I have gathered by discussing with the PyroCMS team (not just Phil). Finally, I think its important for people to know that change does happen, especially on the Internet. Change must happen for the Internet to continue growing. People like Kevin who want things to stay the same just so they don't have to rewrite some add-ons are only holding back the natural progression of the Internet.
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!
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!
Hey there,
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-wi...
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.
Phil Sturgeon
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.
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.
PyroCMS / Laravel
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.
Add new comment