Now that we’ve returned from the March DrupalCon in Denver and had a chance to reflect, we’ve pulled together this unofficial roadmap to Drupal 8. Here are the top things you need to know about Drupal’s next big evolution.
Mobile-Friendly and Responsive
The biggest change coming in Drupal 8 is the built-in support for mobile. Drupal aims to be a leading platform for mobile content creation and consumption. Drupal’s built-in themes are being converted to a responsive HTML 5 approach, and so are the admin tools (see a mockup* for an example). In Drupal 8, it will be the norm to view Drupal sites on mobile devices as well as to update and maintain them. In addition, Drupal 8 will have tools to power both web apps and native apps built for different mobile platforms like iOS and Android. Drupal 8 will provide better Web Services to deliver content and interactivity to native mobile apps. D8 will be the invisible engine behind snappy, fun mobile apps that rely on widely contributed content and data. What about your existing Drupal mobile sites? Because so much will change in D8 for mobile, your existing solutions may need to be retooled. If you have a home-grown mobile solution powered by Drupal, you may be able to leverage some of your work moving forward. If you use modules such as Mobile Tools, you should expect them to change dramatically for Drupal 8 or be partially replaced by core functionality. But don’t hold off on going mobile just because of the coming changes in D8. The mobile revolution is moving fast and your users expect mobile solutions from you today. See our Tips to Prepare for Drupal 8 below while you build your mobile solutions today. To learn more, follow the official Mobile, HTML 5 and Web Services initiatives for Drupal 8.
A new initiative for Drupal 8 aims to introduce tools for managing blocks, menus and page layout all in one comprehensive UI. The popular Panels module and the Page Manager module are two models that are strongly influencing the planning. If this initiative is successful, some kind of drag-n-drop layout tool will appear in Drupal 8. To learn more, follow this new Blocks & Layouts Everywhere Initiative online.
Dev – Staging – Live
An age-old weakness of previous Drupal versions is the difficulty managing Drupal setting and configuration changes. Because Drupal’s database stores settings and configuration along-side content, it is difficult to establish an effective workflow for moving configuration changes from Development sites to Staging/Testing sites and finally on to Live sites. This weakness may finally be solved in Drupal 8. The Configuration Management Initiative is working on new ways of storing configuration separately from content. The current designs for this new functionality include signed JSON files and a new “Config” API to hold and access all configuration information in one place. This will allow configurations to be managed and moved as files using version control or with other software tools and pluggable back-ends.
Powered by Symfony
Drupal 8 will be adopting components of Symfony, an open-source web development framework. Symfony is a PHP framework this allows developers to use one or more of its components to build web applications quickly. Drupal 8 is planning to adopt some Symfony components such as HttpKernel, Routing and ClassLoader. These components will power core functionality such as HTTP request handling, routing requests to the right handlers, and loading PHP Classes.
- Learn more about Symfony.
- Read about the marriage of Symfony 2 with Drupal 8 (including a 1-hour in-depth video and slides)
More Functionality in Core
Should Drupal core include a WYSIWYG editor? Media handling? The Views module? These tools, and others, are used by nearly every Drupal website, but they are currently not distributed as part of Drupal core. After downloading Drupal, users must download and install all of these other tools as add-on modules in order to have enough functionality to build a modern website. At DrupalCon Denver, project lead Dries Buytaert lead a conversation about what belongs in Drupal core. The community of contributors who actually create Drupal core has significant disagreement and growing pains over the questions of whether more functionality should be bundled into Drupal core or not. Dries and the community discussed pros and cons of a “big core,” “small core” or a “lieutenant” model for expanding core. Although no final decisions were made in Denver, there is a coalescing understanding that Drupal core will be larger, not smaller. The kinds of critical functionality such as WYSIWYG editors, media handling and Views are recognized as critical for building most websites today. And Drupal core needs to include these kinds of functionality to be an effective Web CMS out of the box.
There are also active initiatives for Multilingual improvements to Drupal core as well as a Design initiative to develop a new Drupal core theme. At DrupalCon Denver, Dries stated that he still wants to adopt a few more official initiatives for Drupal 8. The success of any initiative depends on the volunteers who contribute code to Drupal as an open source community effort. So it is up to the community to determine what exactly ends up shipping in Drupal 8.
We predict that Drupal 8 will be released between August 2013 and April 2014. Here are the current target dates that project lead Dries Buytaert has announced:
- Dec. 1, 2012: Feature Freeze (no new big features will be added after this date; the focus is just on polish and fixing bugs).
- Feb. 1, 2013: Code Freeze (after this date, no more changes to API or strings are allowed; only bug fixes will be accepted).
- August 2013: Release Date Target (this is Dries’ target date; Drupal 8 will be released and Drupal 6 will be discontinued at that time).
- August 2013 to April 2014: Release Date Prediction (this is Pixo’s prediction based on past experience).
- Aug. 2014 to April 2015: Stability and Maturity of Drupal 8 (this is Pixo’s prediction; see Hurry Up and Wait below).
Remember, Drupal is an open source product. That brings huge advantages — it will always be free to use and it will never go out of business or be phased out by a corporate takeover. But the improvements in Drupal 8 rely heavily on volunteer programmers and contributions from the Drupal Community. So the exact timeline is subject to change.
Be Prepared to Migrate
The move to any new Drupal version can be complex and labor-intensive. It is important for organizations to begin budgeting and planning for this migration in advance of the “drop dead date.” When version 8 is released, Drupal 6 will no longer be maintained. At that point, no more security updates will be available and it will be important for any Drupal 6 sites to be quickly migrated to Drupal 7. It is also possible to “skip a version” and migrate to Drupal 8. Either of these may be best depending on each site’s individual circumstances. (Contact Us if you would like a cost estimate or guidance.)
Hurry Up and Wait
Once Drupal 8 is released, we still recommend careful evaluation of each site’s needs before making the move. It may be important to wait for some modules critical to your site to become available. After Drupal 7 was released, it took roughly 12 months before many critical add-on modules were stable and for the ecosystem of the new version to be stable and mature. We expect the same after the release of Drupal 8. It is not uncommon for enterprise Drupal sites to be using 100 or more add-on modules. Many of those may be discontinued and never become available for the next version of Drupal, while others may be available albeit with a rocky, manual upgrade path.
Four Tips to Prepare for Drupal 8
- Use Core Functionality: In the modules you are choosing or in the solutions you are building, make sure to leverage what Drupal core provides rather than reinventing the wheel. For example, Drupal 7 fields (CCK) in core and entity data structures should be leveraged so that your data will have a clean upgrade path for the future.
- Be Modular: Make your work and customizations as modular as possible. If you need to rework your approach in a future version of Drupal, you’ll want your code to be broken into small chunks with clear APIs.
- Stick to Proven Modules: Be very careful when selecting or adding Drupal modules. Check the module page to make sure there is a solid history of stable releases. Check the usage statistics at the bottom and look for modules with more than 10,000 active sites. The best plan is to use as few modules as possible — the easiest module to upgrade is the module you never used at all!
- Beware of Areas in Flux: As you grow or build sites in Drupal 6 or 7, be warned that the areas described above such as Mobile and Multilingual will change a lot. You may need to rebuild those aspects of your site as you adopt Drupal 8. That is not a reason to wait on adding functionality that you need now, but it is a reason to monitor those areas of Drupal 8’s development and be ready to rework your solutions to fit the Drupal 8 paradigm.