This is the first in a series of whitepapers to help Drupal service providers prepare
for Drupal 8. In this paper, we introduce and summarize the features, benefits, and
architecture changes associated with this major release.
Drupal 8 represents a huge step forward for the platform. With a shift to object
oriented programming, and key architecture redesigned from the ground up,
this major release directly targets widely recognized pain points including project
efficiency, and the notorious Drupal “talent crunch.” In addition, many of the most
widely used Drupal modules and features, including Views and a WYSIWYG editor,
are now included in Drupal core.
Preparing for Drupal 8
What’s Staying the Same
Importantly, some major conventions and key characteristics of Drupal are not changing. Drupal remains an open source platform, and its code continues to be licensed under the General Public License. As always, Drupal is a community-driven technology that grows and evolves via the freely shared contributions of its users.
Flexibility and power continue to be hallmarks of the Drupal platform. Drupal 8 continues its historical trend of advancement on these measures, with key improvements in critical areas like performance, usability, and integrations.
Finally, while there are significant changes to Drupal’s architecture, many of the familiar site building and development conventions are retained in Drupal 8. Site builders and end users will find familiar subsystems like Blocks, Views, Taxonomy, and Users, have been improved upon, but the core functionality of these systems remains intact.
Benefits of Drupal 8
Each major version of Drupal brings with it a big step forward in capabilities and user experience. With version 7, Drupal emerged as a competent platform designed to support the requirements of fully featured, enterprise-level websites. With version 8, Drupal matures into a product that is not only powerful and flexible, but best in class on key bases:
• usability • mobile readiness • performance • efficiency • migration • multilingual capabilities • integration • ease of theming • maintainability
• talent pool development
Usability
Drupal 8 is more efficient and intuitive for site builders, managers, and editors, and provides extensive support for WCAG and ATAG accessibility standards. End users have their key must-have tools right out of the box, such as editor-friendly features like an integrated WYSIWYG editor and streamlined content authoring, and a new, responsive
administrative theme. They also get massively improved content previews, a more flexible Block system, and improved support for draft revisions.
Mobile-First Design
Mobile-first, responsive design is incorporated into the default themes that ship with Drupal 8, including the administration theme. With the revamped theme system’s focus on device-agnostic user experience, and with the new support for mobile-friendly
customizations, it’s a snap to design and theme Drupal 8 for both site visitors and administrators--no device-specific code required.
Added to core
Many popular modules and
common Drupal features have been
moved into core. These include:
• Views & Views UI
• WYSIWYG
• CKEditor
• Date field
• Email field
• Entity Reference
• Link field
• RESTful web services
• Edit-in-place
• Telephone field
• Many language and localization
features
• Partial Features functionality
Performance
Historically a challenging area for complex Drupal projects, this release provides best-practice
conventions like more selective JavaScript loading, fast-by-default configuration to speed access on mobile devices, and more sophisticated caching abilities.
Efficiency
With Drupal 8, sites can be deployed and updated more rapidly. The new file-based configuration deployment system separates configuration from content, making it versionable and easy to move between environments. With tools like Views, a WYSIWYG editor, and a large selection of entity fields in core, site builders can skip hours of installing and updating the same modules over and over again. In fact, some organizations may find that they can build their project with Drupal straight out of the box, with much fewer extra modules added.
Migration
An integrated migration system promises to make moving existing Drupal sites to Drupal 8 a simpler, smoother, and more predictable process than in the past. With the integrated tools, automated content migration can run in parallel with a live site, allowing users to keep downtime to a minimum during the switch. Migration tools for moving from Drupal 6 are in core, and the community is hard at work finalizing Drupal 7 migration tools for release.
Multilingual capabilities
The new multilingual tools in Drupal 8 allow for simpler, more effective translation of Drupal
implementations; revamping these capabilities was a priority from the outset. Drupal 8 is optimized to support multilingual and non-English sites from the start: Select your language from installation, gain full control over what parts of content are translatable, translate site configuration (and more!) all with no extra dependencies!
Integration
Drupal 8 makes developing web services easier than it has ever been. Right out of the box, it is ready to interact with other systems via the REST API built into core. Project teams can more quickly and seamlessly extend Drupal 8 to integrate with publishing, marketing automation, CRM, email, single sign-on (SSO), course management, and other platforms in the organization’s IT ecosystem.
Ease of theming
Major changes to the theme layer in Drupal 8 make default conventions more modern and templating simpler and more accessible to front-end developers. Twig, a simple tag-based templating system that replaces PHPtemplate, eliminates the need for themers to use PHP and provides easy access to Drupal variables. Themers also have more control over rendered markup, allowing them to avoid the “div soup” produced in previous versions of Drupal. Finally, Drupal 8 defaults to semantic HTML5 markup and ships with more front-end libraries and responsive features.
Maintainability
Drupal 8’s new architecture and release cycle make site maintenance a more stable, predictable process. Starting with the release of Drupal 8, there will be feature releases (with no API breaks) every 6 months. Under a new semantic versioning model, version numbers like 8.1 and 8.2 introduce new features (but no API breaks), and will be released on a predictable six month cycle. Numbers like 8.1.1 and 8.1.2 provide the bug fixes and security patches historically provided in a minor release. Get new capabilities faster, with a more stable, predictable release process.
Talent pool development
As Drupal 8 is more widely adopted, companies should see some relief from the notorious “Drupal talent crunch.” With the move to more standardized technologies and alignment with current best practices, Drupal development will become more accessible to developers skilled in other technologies. Talented object-oriented PHP developers can readily adapt to Drupal 8 without extensive retraining.
Preparing for Drupal 8
Technology and Infrastructure
System requirements
As with previous versions, system requirements for running Drupal 8 have been upgraded. For full details, visit https://www.drupal.org/requirements. Note that minimum requirements are specified for Drupal core. More resources may be required for large, complex implementations.
Object-oriented programming (OOP)
One of the biggest changes to Drupal’s infrastructure is a move from procedural to object-oriented
programming (OOP). This shift brings Drupal in line with current PHP programming standards. While up front development can require more time and lines of code, OOP produces code that is ultimately more reusable and easier to extend and maintain. It also opens up Drupal development to established OOP PHP developers without major retraining.
New Technologies
Drupal 8 introduces a variety of new technologies into the platform. This is a partial list of major highlights:
• Symfony. The leading PHP framework for creating websites and applications, Symfony2 provides reusable components and is supported by its own active and dedicated open source community.
• Twig. Twig is a tag-based templating engine replacing PHPTemplate. It runs on PHP, but provides a simpler, less-verbose interface that makes Drupal templating more accessible to front-end developers who don’t otherwise need to learn PHP.
• REST. Representational State Transfer (REST) powers Drupal 8’s web services API. One of the simpler approaches to web services, the REST API uses familiar HTTP methods like GET, POST, etc. between remote servers.
Preparing for Drupal 8
• YAML. YAML is described as “a human-friendly data serialization standard for all programming languages.” A very simple language for describing data, YAML is used in Drupal 8 to produce configuration files and serve the purpose of previous .info files; it is parsed with the Symfony2 YAML component.
• PHPUnit. A PHP framework, PHPUnit is a popular tool for writing automated tests in PHP. In Drupal 8, PHPUnit is included in core, providing unit testing capabilities.
• PHP Libraries. Embracing a “proudly found elsewhere” philosophy, Drupal 8 core includes a variety of additional PHP libraries including Guzzle (HTTP client), Assetic (asset manager), EasyRDF (produce metadata in markup) and Doctrine - Common (annotations). Additionally, the Composer tool is included, and used to easily include other PHP libraries and manage dependencies.
• Front-End Libraries. Drupal 8 includes current front-end libraries like jQuery, jQuery UI, Backbone.js, Underscore.js, and Modernizr. This gives front-end developers and themers a wider selection of ready-made power tools to use in their implementations.
Learn More
This overview was the first in a growing collection of whitepapers and other resources the Drupal Association is providing to help Drupal service providers evaluate Drupal 8. Learn more about Drupal 8 at https://www.drupal.org/drupal-8.0.