Skip to content

Add node_revision_delete module to GovCMS #1477

@posttechguy

Description

@posttechguy

What value does this module/package add to GovCMS?

The Node Revision Delete module provides essential database maintenance functionality by automatically pruning old content revisions.
This prevents database bloat, improves site performance, and reduces storage costs - critical for government sites that handle large
volumes of content over time. Revisions are integrated with content types, Media, taxonomy terms, and Paragraphs. On heavy content
with multiple paragraphs, the revisions table grows exponentially, as each revision saves complete copies of all paragraph entities
and their referenced media. On large sites with a lot of activity in their content, compromising performance and disk storage.
Automated revision cleanup is not just beneficial but essential for long-term site stability and performance.

Is the module Drupal 10 compatible?

Yes, the module has been completely rewritten for version 2.x with Drupal 10 and maintains Drupal 11 compatibility. This is a complete rewrite with queue worker functionality.

Please provide a brief outline of what this module does:

The Node Revision Delete module lets you track and prune old revisions of nodes. It automatically deletes old node revisions based on configurable criteria (age, number to keep per content type, etc...). The 2.x version uses a queue-based system with plugins and includes Drush commands for batch processing existing content.

Who does this module benefit:

☑ end users (faster site performance)

☑ content editors (cleaner revision history)

☑ site builders (database maintenance tools)

☐ themers

☑ developers (performance optimization, Drush commands)

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

This functionality cannot be replicated in a theme as it requires database operations and cron/queue processing. Alternative approaches would require custom code using hook_cron(), EntityStorageInterface, and complex revision management logic - significantly more complex and error-prone than using this established module.

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

This module does not alter HTML or JavaScript output - it's purely a backend database maintenance tool.

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

The module is actively maintained with recent activity in February 2025. Recent issues show ongoing development with fixes for queue messaging and user experience improvements. The maintainer is responsive and the module has undergone a complete rewrite for better architecture.

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

Requires 'administer node revision delete' permission (provided by module). Standard node administration permissions are also needed. The module adds granular permissions for managing revision deletion settings.

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?

The module stores configuration data for deletion rules per content type but doesn't modify core node tables or add metadata to nodes themselves. It only removes existing revision records. Risk is minimal as it's purely subtractive - no schema changes to core entities.
Is the module designed to capture anonymous user data?
No, this module does not capture any user data. It only processes existing node revision records for deletion.

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

This module has no impact on page caching as it operates entirely in the background via cron/queue, only removing currently uncached node revisions. There are no frontend output or cache-affecting operations.

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?

I think it is a high quality module with strong community adoption, with nearly 24K adoptees maintaining usage, Usage.
It has an established and consistent maintenance history, and is compatible with Drupal 11.
It will reduce, in some cases significantly, DB storage, request times, and hence user frustration at slow website responses,
whether that be the public or government maintainers

Additional information:

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions