Multi-Organization Hierarchy
Feature Detail
Description
Multi-Organization Hierarchy enables Meander to model the complex organizational structures of Norwegian voluntary sector organizations. NHF, for instance, has 12 national associations, 9 regions, and 1,400 local chapters. This feature allows a parent organization to contain child organizations (sub-orgs), with data aggregation flowing upward. Coordinators and admins can be scoped to specific levels of the hierarchy, and reporting rolls up through the tree. The hierarchy is configurable per organization and does not impose a fixed depth limit.
User Flow
Analysis
The hierarchical structure of Norwegian voluntary organizations is not an edge case - it is the norm. Without proper hierarchy support, large organizations like NHF cannot use Meander at the national scale because reporting and administration would be impossibly fragmented. Supporting multi-level hierarchy unlocks contracts with federated organizations that represent hundreds of local chapters and thousands of users. It also enables Norse Digital Products to position Meander as the only platform that truly understands the Norwegian voluntary sector's governance model. Accurate hierarchy support also prevents double-counting in Bufdir reporting, which is a compliance requirement for organizations receiving government funding.
The `organizations` table includes a nullable `parent_organization_id` foreign key enabling tree structure. The Organization Hierarchy Service provides recursive queries (using PostgreSQL CTEs) for fetching ancestor and descendant chains. The Hierarchy Management Page in the admin portal renders an interactive tree view using a React tree component. Admins can create sub-organizations, assign them to parents, and move nodes within the tree. Access control is hierarchy-aware - a coordinator scoped to a region can see all local chapters beneath it. Reporting queries aggregate upward using recursive SQL to produce consolidated statistics at any level. Circular reference prevention is enforced at the API layer.
Components (35)
Shared Components
These components are reused across multiple features
Service Layer (9)
Data Layer (12)
Infrastructure (7)
User Stories
No user stories have been generated for this feature yet.