5. Opladen van bestand met eindgebruikers

Auteur:Jan Corthouts
Aanmaak:27 jul 2003 13:27
Aangepast door:Tom De Mey
Aangepast op:2 aug 2016 10:36
Oud BVV nr:2064

5.1. Abstract

Dit document beschrijft de wijze waarop in Brocade een bestand met gegevens over eindgebruikers kan worden opgeladen. Het geeft uitleg over de voorwaarden waaraan het csv-bestand dient te voldoen en geeft een woordje uitleg bij de te volgen oplaadprocedure.

5.2. Bestandsformaat

Het bestand met de gegevens over eindgebruikers dient aan volgende voorwaarden te voldoen:

  • formaat: CSV-formaat

    Voor opladen van gebruikersbestanden gelden volgende afspraken:

    • Excel dialect (zoals geschreven door MS Excel)
    • delimiter (field separator): ;
    • lineterminator: \r\n
    • quotechar: "
    • doublequote: True (Controls how instances of quotechar appearing inside a field should be themselves be quoted. When True, the quotechar character is doubled)

    Notitie

    The so-called CSV format is the most common import and export format for spreadsheets and databases. There is no CSV standard, so the format is operationally defined by the many applications which read and write it. The lack of a standard means that subtle differences often exist in the data produced and consumed by different applications. These differences can make it annoying to process CSV files from multiple sources. Still, while the delimiters and quoting characters vary, the overall format is similar enough that it is possible to write a single module which can efficiently manipulate such data, hiding the details of reading and writing the data from the programmer.

  • karakterset: ISO-Latin-1

  • Bij het opladen van het bestand zijn twee acties mogelijk: toevoegen of overschrijven. Om te kunnen overschrijven moet het upload-bestand voor elke lezer minstens een unieke identifier bevatten die ook in Brocade is opgenomen. Unieke identifiers worden gegeven in bc1ty/bc1val, bc2ty/bc2val etc .... Er moet dus minstens een van deze koppels bestaan voor elke lezer.

  • Er kunnen maximaal 5 identifiers worden meegegeven.

  • Er kunnen maximaal 3 adressen worden meegegeven

5.3. Veldstructuur

Het CSV bestand moet de volgende veldstructuur hebben:

Kolom Kolomnaam Opt/Verpl. Inhoud
1 key Optioneel e-loi van de gebruiker
2 bc1ty Verplicht
Type van lezersnummer.
Zie Catalografie ‣ Catalografie - Beheersfuncties ‣ Barcode types [link] voor een overzicht van geldige barcode types.
3 bc1val Verplicht Waarde horend bij bc1ty
4 bc2ty Optioneel
Type van lezersnummer.
Zie Catalografie ‣ Catalografie - Beheersfuncties ‣ Barcode types [link] voor een overzicht van geldige barcode types.
5 bc2val Optioneel Waarde horend bij bc2ty
6 bc3ty Optioneel
Type van lezersnummer.
Zie Catalografie ‣ Catalografie - Beheersfuncties ‣ Barcode types [link] voor een overzicht van geldige barcode types.
7 bc3val Optioneel Waarde horend bij bc3ty
8 bc4ty Optioneel
Type van lezersnummer.
Zie Catalografie ‣ Catalografie - Beheersfuncties ‣ Barcode types [link] voor een overzicht van geldige barcode types.
9 bc4val Optioneel Waarde horend bij bc4ty
10 bc5ty Optioneel
Type van lezersnummer.
Zie Catalografie ‣ Catalografie - Beheersfuncties ‣ Barcode types [link] voor een overzicht van geldige barcode types.
11 bc5val Optioneel Waarde horend bij bc5ty
12 fn Verplicht Familienaam
13 vn Optioneel Voornaam
14 email Optioneel E-mail adres
15 wsite Optioneel URL persoonlijke homepage
16 id Optioneel Userid
17 pw Optioneel Wachtwoord
18 class Verplicht
Geldige Brocade gebruikersklasse.
Zie Eindgebruikers ‣ Eindgebruikers - Beheersfuncties ‣ Gebruikersklassen [link] voor een overzicht van geldige gebruikersklassen.
19 lg Optioneel
Geldige Brocade taalcode.
Zie Catalografie ‣ Catalografie - Beheersfuncties ‣ Taalcodes [link] voor een overzicht van geldige taalcodes.
20 lib Verplicht
Geldige Brocade basisinstelling.
Zie Eindgebruikers ‣ Eindgebruikers - Beheersfuncties ‣ Basisinstellingen [link] voor een overzicht van basisinstellingen voor de leen.
21 mf Optioneel Geslacht (M | F)
22 nee Optioneel Datum van geboorte in de vorm DD/MM/YYYY
23 neecity Optioneel Plaats van geboorte
24 neecountry Optioneel
Land van geboorte.
Zie Aanwinsten ‣ Aanwinsten - Beheersfuncties ‣ Landencodes (ISO 3166) [link] voor een overzicht van geldige landencodes.
25 sc Verplicht
Geldige Brocade statistische code.
Zie Eindgebruikers ‣ Eindgebruikers - Beheersfuncties ‣ Statistische codes [link] voor een overzicht van geldige statistische codes. Je mag meer dan 1 statistische code toevoegen. In dat geval de codes scheiden door een underscore _.
26 note Optioneel Noot voor de lezer
27 next Optioneel
Geldigheidsdatum van de lenerskaart.
Indien niets wordt ingegeven wordt de geldigheidsdatum van de kaart automatisch berekend op basis van de gebruikersklasse.
28 type Optioneel
Type gebruiker.
Zie Eindgebruikers ‣ Eindgebruikers - Beheersfuncties ‣ Types eindgebruikers [link] voor een overzicht van geldige eindgebruikers types. Meestal zal dit de waarde human zijn.
29 update Optioneel
Updatingsmechanisme.
Zie Eindgebruikers ‣ Eindgebruikers - Beheersfuncties ‣ Updatingsmechanismen [link] voor een overzicht van geldige updatingsmechanismen.
30 ad1type Optioneel
Adrestype voor het eerste adres.
Zie Eindgebruikers ‣ Eindgebruikers - Beheersfuncties ‣ Adrestypes [link] voor een overzicht van geldige adrestypes.
31 ad1street Optioneel Straatnaam eerste adres
32 ad1nr Optioneel Huisnummer eerste adres
33 ad1bus Optioneel Busnummer eerste adres
34 ad1zip Optioneel Postcode eerste adres
35 ad1city Optioneel Gemeentenaam eerste adres
36 ad1country Optioneel
Landencode eerste adres.
Zie Aanwinsten ‣ Aanwinsten - Beheersfuncties ‣ Landencodes (ISO 3166) [link] voor een overzicht van geldige landencodes.
37 ad1phone Optioneel Telefoon eerste adres
38 ad2type Optioneel
Adrestype voor het tweede adres.
Zie Eindgebruikers ‣ Eindgebruikers - Beheersfuncties ‣ Adrestypes [link] voor een overzicht van geldige adrestypes.
39 ad2street Optioneel Straatnaam tweede adres
40 ad2nr Optioneel Huisnummer tweede adres
41 ad2bus Optioneel Busnummer tweede adres
42 ad2zip Optioneel Postcode tweede adres
43 ad2city Optioneel Gemeentenaam tweede adres
44 ad2country Optioneel
Landencode tweede adres.
Zie Aanwinsten ‣ Aanwinsten - Beheersfuncties ‣ Landencodes (ISO 3166) [link] voor een overzicht van geldige landencodes.
45 ad2phone Optioneel Telefoon tweede adres
46 ad3type Optioneel
Adrestype voor het derde adres.
Zie Eindgebruikers ‣ Eindgebruikers - Beheersfuncties ‣ Adrestypes [link] voor een overzicht van geldige adrestypes.
47 ad3street Optioneel Straatnaam derde adres
48 ad3nr Optioneel Huisnummer derde adres
49 ad3bus Optioneel Busnummer derde adres
50 ad3zip Optioneel Postcode derde adres
51 ad3city Optioneel Gemeentenaam derde adres
52 ad3country Optioneel
Landencode derde adres.
Zie Aanwinsten ‣ Aanwinsten - Beheersfuncties ‣ Landencodes (ISO 3166) [link] voor een overzicht van geldige landencodes.
53 ad3phone Optioneel Telefoon derde adres
54 mobil Optioneel Gsm nummer
55 irvgs1 Optioneel Identificatie eerste vakgroep
56 irvgs2 Optioneel Identificatie tweede vakgroep
57 irvgs3 Optioneel Identificatie derde vakgroep
58 child1 Optioneel
Identificatie van de gebruiker, die beheerd wordt.
Vorm: c-loi of lezersnummer.
59 child2 Optioneel
Identificatie van de gebruiker, die beheerd wordt.
Vorm: c-loi of lezersnummer.
60 ...    
61 child5 Optioneel
Identificatie van de gebruiker, die beheerd wordt.
Vorm: c-loi of lezersnummer.
62 end Verplicht
Deze kolom bevat het woord end.
Deze kolom wordt als laatste kolom gegeven zodat bij download vanuit Excel in CSV formaat elk record evenveel kolommen bevat. Bij testen is gebleken dat Excel de laatste kolommen niet (altijd) opneemt met ; als scheidingsteken, indien de laatste kolommen leeg zijn.

Notitie

Een bestand kan dus, afhankelijk van het aantal kinderen een verschillend aantal kolommen hebben. Dit aantal kolommen moet voor het gehele bestand wel gelijk zijn. Voor het lezersnummer worden er altijd 10 kolommen voorzien (5 lezersnummers x 2 op te geven variabelen, zijnde type en waarde). Voor het adres worden er altijd 24 kolommen voorzien (3 adressen x 8 op te geven variabelen, zijnde type, straat, nr, bus, postcode, gemeente, land en telefoon).

5.4. Voorbeeld van csv file

key;bc1ty;bc1val;bc2ty;bc2val;bc3ty;bc3val;bc4ty;bc4val;bc5ty;bc5val;fn;vn;email;wsite;id;pw;class;lg;lib;mf;nee;neecity;neecountry;sc;note;next;type;update;ad1type;ad1street;ad1nr;ad1bus;ad1zip;ad1city;ad1country;ad1phone;ad2type;ad2street;ad2nr;ad2bus;ad2zip;ad2city;ad2country;ad2phone;ad3type;ad3street;ad3nr;ad3bus;ad3zip;ad3city;ad3country;ad3phone;mobil;end
;KDG-L;9961012;ADM;342245;;;;;;;Van Steen;Karen;karenvsteen@yahoo.com;;;;KDG-S;;KDG-DLO;F;4/03/1981;;;KDG-X;;;human;batchkdg;thuis;Hugo Verrieststraat;39;;2530;Boechout;BE;(03)289 94 49;kot;Braziliëstraat;17;;2000;ANTWERPEN;BE;(0486)45 05 92;;;;;;;;;(0486)45 05 92;end
;KDG-L;9961026;;;;;;;;;Maurits;Belinde;belinde@hotmail.com;;;;KDG-S;;KDG-DLO;F;23/03/1980;;;KDG-X;;;human;batchkdg;thuis;Brasschaatsteenweg;134;;2920;Kalmthout;BE;(03)666 32 26;;;;;;;;(0476)69 57 70;;;;;;;;;;end
;KDG-L;9961055;;;;;;;;;Vennekens;Elisabeth;fightgirl_2001@hotmail.com;;;;KDG-S;;KDG-DLO;F;20/12/1981;;;KDG-X;;;human;batchkdg;thuis;Stokerijstraat;112;;2110;Wijnegem;BE;(03)353 01 07;;;;;;;;(0476)95 44 06;;;;;;;;;;end
;KDG-L;9962042;;;;;;;;;Verstraete;Sarah;sarah_verstraete@hotmail.com;;;;KDG-S;;KDG-DLO;F;15/07/1981;;;KDG-X;;;human;batchkdg;thuis;Sparrenlaan;6;;2960;Brecht;BE;(03)636 33 34;;;;;;;;(0478)95 06 49;;;;;;;;;;end
;KDG-L;9962061;ADM;887645;;;;;;;De Rauw;Guy;guy_de_rauw@hotmail.com;;;;KDG-S;;KDG-DLO;M;9/10/1981;;;KDG-X;;;human;batchkdg;thuis;Neerheide;1;;2870;Puurs;BE;(03)889 07 62;;;;;;;;(0479)91 03 55;;;;;;;;;;end
;KDG-L;9962074;;;;;;;;;Schroyens;Stien;;;;;KDG-S;;KDG-DLO;F;16/05/1981;;;KDG-X;;;human;batchkdg;thuis;Engelselei;15;;2950;Kapellen (Antw.);BE;(03)664 88 39;;;;;;;;(0485)91 48 43;;;;;;;;;;end
;KDG-L;9963003;;;;;;;;;Bouzouita;Karim;;;;;KDG-S;;KDG-DLO-NP;M;3/01/1981;;;KDG-X;;;human;batchkdg;thuis;Pauwstraat;10;;2170;Merksem (Antwerpen);BE;(03)293 86 04;;;;;;;;;;;;;;;;;;end
;KDG-L;9963018;;;;;;;;;Vercoutere;Koen;koenimoenie@hotmail.com;;;;KDG-S;;KDG-DLO-NP;M;31/03/1981;;;KDG-X;;;human;batchkdg;thuis;Multatuliplein;2;;2050;Antwerpen 5;BE;(03)219 25 78;kot;Steenbergstraat;38;;2000;Antwerpen;BE;(0486)58 16 64;;;;;;;;;;end
;KDG-L;9963046;;;;;;;;;Billiard;Eva;evabilliard@hotmail.com;;;;KDG-S;;KDG-DLO-NP;F;5/10/1980;;;KDG-X;;;human;batchkdg;thuis;Glasgowstraat;4;;2030;Antwerpen 3;BE;(03)541 25 34;;;;;;;;;;;;;;;;;;end
;KDG-L;9963067;;;;;;;;;Baeten;Nik;;;;;KDG-S;;KDG-DLO-NP;M;25/08/1981;;;KDG-X;;;human;batchkdg;thuis;Groene-Swaenlaan;22;;2940;Stabroek;BE;(03)568 88 53;;;;;;;;;;;;;;;;;;end
;KDG-L;9963068;;;;;;;;;Janssens;Willem;willemjanssens@hotmail.com;;;;KDG-S;;KDG-DLO-NP;M;18/08/1980;;;KDG-X;;;human;batchkdg;thuis;De Parre;11;;2310;Rijkevorsel;BE;(03)311 76 80;kot;Sint-Vincentiusstraat;73;;2000;Antwerpen;BE;(0486)06 68 52;;;;;;;;;;end
;KDG-L;9963163;;;;;;;;;Stals;Veerle;;;;;KDG-S;;KDG-DLO-NP;F;21/05/1980;;;KDG-X;;;human;batchkdg;thuis;Augustijnendreef;29;;2920;Kalmthout;BE;(03)666 80 34;;;;;;;;(0472)69 84 14;;;;;;;;;;end
;KDG-L;9963254;;;;;;;;;Moons;Nick;nick.moons@tijd.com;;;;KDG-S;;KDG-DLO-NP;M;23/03/1980;;;KDG-X;;;human;batchkdg;thuis;Nieuwstraat;72;;2200;Herentals;BE;(014)21 36 76;;;;;;;;(0476)75 57 36;;;;;;;;;;end
;KDG-L;161115;;;;;;;;;Peeters;Katrijn;gvg_kp@hotmail.be;;;;KDG-S;;KDG-DLO;F;13/06/1976;;;KDG-X;;;human;batchkdg;thuis;Turfvaartlaan;10;;2920;Kalmthout;BE;;;;;;;;;(0473)94 27 78;;;;;;;;;;end
;KDG-L;244549;;;;;;;;;Faid;Mohammed;;;;;KDG-S;;KDG-IWT;M;6/10/1972;;;KDG-X;;;human;batchkdg;thuis;Golfstraat;39;;2660;ANTWERPEN;BE;;;;;;;;;(0479/78 15 84;;;;;;;;;;end
;KDG-L;161037;;;;;;;;;Goetschalckx;Jill;;;;;KDG-S;;KDG-DLO;F;29/03/1983;;;KDG-X;;;human;batchkdg;thuis;Potterstraat;65;;9170;Sint-Pauwels;BE;(03)777 27 10;;;;;;;;;;;;;;;;;;end
;KDG-L;263254;;;;;;;;;Anthierens;Hans;anthierens.hans@excite.com;;;;KDG-S;;KDG-DLO-NP;M;21/06/1968;;;KDG-X;;;human;batchkdg;thuis;Koning Leopold III-laan;175;;8200;BRUGGE;BE;(050)38 20 96;;;;;;;;;;;;;;;;;;end
;KDG-L;263253;;;;;;;;;Moors;Anke;;;;;KDG-S;;KDG-DLO-NP;F;11/05/1984;;;KDG-X;;;human;batchkdg;thuis;Hofakker;10;;2990;WUUSTWEZEL;BE;(03)669 88 81;;;;;;;;(0476)58 70 74;;;;;;;;;;end
;KDG-L;222465;;;;;;;;;Callant;Tom;;;;;KDG-S;;KDG-HB;M;16/06/1978;;;KDG-X;;;human;batchkdg;thuis;Destelbergenstraat;91;;9040;GENT;BE;(09)228 20 25;;;;;;;;(0496)86 25 85;;;;;;;;;;end
;KDG-L;222479;;;;;;;;;Manshoven;Frank;;;;;KDG-S;;KDG-HB;M;10/02/1961;;;KDG-X;;;human;batchkdg;thuis;Ringlaan;42;;3560;LUMMEN;BE;(013)53 27 73;;;;;;;;(0473)97 67 93;;;;;;;;;;end
;KDG-L;262230;;;;;;;;;De Cnodder;Kirsten;;;;;KDG-S;;KDG-DLO;F;1/10/1983;;;KDG-X;;;human;batchkdg;thuis;Groeneweg;8;;2275;LILLE;BE;(014)88 18 16;kot;Kloosterstraat;59;57;2018;ANTWERPEN;BE;(0472)47 31 09;;;;;;;;;;end
;KDG-L;262230;;;;;;;;;De Cnodder;Kirsten;kirstendecnodder@hotmail.com;;;;KDG-S;;KDG-DLO;F;1/10/1983;;;KDG-X;;;human;batchkdg;thuis;Groeneweg;8;;2275;LILLE;BE;(014)88 18 16;kot;Kloosterstraat;59;57;2018;ANTWERPEN;BE;(0472)47 31 09;;;;;;;;;;end

5.5. Manuele verwerking van een bestand in Brocade

Via de toepassing Eindgebruikers ‣ Eindgebruikers - Beheersfuncties ‣ Import van eindgebruikersgegevens [link] is het mogelijk om het bestand met gegevens over lezers op te laden in Brocade.

De software werkt in 3 fasen:

5.5.1. Opladen van eingebruikersgegevens in CSV-formaat

Selecteer hiervoor het bestand ter hoogte van het veld Op te laden bestand en klik Registreer. Bij het opladen van het bestand worden de nodige testen gedaan ten aanzien van het formaat.

5.5.2. Testen van de gegevens

Selecteer vervolgens een importprofiel en start het gebruikersproces een eerste keer op in test-modus. Kies hiervoor bij acties de optie Geen updates in de databank. Op deze manier kan je nagaan of het csv-bestand voldoet aan de voorwaarden ten aanzien van de veldstructuur. Check hiervoor de lijsten die na de eerste run aangemaakt worden in uw persoonlijke lijstbeheer.

Via de lijsten warns en errors krijg je inzicht in de correctheid van de aangeboden metadata.

errors
de lijst met fouten
Dit zijn fouten tegenover het eindgebruikerssysteem: vb. de gebruikersklasse bestaat niet.
warnings
de lijst met waarschuwingen
vb. de geboortedatum ontbreekt

Via de aantallen van de lijsten de lijsten duplicates en eloinew kan je inschattten of de import het huidige eindgebruikersbestand zal beïnvloeden op een manier die je verwacht. Aantal nieuw aangemaakte eindgebruikers vs aantal eindgebruikers die mogelijk reeds in het eindgebruikersbestand zitten (gecheckt op basis van gelijkenis achternaam - voornaam). Dit zijn slechts aantallen. Op dit moment zijn er nog geen nieuwe eindgebruikers aangemaakt of bestaande gegevens aangepast.

Van zodra goedgekeurd, kan u de gegevens in de databank effectief aanpassen.

5.5.3. Opladen van de gegevens

Start voor de update het gebruikersproces een tweede keer op. Kies hiervoor bij Actie voor de optie Update de databank.

De opgeladen gegevens worden vergeleken met de gegevens in het lenersbestand, zoals vastgelegd in de meta-informatie van het importprofiel en het lenersbestand wordt aangepast. Als resultaat van deze bewerking komen er in het lijstbeheer nu 4 lijsten:

De records die geen errors vertonen, worden geïntegreerd in de databank met eindgebruikers. Er worden, behalve de fouten en waarschuwingen, 3 extra lijsten aangemaakt:

duplicates
de lijst met eindgebruikers die mogelijk reeds in het eindgebruikersbestand zitten (gecheckt op basis van gelijkenis achternaam - voornaam). Manueel na te kijken of het effectief over dezelfde persoon gaat (via adres / geboortedatum / ... ).
eloinew
de lijst met nieuwe eindgebruikers met hun gekregen recordnummer
touched
de lijst met geraakte eindgebruikers
untouched
de lijst met lenersrecords die onaangeroerd bleven

5.6. Dagelijkse automatische updating van lenersbestand

Vanaf release 3.00 is het mogelijk om lenersbestanden in csv-formaat dagelijks te verwerken. Werkwijze is dan als volgt:

  • Definieer een proces dat dagelijks loopt en het bronbestand op een FTP server ophaalt.

  • Definieer een proces dat de csv-file in Brocade importeert. Voorbeeld:

    r4_bindir/mutil -csvin /library/process/euserua/out/euserua.csv ZEUSERUA euser
    r4_bindir/mutil -csvin /library/process/euserua/out/nopayed.csv ZEUSERUA nopayed
    r4_bindir/mutil -exe 'd %Nopayed^zmoseus("UA","jcort")'
    r4_bindir/euserimport -test exec /library/process/euserua/out/euserua.csv 1014 UA jcort
    r4_bindir/euserimport -import 1014 duplicates=no renew=yes keepnrs=yes keepadr=yes wait=yes