Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Layout Options module to GovCMS #183

Open
Benjen opened this issue Apr 30, 2021 · 4 comments
Open

Add Layout Options module to GovCMS #183

Benjen opened this issue Apr 30, 2021 · 4 comments

Comments

@Benjen
Copy link

Benjen commented Apr 30, 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

@thisisalistairsaccount
Copy link

Tied to Drupal 8 version at govCMS/GovCMS8#613

@pellegs
Copy link

pellegs commented Mar 10, 2022

as of 10/3/2022 module is not covered by Drupal’s security advisory policy.

@thisisalistairsaccount
Copy link

Noting the module isn't currently covered by the Security Advisory Policy, I'll mark this is a "Blocked" for the interim.

@thisisalistairsaccount
Copy link

Hi @Benjen it looks as though module is now stable and has Drupal 10 support.

I'll remove the blocked from this tag, and for those interested in this module, please leave a comment on this issue to show interest

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants