medium complexity extracted User Management Confidence: 100%
2
Components
4
Shared
0
User Stories
Yes
Analyzed

Description

Bulk Actions enables administrators to perform deactivation and role reassignment on multiple user accounts simultaneously via a selection toolbar overlaid on the user list. The feature reduces overhead when managing large volunteer rosters, particularly during seasonal transitions or organizational restructures. Selection, confirmation dialogs, and previews guard against accidental mass changes. Operations exceeding 100 records are processed as background jobs with progress feedback to prevent UI blocking.

Sources & reasoning

Line 109 documents NHF's scale of 1,400 lokallag, making one-by-one user management impractical at that size. The blueprint marks this feature as v1.0, consistent with it building on the foundational user-crud and role-assignment MVP capabilities. It is not called out in the Phase 1 MVP prose, so phased to v1.0 per blueprint evidence rather than defaulting to MVP.

  • docs/source/likeperson.md · line 109
    **Bredest organisasjonsstruktur:** 12 landsforeninger, 9 regioner, 1 400 lokallag - aktivitetsfordeling mellom ledd må støttes.

Analysis

Business Value

Managing large volunteer rosters record-by-record creates significant overhead, especially during seasonal transitions when many peer mentors pause or resume, or when restructures require moving users between local associations. Bulk Actions compresses these workflows into a single operation, reducing admin time and the risk of partial updates leaving the system in an inconsistent state. For NHF, which operates across 12 national associations, 9 regions, and 1,400 lokallag, batch operations are a practical necessity. Confirmation dialogs and dry-run previews guard against accidental mass changes in production data.

Implementation Notes

Implemented as a selectable row layer over UserListPage, with a sticky BulkActionToolbarWidget appearing when one or more rows are checked. BulkUserActionService processes operations transactionally - all-or-nothing semantics prevent partial state on network failure. For large selections (100 or more users), operations are enqueued as background jobs with progress feedback rather than blocking the UI. All bulk operations are recorded individually in the audit log so each affected user has a traceable change history. Confirmation dialogs show a preview count and the specific action before execution proceeds.

User Stories

No user stories have been generated for this feature yet.