Drupal 8 Might Be Useful
Might be useful? What kind of a title is that? Surely it *must* be useful??
If you're a Drupal developer though, you'll know that pretty much *forever* Drupal core point releases have taken at least 6 months to gain any traction. Why? Simply because the enormous body of bolt-on modules we refer to as "contrib" takes a while to get up to speed. Most of these modules are either written by people in their precious spare time or written as commercial need dictates (someone's client says "Hey, I need X!" and X is made). Consequently, "contrib" is seldom ready at the same time as core, and it usually - well, historically - takes at least 6 months to get ready.
What happens in between times? Well, a whole load of websites continue to be built on the old core. For example, I know Drupal 6 sites were still being newly built a whole year after Drupal 7 came out, because there were "contrib" things you could do with Drupal 6 that still didn't have an equivalent for Drupal 7, so you had the hard choice - make it work in Drupal 7 or just stick with Drupal 6. Most people chose the latter for a long while, because the things that needed fixing were too big and complex to tackle alone.
But it seems that might not happen with Drupal 8. I sat in on Kristof De Jaeger's whistle-stop tour of Drupal 8 for site builders on Tuesday (it was excellent, by the way) and it was a real eye-opener in terms of what has been included in core. This is hugely significant, because when Drupal 7 was released you couldn't do anything much useful *just with Drupal 7*! You couldn't create links between content, you couldn't show lists of content, layout options were pretty limited (if you know the original Block system, you'll know what I mean), there was a field API but not many available field type implementations, it just wasn't a useful product on its own.
But look what's going to be in Drupal 8:
- Views (wow, lists of content, feeds, pages, blocks, all there, not a separate module)
- Entity Reference (Hallelujah! we can reference content in core, this was a lost orphan after the transition from CCK to Fields in core)
- Date fields (so events, timetables, expirations, etc. all there in core)
- Link fields
- Various other cool fields, like telephone, email, picture
- WYSIWYG (that's right, CKEditor is in core, no need to install that separately...)
- Insert (well, not exactly, but a very near thing, so inserting media in content is there in core and tied to the WYSIWYG)
- Inline editing (yup, click a text area, edit away!)
- Services (or a version thereof, previously contrib, now core, big win for integrations)
- CMI (goodbye Features! or, to be fair, back to using Features for what Features is for and not over-extending it as a config manager)
And then there's the stuff that's better:
- Display options for node forms (that's right, you can actually manipulate how node forms look without writing code)
- Blocks are entities (yes, you can add fields, have different types of blocks)
- Layout system is totally shaken up and feels much more like Panels
- Everything is translatable in core (no, it wasn't before, trust me)
To name but a few. What this means, and what is so drastically different for Drupal 8 when compared to pretty much all previous Drupal releases, is that it will be entirely feasible to build a fairly complicated Drupal website, right out of the box, without needing any "contrib" modules. For me, this is an astounding achievement if the community can pull it off. All this, along with the monumental architectural shift under the hood, is an awe-inspiring amount of work, but if we nail it, it will be a CMS that is a real joy to use.
Now of course, this is all great, but there's a mountain of work still to do on Drupal 8. Kristof pointed out that Page Manager (part of CTools), Token and Pathauto could do with some help getting D8 ready. And what do others think?
Some Drupal developers I spoke to yesterday are still concerned about how long it is going to take to polish and release Drupal 8. There's no question it's a hugely ambitious release and I salute those who have given their all to making it happen. It was clear from the Twig talk I also attended on Tuesday that there is still a ton to do there, and that's just one initiative. I know several initiatives are in a situation where they are well on the way, but need to be finished. How long that will take is hard to estimate right now. We will get there. We *have* to get there. But we need as many people to chip in as possible.
And because core will be so useful, contrib can go back to being what contrib should be. Not critical stuff, like Views, Ctools, Services, etc.
So, well, yay! I'm truly excited about this now. I am off to download the latest alpha release!