Content Management
Web Development

Drupal 8 Ships: What Five Years Bought

Drupal 8.0.0 shipped November 19, five years after work began. Three years ago we translated its founding bet for the planning calendars it would eventually reach. Symfony components. Modern PHP. Shared foundations over homegrown ones.

The calendars can now be marked. The modernization delivered as promised. The release is the biggest in the platform’s history. And the transition costs we warned about in 2012 are exactly as real as warned.

Both halves deserve equal weight. The release earns real enthusiasm, and the migration earns real planning. The platform talks of the next two years will go badly for anyone who heard only one half. Here is the working review, from a practice that has deployed every Drupal since 4.7 and has been building against 8’s release candidates all fall.

What five years actually bought

  • Configuration management, the operations headline. Drupal 7 sites deploy config changes through a folk practice of manual steps and feature-module workarounds. Version 8 makes config exportable, versionable, and deployable, as a first-class feature. Translation for the owners: the dev-to-staging-to-production discipline our operations practice requires stops fighting the platform. Deployments can be reviewed. A whole genre of it-worked-on-staging incidents structurally shrinks. This is the least demo-friendly feature in the release and, for institutional sites, the one that pays weekly forever.

  • The assembly baseline moves into core. Views, the query-and-display builder that has been the first install on every Drupal site this decade, ships in core, alongside WYSIWYG editing. The practical effect: a bare Drupal 8 install starts where a configured 7 install used to. The module scavenger hunt that made ‘vanilla Drupal’ a punchline is largely over for the baseline case.

  • Mobile-first administration. The admin experience works properly on the devices editors actually carry. The mobile-majority math of this year makes that a requirement rather than a courtesy.

  • The multilingual system, native and complete. The headline for our international clients. The four-project module assembly our series has configured for years collapses into core. Content translation, interface translation, language handling, all native. The result is the most complete multilingual foundation in its class. For the universities recruiting globally and the groups serving multilingual communities, this alone justifies adding 8 to evaluations that were not otherwise scheduled.

The migration honesty, unchanged since 2012

The other half, restated at delivery exactly as it was at announcement. 7-to-8 is a re-platforming, not an update.

The Symfony-era architecture that makes 8 worth having is the same distance that makes the crossing a project. Content migrates through supported paths. Custom code does not. Modules and themes get rewritten in the new patterns.

And the contributed modules need their season. They are the platform’s superpower and, at every major version, its schedule-setter. The essential stack is close behind core. The long tail will take a year or more, per the pattern of every transition since our 6-era coverage.

The retooling cost is real for teams as well as code. Developers fluent in 7’s hook-driven style face the modern-PHP learning curve the community has been candid about. The training shifts our 2012 piece recommended are now due for anyone who deferred them.

None of this is a complaint. It is the price of the modernization, disclosed on schedule. The sites that budget it as the project it is will cross comfortably. The version-bump optimists will discover the distance mid-stream.

Builder’s notes from the release-candidate fall

Field notes from our autumn against the release candidates, for the teams scoping first builds.

The configuration-management workflow rewards adoption from the first hour, not as a later habit. Config exported to version control from initial setup means the whole build history can be reviewed. Teams that started loose and adopted the workflow mid-project spent an afternoon untangling what the from-day-one projects never did.

The theme layer’s rework, the Twig templating that replaced the old engine, is the sleeper improvement for our front-end practice. Templates readable by the same designers our Sightly coverage cheered at the enterprise tier, with the safe-by-default output handling that pattern brings. Retraining for theme developers takes days, not the weeks the module-layer retooling honestly takes.

The multilingual setup deserves its own planning session even on single-language builds. The language-handling decisions, enabled at install, structured deliberately, are far cheaper to make early than to retrofit. The international clients this feature set serves best usually discover their second-language need two years after launch. An hour of foresight leaves the door framed.

And the performance setup out of the box is decent but still wants the usual checklist. Caching layers configured, aggregation on. Defaults serve the median case, and institutional traffic is not the median case.

Ordinary field notes, deliberately ordinary. The release candidate behaved like a platform, which after five years of work is the finding.

Adoption guidance, by situation

The advice, sorted the way we always sort platform questions.

New complex builds: strong candidate now. For multilingual or structured-content-heavy projects, arguably the strongest in its class. Season the enthusiasm with per-feature module-readiness checks, and design with the config workflow from day one.

Existing Drupal 7 sites: no panic, genuinely. Drupal 7 is supported alongside 8 for years yet under the community’s policy. The module season argues for patience, and the right move this quarter is planning, not migrating. Inventory the custom-code surface, since each piece is a rewrite line item. Watch the readiness of the modules your site actually uses. Slot the crossing into the redesign cycle it naturally pairs with. Rebuilds and re-platformings share overhead. Couple them.

Existing Drupal 6 sites: your support clock ends with 8’s arrival, under the policy we flagged in 2012. ‘Eventually’ just became a dated duty. The destination question, 7 as a bridge versus directly to 8, now runs through the module inventory, and the conversation should be this quarter’s.

The community shipped the hard thing, five years in the making, and shipped it well. Adopters should do the deliberate thing, which has a shorter lead time but the same discipline. Both halves, as promised.