Skip to content

[Tagging] Plan Undo framework for taxonomies and tagging #134

Open

Description

@bradenmacdonald

Several stories will require an UNDO button, even for fairly complex operations:

Acceptance Criteria

  • Create a plan for an UNDO framework that can be used by these other stories to implement the undo functionality as shown. Note that undo is only available for at most 5 seconds.

Developer notes

Some options - there may be better ones:

  • Use the command pattern for all changes
  • Add a "soft-deleted" flag to taxonomies and ObjectTags. On any CRUD action, store the IDs of all the items the user modified most recently.
  • It doesn't necessarily have to be on the backend; it could be purely frontend, e.g.:
    • The frontend doesn't actually apply the action until after 5 seconds, but it optimistically "pretends" that it did right away. If the user tries to close the tab during that five seconds, a warning is shown and the change is applied immediately.
    • download enough data to undo the action, then store it in a temporary buffer. If the user clicks undo, use that to apply the opposite change.
  • Implement it differently depending on the action

Activity

  1. thelmick-unicon commented on Feb 24, 2026

    @thelmick-unicon

    Gherkin style Acceptance Criteria

    Feature: Undo framework for taxonomy and tag changes

    As a user making changes to taxonomies or tags
    The user wants the ability to undo recent destructive or modifying actions
    So that accidental changes can be safely reverted

    Undo reverses all changes summarized in the toast

    Given the user performs one or more tag modifications
    And those changes are summarized in a single toast
    When the user selects "Undo"
    Then all changes summarized in that toast are reverted
    And the UI reflects the restored state

    Undo restores deleted tags

    Given one or more tags have been deleted
    And a toast indicating the deletion is displayed
    When the user selects "Undo"
    Then the deleted tags are restored
    And restored tags appear in their original hierarchy and position

    Undo restores bulk deletions correctly

    Given multiple tags were deleted in a bulk action
    And a toast summarizes the total number deleted
    When the user selects "Undo"
    Then all successfully deleted tags are restored
    And tags that were not deleted due to constraints remain unchanged

    Undo restores renamed tags

    Given a tag has been renamed
    And a toast summarizing the change is displayed
    When the user selects "Undo"
    Then the tag name reverts to its previous value

    Undo restores added tags

    Given a new tag has been added
    And a toast summarizing the addition is displayed
    When the user selects "Undo"
    Then the newly added tag is removed

    Sequential actions are aggregated within the toast window

    Given the user deletes one tag
    And a toast appears summarizing the deletion
    When the user deletes another tag within 5 seconds
    Then the toast text updates to reflect the total number of deletions
    And selecting Undo reverses both deletions

    Undo is not available after toast dismissal

    Given a toast has been dismissed automatically or manually
    When the user attempts to undo the prior action
    Then the system does not provide an undo option
    And the changes remain committed

    Undo behavior is consistent regardless of where the action originated

    Given the user deletes tags from the Taxonomy Detail page
    Or deletes tags using bulk selection
    When the toast is displayed
    Then the Undo behavior is consistent across workflows

    Undo can be triggered via keyboard

    Given a toast with an Undo control is displayed
    When the user navigates using only a keyboard
    Then the Undo control is focusable
    And the user can activate Undo via keyboard interaction

  2. Jennifer-Oxborough commented on Mar 6, 2026

    @Jennifer-Oxborough

    In our weekly Axim 2.2 Taxonomy Editing call on March 4, 2026, the Unicon team discussed the Undo functionality with Jenna Makowski & Dave Ormsbee.

    GH issue #134 [Tagging] Plan Undo Framework for taxonomies & tagging
    GH issue #135 [Tagging] Implement Undo Framework for taxonomies & tagging

    The Implement Undo framework for taxonomies and tagging ticket (#135) depended on the design and prioritization of a reusable Undo framework for taxonomy and tagging operations. After completing the planning review and evaluating current product needs with Jenna and Dave during our weekly project connect on March 4, 2026, the team determined that implementing this capability is not necessary for the current milestone.

    Existing tagging workflows (see screenshot) include confirmation patterns and controlled UI actions that sufficiently mitigate accidental changes. Implementing an Undo system would introduce additional engineering overhead (state management, transactional logic, and UI handling) without delivering meaningful user value for the current release.

    Image

    Since this feature has been deemed unnecessary at this time, the planning ticket for the Undo framework (#134) will be moved to ‘Not Planned’ along with implementation ticket (#135).

    The capability may be revisited in a future milestone if broader taxonomy management features or user feedback indicate a need for reversible operations. 

    Please note that Unicon highly recommends considering versioning over support for general undo functionality if this is revisited in the future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions