Views in Drupal 8

Views is the #1 most-used contributed module, installed on nearly 70% of all Drupal websites. The ability for non-developers to create listings for pages, blocks, calendars, photo galleries, and more through a web interface, complete with developer-friendly features such as caching, is one of the primary differentiating factors that makes Drupal shine.

While Views has excelled as a contributed module, bringing Views into Drupal core is now a clear strategic decision. Having Views in core will present many advantages:

  • Consistency: Many disparate, legacy solutions are currently used for data listings in core modules. Converting these listings to Views will both improve the Drupal developer experience and make it easier for site builders to customize their sites.
  • Learnability: First-time users of Drupal often don't realize what is possible with contributed modules. Having Views in core will mean that new site builders can more quickly understand Drupal's capabilities out-of-the-box.
  • Release cycle: The stability of Views has in the past been an indicator of when the community considers a release of Drupal "ready". Drupal 7 usage did not start to increase until a development version of Views was available for D7, and it did not pass Drupal 6 usage until Views was stable.
  • Contributor experience: Hundreds of contributed modules rely on the Views API, so these modules are blocked on Views for each release.
  • Stability: If Views is in core, changes that cause Views regressions will be core release blockers, and Views bugs will be treated as core bugs.

A grassroots Views in Drupal Core initiative (VDC) was announced back in May. In the meantime, the team has been very busy with getting the necessary pre-requisites into place. These include various dependencies from the CTools project, as well as a Drupal 8 port of the Views module in contrib.

In this post, I’d like to make Views in Core an official initiative for Drupal 8, alongside initiatives such as Configuration Management, Web Services, and Mobile.

Unlike previous initiatives, Views in Core has an initiative team, rather than a single initiative lead. That team consists of:

  • Earl Miles (merlinofchaos) -- Views creator, VDC chief architect
  • Daniel Wehner (dawehner) -- Views maintainer, VDC technical lead
  • Jess M. (xjm) -- top D8 core developer, VDC patch review & QA, contribution facilitator
  • Tim Plunkett (tim.plunkett) -- top D8 core developer and Views contributor, senior VDC developer
  • Damian Lee (damiankloip) -- top Views contributor, senior VDC developer

In addition to these people, over a dozen other developers have also contributed to the initiative with the team's coordination and guidance.

For more information about the Views in Core initiative, check out Earl's report on VDC. It provides a detailed roadmap on what needs to be done to get Views in Drupal 8, and information about how you can help.


aaronbauman (not verified):

This is a great decision.

Does this mean we can remove Forum from core? ;]

September 26, 2012
Yvan (not verified):

If I understood well.

Many disparate, legacy solutions are currently used for data listings in core modules. Converting these listings to Views will both improve the Drupal developer experience and make it easier for site builders to customize their sites.

This means that Views will be a Drupal Core required, not just like Forum module or other modules that are core but not necessary by the system.

Views has been a problem for very high-traffic website, this means that Drupal 8 will be slower than Drupal 7 ?

But, anyway I think its a great news :)

September 26, 2012
xjm (not verified):

Views will not be a required module. Not even the node module is required anymore. :) What this will probably mean is that some listings will simply be disabled if Views is disabled, while other modules might add Views a dependency. I imagine the Standard profile will ship with Views enabled. We'll need to explore the particulars between the feature freeze deadline (Dec. 1) and the beginning of code freeze (Apr. 1).

Also, I'd say it's simplistic to say that Views is "a problem" for very high-traffic websites. While it's true that a poorly optimized view can cause terrible performance issues, any high-traffic website should already be keeping a close eye on caching and query optimization.

September 26, 2012
Anonymous (not verified):

Views (and drupal core) were never really slow. Just free/cheap webhostings and unexperienced developers can't handle it for great performance - usign APC/xcache for opcode, apc/memcache/MongoDB as cache backend give me server load and pageload times to 10-20% of basic values without optimizations on EVERY project. You can use entitycache and locale_cache modules too if you have overloaded database. You can use MongoDB for sessions and logging(watchdog) to minimize database writes. You can use MongoDB & EntityFieldQuery (efq_views module) as storage for often-changing data... there are many ways.

September 27, 2012
parasolx (not verified):

Well said. I can't think how people said Views will slow down core. Same like before people claim CCK will reduce D7 speed. So what happen now?

I don't think Drupal team will let D8 slow when Views integrated fully in core. How can a very powerful and flexible system running smoothly on cheap webhosting?

September 27, 2012
Tom Geller (not verified):

Yes! Yes! Yes!!!

I'm so glad VDC is an official initiative. This is an important decision that'll make Drupal more useful as a "product" straight out of the box. Thank you.

September 26, 2012
Ben Snyder (not verified):

Great decision! This is going to make D8 THAT MUCH more epic!

September 26, 2012
parasolx (not verified):

I'm speechless... when CCK was announce to be part of Drupal 7, know what.. I never look into Drupal 6 anymore. And its totally very hard to use D6 when I need to aware that CCK have to be installed first.

And now.. pushing Views into core.. gosh!

September 26, 2012
Ashish (not verified):

Great news!

"Stability: If Views is in core, changes that cause Views regressions will be core release blockers, and Views bugs will be treated as core bugs."

Is a huge step in the right direction for such a critical module

September 26, 2012
Anonymous (not verified):

How about those grassroots development initiatives. Speaking of which, what ever happened to smallcore?

September 26, 2012
Ryan Schwab (not verified):

This is great news! Views already feels like an unofficial part of core, this is a great move forward for drupal.

September 26, 2012
Gian (not verified):

Wow! First CCK and then now Views!

I wonder what the implications will be for taxonomy and node reference.

Good luck team!

September 27, 2012
Anonymous (not verified):

@Yvan. No it won't be required.

The most likely thing is that modules (like node and taxonomy) will provide default views for things like /node and /taxonomy/term/$tid. If you don't have views enabled then you don't get those default listings, but then you get to provide them yourself (via EntityFieldQuery or similar). By providing defaults rather than hard-coding router items those modules will actually get lighter rather than heavier.

Additionally, views has better support for query and HTML caching than those core listings currently do (i.e. none at the moment), so while there is some overhead to views in terms of constructing a page, it can be more efficient when configured properly.

September 27, 2012
Oumar FALL (not verified):

Glad to hear that good news. But, like @Yvan, I'm would like to suggest to make His Highness an optional Core Module.

Keep up the good work and thx to the VDC initiative team.

Senegal loves Drupal ;)

September 27, 2012