Problem/Motivation

Reactions are currently tied too closely to fields. This makes them harder to configure and does not fit Canvas components, which should be able to react to their host entity without prior bundle configuration.

Proposed resolution

Rebuild the project around reusable reaction sets and contextual placement.

  • reactions provides reaction sets, Voting API integration, target resolution, renderers, and reaction operations.
  • reactions_field provides optional per-entity Open, Closed, and Hidden overrides, plus a formatter.
  • reactions_canvas provides a Canvas component that automatically uses its host entity.

A reaction set defines its reactions, single or multiple selection, default status, and renderer. Each reaction has a label and a filtered formatted appearance value, which can contain text, emoji, or permitted markup.

Renderer plugins control how the complete set is presented, such as a Disqus-style bar or Facebook-style picker. The initial renderer will be a minimal Disqus-style emoji bar.

Each reaction set should use one Voting API vote type, with the selected reaction represented by the vote. The exact model and Voting API capabilities will be established in #3613260: Create Voting API integration for reaction sets. Voting API should remain responsible for vote storage, actor identification, and result calculation.

The initial advertised requirement is Drupal 11. The code should be prepared for Drupal 12, but Drupal 12 support will not be announced until Voting API supports it.

Roadmap

Out of scope

Migration from the existing module, advanced renderers, and an emoji picker will be handled separately.

Comments

elaman created an issue. See original summary.

elaman’s picture

elaman’s picture

Issue summary: View changes
elaman’s picture

Title: Roadmap for Reactions 1.x » Rebuild Reactions around reaction sets and contextual placement
Issue summary: View changes

Updated the roadmap to use reaction sets, contextual field and Canvas placement, renderer plugins, and formatted reaction appearances. Added the focused Voting API integration issue.

elaman’s picture

Issue summary: View changes

Linked the existing roadmap items to their child issues and moved the Canvas component to the next milestone. This gives us a visible integration to exercise before the shared target handling and optional field placement work.

elaman’s picture

Issue summary: View changes

Created #3613343: Add a Canvas component for reaction sets for the Canvas integration and linked it here. This is the next item so we can get the emoji bar onto a page and start testing the UI.

elaman’s picture

Issue summary: View changes

Created #3613345: Make reaction buttons work for the shared interaction work and moved it into the next roadmap slot. This is the piece that turns the Canvas preview into working reaction buttons.

elaman’s picture

Issue summary: View changes