Skip to main content

11. Categorieën

Schermbrede uitgangspunten

Deze beheerpagina richt zich uitsluitend op centrale categorie-identiteit. De pagina is geen volledig beheer van docentniveaus, oefeningen of technische oefenmodules. Docentniveaukoppelingen, oefenkoppelingen en historische oefenruns worden hier alleen als impactinformatie of migratie-effect geraakt.

Header, beheerdernavigatie, berichteningang, profielmenu en footer vallen buiten scope van dit schermdocument. De getoonde mockupwaarden, zoals categorienamen, aantallen docentniveaus, aantallen oefenkoppelingen, datums en beheerdersnamen, zijn voorbeeldwaarden en moeten runtime uit de actuele databronnen worden bepaald.

Een categorie bestaat centraal uit naam, icoon, kleur en lifecycle-/auditinformatie. Die centrale identiteit wordt hergebruikt binnen meerdere docentniveaus. Een wijziging van naam, icoon of kleur werkt daarom door op alle contexten waar dezelfde categorie-identiteit wordt gebruikt. Een beheerder mag deze centrale identiteit alleen wijzigen na expliciete bevestiging en met een verplichte reden.

Categoriemigratie is een aparte beheeractie. Bij migratie wordt een broncategorie naar een bestaande doelcategorie overgezet. De migratie mag geen dubbele actieve koppelingen blind aanmaken, moet conflicten controleerbaar afhandelen en moet append-only worden vastgelegd. Historische oefenruns blijven hun oorspronkelijke categoriecontext behouden en worden niet achteraf herschreven.

11.1 Landingspagina

11.1.1 Schermafbeelding

oefenhub_beheerder_11_categorieen_v1_10.png

11.1.2 Scherm meta data

VeldWaarde
Scherm-IDSCH-BEH-10-01
SchermnaamCategorieën — Landingspagina
Doelgroep / onderdeelBeheerder / Contentbeheer
Bronbestandoefenhub_beheerder_11_categorieen_V1_10.html
MockupversieV1.10
Screenshotbestandoefenhub_beheerder_11_categorieen_v1_10.png
Processtap / contextDe beheerder opent via Content > Categorieën de centrale categoriebeheerpagina en selecteert eerst één categorie voor beheer.
DocumentatiestatusUitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende documentatie.
OpmerkingenDe landingspagina is bewust een selectie- en impactview. Detailbeheer start pas na selectie en de actie Open beheer.
Route / URL-patroonFunctioneel routepatroon: beheer/content/categorieen.
Autorisatie / vereiste rol-contextActieve beheerdercontext; server-side afgedwongen.
Primair domeinobject / hoofdentiteitCategories, aangevuld met impactafleiding uit TeacherLevelCategories en TeacherLevelCategoryExercises.
Gerelateerde schermen / navigatieOpen beheer — Intro / uitleg, Open beheer — Categorie, Open beheer — Migreren naar, Open beheer — Geschiedenis, Modules, Docent ondersteuning.
Data-karakterGemengd: zoek/filter state is tijdelijk; categoriekaarten en impactwaarden zijn read-only runtimegegevens; Nieuwe categorie is een navigatie-/startactie naar een aanmaakflow.

11.1.3 Functionele beschrijving

De landingspagina is de centrale startview voor categoriebeheer. De beheerder ziet een lijst met bestaande centrale categorieën en selecteert daaruit precies één categorie. Pas na selectie wordt rechts de samenvatting van de gekozen categorie getoond en kan de beheerder via Open beheer naar de detailtabs gaan.

De pagina ondersteunt een tweestapsflow: eerst zoeken of bladeren, daarna beheren. Dit voorkomt dat de beheerder direct mutaties uitvoert zonder zicht op de impact. Per categorie toont de lijst minimaal de centrale naam, visuele identiteit, actuele status, het aantal actieve docentniveaus waarin de categorie voorkomt en het aantal actieve oefenkoppelingen onder die categorie. Deze aantallen zijn dynamisch en worden niet als vaste categorie-eigenschappen opgeslagen.

Het rechterpaneel toont de geselecteerde categorie als read-only samenvatting. De getoonde aanmaakgegevens, laatste wijziging en recente wijzigingen komen uit categorie- en historydata. De lijst Recente wijzigingen (laatste 60 dagen) is een gefilterde weergave van CategoryHistory voor de geselecteerde categorie en is bedoeld als snelle controle voordat de beheerder verdergaat.

De knop Nieuwe categorie is zichtbaar als startpunt voor het aanmaken van een nieuwe centrale categorie. De daadwerkelijke aanmaakflow is niet als aparte view in deze mockup uitgewerkt; functioneel moet die flow dezelfde centrale identiteit bewaken: naam, icoon, kleur, auditinformatie en server-side validatie op uniciteit en verplichte velden.

Leegstaten zijn relevant wanneer er nog geen categorieën bestaan, wanneer een zoekfilter geen resultaat oplevert of wanneer geen categorie geselecteerd is. In die situaties mag het rechterpaneel geen verouderde details tonen. Foutstaten zijn onder andere het niet kunnen laden van de categoriekaartlijst, het niet kunnen berekenen van impactaantallen of een selectiepoging op een inmiddels verwijderde of gemigreerde categorie.

11.1.4 UI-elementen en velddefinities

Element-IDTypeGUI-verwijzingOmschrijvingZichtbaar labelOpmerkingTechnische naam
SCH-BEH-10-01-S01SectionIntroblokBovenste uitlegkaart van het categoriebeheer.Categorieën beherenLicht toe dat centrale categorie-identiteit wordt beheerd en dat migratie/statuswijziging gescheiden acties zijn.CategoryManagementHeroSection
SCH-BEH-10-01-S02SectionOverzichtLinker werkpaneel met zoekveld, categoriekaarten en aanmaakactie.OverzichtStartpunt van de selectieflow.CategoryOverviewSection
SCH-BEH-10-01-B01ButtonOverzicht > Nieuwe categorieStart de flow voor het aanmaken van een nieuwe centrale categorie.Nieuwe categorieOnderliggende aanmaakview is niet apart in deze mockup uitgewerkt.CreateCategoryButton
SCH-BEH-10-01-FILTER01FilterZoekveld categorieënFiltert de zichtbare categoriekaarten op zoektekst.Zoek categorieTijdelijke gebruikersinvoer; geen persistente categoriegegevens.CategorySearchInput
SCH-BEH-10-01-T01TableCategoriekaartenSelecteerbare kaartlijst met bestaande centrale categorieën.Bevat dynamische naam, omschrijving, status en impactbadges.CategoryCardList
SCH-BEH-10-01-F01FieldCategoriekaart > NaamCentrale categorienaam.Bijvoorbeeld RekenenMockupwaarde is voorbeelddata.CategoryNameValue
SCH-BEH-10-01-F02FieldCategoriekaart > StatusbadgeActuele inzetbaarheidsstatus van de categorie.ActiefAfgeleid uit categorie-lifecycle en migratie-/soft-delete-status.CategoryStatusBadge
SCH-BEH-10-01-F03FieldCategoriekaart > Docentniveau-impactAantal actieve docentniveaukoppelingen waarin de categorie voorkomt.12 docentenniveausDynamische impactwaarde.ActiveTeacherLevelCountBadge
SCH-BEH-10-01-F04FieldCategoriekaart > OefenkoppelingenAantal actieve oefenkoppelingen onder deze categorie.46 oefenkoppelingenDynamische impactwaarde.ActiveExerciseLinkCountBadge
SCH-BEH-10-01-A01ActionCategoriekaart > SelecteerSelecteert een categorie als actieve context voor het rechterpaneel.SelecteerGeen mutatie; alleen selectie in de UI-state.SelectCategoryAction
SCH-BEH-10-01-S03SectionGeselecteerde categorieRechter samenvattingskaart van de geselecteerde categorie.Geselecteerde categorieToont read-only kerngegevens en recente wijzigingen.SelectedCategorySummarySection
SCH-BEH-10-01-F05FieldGeselecteerde categorie > KerngegevensSamenvatting van naam, status, impact en auditinformatie.Alleen beschikbaar na selectie.SelectedCategorySummaryValues
SCH-BEH-10-01-T02TableRecente wijzigingenCompacte lijst met recente historyregels voor de geselecteerde categorie.Recente wijzigingen (laatste 60 dagen)Read-only, gefilterd op geselecteerde categorie.RecentCategoryChangesList
SCH-BEH-10-01-B02ButtonGeselecteerde categorie > Open beheerOpent de detailtabs voor de geselecteerde categorie.Open beheerDisabled wanneer geen categorie is geselecteerd.OpenCategoryManagementButton

11.1.5 Waardelagen

Element-IDGUI-verwijzingZichtbaar labelTechnische naamDatabronWaardebronDatatypeBewerkbaarValidatie / regel
SCH-BEH-10-01-FILTER01Zoekveld categorieënZoek categorieCategorySearchInputGeen persistente databronUser input / runtime statestringJaFiltert categoriekaarten; lege waarde toont de standaardlijst.
SCH-BEH-10-01-T01CategoriekaartenCategoryCardListCategories + TeacherLevelCategories + TeacherLevelCategoryExercisesSamengesteld read modelcollectionNeeToont alleen categorieën die in de beheercontext relevant zijn; reguliere gebruikers mogen gemigreerde of soft-deleted broncategorieën niet opnieuw kunnen kiezen.
SCH-BEH-10-01-F01Categoriekaart > NaamDynamische categorienaamCategoryNameValueCategories.NameDatabasenvarchar(150)Nee op deze viewNaam is centraal en uniek binnen actieve records.
SCH-BEH-10-01-F02Categoriekaart > StatusbadgeActief / inactief / gemigreerd / historischCategoryStatusBadgeCategories.IsDeleted + CategoryMigrations + afgeleide lifecycle-regelsAfgeleidenum/stringNeeStatusweergave mag niet uitsluitend frontend bepaald zijn; server-side bepaalt beheerbaarheid.
SCH-BEH-10-01-F03Categoriekaart > Docentniveau-impactAantal docentniveausActiveTeacherLevelCountBadgeTeacherLevelCategories + TeacherLevels.IsActiveBerekendintNeeTelt actieve niveaukoppelingen waarin CategoryId voorkomt.
SCH-BEH-10-01-F04Categoriekaart > OefenkoppelingenAantal oefenkoppelingenActiveExerciseLinkCountBadgeTeacherLevelCategories + TeacherLevelCategoryExercisesBerekendintNeeTelt actieve oefenkoppelingen onder actieve niveau-categoriecontexten.
SCH-BEH-10-01-S03Geselecteerde categorieGeselecteerde categorieSelectedCategorySummarySectionCategories + CategoryHistory + UsersSamengesteld read modelobjectNeeWordt gewist of vervangen wanneer de selectie wijzigt.
SCH-BEH-10-01-T02Recente wijzigingenRecente wijzigingen (laatste 60 dagen)RecentCategoryChangesListCategoryHistory + UsersDatabase / tijdvensterfiltercollectionNeeToont alleen historyregels voor de geselecteerde categorie binnen het recente venster.
SCH-BEH-10-01-B01Nieuwe categorieNieuwe categorieCreateCategoryButtonAutorisatiecontext + categorie-aanmaakflowApplicatieactieactionJaAlleen beschikbaar voor beheerder; server-side autorisatie blijft verplicht.
SCH-BEH-10-01-B02Open beheerOpen beheerOpenCategoryManagementButtonCategories.IdNavigatieactie op geselecteerde categorieactionJaAlleen actief bij precies één geldige geselecteerde categorie.

11.1.6 Schermtrace naar SRS en acceptatiecriteria

De onderstaande tabel legt per schermrequirement de koppeling naar het centrale schermrequirements-trace-register, SRS-requirements en acceptatiecriteria vast. De normatieve requirementtekst staat in de SRS; dit schermdocument beschrijft alleen de lokale schermcontext.

Deze tabel bevat alleen schermtraceability. De normatieve requirementtekst en acceptatiecriteria staan centraal in de SRS.

SchermrequirementDektSchermcontext
REQ-SCH-BEH-10-01-01SRS-CAT-007
AC-CAT-007
De beheerder een centrale categorie-overzichtspagina tonen met bestaande centrale categorieën en per categorie minimaal naam, visuele identiteit, actuele status, actieve docentniveau-impact en actieve oefenkoppeling-impact
REQ-SCH-BEH-10-01-02SRS-CAT-007
AC-CAT-007
Eerst selectie van precies één categorie vereisen voordat de detail- en beheerweergave via Open beheer beschikbaar komt
REQ-SCH-BEH-10-01-03SRS-CAT-007
AC-CAT-007
Het rechterpaneel vullen met read-only kerngegevens en recente wijzigingen van uitsluitend de geselecteerde categorie
REQ-SCH-BEH-10-01-04SRS-CAT-007
AC-CAT-007
Zoeken of filteren op categoriegegevens ondersteunen zonder het zoekcriterium als categoriegegeven op te slaan
REQ-SCH-BEH-10-01-05SRS-CAT-007
AC-CAT-007
Bij lege resultaten, ontbrekende selectie of laadfouten voorkomen dat verouderde categoriedetails zichtbaar blijven
REQ-SCH-BEH-10-01-06SRS-AUTH-001
SRS-CAT-007
AC-AUTH-001
AC-CAT-007
Toegang tot de categoriebeheerpagina server-side beperken tot gebruikers met een actieve beheerdercontext
REQ-SCH-BEH-10-01-07SRS-AUTH-001
SRS-CAT-007
AC-AUTH-001
AC-CAT-007
De actie Nieuwe categorie kunnen tonen als startpunt voor categorie-aanmaak, waarbij de aanmaak server-side dezelfde categorievalidaties afdwingen als beheer van bestaande categorieën

11.2 Open Beheer — Intro / uitleg

11.2.1 Schermafbeelding

oefenhub_beheerder_11_categorieen_v1_10_knop_open_beheer_tab_01_intro_uitleg.png

11.2.2 Scherm meta data

VeldWaarde
Scherm-IDSCH-BEH-10-02
SchermnaamCategorieën — Open beheer — Intro / uitleg
Doelgroep / onderdeelBeheerder / Contentbeheer
Bronbestandoefenhub_beheerder_11_categorieen_V1_10.html
MockupversieV1.10
Screenshotbestandoefenhub_beheerder_11_categorieen_v1_10_knop_open_beheer_tab_01_intro_uitleg.png
Processtap / contextDe beheerder heeft één categorie geselecteerd en opent de beheerweergave op de tab Intro / uitleg.
DocumentatiestatusUitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende documentatie.
OpmerkingenDeze tab is read-only en beschrijft de beheeronderdelen en impact van de geselecteerde categorie.
Route / URL-patroonFunctioneel routepatroon: beheer/content/categorieen/:categorieId/beheer/intro.
Autorisatie / vereiste rol-contextActieve beheerdercontext; server-side afgedwongen.
Primair domeinobject / hoofdentiteitGeselecteerde Categories-record met impactafleiding.
Gerelateerde schermen / navigatieLandingspagina, Open beheer — Categorie, Open beheer — Migreren naar, Open beheer — Geschiedenis.
Data-karakterRead-only uitleg en berekende impactwaarden.

11.2.3 Functionele beschrijving

Deze tab licht uit welke beheeracties voor de geselecteerde categorie beschikbaar zijn. De tab is bedoeld als oriëntatie voordat een beheerder basisgegevens wijzigt, koppelingen migreert of historie controleert. De geselecteerde categorie blijft gedurende de Open beheer-weergave dezelfde context; tabwisseling mag niet ongemerkt een andere broncategorie kiezen.

De view benoemt dat Categorie wordt gebruikt voor naam, icoon en kleur, dat Migreren naar wordt gebruikt om actieve koppelingen eerst naar een andere centrale categorie over te zetten, en dat Geschiedenis alle acties op categorieniveau toont. De informatiekaart benadrukt dat statuswijziging pas beschikbaar wordt wanneer er geen actieve docentniveaukoppelingen en geen actieve oefenkoppelingen meer aanwezig zijn.

Het blok Gebruik & impact toont dynamische aantallen en auditinformatie. Deze informatie helpt de beheerder inschatten hoe breed een wijziging doorwerkt. De waarden zijn read-only en moeten bij het openen en herladen van de beheerweergave opnieuw uit de actuele databasecontext worden bepaald.

11.2.4 UI-elementen en velddefinities

Element-IDTypeGUI-verwijzingOmschrijvingZichtbaar labelOpmerkingTechnische naam
SCH-BEH-10-02-S01SectionBeheerkopKop van de geopende beheerweergave voor de geselecteerde categorie.Categoriebeheer · [categorienaam]Categorienaam is dynamisch.CategoryManagementHeader
SCH-BEH-10-02-B01ButtonBeheerkop > Terug naar overzichtSluit de beheerweergave en keert terug naar de landingspagina.Terug naar overzichtLaat geselecteerde categoriecontext los of bewaart deze als selectie-state.CloseCategoryManagementButton
SCH-BEH-10-02-TAB01TABTabnavigatie beheerTabs binnen Open beheer.Intro / uitleg, Categorie, Migreren naar, GeschiedenisActieve tab: Intro / uitleg.CategoryManagementTabs
SCH-BEH-10-02-S02SectionWat kun je hier doen?Read-only uitlegblok over de beschikbare beheeronderdelen.Wat kun je hier doen?Geen mutatievelden.CategoryManagementIntroSection
SCH-BEH-10-02-M01MessageStatuswijziging pas na migratieUitleg dat de categorie pas inactief kan worden wanneer actieve koppelingen zijn weggewerkt.Statuswijziging pas na migratieBusiness rule wordt server-side afgedwongen.StatusChangeAfterMigrationMessage
SCH-BEH-10-02-M02MessageHistorie blijft zichtbaarUitleg dat acties op categorieniveau herleidbaar blijven.Historie blijft zichtbaarVerwijst naar CategoryHistory.CategoryHistoryVisibilityMessage
SCH-BEH-10-02-M03MessageDocenten ontvangen systeemberichtUitleg dat betrokken docenten bij migratie geïnformeerd worden.Docenten ontvangen systeemberichtBerichtgeving volgt de migratieflow.CategoryMigrationTeacherNoticeMessage
SCH-BEH-10-02-S03SectionGebruik & impactRead-only impactkaart van de geselecteerde categorie.Gebruik & impactToont tellingen en auditinformatie.CategoryUsageImpactSection
SCH-BEH-10-02-F01FieldGebruik & impact > Actieve docentniveausAantal actieve docentniveaukoppelingen.Actieve docentniveausDynamische impactwaarde.ActiveTeacherLevelsValue
SCH-BEH-10-02-F02FieldGebruik & impact > Onderliggende oefenkoppelingenAantal actieve oefenkoppelingen.Onderliggende oefenkoppelingenDynamische impactwaarde.UnderlyingExerciseLinksValue
SCH-BEH-10-02-F03FieldGebruik & impact > AangemaaktAanmaakdatum en aanmaker.AangemaaktSamengestelde auditweergave.CreatedAuditValue
SCH-BEH-10-02-F04FieldGebruik & impact > Laatst gewijzigdLaatste wijzigingsdatum en actor.Laatst gewijzigdSamengestelde auditweergave.UpdatedAuditValue

11.2.5 Waardelagen

Element-IDGUI-verwijzingZichtbaar labelTechnische naamDatabronWaardebronDatatypeBewerkbaarValidatie / regel
SCH-BEH-10-02-S01BeheerkopCategoriebeheer · [categorienaam]CategoryManagementHeaderCategories.NameDatabasestringNeeDe geopende categoriecontext wordt bepaald door Categories.Id.
SCH-BEH-10-02-TAB01Tabnavigatie beheerIntro / uitleg, Categorie, Migreren naar, GeschiedenisCategoryManagementTabsGeen directe databronRuntime stateenumJaTabwisseling wijzigt alleen de view, niet de geselecteerde categorie.
SCH-BEH-10-02-F01Actieve docentniveausActieve docentniveausActiveTeacherLevelsValueTeacherLevelCategories + TeacherLevels.IsActiveBerekendintNeeTelt actieve niveaukoppelingen bij de geselecteerde CategoryId.
SCH-BEH-10-02-F02Onderliggende oefenkoppelingenOnderliggende oefenkoppelingenUnderlyingExerciseLinksValueTeacherLevelCategories + TeacherLevelCategoryExercisesBerekendintNeeTelt actieve oefenkoppelingen onder actieve niveau-categoriecontexten.
SCH-BEH-10-02-F03AangemaaktAangemaaktCreatedAuditValueCategories.CreatedAtUtc + Categories.CreatedByUserId + UsersDatabase / samengesteldstringNeeUTC-opslag wordt gebruikersvriendelijk lokaal weergegeven.
SCH-BEH-10-02-F04Laatst gewijzigdLaatst gewijzigdUpdatedAuditValueCategories.UpdatedAtUtc + Categories.UpdatedByUserId + UsersDatabase / samengesteldstringNeeLege actor bij ontbrekende wijziging moet veilig als onbekend of niet beschikbaar worden weergegeven.
SCH-BEH-10-02-M01Statuswijziging pas na migratieStatuswijziging pas na migratieStatusChangeAfterMigrationMessageGeen primaire databronBusiness-rule uitlegmessageNeeUitleg mag niet worden gebruikt als enige afdwinging; server-side impactcontrole blijft leidend.

11.2.6 Schermtrace naar SRS en acceptatiecriteria

De onderstaande tabel legt per schermrequirement de koppeling naar het centrale schermrequirements-trace-register, SRS-requirements en acceptatiecriteria vast. De normatieve requirementtekst staat in de SRS; dit schermdocument beschrijft alleen de lokale schermcontext.

Deze tabel bevat alleen schermtraceability. De normatieve requirementtekst en acceptatiecriteria staan centraal in de SRS.

SchermrequirementDektSchermcontext
REQ-SCH-BEH-10-02-01SRS-CAT-007
AC-CAT-007
Binnen Open beheer een read-only Intro / uitleg-tab tonen die de beschikbare beheeronderdelen van de geselecteerde categorie uitlegt
REQ-SCH-BEH-10-02-02SRS-CAT-007
AC-CAT-007
In de Intro / uitleg-tab minimaal actieve docentniveau-impact, actieve oefenkoppeling-impact, aanmaakinformatie en laatste wijzigingsinformatie tonen
REQ-SCH-BEH-10-02-03SRS-CAT-007
AC-CAT-007
Tabwisseling binnen Open beheer uitvoeren zonder de geselecteerde broncategorie te wijzigen
REQ-SCH-BEH-10-02-04SRS-CAT-007
AC-CAT-007
Duidelijk maken dat statuswijziging pas beschikbaar mag zijn wanneer de actieve docentniveau- en oefenkoppeling-impact nul is
REQ-SCH-BEH-10-02-05SRS-CAT-007
SRS-ADM-006
AC-CAT-007
AC-ADM-006
De melding over systeemberichten bij migratie tonen als functionele uitleg, terwijl daadwerkelijke notificatie pas na succesvolle migratie mag plaatsvinden

11.3 Open Beheer — Categorie

11.3.1 Schermafbeelding

oefenhub_beheerder_11_categorieen_v1_10_knop_open_beheer_tab_02_categorie.png

11.3.2 Scherm meta data

VeldWaarde
Scherm-IDSCH-BEH-10-03
SchermnaamCategorieën — Open beheer — Categorie
Doelgroep / onderdeelBeheerder / Contentbeheer
Bronbestandoefenhub_beheerder_11_categorieen_V1_10.html
MockupversieV1.10
Screenshotbestandoefenhub_beheerder_11_categorieen_v1_10_knop_open_beheer_tab_02_categorie.png
Processtap / contextDe beheerder heeft één categorie geselecteerd en opent de tab Categorie om centrale basisgegevens te beheren.
DocumentatiestatusUitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende documentatie.
OpmerkingenOpslaan en statuswijziging zijn gescheiden acties. Opslaan vraagt bevestiging en reden; statuswijziging is geblokkeerd zolang actieve koppelingen bestaan.
Route / URL-patroonFunctioneel routepatroon: beheer/content/categorieen/:categorieId/beheer/categorie.
Autorisatie / vereiste rol-contextActieve beheerdercontext; server-side afgedwongen.
Primair domeinobject / hoofdentiteitCategories met CategoryHistory voor wijzigingen.
Gerelateerde schermen / navigatieLandingspagina, Intro / uitleg, Migreren naar, Geschiedenis.
Data-karakterMutatieview voor centrale categorie-identiteit, met read-only impactkaart en bevestigingsmodal.

11.3.3 Functionele beschrijving

Deze tab beheert de centrale basisgegevens van de geselecteerde categorie: naam, icoon en kleur. Omdat een centrale categorie door meerdere docentniveaus en oefenkoppelingen gebruikt kan worden, werkt een wijziging in deze tab breder door dan één docentcontext. De beheerder ziet daarom naast de mutatievelden ook het blok Gebruik & impact.

De actuele status is zichtbaar maar wordt niet als regulier veld in dezelfde opslagactie gewijzigd. De knop Status wijzigen start een aparte statusflow. In de mockup is die actie niet beschikbaar, omdat de geselecteerde categorie nog actieve docentniveaukoppelingen en oefenkoppelingen heeft. Het systeem toont dan een modal met uitleg dat eerst moet worden gemigreerd of losgekoppeld. Frontend-disabled states zijn hierbij niet voldoende; de server moet de impact opnieuw controleren voordat een statuswijziging wordt uitgevoerd.

De knop Opslaan opent een bevestigingsmodal. In die modal moet de beheerder bevestigen dat de wijziging moet worden doorgevoerd en een verplichte Reden van wijziging invullen. Pas daarna mogen naam, icoon en kleur worden opgeslagen. Elke inhoudelijke wijziging wordt afzonderlijk in CategoryHistory vastgelegd met oude waarde, nieuwe waarde, actor, tijdstip en reden.

Validatie is relevant voor verplichte naam, unieke naam binnen actieve records, verplichte IconKey en geldige ColorHex. Bij gelijktijdige wijzigingen door meerdere beheerders moet het systeem een concurrencyconflict kunnen herkennen en voorkomen dat oudere waarden nieuwere wijzigingen overschrijven.

11.3.4 UI-elementen en velddefinities

Element-IDTypeGUI-verwijzingOmschrijvingZichtbaar labelOpmerkingTechnische naam
SCH-BEH-10-03-TAB01TABTabnavigatie beheerTabs binnen Open beheer.Intro / uitleg, Categorie, Migreren naar, GeschiedenisActieve tab: Categorie.CategoryManagementTabs
SCH-BEH-10-03-FORM01FORMCategoriegegevensFormulier voor centrale categorie-identiteit.CategorieMutatieformulier voor naam, icoon en kleur.CategoryIdentityForm
SCH-BEH-10-03-F01FieldNaam categorieTekstveld voor de centrale categorienaam.Naam categorieCentrale naam werkt door in alle contexten waar de categorie gebruikt wordt.CategoryNameInput
SCH-BEH-10-03-F02FieldHuidige statusRead-only statusweergave.Huidige statusStatuswijziging verloopt via aparte actie.CurrentCategoryStatusValue
SCH-BEH-10-03-F03FieldIcoonSelectiegroep voor de centrale icoonsleutel.IcoonMockup toont visuele opties.CategoryIconSelectionGroup
SCH-BEH-10-03-F04FieldKleurSelectiegroep voor de centrale kleur.KleurMockup toont kleurkeuzes als swatches.CategoryColorSelectionGroup
SCH-BEH-10-03-B01ButtonStatus wijzigenStart de aparte statuswijzigingsflow of toont blokkademelding.Status wijzigenAlleen uitvoerbaar wanneer actieve impactwaarden nul zijn.ChangeCategoryStatusButton
SCH-BEH-10-03-B02ButtonOpslaanStart bevestigingsmodal voor inhoudelijke wijzigingen.OpslaanSchrijft pas na bevestiging en verplichte reden.SaveCategoryChangesButton
SCH-BEH-10-03-S01SectionGebruik & impactRead-only impactkaart naast het formulier.Gebruik & impactContext voor de beheerder tijdens mutatie.CategoryUsageImpactSection
SCH-BEH-10-03-F05FieldGebruik & impact > Actieve docentniveausAantal actieve docentniveaukoppelingen.Actieve docentniveaus aanwezigDynamische impactwaarde.ActiveTeacherLevelsValue
SCH-BEH-10-03-F06FieldGebruik & impact > Actieve oefenkoppelingenAantal actieve oefenkoppelingen.Actieve oefenkoppelingen aanwezigDynamische impactwaarde.ActiveExerciseLinksValue
SCH-BEH-10-03-M01MessageImpactnotitieUitleg dat inactief zetten pas beschikbaar is bij nul actieve impact.Eerst migreren, daarna status wijzigenBusiness-rule toelichting.CategoryStatusImpactNote
SCH-BEH-10-03-MOD01MODModal Wijzigingen opslaanBevestigingspopup voor opslaan van naam, icoon en kleur.Wijzigingen opslaanBevat verplichte reden.SaveCategoryChangesModal
SCH-BEH-10-03-F07FieldModal > Reden van wijzigingVerplicht tekstveld voor auditreden.Reden van wijzigingWordt opgeslagen in CategoryHistory.CategoryChangeReasonTextarea
SCH-BEH-10-03-B03ButtonModal > AnnulerenSluit modal zonder opslag.AnnulerenLaat formulierwaarden ongewijzigd in edit-state.CancelSaveCategoryChangesButton
SCH-BEH-10-03-B04ButtonModal > Bevestig opslaanBevestigt en verwerkt de wijziging.Bevestig opslaanAlleen actief bij geldige reden en geldige formulierwaarden.ConfirmSaveCategoryChangesButton
SCH-BEH-10-03-MOD02MODModal Status wijzigen niet beschikbaarInformatiepopup wanneer actieve koppelingen statuswijziging blokkeren.Status wijzigen niet beschikbaarGeen mutatie; alleen uitleg.StatusChangeUnavailableModal
SCH-BEH-10-03-B05ButtonStatusmodal > SluitenSluit de informatieve blokkademodal.SluitenGeen wijziging.CloseStatusUnavailableModalButton

11.3.5 Waardelagen

Element-IDGUI-verwijzingZichtbaar labelTechnische naamDatabronWaardebronDatatypeBewerkbaarValidatie / regel
SCH-BEH-10-03-F01Naam categorieNaam categorieCategoryNameInputCategories.NameDatabase / user inputnvarchar(150)JaVerplicht; uniek binnen actieve records; trimming en server-side validatie verplicht.
SCH-BEH-10-03-F02Huidige statusHuidige statusCurrentCategoryStatusValueCategories.IsDeleted + CategoryMigrations + impactafleidingAfgeleidenum/stringNeeStatuswijziging mag alleen via aparte flow en server-side impactcontrole.
SCH-BEH-10-03-F03IcoonIcoonCategoryIconSelectionGroupCategories.IconKeyDatabase / user inputnvarchar(100)JaVerplicht; code-/sleutelwaarde zonder harde FK.
SCH-BEH-10-03-F04KleurKleurCategoryColorSelectionGroupCategories.ColorHexDatabase / user inputnvarchar(7)JaVerplicht; geldig hex-formaat.
SCH-BEH-10-03-F05Actieve docentniveaus aanwezigActieve docentniveaus aanwezigActiveTeacherLevelsValueTeacherLevelCategories + TeacherLevels.IsActiveBerekendintNeeWordt gebruikt om statuswijziging te blokkeren zolang waarde groter dan 0 is.
SCH-BEH-10-03-F06Actieve oefenkoppelingen aanwezigActieve oefenkoppelingen aanwezigActiveExerciseLinksValueTeacherLevelCategoryExercises + TeacherLevelCategoriesBerekendintNeeWordt gebruikt om statuswijziging te blokkeren zolang waarde groter dan 0 is.
SCH-BEH-10-03-B02OpslaanOpslaanSaveCategoryChangesButtonCategories + CategoryHistoryMutatieactieactionJaOpent bevestigingsmodal; voert zelf nog geen definitieve opslag uit.
SCH-BEH-10-03-F07Reden van wijzigingReden van wijzigingCategoryChangeReasonTextareaCategoryHistory.ReasonUser inputnvarchar(500)JaVerplicht vóór definitief opslaan; mag niet alleen uit whitespace bestaan.
SCH-BEH-10-03-B04Bevestig opslaanBevestig opslaanConfirmSaveCategoryChangesButtonCategories + CategoryHistoryMutatieactieactionJaSchrijft gewijzigde waarden en één of meer historyrecords met oude/nieuwe waarde, actor, tijdstip en reden.
SCH-BEH-10-03-B01Status wijzigenStatus wijzigenChangeCategoryStatusButtonCategories + TeacherLevelCategories + TeacherLevelCategoryExercisesMutatieactie / server-side controleactionJaAlleen uitvoerbaar wanneer actieve docentniveaukoppelingen en actieve oefenkoppelingen nul zijn.
SCH-BEH-10-03-MOD02Status wijzigen niet beschikbaarStatus wijzigen niet beschikbaarStatusChangeUnavailableModalBerekende impactwaardenRuntime statemodalNeeWordt getoond wanneer statuswijziging functioneel geblokkeerd is.

11.3.6 Schermtrace naar SRS en acceptatiecriteria

De onderstaande tabel legt per schermrequirement de koppeling naar het centrale schermrequirements-trace-register, SRS-requirements en acceptatiecriteria vast. De normatieve requirementtekst staat in de SRS; dit schermdocument beschrijft alleen de lokale schermcontext.

Deze tabel bevat alleen schermtraceability. De normatieve requirementtekst en acceptatiecriteria staan centraal in de SRS.

SchermrequirementDektSchermcontext
REQ-SCH-BEH-10-03-01SRS-CAT-007
AC-CAT-007
In de tab Categorie de centrale categorienaam, icoonsleutel en kleur beheerbaar maken
REQ-SCH-BEH-10-03-02SRS-CAT-007
AC-CAT-007
De actuele categoriestatus zichtbaar tonen, maar statuswijziging functioneel scheiden van reguliere opslag van naam, icoon en kleur
REQ-SCH-BEH-10-03-03SRS-CAT-007
AC-CAT-007
Vóór definitieve opslag van naam, icoon of kleur een bevestigingsmodal tonen met een verplichte reden van wijziging
REQ-SCH-BEH-10-03-04SRS-AUTH-001
SRS-CAT-007
AC-AUTH-001
AC-CAT-007
Categoriegegevens server-side valideren op verplichte naam, unieke actieve naam, verplichte IconKey en geldig ColorHex-formaat
REQ-SCH-BEH-10-03-05SRS-NFR-AUD-001
SRS-CAT-007
AC-NFR-AUD-001
AC-CAT-007
Wijzigingen aan naam, icoon en kleur historisch vastleggen met oude waarde, nieuwe waarde, actor, tijdstip en reden
REQ-SCH-BEH-10-03-06SRS-CAT-007
AC-CAT-007
Statuswijziging blokkeren zolang de categorie nog actieve docentniveaukoppelingen of actieve oefenkoppelingen heeft
REQ-SCH-BEH-10-03-07SRS-CAT-007
SRS-ADM-006
AC-CAT-007
AC-ADM-006
Bij geblokkeerde statuswijziging een duidelijke melding tonen dat eerst migratie of loskoppeling nodig is
REQ-SCH-BEH-10-03-08SRS-CAT-007
AC-CAT-007
Concurrencyconflicten bij gelijktijdige categoriebeheerwijzigingen herkennen en mag nieuwere wijzigingen niet stil overschrijven

11.4 Open Beheer — Migreren naar

11.4.1 Schermafbeelding

oefenhub_beheerder_11_categorieen_v1_10_knop_open_beheer_tab_03_migreren_naar.png

11.4.2 Scherm meta data

VeldWaarde
Scherm-IDSCH-BEH-10-04
SchermnaamCategorieën — Open beheer — Migreren naar
Doelgroep / onderdeelBeheerder / Contentbeheer
Bronbestandoefenhub_beheerder_11_categorieen_V1_10.html
MockupversieV1.10
Screenshotbestandoefenhub_beheerder_11_categorieen_v1_10_knop_open_beheer_tab_03_migreren_naar.png
Processtap / contextDe beheerder heeft één broncategorie geopend en kiest in deze tab een bestaande actieve doelcategorie voor migratie.
DocumentatiestatusUitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende documentatie.
OpmerkingenDe broncategorie staat vast. Alleen een bestaande actieve doelcategorie mag worden geselecteerd. De doelcategorie wordt niet in deze flow aangemaakt.
Route / URL-patroonFunctioneel routepatroon: beheer/content/categorieen/:categorieId/beheer/migreren.
Autorisatie / vereiste rol-contextActieve beheerdercontext; server-side afgedwongen.
Primair domeinobject / hoofdentiteitCategoryMigrations met broncategorie, doelcategorie, actor, tijdstip en reden.
Gerelateerde schermen / navigatieLandingspagina, Intro / uitleg, Categorie, Geschiedenis, systeemberichten voor betrokken docenten.
Data-karakterMutatieflow met zoek-/selectiestate, read-only impactinformatie, bevestigingsmodal en append-only auditregistratie.

11.4.3 Functionele beschrijving

Deze tab ondersteunt het migreren van de geopende broncategorie naar een andere bestaande actieve categorie. De broncategorie staat vast zodra Open beheer is geopend. De beheerder zoekt alleen nog een doelcategorie en selecteert deze als migratiedoel. Migreren naar dezelfde categorie is niet toegestaan.

De doelcategorielijst toont uitsluitend bestaande doelcategorieën die functioneel als actief en selecteerbaar gelden. De lijst mag geen soft-deleted, al gemigreerde of anderszins niet-regulier-kiesbare categorieën aanbieden. Na selectie toont het rechterpaneel de gekozen doelcategorie met impactinformatie en auditgegevens. Pas daarna is de actie Migreer [bron] naar [doel] beschikbaar.

De migratieactie opent een bevestigingsmodal met Reden van migratie. De reden is verplicht en wordt vastgelegd in CategoryMigrations. Bij uitvoering worden relevante TeacherLevelCategories en onderliggende TeacherLevelCategoryExercises van de broncategorie naar de doelcategorie overgezet, waarbij bestaande doelkoppelingen en oefenkoppelingen gecontroleerd moeten worden. Dubbele actieve records mogen niet blind worden aangemaakt.

Na een succesvolle migratie blijft de broncategorie historisch herleidbaar, maar mag deze niet meer zichtbaar of kiesbaar zijn voor nieuwe docentkoppelingen of configuraties. Historische ExerciseRuns blijven onaangetast en behouden hun oorspronkelijke CategoryId-context. Betrokken docenten aan de bronkant moeten via een systeembericht of functioneel gelijkwaardige notificatie geïnformeerd kunnen worden.

Foutstaten zijn onder andere: geen doelcategorie geselecteerd, doelcategorie is dezelfde als bron, doelcategorie is inmiddels inactief geworden, conflicten in doelkoppelingen, ontbrekende reden, onvoldoende rechten of concurrencyproblemen tijdens de migratie.

11.4.4 UI-elementen en velddefinities

Element-IDTypeGUI-verwijzingOmschrijvingZichtbaar labelOpmerkingTechnische naam
SCH-BEH-10-04-TAB01TABTabnavigatie beheerTabs binnen Open beheer.Intro / uitleg, Categorie, Migreren naar, GeschiedenisActieve tab: Migreren naar.CategoryManagementTabs
SCH-BEH-10-04-S01SectionMigreren naar andere actieve categorieLinker paneel met uitleg, zoekveld en doelcategorielijst.Migreren naar andere actieve categorieBroncategorie staat vast.CategoryMigrationTargetSelectionSection
SCH-BEH-10-04-F01FieldBroncategorieRead-only broncategoriecontext.De broncategorie staat al vast: [bron]Afgeleid uit geopende beheercontext.SourceCategoryValue
SCH-BEH-10-04-FILTER01FilterZoek doelcategorieFiltert mogelijke doelcategorieën.Zoek doelcategorieTijdelijke zoekstate.MigrationTargetSearchInput
SCH-BEH-10-04-T01TableDoelcategorieënLijst met selecteerbare actieve doelcategorieën.Broncategorie mag niet in de lijst staan.MigrationTargetCategoryList
SCH-BEH-10-04-F02FieldDoelcategoriekaart > NaamNaam van mogelijke doelcategorie.Bijvoorbeeld HoofdrekenenMockupwaarde is voorbeelddata.MigrationTargetNameValue
SCH-BEH-10-04-F03FieldDoelcategoriekaart > Docentniveau-impactImpactaantal van doelcategorie.8 docentenniveausDynamisch.TargetTeacherLevelCountBadge
SCH-BEH-10-04-F04FieldDoelcategoriekaart > OefenkoppelingenAantal oefenkoppelingen van doelcategorie.29 oefenkoppelingenDynamisch.TargetExerciseLinkCountBadge
SCH-BEH-10-04-A01ActionDoelcategoriekaart > SelecteerSelecteert één doelcategorie.SelecteerNog geen migratie.SelectMigrationTargetAction
SCH-BEH-10-04-S02SectionGeselecteerde doelcategorieRechter samenvattingspaneel van het geselecteerde doel.Geselecteerde doelcategorieToont details voordat migratie kan starten.SelectedMigrationTargetSection
SCH-BEH-10-04-B01ButtonMigratie uitvoerenStart de bevestigingsmodal voor migratie.Migreer [bron] naar [doel]Alleen beschikbaar bij geldige doelcategorie.ExecuteCategoryMigrationButton
SCH-BEH-10-04-M01MessageMigratiewaarschuwingWaarschuwing over systeembericht, historie en gevolg van migratie.Informatieve controle vóór actie.CategoryMigrationWarningMessage
SCH-BEH-10-04-MOD01MODModal Categorie migrerenBevestigingspopup voor definitieve migratie.Categorie migrerenBevat verplichte reden.ConfirmCategoryMigrationModal
SCH-BEH-10-04-F05FieldModal > Reden van migratieVerplicht tekstveld voor migratiereden.Reden van migratieWordt vastgelegd in CategoryMigrations.CategoryMigrationReasonTextarea
SCH-BEH-10-04-B02ButtonModal > AnnulerenSluit de modal zonder migratie.AnnulerenGeen mutatie.CancelCategoryMigrationButton
SCH-BEH-10-04-B03ButtonModal > Bevestig migratieVoert de migratie uit na validatie.Bevestig migratieServer-side validatie blijft leidend.ConfirmCategoryMigrationButton

11.4.5 Waardelagen

Element-IDGUI-verwijzingZichtbaar labelTechnische naamDatabronWaardebronDatatypeBewerkbaarValidatie / regel
SCH-BEH-10-04-F01BroncategorieDe broncategorie staat al vastSourceCategoryValueCategories.Id + Categories.NameRoute-/beheercontextobject/stringNeeWordt bepaald door de geopende categorie; mag in deze tab niet worden gewijzigd.
SCH-BEH-10-04-FILTER01Zoek doelcategorieZoek doelcategorieMigrationTargetSearchInputGeen persistente databronUser input / runtime statestringJaFiltert mogelijke doelcategorieën; geen opslag.
SCH-BEH-10-04-T01DoelcategorieënMigrationTargetCategoryListCategories + TeacherLevelCategories + TeacherLevelCategoryExercisesSamengesteld read modelcollectionNeeToont alleen actieve bestaande categorieën exclusief broncategorie.
SCH-BEH-10-04-F02Doelcategoriekaart > NaamDynamische categorienaamMigrationTargetNameValueCategories.NameDatabasenvarchar(150)NeeDoelcategorie moet bestaan en actief selecteerbaar zijn.
SCH-BEH-10-04-F03Doelcategoriekaart > Docentniveau-impactDocentniveausTargetTeacherLevelCountBadgeTeacherLevelCategories + TeacherLevelsBerekendintNeeRead-only impactinformatie voor doelcategorie.
SCH-BEH-10-04-F04Doelcategoriekaart > OefenkoppelingenOefenkoppelingenTargetExerciseLinkCountBadgeTeacherLevelCategoryExercisesBerekendintNeeRead-only impactinformatie voor doelcategorie.
SCH-BEH-10-04-S02Geselecteerde doelcategorieGeselecteerde doelcategorieSelectedMigrationTargetSectionCategories + audit- en impactgegevensSamengesteld read modelobjectNeeWordt pas gevuld na doelselectie.
SCH-BEH-10-04-B01Migreer [bron] naar [doel]Migreer [bron] naar [doel]ExecuteCategoryMigrationButtonCategoryMigrations + onderliggende herkoppelactiesMutatieactieactionJaOpent bevestigingsmodal; alleen beschikbaar bij geldige doelcategorie.
SCH-BEH-10-04-F05Reden van migratieReden van migratieCategoryMigrationReasonTextareaCategoryMigrations.ReasonUser inputnvarchar(1000)JaVerplicht; mag niet leeg of alleen whitespace zijn.
SCH-BEH-10-04-B03Bevestig migratieBevestig migratieConfirmCategoryMigrationButtonCategoryMigrations + CategoryHistory + TeacherLevelCategories + TeacherLevelCategoryExercises + SystemMessagesMutatieactieactionJaMigreert alleen na server-side conflictcontrole, auditregistratie en autorisatiecontrole.

11.4.6 Schermtrace naar SRS en acceptatiecriteria

De onderstaande tabel legt per schermrequirement de koppeling naar het centrale schermrequirements-trace-register, SRS-requirements en acceptatiecriteria vast. De normatieve requirementtekst staat in de SRS; dit schermdocument beschrijft alleen de lokale schermcontext.

Deze tabel bevat alleen schermtraceability. De normatieve requirementtekst en acceptatiecriteria staan centraal in de SRS.

SchermrequirementDektSchermcontext
REQ-SCH-BEH-10-04-01SRS-CAT-007
SRS-ADM-006
AC-CAT-007
AC-ADM-006
Categoriemigratie altijd starten vanuit een reeds geopende broncategorie; de broncategorie mag in deze tab niet worden gewijzigd
REQ-SCH-BEH-10-04-02SRS-CAT-007
SRS-ADM-006
AC-CAT-007
AC-ADM-006
Het systeem mag alleen bestaande actieve doelcategorieën selecteerbaar maken als migratiedoel
REQ-SCH-BEH-10-04-03SRS-CAT-007
AC-CAT-007
Migreren naar dezelfde categorie blokkeren
REQ-SCH-BEH-10-04-04SRS-CAT-007
SRS-ADM-006
AC-CAT-007
AC-ADM-006
Vóór definitieve migratie de geselecteerde doelcategorie en de relevante impactinformatie zichtbaar maken
REQ-SCH-BEH-10-04-05SRS-CAT-007
SRS-ADM-006
AC-CAT-007
AC-ADM-006
Vóór definitieve migratie een bevestigingsmodal tonen met verplichte reden van migratie
REQ-SCH-BEH-10-04-06SRS-NFR-AUD-001
SRS-CAT-007
AC-NFR-AUD-001
AC-CAT-007
Bij migratie broncategorie, doelcategorie, uitvoerende beheerder, tijdstip en reden vastleggen in CategoryMigrations
REQ-SCH-BEH-10-04-07SRS-NFR-AUD-001
SRS-CAT-007
AC-NFR-AUD-001
AC-CAT-007
Migraties aanvullend zichtbaar maken in CategoryHistory van zowel bron- als doelcategorie
REQ-SCH-BEH-10-04-08SRS-CAT-007
SRS-ADM-006
AC-CAT-007
AC-ADM-006
Bij migratie bestaande doelkoppelingen en oefenkoppelingen controleren en mag geen dubbele actieve records blind aanmaken
REQ-SCH-BEH-10-04-09SRS-CAT-007
SRS-ADM-006
AC-CAT-007
AC-ADM-006
Het systeem mag historische ExerciseRuns niet herschrijven tijdens of na een categoriemigratie
REQ-SCH-BEH-10-04-10SRS-CAT-007
SRS-ADM-006
AC-CAT-007
AC-ADM-006
Na succesvolle migratie voorkomen dat de broncategorie nog als nieuwe keuze beschikbaar is voor reguliere docentkoppelingen of configuraties
REQ-SCH-BEH-10-04-11SRS-CAT-007
SRS-ADM-006
AC-CAT-007
AC-ADM-006
Betrokken docenten aan de bronkant via een systeembericht of functioneel gelijkwaardige notificatie kunnen informeren na succesvolle migratie

11.5 Open Beheer — Geschiedenis

11.5.1 Schermafbeelding

oefenhub_beheerder_11_categorieen_v1_10_knop_open_beheer_tab_03_geschiedenis.png

11.5.2 Scherm meta data

VeldWaarde
Scherm-IDSCH-BEH-10-05
SchermnaamCategorieën — Open beheer — Geschiedenis
Doelgroep / onderdeelBeheerder / Contentbeheer
Bronbestandoefenhub_beheerder_11_categorieen_V1_10.html
MockupversieV1.10
Screenshotbestandoefenhub_beheerder_11_categorieen_v1_10_knop_open_beheer_tab_03_geschiedenis.png
Processtap / contextDe beheerder heeft één categorie geopend en bekijkt de audit- en historiegegevens op de tab Geschiedenis.
DocumentatiestatusUitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende documentatie.
OpmerkingenGeschiedenis is read-only en toont gewone categorieaanpassingen én migratiegerelateerde acties.
Route / URL-patroonFunctioneel routepatroon: beheer/content/categorieen/:categorieId/beheer/geschiedenis.
Autorisatie / vereiste rol-contextActieve beheerdercontext; server-side afgedwongen.
Primair domeinobject / hoofdentiteitCategoryHistory, aangevuld met CategoryMigrations voor migratiedetails.
Gerelateerde schermen / navigatieLandingspagina, Intro / uitleg, Categorie, Migreren naar.
Data-karakterRead-only append-only auditweergave.

11.5.3 Functionele beschrijving

Deze tab toont de historie van de geselecteerde categorie als read-only auditoverzicht. Alle relevante beheeracties op categorieniveau worden hier weergegeven, waaronder aanmaak, inhoudelijke wijzigingen, statuswijzigingen, soft-delete/herstelacties en migratiegerelateerde acties.

De tabel toont minimaal datum/tijd, actie, details, uitvoerende actor en reden. Bij inhoudelijke wijzigingen moeten oude en nieuwe waarden reconstrueerbaar zijn. Bij migraties moet zichtbaar zijn of de categorie bron of doel van de migratie was en welke andere categorie bij de migratie betrokken was.

De geschiedenis is append-only. Reguliere functionele processen mogen historyregels niet aanpassen of verwijderen. Deze view ondersteunt reconstructie, supportanalyse en controle achteraf. De tabel mag worden gefilterd of gesorteerd, maar filterstate is alleen runtime state en verandert de onderliggende historie niet.

11.5.4 UI-elementen en velddefinities

Element-IDTypeGUI-verwijzingOmschrijvingZichtbaar labelOpmerkingTechnische naam
SCH-BEH-10-05-TAB01TABTabnavigatie beheerTabs binnen Open beheer.Intro / uitleg, Categorie, Migreren naar, GeschiedenisActieve tab: Geschiedenis.CategoryManagementTabs
SCH-BEH-10-05-T01TableGeschiedenistabelChronologisch overzicht van categoriehistorie.Geschiedenis van deze categorieRead-only auditlijst.CategoryHistoryTable
SCH-BEH-10-05-F01FieldGeschiedenis > DatumDatum en tijdstip van de actie.DATUMLokale weergave van UTC-opslag.HistoryDateValue
SCH-BEH-10-05-F02FieldGeschiedenis > ActieType beheeractie.ACTIEGesloten ActionType-set.HistoryActionValue
SCH-BEH-10-05-F03FieldGeschiedenis > DetailsLeesbare wijzigingsdetails.DETAILSGebaseerd op ActionType, OldValue, NewValue en migratiecontext.HistoryDetailsValue
SCH-BEH-10-05-F04FieldGeschiedenis > DoorActor van de wijziging.DOORGebruiker of systeemactie.HistoryActorValue
SCH-BEH-10-05-F05FieldGeschiedenis > RedenVastgelegde reden of toelichting.REDENVerplicht bij beheerwijzigingen en migraties.HistoryReasonValue

11.5.5 Waardelagen

Element-IDGUI-verwijzingZichtbaar labelTechnische naamDatabronWaardebronDatatypeBewerkbaarValidatie / regel
SCH-BEH-10-05-T01GeschiedenistabelGeschiedenis van deze categorieCategoryHistoryTableCategoryHistory + Users + optioneel CategoryMigrationsSamengesteld read modelcollectionNeeToont alleen historyregels die bij de geselecteerde categorie horen.
SCH-BEH-10-05-F01DatumDATUMHistoryDateValueCategoryHistory.ChangedAtUtcDatabasedatetimeNeeUTC-opslag lokaal weergeven.
SCH-BEH-10-05-F02ActieACTIEHistoryActionValueCategoryHistory.ActionTypeDatabase / enumstringNeeActionType komt uit gesloten code-/databasewaardeset.
SCH-BEH-10-05-F03DetailsDETAILSHistoryDetailsValueCategoryHistory.OldValue + CategoryHistory.NewValue + CategoryMigrationsSamengesteld / afgeleidstringNeeMoet voldoende informatie tonen voor reconstructie van oude en nieuwe situatie.
SCH-BEH-10-05-F04DoorDOORHistoryActorValueCategoryHistory.ChangedByUserId + UsersDatabase / samengesteldstringNeeActor moet herleidbaar zijn zolang account- en privacyregels dat toestaan.
SCH-BEH-10-05-F05RedenREDENHistoryReasonValueCategoryHistory.Reason + CategoryMigrations.ReasonDatabasestringNeeReden blijft zichtbaar voor beheer- en supportanalyse.

11.5.6 Schermtrace naar SRS en acceptatiecriteria

De onderstaande tabel legt per schermrequirement de koppeling naar het centrale schermrequirements-trace-register, SRS-requirements en acceptatiecriteria vast. De normatieve requirementtekst staat in de SRS; dit schermdocument beschrijft alleen de lokale schermcontext.

Deze tabel bevat alleen schermtraceability. De normatieve requirementtekst en acceptatiecriteria staan centraal in de SRS.

SchermrequirementDektSchermcontext
REQ-SCH-BEH-10-05-01SRS-NFR-AUD-001
SRS-CAT-007
AC-NFR-AUD-001
AC-CAT-007
Per geselecteerde categorie een read-only geschiedenisweergave tonen met minimaal datum/tijd, actie, details, actor en reden
REQ-SCH-BEH-10-05-02SRS-CAT-007
AC-CAT-007
Inhoudelijke wijzigingen aan naam, kleur en icoon historisch reconstrueerbaar maken met oude en nieuwe waarde
REQ-SCH-BEH-10-05-03SRS-NFR-AUD-001
SRS-CAT-007
AC-NFR-AUD-001
AC-CAT-007
Statuswijzigingen en soft-delete/herstelacties als categoriehistorie tonen wanneer deze acties plaatsvinden
REQ-SCH-BEH-10-05-04SRS-NFR-AUD-001
SRS-CAT-007
AC-NFR-AUD-001
AC-CAT-007
Migraties als categoriehistorie zichtbaar maken, inclusief bron-/doelcontext en migratiereden
REQ-SCH-BEH-10-05-05SRS-NFR-AUD-001
SRS-CAT-007
AC-NFR-AUD-001
AC-CAT-007
CategoryHistory append-only behandelen en reguliere processen mogen historyregels niet aanpassen of verwijderen
REQ-SCH-BEH-10-05-06SRS-AUTH-001
SRS-CAT-007
AC-AUTH-001
AC-CAT-007
De geschiedenisweergave server-side beperken tot beheerdercontext

11.6 Technische koppeling

Voor technische uitwerking van categoriebeheer zijn vooral relevant: