Datum 9 maart 2007 Doelgroepen Casual User Redacteur Applicatie Beheerder Ontwikkelaar Versie 1.2
GEAVANCEERDE FORMULIEREN Connectivity Management
SAMENVATT ING Met de geavanceerde formulierenmodule is het mogelijk om formulieren samen te stellen voor bijvoorbeeld enquêtes, registraties of aanvragen. Uitgangspunt bij de formulierenmodule is maximale flexibiliteit met minimale instellingen. Zo moet het bijvoorbeeld voor redacteuren eenvoudig zijn om een enquête samen te stellen, terwijl ontwikkelaars met een hogere autorisatie de mogelijkheid hebben om complexere constructies – denk aan het gebruik van XSL – toe te voegen. Formulieren zijn opgebouwd uit stappen die in een bepaalde volgorde doorlopen worden. Deze volgorde kan afhankelijk zijn van de ingevoerde waarden. Er zijn diverse soorten validaties op de invoer mogelijk. Ook in de afhandeling van formulieren worden uitgebreide mogelijkheden geboden: gegevens verzenden via e-mail en/of opslaan in een database, formulierspecifieke foutafhandelingen, bedankpagina’s, etc. Formulieren kunnen ook voor specifieke vormen van integratie, zoals koppelingen met autorisatie- of betaalsystemen en afhandelingen via SOAP, ingezet worden.
Formulier op een pagina plaatsen ..................................................................... 67
5.1 6
Gepersonaliseerde bevestigingsemail............................................................... 69 Rapportage van een formulier genereren............................................................. 73
Formulieren kunnen gebruikt worden om een interactie met de bezoeker van de website te bewerkstelligen. Over het algemeen bestaat een formulier uit stappen waarop de bezoeker gegevens kan invullen. Het resultaat is dat er, aan de hand van die gegevens, actie wordt ondernomen en er bijvoorbeeld een e-mail wordt verstuurd. Voorbeelden van formulieren zijn e-cardformulieren en boekingsformulieren. Voorbeeld van een formulier:
Een formulier is gebaseerd op een formuliermodel. Een formuliermodel bestaat uit stappen die tezamen een flow vormen. Zo’n flow wordt gedefinieerd door middel van validaties, afhandelingen en routeringen. Per formulier kan er een rapportage worden gegenereerd. Formuliermodellen worden gedefinieerd via het menu Functionaliteit > Formulieren > Modellen. Formulieren kunnen op een pagina geplaatst worden via het menu Invoegen > Formulier. Er kunnen ook e-mailformulieren, e-cardformulieren en Verseon formulieren worden gedefinieerd. Uitleg hiervan valt echter buiten de scope van dit document.
De formulierenmodule maakt gebruik van de volgende uitgangsprincipes:
Formulier Een formulier is altijd gebaseerd op een formuliermodel. Per formuliermodel kunnen er meerdere formulieren bestaan. Een formulier wordt op een pagina geplaatst. Per formulier kan worden gekeken of het ingevuld is en kan een rapportage worden gegenereerd.
Onderdeel > Stap > Flow > Formuliermodel Een formuliermodel heeft een flow. Een flow is opgebouwd uit stappen. Een stap heeft één of meerdere onderdelen (tekst, lijst, knop, …). De weergave en het uiterlijk kunnen op stapniveau en op onderdeelniveau bepaald worden.
Uiterlijk De verschillende onderdelen van een stap hebben dezelfde look-and-feel als de contentelementen op een pagina. De onderdelen kunnen worden open- en dichtgeklapt, verplaatst en verwijderd. De stappen uit een flow kunnen binnen de functionaliteit in een preview worden bekeken.
Plaatsing formulier Als het formuliermodel ontwikkeld is en er een formulier van dat model gemaakt is, dan kan
dit
formulier
op
de
website
geplaatst
worden.
Aan
de
achterkant
van
GX WebManager kan aangeven worden of de verschillende stappen van dat formulier op één pagina moeten staan of dat ze verdeeld moeten worden over meerdere pagina’s. Een stap kan op precies één pagina worden getoond.
Voordat een formuliermodel ontwikkeld kan worden, moeten er een aantal opties gedefinieerd en ingesteld worden: Categorieën om de formuliermodellen in te kunnen delen in groepen.
• •
Voorgedefinieerde lijsten waarvan de lijstonderdelen gebruik kunnen maken.
•
Koppelingen met interne en/of externe resources.
•
Definiëren van afhandeling-, routering- en validatieregels om te gebruiken in de definitie van de flow en bij de onderdelen op de stappen van een formuliermodel. Handlerdefinities om te gebruiken in de definitie van de flow van een formuliermodel.
•
Veel regels en handlerdefinities worden al bij GX WebManager meegeleverd. Het is echter ook mogelijk deze regels en handlerdefinities aan te passen en nieuwe regels en handlerdefinities te creëren.
2. 1
C at e g or i e ë n
Maak categorieën aan om formuliermodellen in groepen in te kunnen delen. Het is niet verplicht om dit te doen, maar handig als de lijst van formulieren groot is. ⇒
Ga via het menu Functionaliteiten > Formulieren > Opties naar het tabblad [Categorieën].
⇒
Maak een nieuwe categorie aan door ‘Nieuwe categorie’ te selecteren bij ‘Selecteer’.
⇒
Geef de categorie een naam en klik op [Toepassen]:
De categorie is nu beschikbaar bij de Formuliermodellen. Merk op: Het is ook mogelijk categorieën te wijzigen en te verwijderen.
Als een onderdeel van het type ‘Lijst’ op een formulierstap wordt gezet, kan de bijbehorende lijst ter plaatse worden gedefinieerd, maar er kan ook een voorgedefinieerde lijst worden gebruikt. Deze voorgedefinieerde lijsten kunnen hier worden gecreëerd. Het is niet verplicht om dit te doen, maar verstandig voor het centraal onderhoud van lijstjes en handig als lijstjes hergebruikt moeten kunnen worden. Voorgedefinieerde lijsten kunnen op twee manieren worden samengesteld: •
Door de lijstelementen één voor één in te typen.
•
Door een query (zoekvraag) op een database te definiëren.
2.2.1 ⇒
Handmatige invoer Ga via het menu Functionaliteiten > Formulieren > Opties naar het tabblad [Voorgedefinieerde lijsten].
⇒
Maak een nieuwe voorgedefinieerde lijst aan door ‘Nieuwe lijst’ te selecteren bij ‘Selecteer’, geef de voorgedefinieerde lijst een naam en klik op [Toepassen]:
⇒
Voer een waarde in bij ‘Toevoegingen’ en klik op [Toepassen]:
Hierdoor kan er een volgende waarde ingevoerd worden.
Voer alle waarden die in de lijst moeten komen in. De volgorde waarin de waarden hier staan, is ook de volgorde waarop de lijstelementen getoond worden aan de voorkant:
⇒
Achter de waarden moet een getal ingevoerd worden, omdat de lijstelementen worden weggeschreven naar een database en daar een indexeringkolom mee gevuld wordt:
Merk op: Als er geen getallen ingevoerd worden, dan kunnen de door de gebruiker ingevoerde waarden bijvoorbeeld niet afgedrukt worden in een bevestigingsmail. ⇒
De standaard waarden kunnen hier geselecteerd worden in de kolom ‘Aangevinkt’:
De voorgedefinieerde lijst is nu te selecteren bij de Formuliermodellen. Merk op: Het is ook mogelijk lijstelementen en lijsten te wijzigen en te verwijderen.
Op basis van een query Ga via het menu Functionaliteiten > Formulieren > Opties naar het tabblad [Voorgedefinieerde lijsten].
⇒
Maak een nieuwe voorgedefinieerde lijst aan, die gebaseerd is op een query, door ‘Nieuwe query’ te selecteren bij ‘Selecteer’:
⇒
Geef de voorgedefinieerde lijst een naam, selecteer de database (er moet al wel een koppeling met die database aanwezig zijn), voer de query in en klik op [Toepassen]:
Voorgedefinieerde lijsten gebaseerd op queries hebben twee kolommen in de SELECTclause nodig: o
Als eerste een numerieke kolom (met alias ‘id’) waarvan de waarde doorgestuurd wordt bij het versturen van het formulier.
o
Als tweede de kolom (met alias ‘name’) waar de waarden in staan die op de pagina getoond moeten gaan worden.
De voorgedefinieerde lijst is nu te selecteren bij lijstelementen op stappen van formuliermodellen. Merk op: Het is ook mogelijk voorgedefinieerde lijsten te wijzigen en te verwijderen.
Een resource is een tabel in een database waarnaar geschreven en/of waaruit gelezen kan worden. Als een bezoeker bijvoorbeeld voor de tweede keer via het internet een order plaatst bij dezelfde firma, wil hij niet opnieuw al zijn gegevens in hoeven voeren. De klantgegevens moeten, nadat ze de eerste keer ingevoerd zijn, opgeslagen kunnen worden in een tabel in een database en uit diezelfde tabel weer teruggelezen kunnen worden als de bezoeker terugkomt. ⇒
Ga via het menu Functionaliteiten > Formulieren > Opties naar het tabblad [Resources].
⇒
Maak een nieuwe resource aan door ‘Nieuwe resource’ te selecteren bij ‘Selecteer’.
⇒
Voer de gegevens in van deze nieuwe resource:
De velden in dit scherm hebben de volgende betekenis: Veld
Omschrijving
Naam
Naam van de resource zoals in keuzelijstjes van GX WebManager moet komen.
Waarde
Interne naam van de resource. Vul dit veld in als er iets gedaan moet worden in de code.
Tagnaam
De naam van de tag waaronder de velden in de sessie staan (hier bijvoorbeeld onder /root/system/person/country). Dit voor de prefilling.
Als er nog transformaties op de velden uitgevoerd moeten worden voor de prefilling, kan dat hier in XSL geprogrammeerd worden (bijvoorbeeld datumformaat of kapitalisatie wijzigen).
Cluster
Wordt gebruikt door de Java ProfileHandler, zodat deze weet dat het om een GX WebManager tabel gaat. Veld wordt verwijderd.
Tabelnaam
Naam van de tabel waarnaar geschreven of waaruit gelezen moet gaan worden.
Database
Naam van de database waar deze tabel zich in bevindt (er moet al wel een koppeling met deze database zijn).
Entry – Naam
Veldnaam zoals getoond wordt aan de gebruiker.
Entry – Waarde
Interne naam van het veld.
Entry – Veldnaam
Kolom in de database waar dit veld aan gerelateerd is.
Entry – Primaire sleutel
Of deze kolom een primary key kolom is in de database.
Entry – Auto increment
Of deze kolom automatisch gevuld moet worden door middel van een nummertjesautomaat (sequence).
Entry –Vreemde sleutel
Of deze kolom een foreign key kolom is in de database.
Entry – Null toestaan
Of deze kolom optioneel of verplicht is.
Entry – Verwijder
Verwijder deze entry door hier een vinkje te plaatsen en de resource op te slaan.
Entry – Button [Nieuwe entry]
Om met de hand een nieuwe entry toe te voegen.
Entry – Button
Door te klikken op deze button worden
[Nieuwe resource entry]
automatisch alle kolommen uit de betreffende tabel opgehaald en hier getoond als een lijst van entries.
Deze regels kunnen vervolgens gebruikt worden bij het inrichten van formuliermodellen. Door één van de vier typen regels te kiezen (bij A in onderstaande afbeelding), komen alleen de regels van die groep in de pulldown bij B. Door (bij A) ‘Filter op label’ te kiezen worden bij B alle regels getoond. Voorbeeld:
In regels van het type ‘Afhandeling’ worden formulierafhandelingen gedefinieerd die vervolgens gebruikt kunnen worden in de flow van formuliermodellen. Zie voor een voorbeeld van een afhandeling de afbeelding op de vorige pagina. De velden in dit scherm hebben de volgende betekenis: Veld Basis – Naam
Omschrijving Naam van de afhandeling zoals in keuzelijstjes van GX WebManager moet komen.
Basis – Beschrijving
Beschrijving van de afhandeling. Deze verschijnt op de flow van het formuliermodel als deze regel geselecteerd is. Hier kunnen parameters gebruikt worden om in te voeren en om bijvoorbeeld de volgorde van de velden aan de gebruiker door te geven (via de beschrijving van de parameter). Voorbeeld:
Klikken op de link ‘WebManager’ levert de volgende pop-up:
Of deze afhandeling in de formuliermodellen gebruikt mag worden.
Basis – Label
Type van de regel (‘Afhandeling’, ‘Formulier validatie’, ‘Routering’ of ‘Validatie’).
Basis – Java handler class
Java class die aangeroepen wordt bij deze afhandeling.
Basis – Extra identifier
Interne GX WebManager naam van de regel. Vul dit veld in als er iets gedaan moet worden in de code.
Basis – Preconditie
Voorwaarde waaraan voldaan moet worden voordat deze afhandeling gestart gaat worden. Voorbeeld: count(/handler/flow/formelement/error[@code = 'not_found']) > 0
Basis – Resource
Veld wordt verwijderd.
Basis – Connectienaam
Selecteer hier de naam van de betreffende resource, zoals gedefinieerd op het tabblad [Resources]. Deze connectienaam wordt gebruikt door handlers die een query doen en is alleen te selecteren als de handler een connectienaam nodig heeft.
Parameters en berichten moeten aangemaakt en ingesteld worden als GX WebManager erom vraagt. GX WebManager merkt namelijk op als er parameters en/of berichten missen en meldt dat dan. Het verschil tussen een ‘Parameter’, een ‘Specifieke parameter’ en een ‘Bericht’ is dat de waarde van een ‘Specifieke parameter’ ingevuld wordt bij de betreffende Regel (door bijvoorbeeld een applicatiebeheerder) en de waarde van een ‘Parameter’ en van een ‘Bericht’ ingevuld wordt op het formuliermodel of bij het contentelement (door bijvoorbeeld een functioneel beheerder). Op deze plek verschijnen in een rood lettertype waarschuwingen en foutmeldingen die betrekking hebben op de parameters, specifieke parameters en berichten. Parameter –
De volgorde waarin de parameters staan bij het invoeren van de parameterwaarden op het formuliermodel.
Parameter – Beschrijving
Tekst die tevoorschijn komt als label van de parameter bij het invoeren van de waarde ervan als @parametercode@ gebruikt wordt in de beschrijving van de afhandeling.
Parameter – Code
Naam van de parameter zoals geprogrammeerd in de Java code.
Parameter – Type
Type van de parameter:
Deze code is niet aan te passen. •
Tekst (er kan platte tekst ingevoerd worden)
•
Formpart (er kan gekozen worden uit formulieronderdelen)
•
Formpart waarde (er kan gekozen worden uit waarden van formulieronderdelen)
•
Getal (er kan een getal ingevoerd worden)
•
Pagina (er kan gekozen worden uit pagina’s)
•
Formulierstap (er kan gekozen worden uit formulierstappen)
•
Ingevulde waarde (er kan gekozen worden uit waarden)
Of bij deze parameter meerdere waarden ingevuld moeten kunnen worden.
Parameter – Decentraal
Of deze parameter in het formuliermodel (= centraal) of bij het contentelement op de pagina (= decentraal) gedefinieerd wordt.
Parameter – Verwijder
Verwijder deze parameter door hier een vinkje te plaatsen en de afhandeling op te slaan.
Parameter – Button
Voeg een parameter toe.
[Toevoegen] Berichten –
Volgordenummer van de berichten.
Berichten – Beschrijving
Externe naam van het bericht. Deze verschijnt op het [Flow] tabblad van de formuliermodellen in de kolom ‘Beschrijving’.
Berichten – Code
Interne naam van het bericht zoals geprogrammeerd in de Java code.
Berichten – Bericht
Tekst van het bericht (bijvoorbeeld een foutmelding of de inhoud van een e-mail). Deze verschijnt op het [Flow] tabblad van de formuliermodellen in de kolom ‘Invulling’.
Berichten – Decentraal
Of dit bericht in het model (= centraal) of op de pagina (= decentraal) gedefinieerd wordt.
Berichten – Verwijder
Verwijder dit bericht door hier een vinkje te plaatsen en de afhandeling op te slaan.
Berichten – Button
Voeg een bericht toe.
[Toevoegen] Specifieke parameter –
Interne naam van de parameter zoals geprogrammeerd in de Java
Code
code.
Specifieke parameter –
Inhoud die de parameter moet krijgen.
Parameter Bijvoorbeeld in de DatabaseUpdateHandler is er een specifieke parameter ‘updatequery’ die gevuld moet worden met het betreffende UPDATE statement. Specifieke parameter –
Verwijder deze specifieke parameter door hier een vinkje te
Verwijder
plaatsen en de afhandeling op te slaan.
Beperk tot categorie
Selecteer hier bij welke categorieën (gedefinieerd op het [Categorieën] tabblad) formuliermodellen deze afhandeling in de keuzelijst op het [Flow] tabblad moet verschijnen. Als hier geen enkele categorie geselecteerd is, dan verschijnt deze afhandeling bij alle formuliermodellen.
Gebruikt in formulier
Lijst van formuliermodellen waarin deze afhandeling gebruikt wordt.
In regels van het type ‘Formulier validatie’ worden validaties gedefinieerd die vervolgens gebruikt kunnen worden in de flow van formuliermodellen. Voorbeeld:
De velden in dit scherm hebben de volgende betekenis: Veld
Omschrijving
Basis – Naam
Naam van de formulier validatie zoals in keuzelijstjes van GX WebManager moet komen.
Basis – Beschrijving
Beschrijving van de formulier validatie. Deze verschijnt op de flow van het formuliermodel als deze regel geselecteerd is. Hier kunnen parameters gebruikt worden om in te voeren en om bijvoorbeeld de volgorde van de velden aan de gebruiker door te geven (via de beschrijving van de parameter).
Of deze formulier validatie in de formuliermodellen gebruikt mag worden.
Basis – Label
Type van de regel (‘Afhandeling’, ‘Formulier validatie’, ‘Routering’ of ‘Validatie’).
Basis – Java handler class
Java class die aangeroepen wordt bij deze formulier validatie.
Basis – Extra identifier
Interne naam van de regel. Vul dit veld in als er iets gedaan moet worden in de code.
Basis – Preconditie
Voorwaarde waaraan voldaan moet worden voordat deze formulier validatie gestart gaat worden.
Javascript template
Client-side check vóór de SUBMIT. Normaal wordt een formulier pas
Basis – Resource
Veld wordt verwijderd.
op de server gecontroleerd.
Basis – Connectienaam
Selecteer hier de naam van de betreffende resource, zoals gedefinieerd op het tabblad [Resources]. Deze connectienaam wordt gebruikt door handlers die een query doen en is alleen te selecteren als de handler een connectienaam nodig heeft.
Op deze plek verschijnen in een rood lettertype waarschuwingen en foutmeldingen die betrekking hebben op de parameters, specifieke parameters en berichten. Parameter –
De volgorde waarin de parameters staan bij het invoeren van de parameterwaarden op het formuliermodel.
Parameter – Beschrijving
Tekst die tevoorschijn komt als label van de parameter bij het invoeren van de waarde ervan als @parametercode@ gebruikt wordt in de beschrijving van de formulier validatie.
Parameter – Code
Naam van de parameter zoals geprogrammeerd in de Java code. Deze code is niet aan te passen.
Parameter – Type
Type van de parameter: •
Tekst (er kan platte tekst ingevoerd worden)
•
Formpart (er kan gekozen worden uit formulieronderdelen)
•
Formpart waarde (er kan gekozen worden uit waarden van formulieronderdelen)
Parameter – Meerdere
•
Getal (er kan een getal ingevoerd worden)
•
Pagina (er kan gekozen worden uit pagina’s)
•
Formulierstap (er kan gekozen worden uit formulierstappen)
•
Ingevulde waarde (er kan gekozen worden uit waarden)
Of bij deze parameter meerdere waarden ingevuld moeten kunnen worden.
Parameter – Decentraal
Of deze parameter in het formuliermodel (= centraal) of bij het contentelement op de pagina (= decentraal) gedefinieerd wordt.
Parameter – Verwijder
Verwijder deze parameter door hier een vinkje te plaatsen en de formulier validatie op te slaan.
Externe naam van het bericht. Deze verschijnt op het [Flow] tabblad van de formuliermodellen in de kolom ‘Beschrijving’.
Berichten – Code
Interne naam van het bericht zoals geprogrammeerd in de Java code.
Berichten – Bericht
Tekst van het bericht (bijvoorbeeld een foutmelding of de inhoud van een e-mail). Deze verschijnt op het [Flow] tabblad van de formuliermodellen in de kolom ‘Invulling’.
Berichten – Decentraal
Of dit bericht in het model (= centraal) of op de pagina (= decentraal) gedefinieerd wordt.
Berichten – Verwijder
Verwijder dit bericht door hier een vinkje te plaatsen en de formulier validatie op te slaan.
Berichten – Button
Voeg een bericht toe.
[Toevoegen] Specifieke parameter –
Interne naam van de parameter zoals geprogrammeerd in de Java
Code
code.
Specifieke parameter –
Inhoud die de parameter moet krijgen.
Parameter Specifieke parameter –
Verwijder deze specifieke parameter door hier een vinkje te
Verwijder
plaatsen en de formulier validatie op te slaan.
Beperk tot categorie
Selecteer hier bij welke categorieën (gedefinieerd op het [Categorieën] tabblad) formuliermodellen deze formulier validatie in de keuzelijst op het [Flow] tabblad moet verschijnen. Als hier geen enkele categorie geselecteerd is, dan verschijnt deze formulier validatie bij alle formuliermodellen.
Gebruikt in formulier
Lijst van formuliermodellen waarin deze formulier validatie gebruikt wordt.
In regels van het type ‘Routering’ worden (voorwaardelijke) sprongen naar andere pagina’s of stappen gedefinieerd die vervolgens gebruikt kunnen worden in de flow van formuliermodellen. Voorbeeld:
De velden in dit scherm hebben de volgende betekenis: Veld
Omschrijving
Basis – Naam
Naam van de routering zoals in keuzelijstjes van GX WebManager moet komen.
Basis – Beschrijving
Beschrijving van de routering. Deze verschijnt op de flow van het formuliermodel als deze regel geselecteerd is. Hier kunnen parameters gebruikt worden om in te voeren en om bijvoorbeeld de volgorde van de velden aan de gebruiker door te geven (via de beschrijving van de parameter).
Basis – Beschikbaar Basis – Label
Of deze routering in de formuliermodellen gebruikt mag worden. Type van de regel (‘Afhandeling’, ‘Formulier validatie’, ‘Routering’ of ‘Validatie’).
Basis – Java handler class
Java class die aangeroepen wordt bij deze routering.
Interne naam van de regel. Vul dit veld in als er iets gedaan moet worden in de code.
Basis – Preconditie
Voorwaarde waaraan voldaan moet worden voordat deze routering gestart gaat worden.
Basis – Resource
Veld wordt verwijderd.
Basis – Connectienaam
Selecteer hier de naam van de betreffende resource, zoals gedefinieerd op het tabblad [Resources]. Deze connectienaam wordt gebruikt door handlers die een query doen en is alleen te selecteren als de handler een connectienaam nodig heeft.
Op deze plek verschijnen in een rood lettertype waarschuwingen en foutmeldingen die betrekking hebben op de parameters, specifieke parameters en berichten. Parameter –
De volgorde waarin de parameters staan bij het invoeren van de parameterwaarden op het formuliermodel.
Parameter – Beschrijving
Tekst die tevoorschijn komt als label van de parameter bij het invoeren van de waarde ervan als @parametercode@ gebruikt wordt in de beschrijving van de routering.
Parameter – Code
Naam van de parameter zoals geprogrammeerd in de Java code.
Parameter – Type
Type van de parameter:
Deze code is niet aan te passen. •
Tekst (er kan platte tekst ingevoerd worden)
•
Formpart (er kan gekozen worden uit formulieronderdelen)
•
Formpart waarde (er kan gekozen worden uit waarden van formulieronderdelen)
•
Getal (er kan een getal ingevoerd worden)
•
Pagina (er kan gekozen worden uit pagina’s)
•
Formulierstap (er kan gekozen worden uit formulierstappen)
•
Ingevulde waarde (er kan gekozen worden uit waarden)
Parameter – Meerdere
Of bij deze parameter meerdere waarden ingevuld moeten kunnen
Parameter – Decentraal
Of deze parameter in het formuliermodel (= centraal) of bij het
worden. contentelement op de pagina (= decentraal) gedefinieerd wordt. Parameter – Verwijder
Verwijder deze parameter door hier een vinkje te plaatsen en de routering op te slaan.
Parameter – Button
Voeg een parameter toe.
[Toevoegen] Berichten –
Volgordenummer van de berichten.
Berichten – Beschrijving
Externe naam van het bericht. Deze verschijnt op het [Flow] tabblad van de formuliermodellen in de kolom ‘Beschrijving’.
Berichten – Code
Interne naam van het bericht zoals geprogrammeerd in de Java code.
Berichten – Bericht
Tekst van het bericht (bijvoorbeeld een foutmelding of de inhoud van een e-mail). Deze verschijnt op het [Flow] tabblad van de formuliermodellen in de kolom ‘Invulling’.
Of dit bericht in het model (= centraal) of op de pagina (= decentraal) gedefinieerd wordt.
Berichten – Verwijder
Verwijder dit bericht door hier een vinkje te plaatsen en de routering op te slaan.
Berichten – Button
Voeg een bericht toe.
[Toevoegen] Specifieke parameter –
Interne naam van de parameter zoals geprogrammeerd in de Java
Code
code.
Specifieke parameter –
Inhoud die de parameter moet krijgen.
Parameter Specifieke parameter –
Verwijder deze specifieke parameter door hier een vinkje te
Verwijder
plaatsen en de routering op te slaan.
Beperk tot categorie
Selecteer hier bij welke categorieën (gedefinieerd op het [Categorieën] tabblad) formuliermodellen deze routering in de keuzelijst op het [Flow] tabblad moet verschijnen. Als hier geen enkele categorie geselecteerd is, dan verschijnt deze routering bij alle formuliermodellen.
Gebruikt in formulier
Lijst van formuliermodellen waarin deze routering gebruikt wordt.
In regels van het type ‘Validatie’ worden geldigheidscontroles gedefinieerd die vervolgens gebruikt kunnen worden bij de diverse onderdelen op de stappen van formuliermodellen. Voorbeeld:
De velden in dit scherm hebben de volgende betekenis: Veld
Omschrijving
Basis – Naam
Naam van de validatie zoals in keuzelijstjes van GX WebManager moet komen.
Basis – Beschrijving
Beschrijving van de validatie. Deze verschijnt op de flow van het formuliermodel als deze regel geselecteerd is. Hier kunnen parameters gebruikt worden om in te voeren en om bijvoorbeeld de volgorde van de velden aan de gebruiker door te geven (via de beschrijving van de parameter).
Of deze validatie in de formuliermodellen gebruikt mag worden. Type van de regel (‘Afhandeling’, ‘Formulier validatie’, ‘Routering’ of ‘Validatie’).
Basis –
Vorm waaraan de invoer moet voldoen.
Reguliere expressie Voorbeeld: Een postcode moet voldoen aan de reguliere expressie \s*\d{4}\s*[a-zA-Z]{2}\s* (Dit betekent: spaties, 4 cijfers, spaties, 2 letters, spaties) Zie http://www.regular-expressions.info/reference.html voor een overzicht van de syntax van reguliere expressies. Basis – Java handler class
Java class die aangeroepen wordt bij deze validatie.
Basis – Extra identifier
Interne naam van de regel. Vul dit veld in als er iets gedaan moet worden in de code.
Basis – Extra veld
Deze tekst wordt op de pagina getoond achter het label van de
Basis – Alleen voor
Deze validatie kan alleen gebruikt worden bij deze typen
velden waar deze validatie aan toegewezen is. onderdelen. Als hier geen typen gekozen zijn, dan verschijnt deze validatie bij alle onderdelen. Mogelijke keuzes: •
Uploaden bestand
•
Lijst
•
Uitzondering
•
Subformulier
•
Tekst invoerveld
Basis – Resource
Veld wordt verwijderd.
Basis – Connectienaam
Selecteer hier de naam van de betreffende resource, zoals gedefinieerd op het tabblad [Resources]. Deze connectienaam wordt gebruikt door handlers die een query doen en is alleen te selecteren als de handler een connectienaam nodig heeft.
Op deze plek verschijnen in een rood lettertype waarschuwingen en foutmeldingen die betrekking hebben op de parameters, specifieke parameters en berichten. Parameter –
De volgorde waarin de parameters staan bij het invoeren van de parameterwaarden op het formuliermodel.
Parameter – Beschrijving
Tekst die tevoorschijn komt als label van de parameter bij het invoeren van de waarde ervan als @parametercode@ gebruikt wordt in de beschrijving van de validatie.
Parameter – Code
Naam van de parameter zoals geprogrammeerd in de Java code. Deze code is niet aan te passen.
Formpart (er kan gekozen worden uit formulieronderdelen)
•
Formpart waarde (er kan gekozen worden uit waarden van formulieronderdelen)
Parameter – Meerdere
•
Getal (er kan een getal ingevoerd worden)
•
Pagina (er kan gekozen worden uit pagina’s)
•
Formulierstap (er kan gekozen worden uit formulierstappen)
•
Ingevulde waarde (er kan gekozen worden uit waarden)
Of bij deze parameter meerdere waarden ingevuld moeten kunnen worden.
Parameter – Decentraal
Of deze parameter in het formuliermodel (= centraal) of bij het contentelement op de pagina (= decentraal) gedefinieerd wordt.
Parameter – Verwijder
Verwijder deze parameter door hier een vinkje te plaatsen en de validatie op te slaan.
Parameter – Button
Voeg een parameter toe.
[Toevoegen] Berichten –
Volgordenummer van de berichten.
Berichten – Beschrijving
Externe naam van het bericht. Deze verschijnt op het [Flow] tabblad van de formuliermodellen in de kolom ‘Beschrijving’.
Berichten – Code
Interne naam van het bericht zoals geprogrammeerd in de Java code.
Berichten – Bericht
Tekst van het bericht (bijvoorbeeld een foutmelding of de inhoud van een e-mail). Deze verschijnt op het [Flow] tabblad van de formuliermodellen in de kolom ‘Invulling’.
Berichten – Decentraal
Of dit bericht in het model (= centraal) of op de pagina (= decentraal) gedefinieerd wordt.
Berichten – Verwijder
Verwijder dit bericht door hier een vinkje te plaatsen en de validatie op te slaan.
Berichten – Button
Voeg een bericht toe.
[Toevoegen] Specifieke parameter –
Interne naam van de parameter zoals geprogrammeerd in de Java
Code
code.
Specifieke parameter –
Inhoud die de parameter moet krijgen.
Parameter Specifieke parameter –
Verwijder deze specifieke parameter door hier een vinkje te
Verwijder
plaatsen en de validatie op te slaan.
Beperk tot categorie
Selecteer hier bij welke categorieën (gedefinieerd op het [Categorieën] tabblad) formuliermodellen deze validatie in de keuzelijst op het [Flow] tabblad moet verschijnen. Als hier geen enkele categorie geselecteerd is, dan verschijnt deze validatie bij alle formuliermodellen.
Gebruikt in formulier
Lijst van formuliermodellen waarin deze validatie gebruikt wordt.
In GX WebManager zijn al veel regels voorgedefinieerd. Als er toch een nieuwe regel aangemaakt moet worden, dan kan dit op twee manieren: •
Een volledig nieuwe regel aanmaken door ‘Nieuwe regel’ te selecteren uit het pulldown menu (bij A in onderstaande afbeelding) en deze in te richten.
•
Uitgaan van een bestaande regel, daar een kopie van maken met de button [Kopieer] (zie bij B) en die aanpassen.
Het is ook mogelijk overbodige regels te verwijderen. Dit lukt echter alleen als de betreffende regel in geen enkel formuliermodel gebruikt wordt. Anders is de knop [Verwijderen] namelijk uitgegrijsd (zie bij C).
Een handlerdefinitie (in GX WebManager 8.2 werd deze optie ‘Template’ genoemd) koppelt Java handler componenten aan de formulierenmodule. Een handlerdefinitie bevat meta-informatie over de handler component zoals parameters, berichten en de classname van de component. Voorbeeld:
De velden in dit scherm hebben de volgende betekenis: Veld
Omschrijving
Naam
Naam van de Java method.
Complete Java class
Het pad waar deze method binnen Java te vinden is.
Regeltype
Bij wat voor soort regels deze handlerdefinitie hoort: ‘Afhandeling’, ‘Formulier validatie’, ‘Routering’ of ‘Validatie’.
Gebruik alle form parts in de flow
Zet hier een vinkje als alle formparts (formulieronderdelen) van alle stappen die al geweest zijn doorgegeven moeten worden aan de handler. Laat het vinkje weg als alleen de formparts van de stap waarop de handler aangeroepen wordt doorgegeven moeten worden aan de handler.
Parameters – Naam
Naam van de parameter zoals geprogrammeerd in de Java code.
Formpart (er kan gekozen worden uit formulieronderdelen)
•
Formpart waarde (er kan gekozen worden uit waarden van formulieronderdelen)
•
Getal (er kan een getal ingevoerd worden)
•
Pagina (er kan gekozen worden uit pagina’s)
•
Formulierstap (er kan gekozen worden uit formulierstappen)
•
Ingevulde waarde (er kan gekozen worden uit waarden van formulieronderdelen)
Parameters – Vaste
Alleen bij parameters van het type ‘Tekst’ kan via de button
teksten
[Aanpassen] de vorm van de invoer van de parameter bepaald worden (nieuw in GX WebManager 8.3): •
De parameter kan handmatig ingevoerd worden.
•
De waarde van de parameter kan alleen gekozen worden uit een vaste lijst van waarden. Die waarden kunnen hier ingevoerd worden.
Voorbeeld:
Parameters – Verplicht
Of deze parameter ingevuld moet worden of optioneel is.
Parameters – Button
Verwijder deze parameter.
[Verwijder] Parameters – Button
Voeg een parameter toe.
[Nieuwe Parameter] Berichten –
Interne naam van het bericht. Een bericht is een stukje tekst wat tevoorschijn komt uit de Java code. Het kan in de regel die deze handlerdefinitie gebruikt een andere inhoud krijgen (om het bijvoorbeeld in een andere taal om te zetten of om het minder cryptisch te maken).
In GX WebManager zijn al veel handlerdefinities voorgedefinieerd. Als er toch een nieuwe handlerdefinitie aangemaakt moet worden, kan dit door ‘Nieuwe handlerdefinitie’ te selecteren uit het pulldown menu en deze in te richten. Een bestaande handlerdefinitie kan aangepast worden. Ook als deze in gebruik is. Pas hier dus mee op! Het is ook mogelijk handlerdefinities te verwijderen. Er wordt hier niet gecontroleerd of deze handlerdefinitie in gebruik is bij een regel. Verwijderen van handlerdefinities is dus niet aan te raden als het niet echt moet.
Een formulier is een instantie van een formuliermodel. Om een formulier op een pagina te kunnen plaatsen, moet dus eerst een formuliermodel voor dat formulier aangemaakt worden. Een formuliermodel bestaat uit één of meerdere stappen. Elke afzonderlijke stap bestaat uit één of meerdere onderdelen (open vraag, lijst met opties, etc.). Ook worden de afhandelingen en routeringen tussen de verschillende stappen ingesteld. Voorbeeld: stap 1 van een formulier wat uit 4 stappen bestaat
De splitsing tussen formulieren en formuliermodellen heeft twee redenen: 1.
De flowlogging voor het kunnen genereren van rapportages wordt gedaan op basis van een formulier en niet op basis van een formuliermodel. Dat wil zeggen dat de rapportages van twee formulieren van hetzelfde formuliermodel verschillend zijn.
2.
In oudere versies van GX WebManager was het niet mogelijk om een formulier te verdelen over meerdere pagina’s (bijvoorbeeld stap 1 en 2 op pagina A en stap 3 en 4 op pagina B). Per stap moest een formulier aangemaakt worden en ieder formulier moest op een aparte pagina geplaatst worden. Dus was het überhaupt niet mogelijk stap 1 en 2 op pagina A en stap 3 en 4 op pagina B te zetten. Deze methode leverde een spinnenweb aan formulierdefinities en pagina’s op. Vanaf GX WebManager 8.1 is het zo dat stappen van een formulier altijd bij elkaar blijven horen ongeacht of ze op verschillende pagina’s staan. Iedere stap uit een
formulier mag dan ook slechts één keer gebruikt worden. Als een stap van een formulier op een pagina getoond wordt, is deze stap niet meer te selecteren in een ander formulier-element. Voorbeeld: Op ‘Pagina A’ worden stap 1 en 2 geplaatst:
Op ‘Pagina B’ worden stap 3 en 4 geplaatst (stap 1 en 2 mogen nu niet meer geselecteerd worden, want die staan al op pagina A):
Als een formulier meerdere keren op een website geplaatst moet worden, kan dat door van het bijbehorende formuliermodel meerdere formulierinstanties aan te maken. Deze formulierinstanties kunnen dan in verschillende formulier-elementen gebruikt worden.
Eerst worden de stappen afzonderlijk ingericht: ⇒ ⇒
Ga naar het menu Functionaliteit > Formulieren > Modellen. Maak een nieuw formuliermodel door op de button [Nieuw formuliermodel] te klikken en dit nieuwe formuliermodel te selecteren bij ‘Selecteer’:
⇒
Voer de algemene gegevens van dit formuliermodel in en sla deze gegevens op:
Selecteer de ‘Categorie’ waar dit formuliermodel in moet gaan vallen. Dit zijn de categorieën die gedefinieerd zijn op het [Categorieën] tabblad van de [Opties] tab. Het is niet verplicht om formuliermodellen in categorieën in te delen. Hiermee kunnen formuliermodellen makkelijker teruggevonden worden.
o
Vink de te gebruiken ‘Resource(s)’ aan als er naar een database wordt geschreven of uit een database wordt gelezen. Hier staan de resources die gedefinieerd zijn op het [Resources] tabblad van de [Opties] tab.
⇒
Maak op het [Stappen] tabblad de eerste stap aan:
o o
Geef de stap een ‘Stapnaam’. Voer de titel in. Deze titel wordt, indien de vormgeving dit toestaat, getoond op de pagina.
o
Kies het type ‘Weergave’ (bijvoorbeeld een read-only formulier of een invoerformulier).
o
Bij ‘Default stylesheet’ kan een stukje CSS ingevoerd worden waarmee de lay-out van alle formulieronderdelen aangepast kan worden. Als bijvoorbeeld alle velden een breedte van 100 pixels moeten krijgen, kan hier width:100px; ingevoerd worden. Bij de individuele velden kan dit weer overruled worden.
Bekijk het resultaat met behulp van [bekijken]/[bewerken]
(bij A in
onderstaande afbeelding):
⇒
Maak eventuele volgende stappen aan: o
Klik op de button [Nieuw] (bij B in bovenstaande afbeelding) om een lege nieuwe stap te creëren.
o
Selecteer een al bestaande stap en klik op de button [Kopieer] (bij C) om een kopie van deze stap te maken.
⇒
Voer voor deze vervolgstappen de algemene gegevens in en vul de vervolgstappen met onderdelen.
Merk op: •
Verwijderen van een stap wordt gedaan door op de [Verwijder] button die onder de lijst van stappen staat te klikken (bij D).
•
Verwijderen van een formuliermodel wordt gedaan door op de [Verwijder] button die onder de algemene gegevens van het formuliermodel staat te klikken (bij E).
De velden van dit onderdeel hebben de volgende betekenis: Veld
Omschrijving
Beschrijving
Label van het tekst invoerveld.
Default waarde
Standaard inhoud van dit tekst invoerveld. Deze waarde kan: •
Hier ter plaatse ingevoerd worden.
•
Overgenomen worden van een formulierveld van een voorgaande stap. In het voorbeeld wordt stap 1 samengesteld en dus zijn er geen voorgaande stappen. Daarom is de optie uitgegrijsd.
•
Overgenomen worden van een databaseveld. De velden die hier verschijnen zijn de entries uit de bij het formuliermodel geselecteerde resources. Als er geen resources geselecteerd zijn, is deze optie niet zichtbaar.
Verplicht
Of dit tekst invoerveld ingevuld moet worden of niet.
Button [Meer opties] of
Of de hieronder staande velden wel of niet getoond moeten
[Minder opties]
worden bij dit tekst invoerveld.
Presentatie – Weergave
Hoe het tekst invoerveld eruit moet zien. Standaard kan hier gekozen worden uit:
Presentatie – Maximale lengte
•
WM formpart (schrijfbaar veld)
•
WM formpart date DDMMYYYY (datumveld)
•
WM formpart hidden (onzichtbaar veld)
•
WM formpart readonly (alleen-lezen veld)
Maximaal aantal karakters waaruit de invoer in dit tekst invoerveld mag bestaan.
Presentatie – Breedte
Breedte van het tekst invoerveld in karakters.
Presentatie – Hoogte
Hoogte van het tekst invoerveld in regels.
Presentatie – Wachtwoord
Of in dit tekst invoerveld een wachtwoord ingevoerd moet gaan worden. Als dat zo is, worden er geen de karakters maar sterretjes getoond tijdens het invoeren.
Presentatie – Inline CSS stijl
Hier kan een stukje CSS ingevoerd worden waarmee de lay-out van dit tekst invoerveld aangepast kan worden. Als dit tekstveld bijvoorbeeld een breedte van 50 pixels moeten krijgen, kan hier width:50px; ingevoerd worden.
Presentatie – Help tekst
Stukje tekst wat bijvoorbeeld getoond kan worden door te klikken op een help-icoontje. Wat er precies gebeurt met deze tekst wordt bepaald in de vormgeving.
Stukje tekst wat bijvoorbeeld getoond kan worden achter het tekst invoerveld. Wat er precies gebeurt met deze tekst wordt bepaald in de vormgeving.
Geavanceerd – Personalisatie
Voor welk soort bezoekers dit tekst invoerveld zichtbaar moet zijn. Als hier geen personalisaties aangegeven zijn, is dit tekst invoerveld bij alle typen bezoekers zichtbaar.
Geavanceerd – XSL tag
Naam van de tag waaronder dit tekst invoerveld in de sessie wordt gezet. Is hier niets ingevuld, dan wordt de id gebruikt. De XSL tag is nuttig bij gebruik van personalisatieregels. Tevens wordt de XSL tag gebruikt voor het positioneren van de velden in de vormgeving.
Geavanceerd – Afhandeling
Vink ‘Afhandeling’ aan als dit tekst invoerveld weggeschreven moet worden naar een tabel in een database (resource). Vervolgens kan de kolomnaam geselecteerd worden waarin de waarde terecht moet komen. Om dit te kunnen moet de betreffende resource aangevinkt zijn in de kop van het formuliermodel.
Validatie regels
Validatieregels voor dit tekst invoerveld. Deze regels worden gedefinieerd op het [Regels] tabblad van de [Opties] tab bij type = ‘Validatie’. Standaard zijn de volgende validatieregels voor tekst invoervelden gedefinieerd (deze lijst is afhankelijk van de aanwezige functionaliteit): •
Confirm – check username en code
•
Controleer datum
•
Controleer e-mail
•
Controleer getal
•
Controleer op datum bereik
•
Controleer op decimaal
•
Controleer om decimaal bereik
•
Controleer op getal bereik
•
Controleer poscode formaat
•
Controleer telefoonnummer formaat
•
Login – Controleer has_confirmed
•
Minimum aantal karakters (clientside)
•
Registratie – uniek e-mailadres
•
Registratie – unieke gebruikersnaam
•
Registratie – vergelijk password
•
Wachtwoord vergeten – controleer of er accounts zijn
Lijst Met dit onderdeel kan een keuzelijst bestaande uit items (lijstelementen) worden gepresenteerd. Er zijn drie visuele varianten (checkboxen, radiobuttons en een dropdown menu). De items kunnen (bij checkboxen of radiobuttons) onder of naast elkaar worden getoond. De items kunnen ter plaatse ingevoerd worden of er kan gebruik gemaakt worden van voorgedefinieerde lijsten.
De velden van dit onderdeel hebben de volgende betekenis: Veld
Omschrijving
Beschrijving
Label van de lijst.
Items
Hier kan aangegeven worden waar de items vandaan moeten komen: •
Ze worden uit een voorgedefinieerde lijst gehaald (deze voorgedefinieerde lijsten worden samengesteld op het [Voorgedefinieerde lijsten] tabblad van de [Opties] tab). Zie in het voorbeeld hierboven.
•
Ze worden hier ter plaatse gespecificeerd. In dit geval kunnen de verschillende items met behulp van de [Voeg item toe] button één voor één ingevoerd worden. Voer voor ieder item een naam en een numerieke waarde in. Vink eventueel de waarden aan die standaard geselecteerd moeten zijn. Voorbeeld:
Default waarde
Geef hier aan welke items standaard geselecteerd moeten zijn: •
Zoals bij de specificatie van de items is bepaald.
•
Haal deze waarden uit een ander formulierveld van een voorgaande stap. Dit formulierveld kan hier geselecteerd worden.
•
Haal deze waarden uit een bepaalde kolom in een bepaalde tabel van een database (resource). Deze kolom kan hier geselecteerd worden.
Lijsttype
De vorm van de keuzelijst: checkboxen, radiobuttons of een pulldown menu.
Oriëntatie
In het geval van lijsttypen van het type ‘Checkbox’ of ‘Radio’ kan hier aangegeven worden of de items ‘horizontaal’ (naast elkaar) of ‘verticaal’ (onder elkaar) getoond moeten worden.
Of minimaal één item geselecteerd moet worden of niet.
Button [Meer opties] of
Of de hieronder staande velden wel of niet getoond moeten
[Minder opties]
worden bij deze lijst.
Presentatie – Weergave
Hoe de lijst eruit moet zien. Standaard kan hier gekozen worden uit: •
WM formpart (items zijn selecteerbaar)
•
WM formpart hidden (onzichtbare lijst)
•
WM formpart readonly (selectie van de items is niet te wijzigen)
Presentatie – Help tekst
Stukje tekst wat bijvoorbeeld getoond kan worden door te klikken op een help-icoontje. Wat er precies gebeurt met deze tekst wordt bepaald in de vormgeving.
Presentatie – Extra tekst
Stukje tekst wat bijvoorbeeld getoond kan worden achter de lijst. Wat er precies gebeurt met deze tekst wordt bepaald in de vormgeving.
Geavanceerd – Personalisatie
Voor welk soort bezoekers deze lijst zichtbaar moet zijn. Als hier geen personalisaties aangegeven zijn, is deze lijst bij alle typen bezoekers zichtbaar.
Geavanceerd – XSL tag
Naam van de tag waaronder deze lijst in de sessie wordt gezet. Is hier niets ingevuld, dan wordt de id gebruikt. De XSL tag is nuttig bij gebruik van personalisatieregels. Tevens wordt de XSL tag gebruikt voor het positioneren van de velden in de vormgeving.
Geavanceerd – Afhandeling
Vink ‘Afhandeling’ aan als deze lijst weggeschreven moet worden naar een tabel in een database (resource). Vervolgens kan de kolomnaam geselecteerd worden waarin de waarden terecht moeten komen. Om dit te kunnen moet de betreffende resource aangevinkt zijn in de kop van het formuliermodel.
Validatie regels
Validatieregels voor deze lijst. Deze regels worden gedefinieerd op het [Regels] tabblad van de [Opties] tab bij type = ‘Validatie’. Standaard zijn er geen validatieregels voor lijsten gedefinieerd.
Tekst Dit onderdeel heeft geen invoermogelijkheden voor de bezoeker van de website, maar kan gebruikt worden om een stukje tekst en/of een afbeelding te tonen in het formulier.
De velden van dit onderdeel hebben de volgende betekenis: Veld
Omschrijving
Beschrijving
De tekst die getoond gaat worden binnen het formulier.
Afbeelding
Hier kan een op het formulier te tonen afbeelding geselecteerd worden.
Uitlijning afbeelding
Uitlijning van de afbeelding. Er kan gekozen worden tussen ‘Gecentreerd’, ‘Links’, ‘Rechts’ of ‘Vrijstaand’.
Button [Meer opties] of
Of de hieronder staande velden wel of niet getoond moeten
[Minder opties]
worden bij deze tekst.
Presentatie – Weergave
Hoe de tekst eruit moet zien. Standaard is hier slechts één mogelijkheid: •
Geavanceerd – Personalisatie
WM formpart (standaard tekstveld)
Voor welk soort bezoekers deze tekst zichtbaar moet zijn. Als hier geen personalisaties aangegeven zijn, is deze tekst bij alle typen bezoekers zichtbaar.
Uploaden bestand Met dit onderdeel kan een bezoeker van de website een bestand van zijn PC opsturen richting de website (bijvoorbeeld een pasfoto of een ingezonden artikel). Dit kan door de bestandsnaam in te voeren of door de [Browse] knop te gebruiken.
De velden van dit onderdeel hebben de volgende betekenis: Veld
Omschrijving
Beschrijving
Label van het veld waar de bestandsnaam ingevoerd kan
Verplicht
Of er een bestand geselecteerd moet worden of niet.
Button [Meer opties] of
Of de hieronder staande velden wel of niet getoond moeten
[Minder opties]
worden bij deze upload.
Presentatie – Weergave
Hoe de upload eruit moet zien.
worden.
Standaard is hier slechts één mogelijkheid: • Presentatie – Help tekst
WM formpart (standaard lay-out)
Stukje tekst wat bijvoorbeeld getoond kan worden door te klikken op een help-icoontje. Wat er precies gebeurt met deze tekst wordt bepaald in de vormgeving.
Presentatie – Extra tekst
Stukje tekst wat bijvoorbeeld getoond kan worden achter de upload. Wat er precies gebeurt met deze tekst wordt bepaald in de vormgeving.
Geavanceerd – Personalisatie
Voor welk soort bezoekers deze upload-mogelijkheid zichtbaar moet zijn. Als hier geen personalisaties aangegeven zijn, is dit onderdeel bij alle typen bezoekers zichtbaar.
Geavanceerd – XSL tag
Naam van de tag waaronder deze upload in de sessie wordt gezet. Is hier niets ingevuld, dan wordt de id gebruikt. De XSL tag is nuttig bij gebruik van personalisatieregels. Tevens wordt de XSL tag gebruikt voor het positioneren van de velden in de vormgeving.
Validatie regels
Validatieregels voor deze upload. Deze regels worden gedefinieerd op het [Regels] tabblad van de [Opties] tab met type = ‘Validatie’. Standaard zijn er geen validatieregels voor het upload onderdeel gedefinieerd.
Knop Met dit onderdeel kan een knop toegevoegd worden aan een formuliermodel. Dit kan een bijzondere of een standaard knop zijn (afbreken, terug, volgende/verstuur).
De velden van dit onderdeel hebben de volgende betekenis: Veld
Omschrijving
Beschrijving
Tekst op button. Als hier niets ingevuld is, verschijnt er een standaard tekst op: •
Op de [Afbreken] button verschijnt ‘Afbreken’.
•
Op de [Terug] button verschijnt ‘Terug’.
•
Op de [Verstuur] button verschijnt ‘Verstuur’ (op de laatste stap) of ‘Volgende’ (op alle andere stappen).
Type
Bepaalt de werking van de knop. Er kan gekozen worden tussen ‘Afbreken’, ‘Terug’ en ‘Verstuur’: •
Bij ‘Afbreken’ wordt de ‘Afbreken’ routering uitgevoerd. Als deze niet aanwezig is op deze stap, dan gebeurt er niks.
•
Bij ‘Terug’ wordt er teruggegaan naar de vorige stap in de flow. Als er geen vorige stap is, gebeurt er niks.
•
Bij ‘Verstuur’ wordt er naar de volgende formulierstap gegaan als er nog een volgende stap is. Op de laatste formulierstap wordt de afsluitende routering (zoals ‘Ga naar Bedankpagina [Einde flow]’) uitgevoerd. Als er geen afsluitende routering is, gebeurt er niks. Bovendien wordt er een e-card of e-mail verstuurd als dat op die stap in een afhandeling staat.
Button [Meer opties] of
Of de hieronder staande velden wel of niet getoond moeten
[Minder opties]
worden bij deze button.
Presentatie – Weergave
Hoe de knop eruit moet zien. Standaard kan hier gekozen worden uit: •
WM formpart (button verschijnt op de plaats in stap waar hij gedefinieerd is)
Presentatie – Stijleigenschap
•
WM formpart readonly (button is disabled)
•
WM formpartbutton (button verschijnt onderaan de stap)
Standaard kan hier gekozen worden uit ‘Inklappen’, ‘Save’ en ‘Uitklappen’. Als er geen stijleigenschap geselecteerd wordt, dan toont GX WebManager de default button.
Presentatie – Help tekst
Stukje tekst wat bijvoorbeeld getoond kan worden door te klikken op een help-icoontje. Wat er precies gebeurt met deze tekst wordt bepaald in de vormgeving.
Presentatie – Extra tekst
Stukje tekst wat bijvoorbeeld getoond kan worden achter de button. Wat er precies gebeurt met deze tekst wordt bepaald in de vormgeving.
Geavanceerd – Personalissatie
Voor welk soort bezoekers deze button zichtbaar moet zijn. Als hier geen personalisaties aangegeven zijn, is deze button bij alle typen bezoekers zichtbaar.
Subformulier Met dit onderdeel kan een stap uit een formuliermodel ingebed worden in een ander formuliermodel. Dit heeft twee belangrijke doelen: a) de herbruikbaarheid van een groep onderdelen en b) de mogelijkheid om een groep onderdelen binnen een formulier er anders uit te laten zien. Het is mogelijk hier een nieuw subformulier aan te maken, dat dan verder ingevuld kan worden via de stappenboom, maar het is ook mogelijk een al bestaande stap te importeren als subformulier.
De velden van dit onderdeel hebben de volgende betekenis: Veld Beschrijving
Omschrijving Beschrijving van het subformulier. Deze kan, afhankelijk van de vormgeving, getoond worden op de pagina.
Formulier
Een subformulier kan zijn: •
Een hier ter plaatse aan te maken stap. Selecteer hiervoor ‘Nieuw subformulier’ en klik op [Toevoegen]. Er wordt een sub-stap (initieel ‘subformulier’ genaamd) aangemaakt onder de huidige stap:
In het subformulier onderdeel wordt hiernaar verwezen. Klik op de sub-stap om deze in te richten. •
Een al bestaande stap. Selecteer de stap uit een der formuliermodellen en klik op [Toevoegen]. Deze stap is nu ook een subformulier geworden.
Of de hieronder staande velden wel of niet getoond moeten
[Minder opties]
worden bij dit subformulier.
Presentatie – Weergave
Hoe het subformulier eruit moet zien. Standaard is hier slechts één mogelijkheid: •
Presentatie – Help tekst
WM formpart (standaard lay-out)
Stukje tekst wat bijvoorbeeld getoond kan worden door te klikken op een help-icoontje. Wat er precies gebeurt met deze tekst wordt bepaald in de vormgeving.
Presentatie – Extra tekst
Stukje tekst wat bijvoorbeeld getoond kan worden achter het subformulier. Wat er precies gebeurt met deze tekst wordt bepaald in de vormgeving.
Geavanceerd – Personalisatie
Voor welk soort bezoekers dit subformulier zichtbaar moet zijn. Als hier geen personalisaties aangegeven zijn, is dit subformulier bij alle typen bezoekers zichtbaar.
Validatie regels
Validatieregels voor dit subformulier. Deze regels worden gedefinieerd op het [Regels] tabblad van de [Opties] tab met type = ‘Validatie’. Standaard zijn er geen validatieregels voor subformulieren gedefinieerd.
Let op: •
Bij het verwijderen van een subformulier uit de stappenboom, controleert GX WebManager niet of dit subformulier misschien op meer plaatsen gebruikt wordt. Dit geldt overigens ook voor het verwijderen van een stap. Als de betreffende stap ook nog als subformulier gebruikt wordt, waarschuwt GX WebManager daar niet voor tijdens het verwijderen.
•
Aangezien subformulieren op meerdere formulieren gebruikt kunnen worden is het erg belangrijk dat zij in ieder geval onafhankelijk van andere stappen zijn. Dit houdt in dat routeringen, validaties en afhandelingen niet naar eigenschappen buiten het subformulier mogen verwijzen. Als er bijvoorbeeld een ‘Ga naar stap’ routering in het subformulier gebruikt wordt, dan verschijnt deze routering tussen de routeringen van de stap waarop het subformulier geplaatst is. Deze routering doet dan dus iets met de stap in plaats van met het subformulier. Hierdoor raakt de flow in de war en zal het formulier niet meer naar behoren functioneren. Decentraal instelbare parameters worden eveneens afgeraden op subformulieren, omdat ook deze in de flow van de stap terecht komen. Op de redactiekant van GX WebManager zullen deze parameters dus niet
ingesteld kunnen worden voor het subformulier, maar voor de
stap, wat weer ongewenst is. Uitzondering hierop zijn routers die de allerlaatste actie van een formulier zijn, of routereringen die naar een vaste pagina verwijzen. Deze kunnen wel op een subformulier gebruikt worden.
invoermogelijkheden niet voldoen. Een standaard uitzondering is de nieuwsbrief opties. Uitleg over hoe uitzonderingen geprogrammeerd kunnen worden valt buiten de scope van dit document. Voorbeeld:
Aan de voorkant ziet dat er bijvoorbeeld als volgt uit:
De velden van dit onderdeel hebben de volgende betekenis: Veld
Omschrijving
Beschrijving
Label van de uitzondering.
Neem waarde over van
Als deze optie aangevinkt is en er is een formulierveld uit een
formulierveld
voorgaande stap geselecteerd, dan wordt de waarde van dit onderdeel gevuld met de inhoud van het geselecteerde formulierveld. Dit is typisch iets wat gedaan wordt op de laatste stap van het formuliermodel: om een overzicht te kunnen geven van alle ingevoerde waarden.
Functionaliteit
Standaard kan hier alleen voor ‘Nieuwsbrief’ gekozen worden.
Button [Meer opties] of
Of de hieronder staande velden wel of niet getoond moeten
[Minder opties]
worden bij deze uitzondering.
Presentatie – Weergave
Hoe deze uitzondering eruit moet zien. Standaard is hier slechts één mogelijkheid: •
WM formpart (standaard lay-out)
Per functionaliteit kan deze lijst aangepast worden. Presentatie – Help tekst
Stukje tekst wat bijvoorbeeld getoond kan worden door te klikken op een help-icoontje. Wat er precies gebeurt moet deze tekst wordt bepaald in de vormgeving.
Presentatie – Extra tekst
Stukje tekst wat bijvoorbeeld getoond kan worden achter het tekst invoerveld. Hierin kan bijvoorbeeld een tip gegeven worden voor het vullen van dit veld. Wat er precies gebeurt moet deze tekst wordt bepaald in de vormgeving.
Geavanceerd – Personalissatie
Voor welk soort bezoekers deze uitzondering zichtbaar moet zijn. Als hier geen personalisaties aangegeven zijn, is deze uitzondering bij alle typen bezoekers zichtbaar.
Geavanceerd – XSL tag
Naam van de tag waaronder deze uitzondering in de sessie wordt gezet. Is hier niets ingevuld, dan wordt de id gebruikt. De XSL tag is nuttig bij gebruik van personalisatieregels. Tevens wordt de XSL tag gebruikt voor het positioneren van de velden in de vormgeving.
Validatie regels
Validatieregels die gelden voor dit type veld. Deze regels worden gedefinieerd op het [Regels] tabblad van de [Opties] tab met type = ‘Validatie’. Standaard zijn er geen validatieregels voor uitzonderingen gedefinieerd.
Nadat de verschillende stappen zijn aangemaakt kan de relatie tussen de stappen onderling worden bepaald. Dit gebeurt binnen het formuliermodel op het tabblad [Flow]. Hier wordt aangegeven welke validaties, afhandelingen en routeringen bij welke stappen uitgevoerd moeten worden. Zo kan bijvoorbeeld de invoer gecontroleerd worden, kunnen er e-mails verstuurd worden, kan een stap overgeslagen worden en kunnen foutmeldingen afgevangen worden. Op het tabblad [Flow] verschijnen automatisch de stappen die binnen het formuliermodel zijn gedefinieerd. De stappen kunnen, net als contentelementen binnen GX WebManager, worden opgepakt en versleept. Al de te gebruiken validaties, afhandelingen en routeringen moeten gedefinieerd zijn op de [Opties] tab. Alle standaard aanwezige validaties, afhandelingen en routeringen worden in deze paragraaf toegelicht. Let wel, dat deze lijst korter kan zijn als bepaalde functionaliteit niet aangeschaft is.
3.3.1
Validaties
De enige standaard aanwezige validatie hoort bij de licentiecomponent ‘Gebruikersbeheer’. Deze worden niet hier toegelicht, maar in het document over die licentiecomponent: •
3.3.2
Login - controleer username/password
Afhandelingen
De afhandelingen bepalen wat er gebeurt met de gegevens die door de bezoeker zijn ingevuld. Er zijn veel afhandelingen die horen bij de licentiecomponent ‘Gebruikersbeheer’. Deze afhandelingen worden niet hier toegelicht, maar in het document over die licentiecomponent. Het gaat om de volgende afhandelingen: •
Wachtwoord vergeten - zet username + password in sessie
Twee afhandelingen horen bij de licentiecomponent ‘Veritate Connector’ (met Tripolis Mail van Veritate kunnen bulk mailings in de vorm van nieuwsbrieven worden verzonden): •
VeritateMail - Pas abonnee aan
•
VeritateMail - Test of abonnee bestaat
De volgende afhandelingen zitten in de basisinstallatie van GX WebManager: Verstuur e-card (in het e-card element) Deze afhandeling wordt gebruikt bij het verzenden van e-cards.
Veld
Omschrijving
Zender- e-mail adres
E-mailadres van degene die de e-card verstuurt.
Zender – naam
Naam van degene die de e-card verstuurt.
Verzend naar e-mail adres
E-mailadres van degene die de e-card ontvangt.
Verzend naar naam
Naam van degene die de e-card ontvangt.
Boodschap
Boodschap die samen met de e-card verzonden wordt.
Verstuur e-mail Deze afhandeling wordt meestal gebruikt na de laatste stap van een formuliermodel. Let op dat het e-mailadres in de afhandeling die van de afzender is. Het e-mailadres van de geadresseerde wordt op de pagina in het formulierelement ingevuld.
Verstuur naar Verseon Deze afhandeling wordt gebruikt bij het verzenden van formulieren naar Verseon. Verseon is een van de twee documentmanagementsystemen die bij Nederlandse gemeenten gebruikt worden.
Veld
Omschrijving
Verseon server URL
URL van de Verseon soap server.
Verseon formulier ID
Naam van het Verseon formuliermodel. Dit is dus de naam die Verseon eraan geeft en niet de naam binnen GX WebManager.
3.3.3
Routeringen
De routering bepaalt waar de bezoeker naartoe gaat nadat op de [Volgende] of [Verzend] knop van het formulier is geklikt.
Afbreken Met deze routering kan de uitvoering van dit formuliermodel gestopt worden. Vervolgens wordt en naar een andere pagina gesprongen. Op die andere pagina kan eventueel verder gegaan worden met het uitvoeren van een ander formulier.
Veld Pagina
Omschrijving De pagina waarnaar gesprongen moet worden na het afbreken van dit formulier.
Klik op de parameter ‘Pagina’. Een pop-up scherm verschijnt waarin aangegeven kan worden wat er moet gebeuren na afloop van dit formulier:
Selecteer de pagina waarnaar gesprongen moet worden door op [Zoek] te klikken:
Als dit formulier beëindigd wordt, maar het is nog niet het einde van de flow, gaat de flow door in een ander formulier. Dit formulier kan nu gekozen worden. Selecteer één van de formulieren die op de zojuist gekozen pagina staan:
Zet, als dit formulier beëindigd wordt en het is wel het einde van de flow, een vinkje bij ‘Einde flow’. Hierdoor zal het formulier op deze plek beëindigd worden en worden de formuliergegevens uit de sessie verwijderd:
Afbreken bij preconditie Met deze routering kan het formulier afgebroken worden als een bepaalde voorwaarde optreedt. Vervolgens wordt en naar een andere pagina gesprongen. Op die andere pagina kan eventueel verder gegaan worden met het uitvoeren van een ander formulier.
Veld
Omschrijving
Preconditie
Als er aan de preconditie voldaan wordt, dan wordt dit formulier
Pagina
Pagina waarnaar gesprongen wordt als dit formulier beëindigd
beëindigd. wordt. Klik op één van de parameters. Een pop-up scherm verschijnt waarin de preconditie ingevoerd kan worden en waar aangegeven kan worden wat er moet gebeuren na afloop van dit formulier:
Voer de preconditie in en geef, net als bij de routering ‘Afbreken’, aan of deze flow nog op een andere pagina doorgaat of dat er alleen naar een andere pagina gesprongen moet worden:
Ook hier geldt dat als bij ‘Einde flow’ een vinkje is gezet, de formuliergegevens uit de sessie verwijderd worden.
Als … dan … Als een bepaald formulierveld een bepaalde waarde heeft, dan wordt dit formulier afgebroken en wordt er gesprongen naar een andere pagina. Op die andere pagina kan eventueel verder gegaan worden met het uitvoeren van een ander formulier.
Veld
Omschrijving
Onderdeel
Onderdeel van één van de stappen van dit formuliermodel. Dit onderdeel moet van het type lijst zijn.
Waarde
Waarde die dit lijst onderdeel heeft.
Pagina
Pagina waarnaar gesprongen wordt als dit formulier beëindigd wordt.
Klik op één van de parameters. Een pop-up scherm verschijnt waarin de voorwaarde ingevoerd kan worden en waar aangegeven kan worden wat er moet gebeuren als er aan die voorwaarde voldaan wordt:
Beschrijving van de werking van de parameters die op dit scherm ingevoerd kunnen worden: •
Als er niet aan de voorwaarde voldaan wordt, gaat het formulier door met het uitvoeren van de resterende stappen.
•
Als er aan de voorwaarde voldaan wordt, wordt er gesprongen naar een andere pagina. o
Als het vinkje bij ‘Einde flow’ aanstaat, wordt de uitvoering van het formulier beëindigd en worden de formuliergegevens uit de sessie verwijderd.
Als het vinkje bij ‘Einde flow’ uitstaat, gaat de formulierflow verder met de uitvoering van een formulier wat op deze andere pagina staat. Dit formulier moet ook hier aangewezen worden.
Voorbeeld:
Dit betekent: Als de bezoeker niet akkoord gaat met de algemene voorwaarden, wordt hij doorgesluisd naar een evaluatiepagina waarop in een formulier zijn mening gevraagd wordt over deze voorwaarden.
Ga bij foutmelding naar … Met deze routering kan er na een bepaalde foutmelding waarvoor geen standaard afhandeling aanwezig is naar een andere pagina gesprongen worden om daar bijvoorbeeld te melden wat er mis is of om verder te gaan met het uitvoeren van een ander formulier.
Veld
Omschrijving
Pagina
Pagina waarnaar gesprongen wordt als dit formulier beëindigd wordt door een bepaalde foutmelding.
Klik op één van de parameters. Een pop-up scherm verschijnt waarop de foutmelding en de pagina ingevoerd kunnen worden:
Als deze foutmelding optreedt op deze stap, dan wordt er gesprongen naar die andere pagina. Als het vinkje bij ‘Einde flow’ aanstaat, wordt de uitvoering van het formulier beëindigd en worden de formuliergegevens uit de sessie verwijderd. Als het vinkje bij ‘Einde flow’ uitstaat, gaat de formulierflow verder met de uitvoering van een formulier wat op deze andere pagina staat. Dit formulier moet ook hier aangewezen worden. Voorbeeld:
Dit betekent: Als de foutmelding ‘ZERO_DIVIDE’ optreedt, is dat een typische Oracle melding. Op de Oracle foutpagina wordt er bijvoorbeeld verwezen naar de verantwoordelijke persoon.
Ga naar pagina … (centraal instellen) Met deze routering kan op het formuliermodel aangegeven naar welke pagina gesprongen zal gaan worden na beëindiging van deze stap. Op die andere pagina kan eventueel verder gegaan worden met het uitvoeren van een ander formulier.
Veld
Omschrijving
Pagina
Pagina waarnaar gesprongen wordt als deze stap beëindigd wordt.
Klik op de parameter ‘Pagina’. Een pop-up scherm verschijnt waarin aangegeven kan worden wat er moet gebeuren na afloop van dit formulier:
Na afloop van deze stap wordt er gesprongen naar de geselecteerde pagina. Als het vinkje bij ‘Einde flow’ aanstaat, wordt de uitvoering van het formulier beëindigd en worden de formuliergegevens uit de sessie verwijderd. Als het vinkje bij ‘Einde flow’ uitstaat, gaat de formulierflow verder met de uitvoering van een formulier wat op deze andere pagina staat. Dit formulier moet dan ook hier aangewezen worden. Voorbeeld:
Ga naar pagina … (decentraal instellen) Met deze routering kan in het contentelement Formulier op de pagina aangegeven naar welke pagina gesprongen zal gaan worden na beëindiging van deze stap. Op het formuliermodel moet nog wel aangegeven worden of hiermee de flow beëindigd wordt of niet. Op die andere pagina kan dan eventueel verder gegaan worden met het uitvoeren van een ander formulier.
Veld
Omschrijving
Pagina
Pagina waarnaar gesprongen wordt als deze stap beëindigd wordt.
Klik op de parameter ‘Pagina’. Een pop-up scherm verschijnt waarin aangegeven kan worden of de flow hierbij beëindigd wordt:
Op het element moet dan nog de pagina aangewezen worden en eventueel het formulier worden geselecteerd waarmee deze flow verder gaat:
Ga naar stap … Met deze routering wordt bepaald wat de volgende stap in de flow is.
Veld
Omschrijving
Formulierstap
Stap binnen dit formuliermodel waarnaar gesprongen wordt als deze stap beëindigd wordt.
Klik op de parameter ‘Formulierstap’. Een pop-up scherm verschijnt waarin de volgende stap aangewezen kan worden:
Het is hier ook mogelijk aan te geven of de formuliergegevens uit de sessie verwijderd moet worden (door een vinkje bij ‘Einde flow’ te zetten). Dit is bijvoorbeeld nuttig als een formulier meerdere keren ingevuld kan worden. Dan hebben de diverse ‘invullingen’ geen last van oude waarden en loopt het sessiegeheugen niet vol.
Ga terug naar oorspronkelijke URL Met deze routering is het mogelijk om een bezoeker die naar een pagina gaat waarvoor hij niet de juiste rechten heeft (een afgeschermde pagina dus) te redirecten naar de inlogpagina. Als de bezoeker daar netjes inlogt, wordt hij weer teruggebracht naar de pagina waar hij zojuist nog geen rechten voor had.
Veld
Omschrijving
Ga terug naar
Door op deze link te klikken kan de parameter ‘Einde flow’ aan- of
oorspronkelijke URL
uitgezet worden.
Klik op de parameter ‘Ga terug naar oorspronkelijke URL’. Een pop-up scherm verschijnt waarin alleen aangegeven kan worden of oude formuliergegevens van dit formulier uit de sessie verwijderd moeten worden (door een vinkje bij ‘Einde flow’ te zetten):
Terug naar pagina na foutmelding Deze routering wordt verwijderd. Deze routering werd gebruikt toen alle stappen nog op losse pagina’s moesten staan.
Terug naar vorige pagina Deze routering wordt verwijderd. Hij is overbodig geworden nu er een [Terug] knop is met dezelfde functionaliteit.
Voorbeeld flow van stap 2 en 3 van een formuliermodel waarmee via internet ingecheckt kan worden op een vlucht:
In stap 1 moeten de persoonlijke gegevens van de passagier ingevoerd worden om er zeker van te zijn dat de juiste persoon incheckt voor de vlucht. Op stap 2 moeten de vluchtgegevens ingevoerd
worden en kan het stoelnummer uitgekozen worden. Op stap 3 kunnen al deze gegevens nog eens nagelezen worden. Als er wijzigingen aangebracht moeten worden, kan er teruggegaan worden naar voorgaande stappen en als alles OK is, wordt de boeking doorgevoerd en wordt er een e-mail naar de passagier verzonden. Op het contentelement wat op de pagina geplaatst wordt, moet dan nog de e-mail naar de passagier gemodelleerd worden. Hiervoor kunnen waarden uit de formuliervelden overgenomen worden door gebruik te maken van de ‘XSL tags’:
Nadere informatie over hoe een formulierinstantie gemaakt wordt en hoe een formulier op een pagina geplaatst wordt staat in de nu volgende hoofdstukken.
Van het zojuist ingerichte formuliermodel kan nu een formulier gemaakt worden dat op een pagina kan worden gebruikt. Het is mogelijk meerdere formulieren te maken op basis van één formuliermodel. Dit om meerdere keren hetzelfde formulier te kunnen gebruiken op de website. Van een formulier kunnen rapportages gemaakt worden; van een formuliermodel niet. Zie voor het creëren van rapportages verderop in dit document. Ga om een formulier te maken van een formuliermodel naar het menu Functionaliteiten > Formulieren > Formulier en selecteer daar het formuliermodel waarvan een formulier gemaakt moet worden (zie bij A in onderstaande afbeelding). Automatisch maakt GX WebManager een formulierinstantie aan van dit formuliermodel en geeft dat formulier dezelfde naam als het formuliermodel (zie bij B). Het formulier kan ook daar hernoemd worden.
Een tweede formulierinstantie van een formuliermodel maken, moet handmatig. Selecteer het betreffende model uit het pulldown menu (bij A in onderstaande afbeelding) en vervolgens het formuliermodel uit het pulldown menu (bij B). Geef het formulier een naam (bij C) en klik op [OK] of op [Toepassen].
Het formulier verschijnt bij ‘Geselecteerd formulier’ (zie bij A in onderstaande afbeelding). De naam van het formulier kan eventueel (bij B) worden aangepast. Er staat bij het formulier vermeld op basis van welk formuliermodel het formulier is aangemaakt (bij C) en op welke pagina’s de verschillende stappen staan (bij D).
Het formulier kan nu op een pagina worden ingezet.
Nadat het formuliermodel is ingericht, en er een formulierinstantie is aangemaakt op basis van dit formuliermodel, kan dit formulier op een pagina worden geplaatst. Volg om hiervoor de volgende stappen: ⇒
Plaats een formulierelement op een pagina via het menu Invoegen > Formulier.
⇒
Selecteer het gewenste formulier:
⇒
Vink, als niet alle stappen van dit formulier op dezelfde pagina getoond moeten worden, ‘Specificeer’ aan en selecteer alleen die stappen die op deze pagina moeten komen. De andere stappen kunnen dan later op andere pagina(’s) geplaatst worden:
Merk op: Een stap kan altijd maar op één pagina getoond worden.
G e p ers o n al i s e er d e b ev es ti gi n gs em ai l
In het voorgaande voorbeeld werden de incheckgegevens via e-mail naar de passagier verstuurd met behulp van een gepersonaliseerde bevestigingsmail. Een gepersonaliseerde e-mail is voor iedere ontvanger anders. Zo kan bijvoorbeeld de naam van de persoon erin verwerkt zijn of is de inhoud van de e-mail afhankelijk van bij GX WebManager bekende eigenschappen van deze persoon (geslacht/taal/…).
In het voorbeeld staat bij ‘Verzenden naar’: <xsl:value-of select="//flow/formelement/formpart[@xsltag='passenger']/userentry" />
Hoe wordt dit soort code bedacht? Kijk via XMLDebug in de pagina: ⇒
Open de pagina in een browser en ga naar de stap waarop de e-mail verstuurd wordt. Klik nog niet op [Verzend]. Bijvoorbeeld: http://www.uwsite.nl/web/show/id=44545/langid=43
⇒
Wijzig ‘show’ in ‘admin’ om in te kunnen loggen: http://www.uwsite.nl/web/admin/id=44545/langid=43
⇒
Log in. De te gebruiken username en password zijn terug te vinden onder het kopje SERVER
CONFIGURATION
in
de
preparedconfigfiles/setup.properties
bij
default.wmadminuser en default.wmadminpassword. ⇒
Wijzig ‘admin’ weer terug in ‘show’ en plak ‘/xmldebug=true’ of ‘/xsldebug=true’ vast aan de URL: http://www.uwsite.nl/web/show/id=44545/langid=43/xmldebug=true of http://www.uwsite.nl/web/show/id=44545/langid=43/xsldebug=true en zie het XML-pad verschijnen:
- - <userentry>van Dogen - <userentry>Caroline - <userentry>J.M. - <userentry>29-03-1963 - <userentry> NB657483 - <userentry>[email protected] - <userentry description>"Vegetarisch">2 - <userentry description>"Ja">1 Voor iedere stap een formelement Zie dat er bij het formpart ‘E-mailadres’ een xsltag ‘passenger’ staat en bij de andere formparts niet. Deze xsltag is gebruikt in de gepersonaliseerde e-mail.
De XSL tag wordt alleen gevuld als het veld ‘XSL tag’ ingevoerd is bij het onderdeel:
Bij de andere onderdelen is dit blijkbaar niet gebeurd en kan er dus ook geen mooie verwijzing naar die XSL tag gebruikt worden. In dat soort gevallen kan eventueel de interne code van het onderdeel gebruikt worden. Dus bijvoorbeeld: <xsl:value-of select="//flow/formelement/formpart[@id='f54472']/userentry" />
voor de achternaam. Beter is natuurlijk XSL tags te gebruiken. Al was het alleen maar voor de leesbaarheid!
In een rapportage van een formulier wordt getoond welke gegevens er met behulp van dit formulier ingevoerd zijn in een bepaalde periode. Een rapportage wordt gegenereerd bij het formulier en weggeschreven naar een te specificeren CSV (comma separated values) of SPSS (statistisch) bestand op schijf. Om rapportages te kunnen genereren, moet eerst een handlerdefinitie aangemaakt worden waarmee de class FlowLoggingHandler aangeroepen wordt. Deze handler moet vervolgens aangeroepen worden in een nieuw aan te maken afhandeling en deze afhandeling moet gebruikt worden op de laatste stap van het betreffende formuliermodel. Volg hiervoor de volgende procedure: ⇒
Ga naar het menu Functionaliteiten > Formulieren > Opties en ga naar het tabblad [Handlerdefinities] om daar een nieuwe handlerdefinitie aan te maken.
⇒
Maak hier een nieuwe handler aan door ‘Nieuwe handlerdefinitie’ te selecteren uit het pulldown menu.
⇒
Vul de velden in: o
Geef de nieuwe handlerdefinitie een naam.
o
Voer de juiste Java class in: nl.gx.webmanager.handler.forms.handling.FlowLoggingHandler
o
Maak er een ‘Afhandeling’ van.
o
Creëer de verplichte parameter ‘connectionname’.
De handlerdefinitie ziet er dan bijvoorbeeld als volgt uit:
Kies de gewenste periode, vul de exportdirectory en de bestandsnaam (zonder extensie) in en kies voor exporteren naar CSV of naar SPSS:
⇒
Klik op de knop [Exporteren naar directory]. De gegevens uit de aangegeven periode worden nu naar dit bestand geschreven. Als GX WebManager klaar is verschijnt er een link naar het betreffende bestand: