The future of Fork CMS

  • Written by Tijs Verkoyen on Thursday 13 September 2012
  • 29 comments

As some of you may have noticed, the latest releases didn't contain large improvements. So some of you may think Fork CMS is dying. Not at all! Fork CMS is very alive and kicking and we are preparing major changes.

Fork CMS uses the open source Spoon Library. While Spoon Library is great, it adds an additional learning-curve for most new contributors. The development on Spoon Library has stagnated and will be discontinued in the future. Therefore, we have decided to move to Symfony. We've picked Symfony for several reasons: it has a large community, great documentation and large codebase with a lot of existing functionality.

A second reason for moving to Symfony is that we want to concentrate on stuff that makes Fork CMS kick ass, and not the basic handling of URL's, a custom template-engine, ... So by moving to Symfony we think we will have more time to concentrate on new features that improves UI, usability, extra modules, ... .

A third reason is the large community of enthusiastic developers behind Symfony. We believe that by moving to Symfony it will be easier to find people with Symfony knowledge that are willing to contribute to Fork. In time we hope that Fork can contribute to Symfony as well.

How?

Moving to another framework is a major change and we can't accomplish this in a few days. So we are going to do it step by step. By replacing parts of Spoon Library by their equivalent Symfony component, we think we can move piece by piece, without halting the development of Fork CMS for several months.

Each change will be developed in a seperate branch and added as a pull-request on the master-branch when ready. So feel free to follow the development, add comments, add tips, ... on Github.

What does this mean for you?

Most internal components can be replaced without too much hassle for existing modules. We will try to provide backward compatibility where possible. In the end though, we will probably end up breaking backward compatibility for several features to be fully compatible with the Symfony framework, but this is something that will be discussed when we are at that point.

Contribute?

If you like to contribute, let us know. We are looking for people with a decent level of knowledge in Symfony, people who have experience with migrating codebases between frameworks are welcome also. Actually, everyone is welcome to contribute, provide us with tips.

Comments

Waldo

Waldo wrote 11 years ago

So the changes are not only the template-engine, but the whole php-framework of Fork?

Felix wrote 11 years ago

Nice! I'm a firm believer in NIH, and moving to a framework like Symfony fits right into this. Less boilerplate code maintenance, more cool Fork CMS stuff ;-)

Frederik wrote 11 years ago

@Waldo, yes. We change out Spoon for Symfony components.

Waldo

Waldo wrote 11 years ago

Nice! Can't wait :)

Jeroen wrote 11 years ago

Hate to say goodbye to Spoon, but I'll help where possible in the switch to Symfony…

Did you know Drupal 8 also uses Symfony, http://symfony.com/blog/symfony2-meets-drupal-8

Koen wrote 11 years ago

Wow, big changes. Time to move on I guess. Never used Symfony though, hopefully it'll explain itself.

Frederik wrote 11 years ago

@Koen Symfony2 has great documentation and on http://knpuniversity.com you can buy some very good video tutorials.

Koen wrote 11 years ago

@Frederik Thx for the link. I'll first start digging through some documentation. The video's will be a nice help.

Piepke

Piepke wrote 11 years ago

Will it eventually become a Symfony bundle or will it just use the libraries?

Jeroen wrote 11 years ago

@piepke, yes, after some time, Fork will be a vendor (bundle) for Symfony.

Tijs Verkoyen

Tijs Verkoyen wrote 11 years ago

@Piepke, @Jeroen: this is our intention indeed, but it will take some/a long time to accomplish this.

Jeroen wrote 11 years ago

Swiftmailer (Symfony's mail component) is bigger (1,1 MB) than the whole Spoon library (983 KB).

Yep, Fork is getting heavier...

Captain 21st Century

Captain 21st Century wrote 11 years ago

Hard drive space is cheap these days, size of a vendor like monolog is irrelevant tbh

Jelmer Snoeck wrote 11 years ago

@Jeroen, that doesn't mean the repository will get bigger. We'll use composer to fetch our dependencies. This means we only have our code in the repository, all the other stuff will be downloaded via Composer.

It's indeed an increase on your server/local machine.

larissavictorian wrote 11 years ago

In template CMS uses the open source spoon Library, spoon library is quite helpful it adds an additional curve for very new contributors, but it sad for will be discontinued in the future. Anyway I enjoyed reading this blog-post.

Natetronn

Natetronn wrote 11 years ago

Just out of curiosity why Symfony2 over Laravel?

Dave wrote 11 years ago

@Natetronn Laravel, while being an impressive and clean framework, is still quite young (2011 I believe?).

It was on the table, but we eventually opted to go with Symfony for its maturity; it fits our needs, it's tried and tested, and it has a larger userbase.

curtis

curtis wrote 11 years ago

hmmm. why symfony2 instead of yii? it has a good size community of contributors and it's moving along fast, not to mention that the learning curve isn't as hardcore as symfony2.

Andrew wrote 11 years ago

Which version will you start using Symfony components in and can I get access to this now?

Md. Rashidul Hasan wrote 11 years ago

I think Yii framework will be better for ForkCMS. Yii is a fastest, easy and secure PHP framework. Support modular development, MVC, internationalization, localization, theme, template, logging, multiple database support for same script, ORM support, well documentation, most of the greatest feature is scaffolding, it helps to develop world class web application very rapidly. Their community is growing very rapidly. They also have many extension. And lots of other useful feature. I will be very glad if ForkCMS use Yii Framework.

Thanks

Md. Rashidul Hasan wrote 11 years ago

http://phundament.com CMS using Yii framework( http://yiiframework.com )

Benoit wrote 11 years ago

Nice idea to implement Fork-CMS with Symfony2. Excellent choice! Can't wait for the "Fork-CMS" Symfony bundle! :-)

HK

HK wrote 11 years ago

Do you have roadmaps or some timelines for this change? I am evaluating fork cms for my company because we are looking for a new cms used by our customers.

m47730

m47730 wrote 11 years ago

Very wise move.

Symfony2 is a really good framework, has a lot of feature but is quite fast.

Roel

Roel wrote 11 years ago

FYI, also have a look at the Symfony CMF project

Tijs Verkoyen

Tijs Verkoyen wrote 11 years ago

@Roel: we did, but CMF has a lot of requirements. And we don't think it would be a good thing to have a lot of requirements most shared-hosting can't full fill

Roel

Roel wrote 11 years ago

It will also work with mysql/sqlite, maybe you checked some time ago.

Hans from Germany

Hans from Germany wrote 11 years ago

Have you heard of http://flow.typo3.org/ ? I'd have suggested this to you if it wasn't too late now :(

Jacob

Jacob wrote 11 years ago

Is it possible to see some work with the Symfony framework, to be honest i'm getting curious.

I'm currently developing websites with Fork CMS and maybe I (and possibly others) can help to improve the integration with Symfony.