Install

Works with Drupal: ^11.3

Using Composer to manage Drupal site dependencies

Alternative installation files

Download tar.gz 21.38 KB
MD5: 71316fcb3eac13eaf1a0f024657b4e6b
SHA-1: 926d9c30df2e79ea899666bd0849bfd7caf9fd7b
SHA-256: a4f59069be656eb8c4b101dfa88093cfbeb84932e6a54472eb33e04437949295
Download zip 32.4 KB
MD5: 523eeefc9196e29c9f29f44123dcbd4c
SHA-1: f883e6740f8f1d763ac17e90a594cd6d95762f95
SHA-256: 01dad0134bb43605c3d9c146fb698b1a329f1c3974d1c83bb0ea4af1d573d6e7

Release notes

First alpha release of Editing Presence. It shows who else is editing the same content, live, on the edit form. It is a soft lock: nobody is blocked, editors are just warned before they overwrite each other's changes.

Features

  • A live "alice is also editing this content" notice at the top of edit forms, built on Drupal core HTMX (no custom polling JavaScript, Node.js or WebSocket server).
  • Field-level presence: other editors see which field someone is working in, outlined with a badge and linked from the notice.
  • The notice clears right away when an editor saves, leaves or closes the tab (sendBeacon). Otherwise the editor is dropped after a configurable timeout.
  • Works with any content entity type (nodes by default).
  • Settings page at Configuration » Content authoring » Editing Presence: tracked entity types, heartbeat interval (15 s) and presence timeout (90 s).
  • Access aware: only users who can update an entity see or report presence on it, and a field is shown only to editors who can edit that field.
  • POST-only, CSRF-protected endpoints. Stale rows are removed on cron and when an entity or user is deleted.
  • Kernel and functional test coverage, plus GitLab CI.

Requirements

  • Drupal 11.3 or later. No contributed modules needed.

Installation

composer require 'drupal/editing_presence:^1.0@alpha'
drush en editing_presence

Notes

This is an alpha release: the API and storage may still change before 1.0.0. Please report bugs and ideas in the issue queue.

Created by: akram zairig
Created on: 8 Oct 2026 at 17:14 UTC
Last updated: 8 Oct 2026 at 17:14 UTC

Other releases