Skip to main content

14. Contact

14.1 Schermafbeelding

oefenhub_generiek_12_contact_V1_5.png

14.2 Scherm meta data

VeldWaarde
Scherm-IDSCH-GEN-14-01
SchermnaamContact
Doelgroep / onderdeelGeneriek
Bronbestandoefenhub_generiek_12_contact_V1_5.html
MockupversieV1.5
Screenshotbestandoefenhub_generiek_12_contact_V1_5.png
Processtap / contextPublieke vaste pagina waarop een bezoeker een algemene vraag, ondersteuningsvraag, privacyvraag of overige opmerking aan OefenHub kan doorgeven.
DocumentatiestatusUitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende documentatie.
OpmerkingenHeader, hamburgermenu, inlog-/registratie-ingangen en footer vallen buiten de scope van dit schermdocument. De zichtbare inhoudsblokken op de pagina en het contactformulier vallen wel binnen scope. Het contactformulier zelf valt buiten het tekstuele beheer van vaste pagina’s; de toelichtende teksten rondom het formulier kunnen wel via contentbeheer worden beheerd.
Route / URL-patroonPublieke vaste pagina Contact, bereikbaar vanuit publieke navigatie of footerlink.
Autorisatie / vereiste rol-contextPubliek toegankelijk. Er is geen login of actieve rolcontext vereist om de pagina te bekijken of het formulier te gebruiken.
Primair domeinobject / hoofdentiteitPublieke contactpagina, contactformulier, contactonderwerp en formulierbericht.
Gerelateerde schermen / navigatie12_over_oefenhub, 13_privacybeleid, 06_meldingen.
Data-karakterPublieke tekstcontent met tijdelijke formulierinvoer. De pagina toont geen gebruikergebonden gegevens en haalt geen persoonsgegevens uit OefenHub-domeinrecords op.

14.3 Functionele beschrijving

Het scherm Contact is een publieke vaste pagina voor bezoekers die een algemene vraag, ondersteuningsvraag, privacyvraag of overige opmerking aan OefenHub willen doorgeven. De pagina is beschikbaar zonder inloggen en bevat geen rolafhankelijke of gebruikergebonden informatie.

De hoofdinhoud bestaat uit:

  • een breadcrumb Home > Contact;
  • een hero-blok met titel en korte uitleg;
  • een contactformulier;
  • een informatiekolom Goed om te weten met uitleg over het juiste gebruik van het formulier;
  • een verwijzing dat technische problemen of inhoudelijke fouten bij voorkeur via Meldingen worden ingediend zodra de gebruiker is ingelogd;
  • een compacte reactie-indicatie.

14.3.1 Interpretatie van mockupwaarden

Alle zichtbaar ingevulde of voorbeeldachtige waarden in de mockup zijn illustratief. Voorbeelden zoals naam@voorbeeld.nl, Bijvoorbeeld: Noor Jansen en de onderwerpwaarden tonen de bedoelde gebruikerservaring en mogen niet als vaste productie-invoer worden behandeld.

De tekstblokken op de contactpagina zijn inhoudelijk beheerbaar voor zover zij tot de vaste publieke pagina behoren. De formulierstructuur, invoervelden, onderwerpkeuzes, validatieregels en verzendactie zijn codegedreven, omdat zij bepalen hoe contactberichten technisch worden verwerkt.

14.3.2 Publieke vaste pagina en contentbeheer

De contactpagina is onderdeel van de vaste publieke pagina’s binnen OefenHub. De beheerpagina Handige links & pagina’s beheert de tekstuele inhoud van vaste pagina’s zoals Over OefenHub, Privacybeleid en Contact. Voor de contactpagina betekent dit dat toelichtende teksten, kaarttitels en informatieblokken via het uniforme contentblokmodel kunnen worden beheerd.

De pagina is geen vrije pagebuilder. De volgorde van blokken, het bestaan van het contactformulier, de veldstructuur, de layout en de submit-logica blijven codegedreven. Ontbreekt een beheerbaar tekstblok, dan wordt dat blok niet geladen of wordt de codegedreven fallbacktekst gebruikt volgens de algemene contentregels van OefenHub.

14.3.3 Contactformulier

Het contactformulier bevat de velden:

  • Onderwerp;
  • E-mailadres;
  • Naam;
  • Bericht.

Het onderwerp is een verplichte keuze uit de zichtbare onderwerpwaarden:

  • Inloggen of account;
  • Registreren;
  • Privacy of gegevens;
  • Overige.

De onderwerpkeuze is bedoeld om het bericht inhoudelijk naar de juiste contactafhandeling te leiden. Bij Privacy of gegevens wordt het bericht als privacygerelateerde contactvraag behandeld. Bij Overige kan de bezoeker een vraag insturen die niet onder de andere standaardonderwerpen valt.

Het veld E-mailadres is verplicht, omdat OefenHub dit adres nodig heeft om op het contactbericht te kunnen reageren. Het systeem moet server-side controleren of de waarde een geldig e-mailadresformaat heeft. Het veld Naam is bedoeld voor herkenbare aanspreking en context, maar mag niet worden gebruikt als autorisatie- of accountkoppeling. Het veld Bericht bevat de inhoudelijke vraag of toelichting en is verplicht.

14.3.4 Verzendactie

De actie Bericht versturen verwerkt de formulierinvoer. Voor verzending gelden server-side controles op verplichte velden, e-mailformaat, veilige tekstverwerking en misbruikpreventie. Frontend-validatie mag de gebruiker direct helpen, maar is nooit voldoende als beveiliging of datakwaliteitscontrole.

Na succesvolle verwerking moet de gebruiker een duidelijke bevestiging krijgen dat het bericht is ontvangen of verwerkt. Bij foutieve of ontbrekende invoer blijft het formulier zichtbaar en worden begrijpelijke veldmeldingen getoond zonder dat veilig ingevoerde waarden onnodig verloren gaan.

De beschikbare database-informatie benoemt geen aparte persistente tabel voor publieke contactformulierberichten. Deze schermdocumentatie legt daarom vast dat het formulierbericht door de applicatie wordt overgedragen aan de contactafhandeling, zonder in dit schermdocument een niet-gedocumenteerde database-entiteit als bron van waarheid te introduceren.

14.3.5 Relatie tot Meldingen

De informatiekaart Meld een probleem maakt duidelijk dat technische problemen of inhoudelijke fouten het beste via het meldingenproces worden ingediend zodra de gebruiker is ingelogd. Dit is functioneel belangrijk omdat het meldingenproces aanvullende context, statusopvolging, discussie en beheerdersbehandeling ondersteunt.

De contactpagina vervangt het meldingenproces niet. Publieke bezoekers en gebruikers die niet kunnen inloggen houden via de contactpagina wel een laagdrempelige contactroute.

14.3.6 Foutstaten en disabled states

Het formulier moet minimaal de volgende toestanden ondersteunen:

  • lege verplichte velden;
  • ongeldig e-mailadresformaat;
  • berichttekst die niet veilig verwerkt kan worden;
  • tijdelijke verwerkingsfout bij het verzenden;
  • misbruik- of spamdetectie;
  • succesvolle verwerking.

De knop Bericht versturen mag client-side tijdelijk worden uitgeschakeld tijdens verwerking om dubbele verzending te voorkomen. De server moet dubbele of herhaalde verzendingen alsnog veilig afhandelen.

14.3.7 Responsief gedrag

Bij voldoende schermbreedte staat het contactformulier links en de informatiekolom Goed om te weten rechts. Bij smallere schermbreedtes verplaatst de informatiekolom onder het formulier. De formulierkolommen voor E-mailadres en Naam worden dan onder elkaar geplaatst. Het formulier blijft volledig bruikbaar zonder horizontaal scrollen.

14.4 UI-elementen en velddefinities

Element-IDTypeGUI-verwijzingOmschrijvingZichtbaar labelOpmerkingTechnische naam
SCH-GEN-14-01-N01ABreadcrumbNavigatiecontext van de publieke contactpagina.Home > ContactHeader en footer vallen buiten scope; deze breadcrumb hoort bij de pagina-inhoud.ContactBreadcrumb
SCH-GEN-14-01-S01SHero-blokIntroductieblok van de contactpagina.Neem contact met ons opTitel en begeleidende tekst zijn vaste-pagina-content.ContactHeroSection
SCH-GEN-14-01-F01FHero-blok — titelHoofdtitel van de pagina.Neem contact met ons opBeheerbare tekst binnen vaste pagina Contact.ContactHeroTitle
SCH-GEN-14-01-F02FHero-blok — toelichtingKorte uitleg over het doel van de pagina en het formulier.Heb je een vraag over OefenHub, loop je ergens vast of wil je iets aan ons doorgeven?Beheerbare tekst binnen vaste pagina Contact.ContactHeroText
SCH-GEN-14-01-FORM01FORMContactformulierFormulier voor het insturen van een publieke contactvraag.ContactformulierFormulierstructuur en veldset zijn codegedreven.ContactForm
SCH-GEN-14-01-F03FContactformulier — toelichtingKorte instructie boven de velden.Kies eerst het onderwerp van je vraag. Bij Overige kun je je bericht vrij toelichten.Begeleidende tekst kan als contentblok worden beheerd; veldwerking blijft codegedreven.ContactFormIntroText
SCH-GEN-14-01-F04FContactformulier — onderwerpSelectieveld voor type contactvraag.OnderwerpVerplicht. Waarden zijn codegedreven onderwerpkeuzes.ContactSubjectCode
SCH-GEN-14-01-F05FContactformulier — e-mailadresE-mailadres waarop OefenHub kan reageren.E-mailadresVerplicht; geen accountkoppeling op basis van dit veld alleen.ContactEmailAddress
SCH-GEN-14-01-F06FContactformulier — e-mailhulptekstUitleg waarom het e-mailadres wordt gevraagd.We gebruiken dit adres om op je bericht te reageren.Begeleidende tekst.ContactEmailHelpText
SCH-GEN-14-01-F07FContactformulier — naamNaam van de afzender.NaamBedoeld voor aanspreking en context, niet voor autorisatie.ContactSenderName
SCH-GEN-14-01-F08FContactformulier — berichtVrij tekstveld voor de contactvraag.BerichtVerplicht; inhoud moet server-side veilig worden verwerkt.ContactMessageText
SCH-GEN-14-01-F09FContactformulier — berichthulptekstUitleg bij het berichtveld.Omschrijf je vraag zo concreet mogelijk. Vermeld eventueel wat je al hebt geprobeerd.Begeleidende tekst.ContactMessageHelpText
SCH-GEN-14-01-B01BContactformulier — verzendenVerstuurt het contactformulier na validatie.Bericht versturenVoorkomt dubbele verzending tijdens verwerking.SubmitContactFormButton
SCH-GEN-14-01-S02SZijkaartInformatiekolom naast het formulier.Goed om te wetenVerplaatst responsief onder het formulier.ContactInformationSection
SCH-GEN-14-01-M01MZijkaart — hulpblokUitleg waarvoor het contactformulier gebruikt kan worden.Voor vragen en hulpBeheerbare begeleidende tekst.ContactHelpInfoBlock
SCH-GEN-14-01-M02MZijkaart — instructielijstKorte aandachtspunten voor het invullen van het formulier.Kies een onderwerp dat het dichtst bij je vraag ligt.Lijstitems zijn informatief.ContactInstructionList
SCH-GEN-14-01-M03MZijkaart — meldingenverwijzingVerwijzing naar het meldingenproces voor technische problemen of inhoudelijke fouten.Meld een probleemInhoudelijk onderdeel van de contactpagina; geen header- of footernavigatie.ContactIssueReportingInfoBlock
SCH-GEN-14-01-M04MZijkaart — reactie-indicatieCompacte verwachting over opvolging.ReactieInformatieve tekst zonder harde reactietermijn.ContactResponseExpectation
SCH-GEN-14-01-M05MFormulierfeedbackVeld- of formuliermelding na validatie, fout of succesvolle verwerking.<validatie- of bevestigingsmelding>Dynamisch; niet zichtbaar als er geen melding nodig is.ContactFormFeedbackMessage

14.5 Waardelagen

Element-IDGUI-verwijzingZichtbaar labelTechnische naamDatabronWaardebronDatatypeBewerkbaarValidatie / regel
SCH-GEN-14-01-N01BreadcrumbHome > ContactContactBreadcrumbRouteconfiguratie vaste paginaAfgeleid uit huidige publieke routeNavigation labelNeeGeen technische routeparameters of ID’s tonen.
SCH-GEN-14-01-S01Hero-blokNeem contact met ons opContactHeroSectionContentBlocks met DomainType = StaticPage, ContextType = Public, contactgerelateerde ReferenceKeyBeheerbare vaste-pagina-content + codegedreven blokpositieCompositeNeeLayout en positie zijn codegedreven; tekstinhoud mag via beheer wijzigen.
SCH-GEN-14-01-F01Hero-blok — titelNeem contact met ons opContactHeroTitleContentBlocks.TitleBeheerbare tekstStringNeeVeilig encoden/renderen; geen actieve HTML uitvoeren.
SCH-GEN-14-01-F02Hero-blok — toelichtingHero-uitleg over contact opnemenContactHeroTextContentBlocks.TextBeheerbare tekstRich text / stringNeeAlleen veilige, toegestane opmaak renderen.
SCH-GEN-14-01-FORM01ContactformulierContactformulierContactFormCodegedreven formuliercomponentSamengestelde formulierstateCompositeJaFormulier is publiek beschikbaar en moet server-side beschermd worden tegen misbruik.
SCH-GEN-14-01-F03Contactformulier — toelichtingKies eerst het onderwerp van je vraag.ContactFormIntroTextContentBlocks.Text of codegedreven fallbacktekstBeheerbare toelichting rond formulierStringNeeHet contactformulier zelf blijft codegedreven; toelichting mag beheerbaar zijn.
SCH-GEN-14-01-F04OnderwerpInloggen of account / Registreren / Privacy of gegevens / OverigeContactSubjectCodeCodegedreven onderwerpkeuzelijstUser inputEnum/stringJaVerplicht; alleen toegestane onderwerpwaarden accepteren.
SCH-GEN-14-01-F05E-mailadresE-mailadresContactEmailAddressGebruikersinputUser inputEmail stringJaVerplicht; server-side geldig e-mailadresformaat controleren.
SCH-GEN-14-01-F06E-mailhulptekstWe gebruiken dit adres om op je bericht te reageren.ContactEmailHelpTextContentBlocks.Text of codegedreven formuliertekstBegeleidende tekstStringNeeMag geen afwijkende privacybelofte doen die niet door beleid wordt ondersteund.
SCH-GEN-14-01-F07NaamNaamContactSenderNameGebruikersinputUser inputStringJaOptioneel; veilig opschonen/encoden; niet gebruiken als bewijs van identiteit.
SCH-GEN-14-01-F08BerichtBerichtContactMessageTextGebruikersinputUser inputTextJaVerplicht; tekst server-side valideren, veilig verwerken en beschermen tegen actieve content.
SCH-GEN-14-01-F09BerichthulptekstOmschrijf je vraag zo concreet mogelijk.ContactMessageHelpTextContentBlocks.Text of codegedreven formuliertekstBegeleidende tekstStringNeeMag de gebruiker niet vragen om wachtwoorden, tokens of andere geheimen te delen.
SCH-GEN-14-01-B01VerzendenBericht versturenSubmitContactFormButtonFormulierstate + contactafhandelingsserviceUser actionActionJaAlleen uitvoeren wanneer verplichte velden geldig zijn; dubbele verzending tijdens verwerking voorkomen.
SCH-GEN-14-01-S02ZijkaartGoed om te wetenContactInformationSectionCodegedreven blokpositie + ContentBlocks voor tekstenSamengestelde informatiecontentCompositeNeeBij smalle schermen onder het formulier tonen.
SCH-GEN-14-01-M01HulpblokVoor vragen en hulpContactHelpInfoBlockContentBlocks.Title en ContentBlocks.TextBeheerbare informatiecontentString / rich textNeeVeilige opmaak; geen actieve HTML.
SCH-GEN-14-01-M02InstructielijstInvulinstructiesContactInstructionListContentBlocks.Text of codegedreven lijstcontentBeheerbare of codegedreven tekstList<string>NeeInstructies moeten aansluiten op de onderwerpwaarden en formulierdoel.
SCH-GEN-14-01-M03MeldingenverwijzingMeld een probleemContactIssueReportingInfoBlockContentBlocks.Title en ContentBlocks.TextBeheerbare informatiecontentString / rich textNeeMoet duidelijk maken dat technische problemen en inhoudelijke fouten na inloggen via Meldingen beter routeerbaar zijn.
SCH-GEN-14-01-M04Reactie-indicatieReactieContactResponseExpectationContentBlocks.TextBeheerbare informatiecontentStringNeeGeen harde SLA communiceren tenzij deze functioneel is vastgesteld.
SCH-GEN-14-01-M05Formulierfeedback<validatie- of bevestigingsmelding>ContactFormFeedbackMessageValidatieresultaat of verzendresultaatRuntime stateStringNeeToon specifieke veldmeldingen bij invoerfouten en een duidelijke bevestiging bij succes.

14.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-GEN-14-01-01SRS-CNT-003
AC-CNT-003
De publieke vaste pagina Contact kunnen tonen zonder dat de bezoeker ingelogd is
REQ-SCH-GEN-14-01-02SRS-CNT-003
SRS-TIC-001
AC-CNT-003
AC-TIC-001
De contactpagina mag geen gebruikergebonden profiel-, relatie-, bericht-, meldings- of oefendata tonen
REQ-SCH-GEN-14-01-03SRS-CNT-003
AC-CNT-003
Header, hamburgermenu, inlog-/registratie-ingangen en footer buiten de functionele scope van dit schermdocument blijven
REQ-SCH-GEN-14-01-04SRS-CNT-003
AC-CNT-003
Binnen de contactpagina een breadcrumb Home > Contact tonen
REQ-SCH-GEN-14-01-05SRS-CNT-003
AC-CNT-003
Een hero-blok tonen met titel en toelichting over het opnemen van contact met OefenHub
REQ-SCH-GEN-14-01-06SRS-CNT-003
AC-CNT-003
Tekstuele content rondom de contactpagina beheerbaar zijn via het uniforme contentblokmodel voor vaste publieke pagina’s
REQ-SCH-GEN-14-01-07SRS-CNT-003
AC-CNT-003
De structuur, blokvolgorde, formulieropbouw, veldset en submit-logica van de contactpagina codegedreven blijven
REQ-SCH-GEN-14-01-08SRS-CNT-003
AC-CNT-003
Het contactformulier zelf geen als vrije pagebuilder- of contentbeheerstructuur worden behandeld
REQ-SCH-GEN-14-01-09SRS-CNT-003
AC-CNT-003
Het contactformulier tonen met minimaal de velden Onderwerp, E-mailadres, Naam en Bericht
REQ-SCH-GEN-14-01-10SRS-CNT-003
AC-CNT-003
Het veld Onderwerp verplicht zijn en alleen vooraf toegestane onderwerpwaarden accepteren
REQ-SCH-GEN-14-01-11SRS-NFR-PRV-001
SRS-CNT-003
AC-NFR-PRV-001
AC-CNT-003
De onderwerpwaarden minimaal Inloggen of account, Registreren, Privacy of gegevens en Overige ondersteunen
REQ-SCH-GEN-14-01-12SRS-AUTH-001
SRS-CNT-003
AC-AUTH-001
AC-CNT-003
Het veld E-mailadres verplicht zijn en server-side op geldig e-mailadresformaat worden gevalideerd
REQ-SCH-GEN-14-01-13SRS-AUTH-001
SRS-CNT-003
AC-AUTH-001
AC-CNT-003
Het veld Naam geen worden gebruikt als bewijs van identiteit of als autorisatiebasis
REQ-SCH-GEN-14-01-14SRS-AUTH-001
SRS-CNT-003
AC-AUTH-001
AC-CNT-003
Het veld Bericht verplicht zijn en server-side veilig worden verwerkt
REQ-SCH-GEN-14-01-15SRS-CNT-003
AC-CNT-003
Vrije tekst uit het contactformulier beschermen tegen actieve HTML, JavaScript of vergelijkbare injectie
REQ-SCH-GEN-14-01-16SRS-CNT-003
SRS-TIC-001
AC-CNT-003
AC-TIC-001
Ontbrekende of ongeldige formulierinvoer met begrijpelijke veldmeldingen terugkoppelen
REQ-SCH-GEN-14-01-17SRS-CNT-003
SRS-TIC-001
AC-CNT-003
AC-TIC-001
De actie Bericht versturen dubbele verzending tijdens lopende verwerking tegengaan
REQ-SCH-GEN-14-01-18SRS-CNT-003
AC-CNT-003
Na succesvolle verwerking van een contactformulier een duidelijke bevestiging tonen
REQ-SCH-GEN-14-01-19SRS-CNT-003
SRS-TIC-001
AC-CNT-003
AC-TIC-001
Bij tijdelijke verwerkingsfouten een begrijpelijke foutmelding tonen zonder veilig ingevoerde waarden onnodig te verliezen
REQ-SCH-GEN-14-01-20SRS-CNT-003
AC-CNT-003
De contactpagina een informatieblok Goed om te weten tonen met uitleg over het gebruik van het formulier
REQ-SCH-GEN-14-01-21SRS-NFR-PRV-001
SRS-CNT-003
AC-NFR-PRV-001
AC-CNT-003
De contactpagina duidelijk maken dat privacyvragen via het onderwerp Privacy of gegevens kunnen worden ingestuurd
REQ-SCH-GEN-14-01-22SRS-CNT-003
SRS-TIC-001
AC-CNT-003
AC-TIC-001
De contactpagina duidelijk maken dat technische problemen of inhoudelijke fouten na inloggen beter via het meldingenproces worden ingediend
REQ-SCH-GEN-14-01-23SRS-AUTH-001
SRS-CNT-003
AC-AUTH-001
AC-CNT-003
De contactpagina mag het meldingenproces niet vervangen voor ingelogde gebruikers die een opvolgbare melding willen maken
REQ-SCH-GEN-14-01-24SRS-CNT-003
AC-CNT-003
Het systeem mag geen niet-gedocumenteerde database-entiteit als zichtbare of functionele bron van waarheid voor contactformulierberichten veronderstellen
REQ-SCH-GEN-14-01-25SRS-AUTH-001
SRS-CNT-003
AC-AUTH-001
AC-CNT-003
Het publieke contactformulier server-side misbruik- en spamgevoelige verwerking kunnen afvangen
REQ-SCH-GEN-14-01-26SRS-CNT-003
AC-CNT-003
Responsief bruikbaar blijven waarbij de informatiekolom onder het formulier mag plaatsen en formulierkolommen onder elkaar mogen vallen
REQ-SCH-GEN-14-01-27SRS-CNT-003
AC-CNT-003
De contactpagina mag geen harde reactietermijn of SLA tonen zolang die niet functioneel is vastgelegd
REQ-SCH-GEN-14-01-28SRS-CNT-003
AC-CNT-003
Beheerbare contactpagina-content veilig worden gerenderd en mag geen actieve scripts uitvoeren

14.7 Technische koppeling

Voor technische uitwerking zijn vooral relevant: