[Feature] OpenKAT-rapportages #672
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck#672
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
1. OciDeck-issue: niet-destructieve weergavelimieten
Titel
Niet-destructieve weergavelimieten voor bullets, tabellen en grafieken
Probleem
Een OciDeck-presentatie kan worden opgebouwd uit grote datasets. Een OpenKAT-import kan bijvoorbeeld resultaten van duizenden scholen, domeinen of systemen bevatten.
De volledige dataset kan relevant zijn voor controle, hergebruik en onderbouwing, maar kan niet volledig op één slide worden getoond:
OciDeck heeft daarom een onderscheid nodig tussen:
Een weergavelimiet mag de onderliggende gegevens nooit verwijderen.
Gewenst gedrag
Voeg aan datagedreven slides een optionele, niet-destructieve weergaveconfiguratie toe.
Ondersteun minimaal:
De configuratie bevat:
limit: maximaal aantal zichtbare items;mode: welke items worden getoond;key: kolom of reeks waarop de selectie wordt gebaseerd;remainder: wat met niet-getoonde items gebeurt;showCount: wel of niet tonen hoeveel items verborgen zijn.Weergavemodi
Ondersteun:
first: de eerste N items in bronvolgorde;last: de laatste N items in bronvolgorde;top: de N hoogste waarden;bottom: de N laagste waarden.Niet iedere modus is op ieder slidetype toepasbaar:
firstenlast.topenbottomgebruiken.last, zodat de recentste perioden zichtbaar zijn.Niet-getoonde gegevens
Ondersteun voor
remainder:hide: niet tonen, maar wel bewaren;other: samenvoegen tot “Overig”, alleen wanneer de waarden verantwoord kunnen worden opgeteld.“Overig” is vooral bruikbaar voor staaf-, taart- en donutgrafieken. Voor bullets en gewone tabellen worden verborgen items niet samengevoegd.
De slide moet desgewenst een aanduiding tonen zoals:
Deze informatie moet ook beschikbaar zijn voor toegankelijkheidslabels en exports.
Voorstel voor opslagformaat
Gebruik leesbare per-slide metadata, bijvoorbeeld:
Interpretatie van
view_key:Alternatief kan dit als één getypeerd
DisplayWindowSpecin het slidermodel worden geïmplementeerd, maar de serialisatie moet menselijk leesbaar blijven.Ontbrekende metadata betekent het bestaande gedrag: alle gegevens tonen.
Databehoud
De beperking wordt pas in de renderer toegepast. De oorspronkelijke data blijft intact in:
Slide.bullets;Slide.tableRows;ChartSpec;data/.Openen, opslaan en opnieuw openen mag geen verborgen gegevens verwijderen.
Wanneer een grafiek een gekoppelde JSON- of CSV-bron gebruikt, moet het volledige bronbestand in het OciDeck-project en een
.ocideck-pakket behouden blijven. Alleen de visuele projectie wordt beperkt.Editor
Voeg in de relevante slide-editor een sectie “Weergave beperken” toe met:
Toon in de editor altijd:
De editor moet de volledige dataset kunnen blijven bewerken of inspecteren, ook als de preview maar een selectie toont.
Standaardwaarden
Gebruik geen globale harde limiet die bestaande decks verandert.
Voor door generators aangemaakte slides zijn verstandige standaardwaarden:
Dit zijn generator- en weergavekeuzes, geen limieten op de opgeslagen data.
Determinisme
Wanneer meerdere items dezelfde waarde hebben, moet de selectie stabiel blijven. Sorteer daarom achtereenvolgens op:
Een deck mag bij opnieuw openen niet opeens andere items in de top-N tonen.
Acceptatiecriteria
lastbehoudt de chronologische volgorde van tijdreeksen.topenbottomgebruiken een expliciet gekozen kolom of reeks.Coördinatie-aantekening: in de hoofdwerkkopie staat niet-gecommit werk dat exact op dit issue past (lib/models/display_window_spec.dart, lib/services/display_window_service.dart, lib/models/openkat/, lib/services/openkat/ plus drie testbestanden; laatst aangeraakt 23-07 14:22). Vermoedelijk is een andere sessie hiermee bezig zonder claim op de tracker. Niet dubbel oppakken; wie dit leest en het zijne is: claim het hier even met taknaam.
Opgepakt — adoptie van het gestrande werk. De niet-gecommitte bouw in de hoofdwerkkopie (display_window_* + openkat/* + drie testbestanden) staat sinds 14:22 stil en is nooit geclaimd; ik kopieer hem naar tak feat/openkat-weergavelimieten-672 (de werkkopie zelf blijft onaangeraakt, zodat de oorspronkelijke sessie niets kwijt is als hij toch terugkomt). Plan: eerst de staat beoordelen (compileert het tegen de huidige main, wat bewijzen de tests), dan de keten afmaken — l10n, docs, formaat-toets op de nieuwe ocideck_view_*-aanwijzingen door de bewaker — en landen.
Af, op main:
01e253a(PR #771), en 'make check' is dáár groen gedraaid. De kern van dit issue — de niet-destructieve weergavelimieten — staat er, langs alle acceptatiecriteria: projectie op render- én exportmoment (voorbeeld/presentator/PDF/PPTX/HTML tonen dezelfde selectie), opslaan-heropenen verliest nooit verborgen items, leesbare ocideck_view_*-aanwijzingen, 'last' behoudt chronologie (een tijdreeks op 'hoogste' valt bewust terug op laatste), top/bottom op een expliciete kolom of reeks, 'Overig' telt eerlijk op, decks zonder aanwijzingen gedragen zich exact als voorheen, en de selectie is deterministisch — de tie-break op bronpositie ontbrak in het gestrande werk en is toegevoegd mét tests.De bewaker verwierp de eerste versie op drie punten die alle drie zijn verwerkt (misvormd commentaar gijzelde het bestand; het geëxporteerde .md droeg een levend directief over de ingebakken projectie heen; bijschrift/'Overig' waren hardgecodeerd Nederlands — nu l10n, 20 sleutels × 31 talen).
Wat er bewust níét in zat: de OpenKAT-servicelaag uit hetzelfde gestrande werk. Zonder invoerpunt is dat dode code; hij staat veiliggesteld op tak wip/openkat-services-672 en het invoerpunt is #767. De niet-gecommitte kopie in de hoofdwerkkopie heb ik niet aangeraakt — die kan de oorspronkelijke sessie (of jij) opruimen nu alles geland of geparkeerd is. Dicht.