D4 — Portefeuille koppelen: alles ophalen, zelf kiezen wat je deelt #2040

Closed
opened 2026-09-09 20:47:14 +00:00 by brenno · 1 comment
Owner

Onderdeel van het bouwplan voor bewijs bij badges. Het ontwerp staat in de
OciServe-repo: docs/EVIDENCE.md (model, zekerheidsniveaus, bewaren) en
docs/adr/0015-evidence-assurance-and-retention.md (de productbesluiten).
OciDeck is in deze keten de kant van de cursist.

Waarom dit bestaat

Voor sommige badges moet je bewijs aanleveren: een EHBO- of BHV-diploma, een
medische verklaring, een taalvaardigheidsverklaring, een gedragsverklaring, of
een diploma van iets anders. Een beoordelaar stelt vast of het klopt, en pas
daarna wordt de badge toegekend.

Vandaag kan de cursist in OciDeck niets van dit alles: hij ziet zijn badges
niet en hij kan niets aanleveren. De eLearning-module heeft drie bestemmingen —
Mijn cursussen, Voortgang, Gegevens — en bewijs komt er als vierde bij.

Wat dit toevoegt. Een cursist koppelt eenmalig zijn account bij een
badgeplatform, of plakt een publieke verificatielink, en alles wat er staat komt
binnen in één handeling.

Er bestaat geen bron die op een e-mailadres teruggeeft welke certificeringen
iemand heeft, en die hoort er ook niet te zijn.
De platforms werken andersom:
elke credential heeft een publieke pagina op zijn eigen id. Wij vragen dus nooit
aan een derde welke credentials bij een adres horen — die vraag onthult de
persoon al aan de partij die je bevraagt.

En dan het addertje: ongefilterd importeren keert de minimalisatie om. Een
portefeuille bevat cursussen bij een vorige werkgever, een badge over psychische
eerste hulp, certificeringen waar niemand om vroeg. Alles doorzetten naar het
dossier van de organisatie levert de werkgever een profiel op dat hij niet heeft
gevraagd.

Daarom zijn ophalen en delen twee stappen. Het ophalen landt in het eigen
beeld van de cursist: dit hebben we gevonden. Daarna kiest hij wat bewijsstuk
wordt bij de organisatie, met wat op een openstaande eis past voorgeselecteerd.
De rest blijft ongedeeld — en dat staat er ook, zodat de cursist het kan
nagaan.

Te doen

  1. Koppelen, of een verificatielink plakken.
  2. Resultaat als lijst dit hebben we gevonden, uitsluitend zichtbaar voor de
    cursist.
  3. Deelstap met voorselectie op openstaande eisen; expliciet tonen wat er
    ongedeeld blijft.
  4. Bij een latere eis: "je hebt hier al iets voor — delen?", zonder opnieuw te
    koppelen.
  5. Toon per gevonden credential of hij nog geldig is; een ingetrokken credential
    wordt niet als bewijs aangeboden.

Bestanden (voorstel)

lib/widgets/dialogs/ociserve_evidence_portfolio.dart (nieuw)

Klaar wanneer

  • Wat niet gedeeld is, is voor de organisatie onzichtbaar — en de cursist
    kan dat op het scherm nagaan.
  • Koppelen kost één handeling; delen is een bewuste tweede.

Afhankelijkheden

Wacht op brenno/OciServe#524 (portefeuille-import met deelstap).

Vaste verplichtingen in deze repo

  • Geen zichtbare tekst buiten l10n.d('...'). Elke nieuwe string betekent
    32 vertalingen via make add-l10n SPEC=...; make l10n-check bewaakt de
    pariteit.
  • Elk nieuw bestand in lib/ krijgt een regel in docs/SOURCE_MAP.md en
    moet in minstens één test voorkomen, anders valt make check.
  • Bestanden blijven onder 1000 regels; splits met part in plaats van te
    groeien.
  • Een nieuw topniveauscherm gaat door de overflow-stresstest (200% tekstschaal).
  • make check groen vóór de merge.
  • Werk in een branch, nooit direct op main.
> Onderdeel van het bouwplan voor bewijs bij badges. Het ontwerp staat in de > OciServe-repo: `docs/EVIDENCE.md` (model, zekerheidsniveaus, bewaren) en > `docs/adr/0015-evidence-assurance-and-retention.md` (de productbesluiten). > OciDeck is in deze keten de kant van de cursist. ## Waarom dit bestaat Voor sommige badges moet je bewijs aanleveren: een EHBO- of BHV-diploma, een medische verklaring, een taalvaardigheidsverklaring, een gedragsverklaring, of een diploma van iets anders. Een beoordelaar stelt vast of het klopt, en pas daarna wordt de badge toegekend. Vandaag kan de cursist in OciDeck **niets** van dit alles: hij ziet zijn badges niet en hij kan niets aanleveren. De eLearning-module heeft drie bestemmingen — Mijn cursussen, Voortgang, Gegevens — en bewijs komt er als vierde bij. **Wat dit toevoegt.** Een cursist koppelt eenmalig zijn account bij een badgeplatform, of plakt een publieke verificatielink, en alles wat er staat komt binnen in één handeling. **Er bestaat geen bron die op een e-mailadres teruggeeft welke certificeringen iemand heeft, en die hoort er ook niet te zijn.** De platforms werken andersom: elke credential heeft een publieke pagina op zijn eigen id. Wij vragen dus nooit aan een derde welke credentials bij een adres horen — die vraag onthult de persoon al aan de partij die je bevraagt. **En dan het addertje: ongefilterd importeren keert de minimalisatie om.** Een portefeuille bevat cursussen bij een vorige werkgever, een badge over psychische eerste hulp, certificeringen waar niemand om vroeg. Alles doorzetten naar het dossier van de organisatie levert de werkgever een profiel op dat hij niet heeft gevraagd. **Daarom zijn ophalen en delen twee stappen.** Het ophalen landt in het eigen beeld van de cursist: *dit hebben we gevonden*. Daarna kiest hij wat bewijsstuk wordt bij de organisatie, met wat op een openstaande eis past voorgeselecteerd. De rest blijft ongedeeld — en dat staat er ook, zodat de cursist het kan nagaan. ## Te doen 1. Koppelen, of een verificatielink plakken. 2. Resultaat als lijst *dit hebben we gevonden*, uitsluitend zichtbaar voor de cursist. 3. Deelstap met voorselectie op openstaande eisen; expliciet tonen wat er ongedeeld blijft. 4. Bij een latere eis: *"je hebt hier al iets voor — delen?"*, zonder opnieuw te koppelen. 5. Toon per gevonden credential of hij nog geldig is; een ingetrokken credential wordt niet als bewijs aangeboden. ## Bestanden (voorstel) ``` lib/widgets/dialogs/ociserve_evidence_portfolio.dart (nieuw) ``` ## Klaar wanneer - Wat niet gedeeld is, is voor de organisatie onzichtbaar — en de cursist kan dat op het scherm nagaan. - Koppelen kost één handeling; delen is een bewuste tweede. ## Afhankelijkheden Wacht op brenno/OciServe#524 (portefeuille-import met deelstap). ## Vaste verplichtingen in deze repo - **Geen zichtbare tekst buiten `l10n.d('...')`.** Elke nieuwe string betekent 32 vertalingen via `make add-l10n SPEC=...`; `make l10n-check` bewaakt de pariteit. - **Elk nieuw bestand in `lib/` krijgt een regel in `docs/SOURCE_MAP.md`** en moet in minstens één test voorkomen, anders valt `make check`. - Bestanden blijven onder 1000 regels; splits met `part` in plaats van te groeien. - Een nieuw topniveauscherm gaat door de overflow-stresstest (200% tekstschaal). - `make check` groen vóór de merge. - Werk in een branch, nooit direct op `main`.
Author
Owner

Reeds geimplementeerd op main in commit 3aeff3af6 (PR gemerged). Tests in ociserve_evidence_test.dart en ociserve_evidence_ui_test.dart dekken het bewijs. Gesloten omdat het werk al geland was.

Reeds geimplementeerd op main in commit 3aeff3af6 (PR gemerged). Tests in ociserve_evidence_test.dart en ociserve_evidence_ui_test.dart dekken het bewijs. Gesloten omdat het werk al geland was.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#2040
No description provided.