24 things about Drupal 8 every CTO should know - Part one
Are you preparing to migrate to Drupal 8? If so, you’re probably experiencing an influx of questions about what this means for your business. With so much time lapsed between the releases of Drupal 7 and 8, it’s hard to know what this new era will bring. But fear not; Deeson’s technical lead John Ennew has been busy collating all the queries we’ve received so far and writing some useful, insightful answers for you. This is the first of our three-part series answering all your burning Drupal 8 questions. If you want to, feel free to skip on to part two which is around functionality, and part three which is about enterprise use and security.
This week, we’re focusing on two areas: planning for Drupal 8, and the implications for Drupal 7.
Drupal 8 planning
1. Why did Drupal 8 take so long?
Drupal has been around for 15 years and Drupal 8 has been in development for 5 years. This sounds like a long time to produce a release.
Under the hood, Drupal 8 has lots of big changes from Drupal 7. Many new programming concepts and paradigms have been adopted which will make Drupal more standards-compliant. This has meant removing old, more Drupal specific ways of doing things and embracing more widely known standards and technologies.
The discussion plan in Drupal community is that in future there will be gradual, phased releases allowing feature development to proceed in separate branches, rather than waiting for other functionality to produce a single large release like Drupal 8.
2. When should I start building on Drupal 8?
Drupal 8 should be considered for all projects from now onwards. The decision on whether it’s the right time for a specific project will depend on the appetite for risk, the nature of the functionality and complexity of the project.
There are many contributed modules that don’t have a stable release yet. This means a project may end up building a Drupal 8 version of a particular tool which would be available ‘for free’ in Drupal 7.
However, this is likely to be outweighed by the long term advantages of choosing Drupal 8. We’d recommend that a project scheduled to launch in 6 to 12 months time should select Drupal 8 over Drupal 7.
The fundamental overhaul of the multilingual system in Drupal 8 means that multilingual sites should always choose Drupal 8.
A project with a close, hard release date may not want to take on the risk of an unexpected bug in Drupal 8 impacting development or causing post-launch issues. These issues are always more likely in a new product before it’s had widespread production use.
3. How long until common contributed modules are going to be available?
Deeson maintains a list of 52 modules which are used in a large number of our projects. 11 are now included in Drupal 8 Core so will be fully supported, 9 have community contributed releases in an alpha or beta stage of development and the rest, 32 modules, have no testable release as yet.
For simple brochure sites with limited functionality, Drupal 8 is ready now as some of the most important content management tools are now included in the core platform.
However, there are some significant omissions, e.g. Pathauto and Tokens which are used to automatically generate tags in emails or automatic URL aliases based on the title of content.
Our experience of Drupal 7 was that contributed modules started being usable one year after the initial Drupal 7 release.
4. How much do Drupal 7 developers have to learn?
Some major changes to Drupal 8 are the introduction of the Twig templating system for the theme layer, the introduction of components of the Symfony framework into core, the plugin system and a general principle to move to an object-orientated style of programming from the previous, procedural style. Drupal 7 developers, therefore, have quite a bit of learning to do.
It is expected that over the next year interest in Drupal 8 will grow and more developers will begin learning the skills needed to work on a project. The Drupal community has done an excellent job of providing support material on the Drupal.org website with better documentation than previous versions of Drupal had.
Development teams will need to start ramping up their training now to support the projects they will be taking on in the next 6 months or risk being left unprepared.
5. Will Drupal 8 make Drupal builds cheaper?
As with previous versions, Drupal 8 will have no license fee so is free to reuse.
The cost of projects are unlikely to be significantly different compared with projects built with previous versions of Drupal.
However, we believe that there will be long term reductions in the total cost of ownership because of the improvements made under the hood in Drupal 8. Development best practices have been introduced including a new plugin system making it easier to extend and enhance Drupal 8 compared with previous versions.
6. Will Drupal 8 sites be quicker to build?
There has been significant improvements in what is known as DX, or developer experience. These should improve the abilities of the development team to develop sites and diagnose issues.
Examples include moving to Object-Oriented OO coding principles which organises code more logically and in a manner the developer tools understand. This means that code can autocomplete in their editing tools. Another example is the Twig templating layer which better organises the theme system in Drupal, meaning that it is harder for developers to create untidy code.
Of course, many development teams have been applying these practices on top of Drupal 7 already so are already getting the benefits of these tools and practices which are now in Drupal 8 core.
Implications for Drupal 7
7. Is there an upgrade path from previous Drupal versions?
The Migrate module is included in Drupal 8. Migrate provides a series of tools a developer can use to map content in a Drupal 6 or 7 website to its location within a Drupal 8 website. Although not a simple process, it does mean the migration path from previous versions of Drupal is available.
8. How long will Drupal 7 support last now Drupal 8 is out?
The Drupal community is committed to supporting the previous version of Drupal. This means Drupal 7 will be supported until Drupal 9 is released. There is currently no official release date for Drupal 9 and so no end of life date for Drupal 7.
I expect support for Drupal 7 for many years, particularly considering the huge install base of Drupal 7 sites.
That concludes our Drupal session for this week. In part two, we’ll be covering the all-important new functionality in Drupal 8, as well as some crucial front end issues.
Information on Deeson's Drupal services can be found here.