Skip to content
This repository has been archived by the owner on Nov 9, 2021. It is now read-only.

Add Layout Options module to GovCMS8 #613

Open
Benjen opened this issue Apr 29, 2021 · 1 comment
Open

Add Layout Options module to GovCMS8 #613

Benjen opened this issue Apr 29, 2021 · 1 comment
Labels
enhancement Module Module requests and discussion to investigate

Comments

@Benjen
Copy link

Benjen commented Apr 29, 2021

** What value does this module/package add to GovCMS?

Enables one to add widgets providing styling and display options for sections and regions in layout builder. These widgets, which can take the form of radio buttons, checkboxes, dropdown selections or textfields, enable site builders customise these sections and regions without the need for code. Developer can then access the values provided by these widgets in theme preprocess functions to modify the display of these layout regions and sections accordingly. For example, it could allow a site builder to select a background colour for a particular layout section or region.

Normally one would create a custom plugin to add such widgets to the layout configuration form, but this is not possible in GovCMS SaaS since plugins can only be created using custom modules. This contributed module enables one to define and add such widgets to layout build config forms using YAML files which can be stored within the site's configuration folder.

** Please provide a brief outline of what this module does.

Layouts defined in *.layouts.yml files that use the LayoutOptions class provided by this module can then add configuration options using a combination of *.layout_option.yml files and LayoutOption plugins.
The module supplies a set of common LayoutOption plugins.

Some no code examples of configuration options that this module can be built with just Yaml files and the supplied default plugins are:

  • Adding an id attribute to allow anchor references to content.
  • Adding a set of predefined classes users can apply to the layout or it's regions.
  • Allowing custom classes to be added.
  • Attaching libraries to a layout

** Who does this module benefit:
[ ] end users
[ ] content editors
[ x ] site builders
[ x ] themers
[ x ] developers

** How could you provide/replicate the functionality of this module using alternative methods, eg in your theme?

One cannot do this through the theme as the one must create a plugin to add elements to layout builder configuration forms. Plugins cannot be created in the theme layer.

** If this module styles or alters HTML or JavaScript output, can the functionality be provided via the theme? What alternatives have you considered.

See answer to previous question.

** What is the maintenance and support status of the module. Describe the issue queue activity.

Current release: 8.x-1.0 (1 Feb 2021)
D9 compatible: Yes

There are a total of 16 issues in the issue queue:

Status Count
Closed 12
Active 2
Needs review 1
Needs work 1

** What permissions are needed to utilise the module (and are any new permissions provided by the module)?

There are no user level permission required to use this module other than having access to core layout builder functionality as all interaction specific to the Layout Options module is performed by creating and adding YAML files to the site configuration.

** Does the module modify the database structure and/or store additional metadata on nodes or other entities? If so, why? What are the risks for future updates?

This module does not introduce any new database schema nor make modifications to the existing database schema.

** Is the module designed to capture anonymous user data?

No.

** Is the output of the module typically fully cacheable? Would the inclusion of this module potentially render pages uncacheable.

To the best of my knowledge this module would not affect the cacheability of pages.

** What is your assessment of the quality of this module, the contribution history of the module's maintainers, and the uptake of the module within the Drupal community?

  • 271 sites report using this site
  • 6 releases
  • 23 commits by maintainer

** Additional information

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement Module Module requests and discussion to investigate
Projects
None yet
Development

No branches or pull requests

2 participants