Layouts for Drupal 8

At the Web Services and Context Core initiative sprint earlier this month, we attempted to re-scope the initiative so that it was more manageable and less daunting. We decided to spin off one of the major components of what it was trying to tackle into its own separate initiative, the Layout initiative.

The goal of the Layout initiative is to make all elements on the page into contextual blocks that can be rearranged and organized into flexible layouts (and even layouts within layouts) through a drag and drop interface.

Specifically, the initiative breaks down as:

  1. Contextual blocks: Provide the ability to pass in relevant configuration data to blocks so they can react on something other than the URL of the request.
  2. Blocks everywhere: Make all page elements—from the site logo to menus to the main page content—into blocks which can be treated the same.
  3. Multiple page layouts: Choose from either pre-configured layouts such as "3-Column" and "Grid" or make your own custom layouts for pages.
  4. Partial page rendering: Allow for individual page components to be loaded and rendered independently, allowing for better performance and independent AJAX requests.
  5. Better UI/UX to manage blocks: A visual, drag and drop interface for creating page layouts and populating with blocks.

This approach to building pages yields a number of benefits, including the ability to customize the look and feel of a site based on a variety of contextual information, the ability to render parts of the page independently for performance, increased consistency, and increased flexibility for site builders to re-use page elements in a number of contexts.

I've asked Kris "EclipseGc" Vanderwater to head up the Layout initiative team. Kris has spent a lot of time working with Panels and Page Manager, and intends to work closely with Earl Miles and other maintainers of the CTools suite. Read Kris's blog post for an overview of the initiatives' goals. Note that like all initiatives, they don't actually materialize unless people decide to help. Please join the discussions in the Blocks and Layouts Everywhere Initiative on groups.drupal.org and help work on Layout issues on drupal.org.

Comments

Dave Reid (not verified):

Congrats Kris and looking forward to the work coming out of this initiative.

March 2, 2012 - 17:50
Larry Garfield (not verified):

Welcome aboard, Kris! This is crazy important. Let's make it happen.

March 2, 2012 - 18:06
budda (not verified):

This will be a great piece of functionality to hit Drupal core.

March 2, 2012 - 18:13
Leander Lindahl (not verified):

Hey this sounds like really interesting and a nice evolution of the contextual links concept. Panels is a great concept but, from my experience (which could be biased), not quite ripe for non drupalistas (such as average non technical editors/admins). What your sketching in this post could mean a great leap forward in intuitivity for end user (end editors/admins).
Very nice choice of path...

March 2, 2012 - 20:03
Antti Kettunen (not verified):

This looks very interesting. A good decision to separate this from WSCCI!

March 2, 2012 - 20:14
Erik Evrard (not verified):

Cool, this is mouth-watering stuff.
But I feel a little frustrated that I have to wait so long before I can offer it all to my customers.

March 2, 2012 - 20:35
Dries:

Help by contributing, and we may be able to get there faster.

March 2, 2012 - 22:38
Artusamak (not verified):

Great news!
Good luck for the work Kris! Make the context management rock for D8! I'm sure we'll be able to find a proper way to have translatable blocks everywhere too. ;)

March 2, 2012 - 23:44
patrickd (not verified):

OMG! Can d8 even get more awesome?

March 3, 2012 - 01:02
Larry Garfield (not verified):

Drupal 8 isn't awesome at all yet. It's going to take a ton of work to get there, on this and other initiatives. Not just coding, but clearing the road ahead of blockers so that we can work.

This is just a plan for awesome. If you actually want awesome, come help make it awesome.

March 3, 2012 - 19:09
Paolo (not verified):

This is exciting. I always build sites where clients are only just content editor and I never give them access to the block configuration because it's so confusing for them. So I'm definetely willing to help. as much as I can.

Recently I stumbled upon this module that introduces the concept of layouts. I don't think it's really maintained but there might be some code or approach of interest.
http://drupal.org/project/custompage

March 3, 2012 - 02:00
Thomas Svenson (not verified):

Great news. Congrats Chris.

Really nice to see WSCCI sobering up a bit, realizing it can't gobble up the whole bottle :)

March 3, 2012 - 04:11
Paolo (not verified):

OT
Are there other initiatives on the work? Any chance to see some sort of content listing feature in core for D8? It really seems the missing block at this point to offer out of the box functionality for the most common use cases.

March 3, 2012 - 08:20
Tomas Persson (not verified):

D8 is going to rock out of the box with this feature built in. Power layouts with ESI support will take us to a new level of site building for the enterprise.

March 3, 2012 - 08:30
Gábor Hojtsy (not verified):

Congrats! Looking forward to working with you more :)

March 3, 2012 - 16:27
Riau Flasher (not verified):

Cool, this is mouth-watering stuffed. But I feel a little frustrated that I have to wait so long before I can offer it all to my customers.

March 3, 2012 - 16:32
Anonymous (not verified):

I think Display Suite might have a lot to offer this initiative. Has a review of contrib modules which might lend to the cause been carried out already?

March 5, 2012 - 10:57
Anonymous (not verified):

Can it add into mater repo branch (drupal project). Or a docs page to list all these D8 stuff.

March 5, 2012 - 12:56
marcvangend (not verified):

Congrats Kris, this is great news.

I'm just a bit worried seeing Panels and Page Manager being mentioned in this page, because IMHO those tools often seem to be too complex for most lay-out problems. For my own peace of mind, I'll just assume that they were only mentioned to illustrate Kris' knowledge on the subject.

March 5, 2012 - 13:13
Hixster (not verified):

Excellent news, this sounds like a real step in the right direction. Having the ability to choose different layout per page is something we've been hankering for,for a long time.
Can't wait :-)

March 6, 2012 - 11:42

Add new comment

© 1999-2014 Dries Buytaert Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.
Drupal is a Registered Trademark of Dries Buytaert.