high complexity extracted Organization Management Confidence: 100%
3
Components
18
Shared
0
User Stories
Yes
Analyzed

Description

Supports complex organizational structures where a single tenant may consist of multiple nested layers - national federations, regional bodies, and local branches. Administrators can define parent-child relationships between organizational units, configure activity attribution rules across levels, and manage how reporting data rolls up through the hierarchy. The feature is essential for NHF which operates across 12 national associations, 9 regions, and 1,400 local branches, and must prevent double-reporting when a member belongs to multiple local units.

Sources & reasoning

NHF's unique need (lines 107-109) makes hierarchy management a launch requirement because NHF is one of the initial four organizations and their data integrity depends on it. Blueprint assigns MVP target_release to multi-organization-hierarchy, consistent with admin MVP scope including org management. Without it NHF cannot correctly attribute or report activities.

  • Bredest organisasjonsstruktur: 12 landsforeninger, 9 regioner, 1 400 lokallag - aktivitetsfordeling mellom ledd mĂ„ stĂžttes.
  • HĂ„ndtering av medlemmer i flere lokallag (opptil 5): Avklare tilhĂžrighet og hindre dobbeltrapportering.

Analysis

Business Value

NHF's organizational depth makes hierarchy support a hard requirement, not an enhancement. Without it, activity data cannot be correctly attributed across levels, Bufdir reporting will double-count activities logged by overlapping memberships, and coordinators in regional or national roles will have no aggregate view of their scope. The hierarchy feature also enables the platform to support other federated organizations beyond the initial four clients, making it a significant factor in long-term commercial viability. Addressing NHF's explicit concern about members in multiple local branches (up to 5) requires the hierarchy model to enforce unique attribution and surface duplicate-registration warnings.

Implementation Notes

Hierarchy relationships are stored in the organization_hierarchies table (self-referential via organizations). The API resolves the effective scope for any Org Admin query by walking the hierarchy tree, applying configurable roll-up rules (sum, deduplicate, exclude). Duplicate activity detection (admin-activity-oversight area) consumes the hierarchy graph to identify cross-branch registration of the same activity. The admin portal hierarchy page renders an interactive tree view using a React tree component. Backend queries use recursive CTEs supported by PostgreSQL. Membership scoping in user_organization_memberships allows a user to belong to multiple nodes in the hierarchy with an authoritative primary node for reporting.

Quality Assurance

Organization Administrator (primary) · Global Administrator (cross-tenant governance)
2
Scenarios
10
UAT Steps
34
A11y Annotations
3
Role Boundaries
Organization Administrator

Organization Administrator

Quick UAT

  1. Logg inn i Admin-portalen som Organisasjonsadministrator. Naviger til Organisasjon → Hierarki.
  2. Trykk «Legg til enhet», fyll inn navn og velg type (f.eks. Region) for den nye organisasjonsenheten.
  3. Velg overordnet enhet fra nedtrekkslisten og knytt den nye enheten til riktig nivÄ i trestrukturen.
  4. Konfigurer attribusjonsregler for enheten (f.eks. aktivitetsfordeling mellom nivÄer) og trykk Lagre.
  5. Bekreft at den nye enheten vises i hierarkitreet under korrekt overordnet enhet med riktig innrykk og navn.
  6. Legg til et testmedlem som tilhĂžrer to lokallag og verifiser at dobbeltrapporteringsvarselet vises i hierarkivisningen.

Quick UAT — Accessibility

  1. Logg inn i Admin-portalen som Organisasjonsadministrator. Naviger til Organisasjon → Hierarki.
    • Screen reader Sideoverskrift 'Hierarki' annonseres; sidemeny-elementer leses i tab-rekkefĂžlge; aktivt menyvalg annonseres som 'valgt'.
    • Keyboard / focus Sidemeny nĂ„s med Tab; piltaster navigerer mellom menyvalg; Enter Ă„pner Hierarki-siden.
    • Focus visibility Synlig fokusring pĂ„ aktivt menyvalg; fokus flyttes til sideoverskrift ved sidelast.
  2. Trykk «Legg til enhet», fyll inn navn og velg type (f.eks. Region) for den nye organisasjonsenheten.
    • Screen reader Knapp 'Legg til enhet' annonseres med rolle='knapp'; dialogboks annonseres med tittel og felt-labels ved Ă„pning.
    • Keyboard / focus Tab navigerer til 'Legg til enhet'-knappen; Enter Ă„pner dialogen; Tab beveger seg mellom navn-felt og type-nedtrekksliste.
    • Focus visibility Fokus flyttes automatisk til fĂžrste felt i dialogen ved Ă„pning; synlig fokusring pĂ„ alle felt.
    • Touch target «Legg til enhet»-knapp ≄ 24×24 CSS px.
  3. Velg overordnet enhet fra nedtrekkslisten og knytt den nye enheten til riktig nivÄ i trestrukturen.
    • Screen reader Nedtrekksliste annonseres med antall alternativer; valgt alternativ bekreftes ved valg ('Region valgt').
    • Keyboard / focus Piltaster navigerer alternativer i nedtrekkslisten; Enter bekrefter valg.
    • Focus visibility Synlig fokusring pĂ„ nedtrekkslisten; Ă„pen liste har fokus pĂ„ valgt alternativ.
    • Contrast Valgt alternativ skilles fra uvalgte med mer enn kun farge (f.eks. hake-ikon eller fet tekst); 4.5:1 kontrast.
  4. Konfigurer attribusjonsregler for enheten (f.eks. aktivitetsfordeling mellom nivÄer) og trykk Lagre.
    • Screen reader Lagre-knapp annonseres; feilmeldinger ved ugyldig konfigurasjon leses av skjermleser umiddelbart.
    • Keyboard / focus Tab navigerer til Lagre-knapp; Enter aktiverer lagring.
    • Focus visibility Synlig fokusring pĂ„ Lagre-knapp; obligatoriske felt merket 'pĂ„krevd' i label.
    • Live region 'Endringer lagret' annonseres via polite live region etter vellykket lagring.
  5. Bekreft at den nye enheten vises i hierarkitreet under korrekt overordnet enhet med riktig innrykk og navn.
    • Screen reader Trestruktur annonseres med nivĂ„-dybde per node (f.eks. 'Region, nivĂ„ 2 av 3'); sammenslĂ„tte/utvidede noder annonseres.
    • Keyboard / focus Piltaster navigerer trestrukturen; hĂžyre pil utvider node; venstre pil lukker eller gĂ„r til foreldrenode.
    • Zoom Hierarkitreet er lesbart og navigerbart ved 200% zoom uten horisontal scrolling.
  6. Legg til et testmedlem som tilhĂžrer to lokallag og verifiser at dobbeltrapporteringsvarselet vises i hierarkivisningen.
    • Screen reader Varselikon eller varselmelding om dobbeltmedlemskap annonseres av skjermleser; status formidles ikke utelukkende via farge.
    • Focus visibility Varselkomponenten er fokuserbar og har lesbar label ('Advarsel: dobbeltmedlemskap oppdaget').
    • Live region 'Advarsel: medlemmet er registrert i flere lokallag' annonseres via polite live region.
    • Contrast Varselsymbol og tekst oppfyller 4.5:1 kontrast; statusskillet bruker ikon i tillegg til farge.
Global Administrator

Global Administrator

Quick UAT

  1. Logg inn i Admin-portalen som Global Administrator. Naviger til Hierarki-oversikt pÄ tvers av organisasjoner.
  2. Velg en tenantorganisasjon fra listen (f.eks. NHF). Bekreft at visningen krever aktiv stþttetilgang innvilget av organisasjonsadministrator — mangler tilgang dersom ingen aktiv grant finnes.
  3. Med aktiv stĂžttetilgang: verifiser at hierarkitreet viser alle nivĂ„er for valgt organisasjon (landsforening → region → lokallag).
  4. Sjekk at revisjonsloggen registrerer stĂžttetilgangsĂžkten med tidsstempel, Global Admin-ID og organisasjons-ID.

Quick UAT — Accessibility

  1. Logg inn i Admin-portalen som Global Administrator. Naviger til Hierarki-oversikt pÄ tvers av organisasjoner.
    • Screen reader Sideoverskrift annonseres; organisasjonsliste annonseres med antall rader; kolonneoverskrifter leses.
    • Keyboard / focus Tab navigerer til organisasjonslisten; piltaster navigerer rader; Enter velger organisasjon.
    • Focus visibility Synlig fokusring pĂ„ valgt rad i organisasjonstabellen.
  2. Velg en tenantorganisasjon fra listen (f.eks. NHF). Bekreft at visningen krever aktiv stþttetilgang innvilget av organisasjonsadministrator — mangler tilgang dersom ingen aktiv grant finnes.
    • Screen reader Tilgangsnektet-melding annonseres umiddelbart av skjermleser; feilmelding inneholder Ă„rsak og neste steg.
    • Focus visibility Fokus flyttes til feilmelding eller tilgangsnektet-banner ved avvisning.
    • Contrast Tilgangsnektet-status kommuniseres med ikon og tekst i tillegg til farge; 4.5:1 kontrast.
  3. Med aktiv stĂžttetilgang: verifiser at hierarkitreet viser alle nivĂ„er for valgt organisasjon (landsforening → region → lokallag).
    • Screen reader Trestruktur annonseres med nivĂ„-dybde per node; antall underenheter per node annonseres ved utvidelse.
    • Keyboard / focus Piltaster navigerer trestrukturen; hĂžyre pil utvider node; venstre pil lukker eller gĂ„r til foreldrenode.
    • Zoom Alle hierarkinivĂ„er er lesbare og navigerbare ved 200% zoom uten tap av informasjon.
  4. Sjekk at revisjonsloggen registrerer stĂžttetilgangsĂžkten med tidsstempel, Global Admin-ID og organisasjons-ID.
    • Screen reader Revisjonslogg-tabell annonseres med kolonneoverskrifter; siste rad leses med alle relevante feltverdier.
    • Keyboard / focus Tab navigerer til revisjonsloggtabellen; piltaster navigerer rader og celler.
    • Focus visibility Synlig fokusring pĂ„ aktiv celle i revisjonsloggtabellen.

Role Boundaries

3 role(s) must NOT access this feature
  • Peer Mentor

    Hierarki-siden finnes ikke i mobilappens navigasjon; direkte URL-tilgang til Admin-portalen returnerer 403 eller omdirigerer til innloggingssiden.

  • Coordinator

    Hierarki-siden finnes ikke i mobilappens navigasjon; koordinatorer har ikke tilgang til Admin-portalen og kan ikke nÄ denne siden.

  • Prospective Organization Representative

    Salgsnettsiden gir ingen lenke til Admin-portalen; forsÞk pÄ direkte tilgang returnerer 401.

Expected End State

  • Organization Administrator

    Ny organisasjonsenhet er lagret i hierarkiet med korrekt overordnet enhet, attribusjonsregler er konfigurert, og dobbeltrapporteringsvarsel er verifisert for testmedlem med flerlags-tilknytning.

  • Global Administrator

    Hierarkistrukturen for valgt tenantorganisasjon er verifisert pÄ alle nivÄer, og revisjonsloggen bekrefter at stÞttetilgangsÞkten er registrert med fullstendige metadata.

User Stories

No user stories have been generated for this feature yet.