Document Attachments
Feature Detail
Description
Lets peer mentors and coordinators attach supporting documents (invitations, screenshots, agendas, signed paperwork) to an activity record so that Bufdir verification has the evidence trail attached at source rather than reconstructed later. NHF explicitly raised this as a Bufdir-etterprøving requirement. Includes a picker UI (camera, photo library, files), an upload service with retry, and object-storage backing - kept separate from receipt photo upload, which lives under expense reimbursement with different validation rules.
Sources & reasoning
Matrix row 107 places Dokumentvedlegg at Fase 2 (mapped to Core Product). NHF unique-needs entry explains the Bufdir-evidence motivation and justifies it as a toggleable area-level capability rather than a quick-log addon.
-
docs/source/likeperson.md · line 68Dokumentvedlegg til aktiviteter: Invitasjoner, Facebook-skjermbilder m.m. - viktig for Bufdir-etterprøving.
-
docs/source/likeperson.md · line 107Dokumentvedlegg til aktiviteter | - | ✓ | - | - | ✓ | NICE TO HAVE | 2
Analysis
Without attached evidence, coordinators and admins reconstruct documentation by email at Bufdir reporting time - exactly the manual aggregation toil the platform exists to eliminate. NHF named this in their unique-needs list because their 1,400 lokallag scale makes after-the-fact reconstruction impossible. Also a building block for the activity flagging and duplicate detection flows in the admin portal: a flagged or duplicated activity is far easier to adjudicate when its supporting documents are co-located with the record.
Picker widget supports camera, gallery, and document providers; upload service handles chunked uploads with resume, retries, and the same offline outbox pattern as activity writes. Files land in managed object storage (no AWS S3 currently per Subprocessors.md - keep the storage abstraction so a provider can be added later without API changes). Attachment metadata lives in `activity_attachments` linked to `activities`. Per-tenant toggle: not every org needs this (matrix row 107 shows only NHF and Norse Test require it). MIME-type allowlist and size limits enforced server-side.
Quality Assurance
Peer Mentor (primary) · Coordinator (same flow via proxy registration)Peer Mentor (Likeperson)
Quick UAT
- Logg inn i Meander mobilappen som Likeperson og trykk pĂĄ Legg til-fanen i bunnmenyen.
- Start Aktivitetsregistrering, velg en kontakt og fyll inn dato, klokkeslett og varighet.
- Trykk på Legg ved vedlegg og velg ett bilde fra fotobiblioteket og én PDF fra enhetslagring.
- Bekreft at begge filene vises som miniatyrbilder med opplastingsindikator, og at PDF-en viser filnavn og filstørrelse.
- Trykk på fjern-ikonet på PDF-en og bekreft at vedlegget forsvinner før aktiviteten lagres.
- Last opp PDF-en pĂĄ nytt, trykk Lagre aktivitet, og bekreft at aktiviteten vises i Mine aktiviteter med vedlegg-merket og to filer knyttet til seg.
Quick UAT — Accessibility
-
Logg inn i Meander mobilappen som Likeperson og trykk pĂĄ Legg til-fanen i bunnmenyen.
- Screen reader VoiceOver/TalkBack annonserer 'Legg til, fane 3 av 5'.
- Focus visibility Synlig fokusindikator pĂĄ aktiv fane.
- Touch target Bunnmeny-faner ≥ 24×24 CSS px.
-
Start Aktivitetsregistrering, velg en kontakt og fyll inn dato, klokkeslett og varighet.
- Screen reader Hver veiviser-side annonseres med 'Steg X av Y' og feltlabels leses opp.
- Keyboard / focus Tab følger lesende rekkefølge: kontakt → dato → klokkeslett → varighet → Neste.
-
Trykk på Legg ved vedlegg og velg ett bilde fra fotobiblioteket og én PDF fra enhetslagring.
- Screen reader Knapp annonseres som 'Legg ved vedlegg, knapp'. Systemets filvelger ĂĄpnes med standard plattformsemantikk.
- Focus visibility Synlig fokusring pĂĄ Legg ved vedlegg-knappen.
- Touch target Legg ved vedlegg-knapp ≥ 24×24 CSS px.
-
Bekreft at begge filene vises som miniatyrbilder med opplastingsindikator, og at PDF-en viser filnavn og filstørrelse.
- Screen reader Hvert vedlegg annonseres som 'Vedlegg: <filnavn>, <størrelse>, laster opp 45 prosent'.
- Live region Polite live region: 'Vedlegg lastet opp: faktura.pdf'.
- Contrast Opplastingsstatus formidles med tekst og ikon, ikke kun farge; tekstkontrast ≥ 4.5:1.
-
Trykk på fjern-ikonet på PDF-en og bekreft at vedlegget forsvinner før aktiviteten lagres.
- Screen reader Fjern-ikon annonseres som 'Fjern vedlegg faktura.pdf, knapp'.
- Touch target Fjern-ikon ≥ 24×24 CSS px.
- Live region Polite live region: 'Vedlegg faktura.pdf fjernet'.
-
Last opp PDF-en pĂĄ nytt, trykk Lagre aktivitet, og bekreft at aktiviteten vises i Mine aktiviteter med vedlegg-merket og to filer knyttet til seg.
- Screen reader Lagre-knappen annonseres; etter lagring leses 'Aktivitet lagret med 2 vedlegg' opp.
- Live region Polite live region: 'Aktivitet lagret med 2 vedlegg'.
- Zoom Listevisning Mine aktiviteter forblir brukbar ved 200 % zoom; vedlegg-merket wrapper uten avkutting.
Role Boundaries
3 role(s) must NOT access this feature-
Organization Administrator
Organisasjonsadministrator logger ikke inn i mobilappen og kan ikke laste opp vedlegg via mobil. Opplastingsknapp er ikke synlig i admin-portalens aktivitetsoversikt; vedlegg er kun lesetilgjengelige der.
-
Global Administrator
Ingen tilgang til organisasjonens vedlegg uten aktiv tidsbegrenset supporttilgang. Direkte URL til signert nedlasting returnerer 403 nĂĄr supporttilgang ikke er innvilget.
-
Prospective Buyer
Ikke applikable – salgsnettstedet har ingen pålogging eller tilgang til aktivitetsdata.
Expected End State
Aktiviteten er lagret med én rad per vedlegg i activity_attachments-tabellen som peker til binærfilen i objektlagring via signert URL. Vedleggene er knyttet til riktig likeperson og kan hentes opp igjen ved senere Bufdir-etterprøving.
Components (6)
Shared Components
These components are reused across multiple features
User Stories
No user stories have been generated for this feature yet.