govCMS / GovCMS8

Current stable release of the main GovCMS8 distribution.
GNU General Public License v2.0
60 stars 57 forks source link

Add Layout Paragraphs module to GovCMS8 #614

Open Benjen opened 3 years ago

Benjen commented 3 years ago

What value does this module/package add to GovCMS?

Layout Paragraphs provides an intuitive drag-and-drop experience for building flexible layouts with paragraphs. It provides a much more intuitive interface for content editors to add layouts, and add and arrange content within paragraphs. The interface provides a much less cluttered UI for interacting with paragraphs (i.e. reduces the visual complexity of a form which has multiple layers of paragraph nesting). Content editors can also see in realtime how their content will look with respect to layout as then edit a page. Think of it as layout builder for paragraphs.

One great advantages of this module is that it doesn't override existing content pages already using paragraphs. If you enable the Layout Paragraphs module it will not affect any existing paragraphs already on a page. This means you don't have to retrofit existing content after enabling this module. They can keep working as before and you can just use the new layout method for new content. Of course you can go back and retrofit older content but that is optional.

Please provide a brief outline of what this module does.

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

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

Not possible without a custom module and a lot of time and effort. This is not something which could easily whipped up as a custom module. It is possible to create layouts by creating paragraph types specifically for layouts, the UI is very cluttered and there is little indication of what the final paragraph will look like once it is displayed. The Layout Paragraphs module is designed to address this very issue by taking the very utilitarian paragraphs edit form and making it into something intuitive to use.

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

No

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

Latest release: 1.0.0 (20 May 2021) Security: covered by Drupal Security Team. Bugs: 60 (24 open) Issues: 107 (52 open) Commits: are made regular by a number of different contributors.

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

The module adds one new permission: "Allow access to the 'Layout plugin configuration' form when creating/editing a Layout". Other than that users need the same permissions as would be required for anyone working with paragraph based content.

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?

No. All layout related data is stored within the paragraph object using the Paragraphs Behaviors API provided by the Paragraphs module. This information is stored in the behavior_settings field in the paragraphs_item_field_data table in the database. The behavior_settings field is provided by the Paragraphs module.

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.

I believe so since it leverages the Paragraphs module.

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?

Additional information

n/a

thisisalistairsaccount commented 3 years ago

https://www.drupal.org/project/layout_paragraphs

Benjen commented 3 years ago

Version 1.0.0 was released on 20 May 2021. This means that the module is now covered by the Drupal Security Team. I have update the ticket description to reflect this change in the module's status.