How to: Request a new GovCMS Drupal module

How to: Request a new GovCMS Drupal module

This document explains how to request that a new Drupal module be supported by GovCMS. It contains the following sections:

Overview

A new Drupal module may be added to the GovCMS distribution provided it meets GovCMS assessment criteria and passes threat and risk assessments and internal approvals.

To be considered for inclusion into the distribution, the requested module must:

  • apply to Drupal 8 and be compatible with Drupal 9
  • add value for the broader usage of the GovCMS community
  • provide functionality that is not available using other methods or existing modules
    Example: Using simple JavaScript in a site theme.
  • be supported and regularly maintained by its creator
  • be a stable release with Drupal security coverage
  • not conflict with other modules already in the distribution
  • not significantly alter the underlying GovCMS security posture.

How can I request a new module and what information do I need to provide?

A new module request template is available in GitHub (GitHub > govCMS > govCMS8 > issues > new) at:

https://github.com/govCMS/govCMS8/issues/new?assignees=&labels=enhancement&template=module-request.md&title=Add+XXXX+module+to+GovCMS8

It contains mandatory questions that help the GovCMS and Service Operations teams evaluate and assess the module. After the request has been created, it is public facing, which means that other members of the GovCMS community can, and are encouraged to, comment on the request. Table 1 lists the questions and provides guidance for answering each.

Table 1 Request template questions

Question

Response guidance

What value does this module/package add to GovCMS?

Include a general summary and a comment about how it would benefit your GovCMS website.

Phrase this response so that it identifies the problem that needs to be solved, preferably using the following format:

As a <your GovCMS role> I want to <required action>

Example: As a Content Editor I want internal URLs to show the URL Alias and not the internal node/xx URL.

Please provide a brief outline of what this module does.

Explain the module’s functionality.

Who does this module benefit:

[ ] end users

[ ] content editors

[ ] site builders

[ ] themers

[ ] developers

Multiple selections are allowed.

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

If similar functionality:

  • is provided by a module that is already in the distribution, explain why the requested module is preferred
  • can be achieved using another method, explain why that method is inadequate.

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

If the module affects HTML or JavaScript output, explain:

  • the extent to which it is modified
  • why other alternatives are unsuitable.

Note: The preference is to avoid changes to the existing GovCMS HTML and JavaScript output.

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

Identify and explain any security issues or other major outstanding issues or concerns. A screenshot of the issue queue can be included.

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

If the module provides multiple permissions, list and explain each.

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?

Explain how difficult it is to roll back the module and whether this would cause any issues.

Is the module designed to capture anonymous user data?

If the module captures anonymous user data, explain:

  • what data is captured and why
  • where the data is stored.

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

If the module is not fully cacheable or may affect other pages, explain which pages and why.

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?

Include as much assessment information as possible.

Example: How many Drupal sites use this module?

Additional information

Include a link to the module on Drupal.org.

If security or other issues were identified, include a brief assessment of whether these could be resolved by the GovCMS community.

Assessment criteria

The GovCMS assessment and approval process uses Agile methodology to thoroughly evaluate the need for and impacts of including the requested module in the distribution. It considers the following criteria:

  • Does the current distribution have an acceptable workaround?
    Note: This criterion is designed to avoid ‘distribution bloat’, i.e. having multiple modules in the distribution with similar purposes.
  • What level of support does the maintainer provide for the module? Are there any support and maintenance concerns?
  • Are there any security issues? If yes, then:
    • What are the issues?
    • Can the issues be resolved by the GovCMS community?
    • Can the requesting agency coordinate the GovCMS community to develop the security solution?
  • Are there any other major outstanding issues or concerns? If yes, then:
    • What are the issues?
    • What is the likely impact on GovCMS?
    • Can the issues be resolved by the GovCMS community?
    • Can the requesting agency coordinate the GovCMS community to develop the solution(s)?
  • If other members of the GovCMS community have commented on the request, what do the comments indicate?

Contact details

Need to contact us? Please email: GovCMS@finance.gov.au