Install
Works with Drupal: ^11.3Using 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.