Before this gets too much traction: We didn't add Twig to core because Symfony uses it. I know it became popular to add anything that Symfony does based on the features it provides. Now, I started the Twig movement and I don't work like that. In fact, I feel frustrated and somewhat insulted that anyone presumes I would operate like that. My No1 priority is security. It always was. It always will be. To quote the original issue:
Some have proposed using Twig. We get security. We are not doing our own custom things. The skills learned would be usable not just Twig using systems, there's Liquid for Ruby as well. (As a bonus this also makes Crell happy and we didn't even list him in the first place.) Some are against using a non-PHP templating language in the first place because, well, we have PHP running already why put something on top? And the reason is, mostly, security. (We could argue that because we do not need to generate every variable under the sun in preprocess in some cases there's actually might be some speed benefit but this is a footnote and something so usage specific that it's not really up to debate) Another concern was IDE integration, but look decent IDE integration is already there.
And No2 is making sure the relevant stakeholders get what they want. I reached out to themers often (there was a lot more than interactions but I only found these two quickly). I know one thing for sure: we developers have no idea about what themers need.
In general, I am fairly sure that I am very, very unsure whether anything we do in core fits the need of the users at large and I feel frightened beyond anything that we throw out without consideration all the code that we might have polished through the years and replace it with what's basically an unknown. That's my biggest gripe with this go-all-out-Symfony thing: I do not know and I hate not knowing. It might continue the fantastic growth of Drupal. It might kill it. I do not know and I am scared. I spent a significant portion of my life (literally, more than 20% of my whole lifetime) on helping Drupal to get where it is now and not knowing what the future holds is a very, very, very scary prospect. Some of the frustration from that might surface in anti Symfony statements from time to time but please understand this behind it. Thanks :)
Commenting on this Story is closed.
Thanks for this post chx. I fully agree that listening to users is very important. After all, they are the experts about the User eXperience they have using something, often on a daily basis.
Its also important to realize that there are many different user roles and that they have very different needs.
However, users are not just those who use a product - Developers are in fact users too.
It often goes unsaid, and it certain doesn't always seem appreciated in the issues in which you participate, but your perspective is invaluable (even if sometimes irascible, lol). It often seems like you're the sole voice of keeping drupal true to it's roots. So first-- thanks for being our don quixote.
That said, the fact the your very very very scared about the role of symphony in the future of drupal make me very very very very very scared.
I've watched with some concern all these developments from afar, and for the first time I'm actually afraid I won't be able to upgrade the modules I maintain. I'm not a 'professional developer' and the d6 - d7 upgrade, while challenging, was still doable for me (and fun actually). From what I've seen so far, symfony is like a foreign language with a different alphabet. And I simply don't have the time to devote to learning it just to upgrade my modules which I maintain in my free time (I don't work for a shop).
The other responder pointed out that developers are users too-- well so are the legions of non-professional developers that contribute to drupal as well. In fact, I would argue that it is precisely the accessibility of developing for drupal for non professionals that is one of they keys to it's popularity, success, and 'community' and I'm terrified we're going to lose that with this upgrade.
Not to mention the scores of possible core contributors we're going to lose. I've been trying for the last few years to learn enough to contribute to core-- now forget it.
And it was really disappointing to follow these changes in the issue queue and witness first hand where the added complexity wasn't even given a thought or simply tossed off. It totally discouraged me from even trying to contribute to core.
Only time will tell-- let's hope we're both wrong.
"I'm actually afraid I won't be able to upgrade the modules I maintain. I'm not a 'professional developer' and the d6 - d7 upgrade"
You're not a programmer.
I am and have been since i first learned basic in 1980's (including pl/1, assembler, c, c#, vb, lotus script, js, jquery, and a whole host of scripting languages). I just don't do it as my primary career (its always been in addition to my real responsibilities) thus the 'professional' qualification and have not received professional training since before the existence of OO.
But thanks for reinforcing my point... non professionals not welcome.
I may not be a programmer, but I've been fairly successful at playing one on TV for the past 14 years. That being said, Drupal 8 scares the crap out of me. Twig, Symfony, etc. I've spent the last ~6 years trying to get my head around Drupal, and now this major shift?
Hey, the drop is always moving. And I'm happy that the community is dropping the "not-invented-here" attitude. And I'm hopeful that the developers that leave are outnumbered by the developers that come onto the project as a result of incorporating some other projects. That being said, and I'm sure this is said for every major Drupal release, D8 may be the turning point. Good or bad. I'm hoping for good.
steve
Thanks so much for the very honest post chx. I think sometimes I get frustrated at your stance on issues, but posts like this really give me perspective and help me understand. Thanks for everything man.
patcon
Oops. This should have been a new comment :)
You don't need to worry about whether Drupal succeeds or fails, you are allowed to just enjoy what you do.
Huh? This makes no sense. Anyone who's invested into drupal, be a full time or part time career or hobby, is absolutely concerned with the success of the project.
Indeed!
But I guess it clear that we can't be trusted to develop for drupal anymore and the system is going to change because of that.
Do it for security = Fuck you! I don't trust you.
No! He does need to worry about Drupal's success... it's all he has.
When I saw Twig going in I was very happy. As someone who cares about simplicity, security, and performance I was happy to see this happen. And that doesn't even get into how I've had to "theme" in Drupal, Rails, Jekyll (liquid based) in the last year. More commonality makes me happier and makes my job easier and faster.
So, thanks for working to get Twig pulled in. I think it's a good thing.
As someone who's heard scores of non-Drupal themers bitch about PHPTemplate and Drupal theming...
Agreed.
And they're not gonna bitch about having to learn PHP, Symphony, CSS, HTML, JS, and Twig?
Please! The current system is not that difficult. But, then again, designers are really fucking lazy ppl.
Bitch about learning HTML/CSS? It takes like less than a few days to pick up on HTML5 (excluding the more advanced usages). If themers don't know it by now they should find another profession.
Hey, well as long as you're happy and you're job is easier, then it must be a good thing.
"I know one thing for sure: we developers have no idea about what themers need."
An easy way to find out is to look for the simplest and flexible templating systems around. Themers don't want a ton of spaghetti code in template files and confusing phptemplate_ template processor hooks to override variables. They need simplicity. It's on us to provide the security. Guess what... a lot of designers/themers probably don't know what they need either. All they want is something that will stay out of their way, let them create solid markup, and give them easy access to page or other template vars to adjust as needed.
An easier template system should attract new themers, which should give birth to a lot of new 'themes' or designs, which in turn, is better for Drupal.
Same junk you all been saying for years... let's attract more designers. Yeah that worked out great with D7, huh?
D7 = UX fail ... but at least the designers are happy, right?!
The UX has absolutely nothing to do with the theming API or templating engine.
Don't worry. I can assure you that with these changes Drupal 8 will indeed be a failure.
Now that I've saved you the time from worrying about d8's success, please start working on D9 and fix all the shit you broke in d6, d7, and d8.
P.S. Lowering the barrier to entry?! HAHA! Yeah right! Now I need to know PHP, HTML, CSS, Symphony, and Twig... Oh and forget all the years invested in learning and mastering the Drupal theme system.
P.P.S. Yeah! Fuck those themers and developers who wasted all those years learning how to develop for Drupal. We can't trust them anyways!!
What would've been the smart thing to do is not to eliminate PHPTemplating system all together but like the good ol days.. in the theme's .info you can specify the templating system to use. This way you can use Twig or PhpTemplate and everyone would've been happy.
Too bad you don't trust us to make that decision for ourselves.
We didn't remove phptemplate. We won't remove phptemplate. Contrib will ship twig templates however.
I am stunned by the malice expressed in some of these comments.
What an unpleasant bunch of people (or is it just one extremely unpleasant person?) whatever.
If you feel that bad about it, just get the hell out and stay out. Everybody will be much happier.
I am a contract developer and I have done nothing but code Drupal sites for 6 years through 5, 6 and 7. D8 excites me, I've already started adapting my modules to Symfony-style, and I love it. Haven't got to grips with Twig yet but why should I worry? Drupal is still Drupal.
Learning new things all the time is just a part of making stuff that lives on the Internet. It's a moving target, and what you learned a few years ago isn't always going to be relevant. If change isn't a positive and exciting thing, maybe you're not in the right field.
Stunned. This is not the Drupal community I know.
I'm not scared at all. Drupal has always been changing, and in my opinion always in a good direction. It's steered by very smart people who may not get everything right for the first time, but they learn from their mistakes and fix the problems. Drupal is not simply changing, it's evolving. D8 probably won't be flawless, but to me it seems like huge step forward from D7, and I can't wait to start using it. And even if adding Symphony or Twig turns out to be a bad decision (which I doubt), it will give us knowledge and experience that we don't have now, and we can't get in another way.
So people, stop whining and start learning! If you don't enjoy learning new things, then you shouldn't be a developer in the first place anyway.
Anyone complaining, I urge them to watch the panel session from DrupalCon Sydney - http://sydney2013.drupal.org/twig-and-new-theme-layer-drupal-8 .
And as a developer I'm looking forward to learning new skills that are actually transferable, and to lessen the cringe when trying to explain to non-drupal devs "yeah, I know that's how the rest of the world does it, but this is the way we do it in drupal".
Converting your modules to D8 will not be that scary, either. The changes in Drupal will be better for Drupal, better for Symfony, and better for PHP.
I've seen (inexperienced) Drupal developers put too much PHP logic into the template file as well, so it's not just to prevent themers from writing insecure code. Twig will force a better separation between logic and presentation. It'll make that distinction very clear. I'm looking forward to using it.