Content Management on the Web has changed. Today.
November 2015
Today marks the release of Drupal 8, and the birthday of its founder, Dries Buytaert. This release is more than just a new digit, it's an entirely new platform with something for everyone to love, but it's particularly big for web site owners.
What's the big deal? The biggest, most powerful, one of the most successful open source projects in the world has two major, fundamental changes that change everything you thought you knew about it.
Well, not everything. Lots of the things that people love about Drupal are getting some nice improvements:
- Mobile, responsive support straight out of the box -- it's actually a nice experience administering a D8 site on your phone!
- The information architecture is the same as always -- content types, vocabularies, comments, anything you've learned about how content is organized in Drupal is the same, but...
- Lots of powerful modules like Views and CKEditor are now in core, and much less quirky than ever before
- Deploying updates and configuration settings between multiple copies of the site is completely overhauled, and now very simple to do
- Caching support is baked in, enabled by default, so in spite of doubling in code size it uses less computing resources and responds much faster, especially on busy sites
- Loads of other improvements.
All of that is great, and we could go on for hours, days about how much of an improvement this is. And that is the stuff you will notice today, next week, next month. But that's not the big change, that's not the killer feature of this upgrade for site owners.
The killer feature is what happens in 6 months, in 1 year, in 5 years. And that is, the great big upgrade cost you don't have, when it's time to upgrade to 8.1.0, or 8.2.0, or even 9.0.0.
Two Fundamental Changes.
Ask any Drupal site owner where their biggest pain is. You'll run into two big complaints: How hard it is to find decent Drupal developer talent, and how painful it is to migrate to the next version. Those both change with Drupal 8.
The next version
The current version of Drupal 7 is 7.41. The new version of Drupal 8 is 8.0.0. The next version of Drupal 7 will be 7.42. The next version of Drupal 8 will be 8.0.1. Notice anything different? It's called "Semantic versioning," and yes, it's just one more number between the dots (or added to the end). But the change behind that simple little version number is enormous.
Drupal is changing its entire release process to have "minor" version releases every 6 months. That means 6 months from now will be 8.1.0, and in a year, 8.2.0. These are calendar-based releases that contain new functionality, AND maintain backwards compatibility with the previous minor version. Upgrades from 8.0.4 to 8.1.0 should be completely transparent, nothing breaking as a result -- but new stuff available.
Drupal has never maintained backwards compatibility like this before -- this is a fundamental change in the project, and it represents the maturity the platform has reached.
There will only be a Drupal 9 when there's enough changes that are not backwards compatible that it's time for a new major release. But this "minor release" plan provides plenty of notice of functionality being deprecated to allow people to transition away from those things that are going away, long before 9 arrives.
That means an update to Drupal 9, will mostly be a matter of making sure you've either moved away from stuff being changed in Drupal 8, or have added an alternative. And then update, potentially like any other minor release.
No more completely rebuilding your site in the new version! For the first time ever, major version updates in Drupal should be relatively painless, as long as you keep your site relatively current and pay attention to changes as they develop.
"Drupal Developers"
Drupal has always come with a steep learning curve, particularly for developers. This is because it has developed out of procedural code, with a "hook" system and naming conventions that make a lot of things happen "automagically". It takes a couple years to get your head around the many Drupalisms, code patterns, hooks, conventions that are not seen or used in most other projects. You need to be very proficient in coding, using a debugger, and having an open mind to be a good Drupal developer... until now.
"Object Oriented" is a term that came in vogue in development circles... in the 1960s. It became the dominant way of programming in the 1990s, particularly with the rise of Java in popularity, and it's at the heart of .NET as well as many open source practices. And while Drupal uses a lot of object-oriented concepts in its information architecture, it has never been fully object-oriented in its code... until Drupal 8.
Why should a site owner care about this? Two huge benefits -- the same two I'm talking about here:
- Drupal development now shares the same programming architecture as 90% of the rest of the industry, instead of being its own thing. Now you don't need to find a good "Drupal developer" -- a good developer should be able to pick it up and figure it out without years of learning the specific incantations and magic charms of all those Drupalisms.
- Updates. Because we now encapsulate all this code into objects that extend other classes, this allows for upgrading smaller bits of functionality without affecting the rest of the site. This means that it should be possible to upgrade some modules to Drupal 9, before the site itself.
I think a lot of people in the Drupal community don't fully realize how huge a change this is (and it is interesting to see some backlash to the changes from those who may fear some of this change).
In other words, when Drupal 9 eventually arrives, it won't be such a big deal -- it should be possible to run exactly the same contributed modules for Drupal 8 and Drupal 9, with no changes whatsoever -- and even if something important does need to change, it can be changed by inserting a "shim" class that translates the API changes as appropriate -- it will almost certainly be possible to run Drupal 9 modules in Drupal 8, and vice versa. And you won't have to find a Drupal-specific developer to do this for you, either.
The new world of web applications
Drupal has long been a compelling platform in terms of functionality, the speed that new functionality becomes available, and the power built into the system. Drupal 8 is not just another release -- it is the maturing of this platform into something that is completely up-to-date and capable of staying that way for at least the next decade, if not more.
If you are looking for a new content management system, a new project management system, a new platform for managing all kinds of communications between groups of people, you can't pick a better base for doing so than Drupal 8. Give us a call, and let's discuss what you want to build!