Problem/Motivation

We should have a set of handbook pages as part of making this module stable.

The current handbook is located here: https://www.drupal.org/docs/8/core/modules/experimental-layout-builder

Proposed resolution

Current outline is:

Layout Builder overview

  • Summarize what Layout Builder is capable of
  • *Briefly* describe how it can be used in a default or override context, include links to the "Creating Layout Defaults" and
    "Creating Layout Overrides" pages in this handbook for more details.
  • *Briefly* describe inline block functionality, can link to more detailed coverage of this topic in the "Building Layouts Using The
    Layout Builder UI" page.

Creating Layout defaults

  • Layout Defaults in Layout Builder (summarizes what they are and their specificity)
  • Example: Creating a Layout Default for the Article content type

Creating Layout Overrides

  • Layout Overrides in Layout Builder (explanation)
  • Example: Creating a Layout Override for an Article Node

Building Layouts Using the Layout Builder UI

  • Accessing the Layout Builder UI
  • Example: Building a Page Layout in Layout Builder
    • Adding Sections
    • Add content (Blocks) section incomplete
  • @todo Editing existing Layouts
    • @todo Moving blocks
    • @todo Cancelling Changes and reverting to defaults

Additional modules

  • Layout Builder Restrictions

Theming and Extending

  • Defining custom layouts
  • @todo add section on theming

Other pages could be

Using Layout Builder and Content Moderation

This functionality is not done but will probably need explaining on how it works

To help write docs

Because Layout Builder is experimental and has been changing you try the Layout Builder out either on your computer or using https://simplytest.me/ to make sure the functionality is the same.

We should be documenting the 8.7.x branch.

Online articles/tutorials:

Other sources of inspiration... These might be useful for anyone who wants to help with the docs to brush up on how it works.

But remember functionality might have changed since these were written, so make sure you test with a 8.7.x version of Layout Builder.

Comments

tim.plunkett created an issue. See original summary.

larowlan’s picture

Status: Postponed » Active
tim.plunkett’s picture

Version: 8.5.x-dev » 8.6.x-dev

Drupal 8.5.0-alpha1 will be released the week of January 17, 2018, which means new developments and disruptive changes should now be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

tim.plunkett’s picture

Component: layout.module » layout_builder.module

Version: 8.6.x-dev » 8.7.x-dev

Drupal 8.6.0-alpha1 will be released the week of July 16, 2018, which means new developments and disruptive changes should now be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

tim.plunkett’s picture

Status: Active » Closed (duplicate)
Issue tags: -Blocks-Layouts, -Layout Builder stable blocker
tim.plunkett’s picture

Title: Improve Layout Builder hook_help() and write handbook documentation » Write Layout Builder handbook documentation
Status: Closed (duplicate) » Active
Issue tags: +Documentation, +Blocks-Layouts, +Layout Builder stable blocker

Rescoping this to be about the handbook page (https://www.drupal.org/docs/8/core/modules/layout_builder) while the other is about hook_help()

tim.plunkett’s picture

benjifisher’s picture

At least mention this contrib module (if only to spare the regulars on the Slack channel from repeatedly answering the same question): Layout Builder Restrictions

tedbow’s picture

I have created the start to the page: https://www.drupal.org/docs/8/core/modules/experimental-layout-builder

I made some stub pages.

tedbow’s picture

Issue summary: View changes
volkswagenchick’s picture

Issue tags: +fldc19, +sfdug, +njdc19

Tagging for upcoming collaboration days.

volkswagenchick’s picture

Issue tags: -njdc19 +dcnj19
tim.plunkett’s picture

I fixed the handbook page URL instead, it now matches the correct URL in core:
https://www.drupal.org/docs/8/core/modules/layout-builder

benjifisher’s picture

I added a child page, https://www.drupal.org/docs/8/core/modules/layout-builder/additional-mod..., in response to my comment in #10. I guess that @tedbow is the only one with access to add it to the menu.

volkswagenchick’s picture

Issue tags: +midcamp2019

Version: 8.7.x-dev » 8.8.x-dev

Drupal 8.7.0-alpha1 will be released the week of March 11, 2019, which means new developments and disruptive changes should now be targeted against the 8.8.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

bnjmnm’s picture

Version: 8.8.x-dev » 8.7.x-dev

Here's the structure I currently have in mind for the documentation. I can move this to the issue summary once there's been an opportunity for users to weigh in and point out items that should be added or removed. Items without @todo already exist in the documentation.

Layout Builder overview

  • @todo summarize what Layout Builder is capable of
  • @todo *briefly* describe how it can be used in a default or override context, include links to the "Creating Layout Defaults" and
    "Creating Layout Overrides" pages in this handbook for more details.
  • @todo *briefly* describe inline block functionality, can link to more detailed coverage of this topic in the "Building Layouts Using The
    Layout Builder UI" page.

Creating Layout defaults

  • Layout Defaults in Layout Builder (summarizes what they are and their specificity)
  • Example: Creating a Layout Default for the Article content type

Creating Layout Overrides

  • Layout Overrides in Layout Builder (explanation)
  • Example: Creating a Layout Override for an Article Node

Building Layouts Using the Layout Builder UI

  • Accessing the Layout Builder UI
  • Example: Building a Page Layout in Layout Builder
    • Adding Sections
    • Add content (Blocks) section incomplete
  • @todo Editing existing Layouts
    • @todo Moving blocks
    • @todo Cancelling Changes and reverting to defaults

Additional modules

  • Layout Builder Restrictions

Theming and Extending

  • @todo add section on adding custom layouts
  • @todo add section on theming
xjm’s picture

I think that's a totally fine organization; thanks @bnjmnm!

(Small content style note: our docs standards specify using sentence-case for handbook page titles. So "Theming and extending" rather than "Theming and Extending", etc. "Layout Builder overrides" is correct because "Layout Builder" is a proper noun.)

webchick’s picture

Assigned: Unassigned » webchick
Issue summary: View changes
Status: Active » Needs work

Marking as "needs work" to indicate that there's stuff there already. And quite good stuff, too! Assigning to myself to work on this awhile.

Updating the issue summary a bit, including with the contents of #19, I'll get specific feedback from the #documentation folks, too.

webchick’s picture

First order of business:

https://www.drupal.org/docs/8/core/modules/layout-builder
"Layout Builder provides layout building utility for managing the display of all fieldable entities on a site."

Glarby flarby blergen flerg? :)

How about:

"Layout Builder provides an easy-to-use page builder for site builders and content authors to create layouts to templated content (e.g. all articles) or one-off content (e.g. a single About Us page)."

...or something more "human friendly." :) (Set it to that; we can further refine and/or revert the revision if you disagree.)

webchick’s picture

Filled out the stub page at https://www.drupal.org/docs/8/core/modules/layout-builder/layout-builder... with some actual text. Copy/pasted some of the text from https://dri.es/why-drupal-layout-builder-is-so-unique-and-powerful as a starting point. We will probably want a screenshot or two on this page as well, but probably best to wait until things are pinned down.

webchick’s picture

Issue summary: View changes

And adjusting issue summary to that effect...

webchick’s picture

Ooof. More of this "entities, instances, bundles... oh my!" speak at https://www.drupal.org/docs/8/core/modules/layout-builder/creating-layou....

This is important information, for people who understand how Drupal's underpinnings work. However, this interface is largely targeted at people who do not. So I feel like maybe we should create a separate page, or sub-section on each of these pages, like "For techies" or "Under the hood" or something.

For now, I changed:

Layout Defaults in Layout Builder
Layout Defaults are Page Layouts that apply to all non-overridden instances of an entity.

The specificity of a Layout Default depends on the entity type it is used with:

For entity types that use bundles, Layout Defaults are created on a per bundle basis. For example: A layout default would be created for the Article bundle (AKA content type) of the Node entity type, or a layout default would be created for the Tags bundle (AKA Vocabulary) of the Taxonomy entity type.
For entity types that do not use bundles, such as User, the Layout Defaults are created for all non-overridden instances of that entity type.
Whether or not an entity type uses bundles, Layout Defaults are applied on a per-view-mode basis. This means Layout Builder can be used on some view modes but not others. It also means different view modes can use different Layout Defaults - for example  the “Teaser” view mode for a content type can use a different Layout Default from its default view mode.

To:

Layout Defaults in Layout Builder
Layout Defaults are Page Layouts that will be used as long as no layout overrides exist. The specificity of the layout will depend on the piece of content it's applied to:

Some entity types, such as Content Types and Vocabularies, have "sub-types" attached (known as "bundles" under the hood) (e.g. "Articles" or "Blog posts" in the case of Content types; "Tags" or "Categories" in the case of Vocabularies). In this case, default layouts apply to all content of that specific sub-type (e.g. a layout default for Article applies to all Articles on the site, but not to Blog posts).
Other entity types do not have sub-types, such as Users. In this case, layouts will apply across the board, unless otherwise overridden.
Layout defaults are also applied on a "per-view-mode" basis (a view mode specifies a different context in which a piece of content may be displayed, such as Search results or Teaser). This means Layout Builder can be used on some but not others, and that different view modes can use different Layout Defaults - for example  the “Teaser” view mode for a content type can use a different Layout Default from its default view mode.

This is still a lot more "in the weeds" than I would otherwise like (we try and avoid using "entity" in documentation, and the "Anglicization" also contains controversial language like "sub-type" — eep!); however, I can see why it's important to understand these concepts because otherwise it's rife for confusion about "Yo! Why did my layout not show up?!"

webchick’s picture

Skipping around a bit, https://www.drupal.org/docs/8/core/modules/layout-builder/additional-mod... looks good. I added some descriptions to those modules, copy/pasta/modified from the project pages.

Though one thing of note is https://www.drupal.org/project/layout_builder_modal is not covered by the sec. team so I'm not sure if we want to recommend it in "official" docs.

webchick’s picture

Issue summary: View changes

Put some actual content at https://www.drupal.org/docs/8/core/modules/layout-builder/theming-and-ex... too, linking it to https://www.drupal.org/docs/8/api/layout-api which I just learned exists. (Thanks, @tim.plunkett!) The theming part is wayyy above my pay grade, however, and also (according to the team) not actually writable yet while things are still in flux.

Updating issue summary.

webchick’s picture

Assigned: webchick » Unassigned
Issue summary: View changes
Issue tags: -Layout Builder stable blocker

Ok, out of steam for now.

Basically, I'd like to talk more about what level of sausage factory we're exposing here, and/or who the target audience of these docs are, and see if we can negotiate something sensible there.

Also, I spoke with @jhodgdon in the #documentation channel, and she pointed out that:

Yeah, I wouldn't worry about getting the docs done until after the module has stabilized. Consider marking the stub page(s) as Incomplete and putting a note at the top that the docs are coming soon.

and also...

You could write Help Topics! :)

Which is a great idea for 8.8. :)

But since this is not part of the docs gate, removing that inference in the issue summary, and also removing the tag. This still remains a priority for the team, but it makes more sense to drill on it after we (hopefully) manage to make the module stable in time for 8.7. (Or in any event, after the UI is locked down.)

bnjmnm’s picture

Very pleased that @webchick honed in on exactly the areas that I was concerned about. "Glarby flarby blergen flerg" is a pretty apt description for some of the things I could't quite articulate my reservations about 🙂  

eatings’s picture

I re-rewrote Angie's introductory blurb at https://www.drupal.org/docs/8/core/modules/layout-builder with something I felt was a bit more humane and introductory-user-friendly:

Drupal 8's Layout Builder allows content editors and site builders to easily and quickly create visual layouts for displaying content. Users can customize how content is arranged on a single page, or across types of content, or even create custom landing pages with an easy to use drag-and-drop interface.

Explore the sections below to find out how to get started with Layout Builder and how to apply it to templated types of content.

I understand that this tone and voice is a bit more personal/less explicitly developer-centric than pretty much every other core module meta-page, but to quote Muad'dib when he first met Liet-Kynes... "It seemed the right thing to do."

If that sort of voice is okay, I'm happy to expand it to the rest of the Layout Builder docs.

bnjmnm’s picture

@eatings, as someone who wrote many of the initial drafts of the Layout Builder documentation, I fully support your efforts in making it friendlier and more human readable. It's difficult to write properly-empathetic user-friendly documentation for something we spend 50+ hrs a week building. I'm very pleased you're interested in expanding on this.

The only place that would ever be of concern is if it removes important technical details. I certain they can coexist happilyl I'll keep an eye on the changes and chime in if this happens to come up. You are also welcome to ask questions in this issue or directly message me in Drupal slack if you'd like clarification on how something works before you write about it. I'm pleased with how approachable the Layout Builder UI is, and similarly pleased that there is interest in making the documentation friendlier as well.

Version: 8.7.x-dev » 8.8.x-dev

Drupal 8.7.9 was released on November 6 and is the final full bugfix release for the Drupal 8.7.x series. Drupal 8.7.x will not receive any further development aside from security fixes. Sites should prepare to update to 8.8.0 on December 4, 2019. (Drupal 8.8.0-beta1 is available for testing.)

Bug reports should be targeted against the 8.8.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.9.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.7 was released on June 3, 2020 and is the final full bugfix release for the Drupal 8.8.x series. Drupal 8.8.x will not receive any further development aside from security fixes. Sites should prepare to update to Drupal 8.9.0 or Drupal 9.0.0 for ongoing support.

Bug reports should be targeted against the 8.9.x-dev branch from now on, and new development or disruptive changes should be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.9.x-dev » 9.2.x-dev

Drupal 8 is end-of-life as of November 17, 2021. There will not be further changes made to Drupal 8. Bugfixes are now made to the 9.3.x and higher branches only. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.15 was released on June 1st, 2022 and is the final full bugfix release for the Drupal 9.3.x series. Drupal 9.3.x will not receive any further development aside from security fixes. Drupal 9 bug reports should be targeted for the 9.4.x-dev branch from now on, and new development or disruptive changes should be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.4.x-dev » 9.5.x-dev

Drupal 9.4.9 was released on December 7, 2022 and is the final full bugfix release for the Drupal 9.4.x series. Drupal 9.4.x will not receive any further development aside from security fixes. Drupal 9 bug reports should be targeted for the 9.5.x-dev branch from now on, and new development or disruptive changes should be targeted for the 10.1.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.5.x-dev » 11.x-dev

Drupal core is moving towards using a “main” branch. As an interim step, a new 11.x branch has been opened, as Drupal.org infrastructure cannot currently fully support a branch named main. New developments and disruptive changes should now be targeted for the 11.x branch. For more information, see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 11.x-dev » main

Drupal core is now using the main branch as the primary development branch. New developments and disruptive changes should now be targeted to the main branch.

Read more in the announcement.