4. Sorteren van ISAD(G) records
4.1. Inleiding
Er zijn diverse plaatsen waar ISAD(G) worden gesorteerd ten opzicht van elkaar.
In Brocade zijn 2 contexten van essentieel belang:
sorteren van records binnen de ISAD(G) hiërarchie
sorteren van records binnen een archieven overzicht
Deze 2 situaties zijn essentieel verschillend:
In een ISAD(G) hiërarchie zijn de records gerelateerd door middel van de ouder beschrijving. Door middel van een konsekwente naamgeving kan de invoerder de basis liggen van een goede sortering.
In een archieven overzicht is dit helemaal niet zo duidelijk: de overzichten hebben immers geen directe band met de ISAD(G) beschrijving. Daar komt nog bij dat - in tegenstelling tot de ISAD(G) hiërarchie - een ISAD(G) beschrijving kan worden geplaatst binnen multiple overzichten.
4.2. Data-model
In het Brocade data-model zijn er, per beschrijving, twee elementen die kunnen worden gebruikt om het record te sorteren:
de titel
het sorteerveld
Zowel de titel als het sorteerveld mogen authority codes bevatten. Deze authority codes worden vertaald volgens een schema beschreven in de meta informatie van het ISAD-systeem.
Het vertaal-systeem gaat achtereenvolgens de meta informatie isaarsort, isaartrepr, isaarrepr gebruiken om de authority codes te vertalen. Van zodra er een meta waarde ingevuld is, stopt dit systeem.
Tenslotte worden ook kleine letters omgevormd naar kapitalen.
4.3. Sorteren binnen de hiërarchie
Het ganse sorteermechanisme wordt herleid tot een getal en dit getal wordt ook opgeslagen in de databank.
macro getISADRecordId($array, $isadloi):
'''
$synopsis: Haal de identificatiegegevens op van een ISAD record
$array: Array met het resultaat
Array("trn"): transactiecode van de laatste wijziging
Array("ref"): complete referentie
Array("parent"): ISAD loi van de parent (kan leeg zijn)
Array("isaar"): ISAAR loi bij deze record (kan leeg zijn)
Array("scheme"): schema horend bij deze record
Array("ty"): type
Array("ti"): titel
Array("nsort"): sorteernummer
Array("sort"): sorteerstring
Array("tic"): title is ISAAR code ? 0 | 1
Array("tree"): indien de parent leeg is staan hier de overview codes (isadview !)
in subscript.
$isadloi: ISAD loi
$example: m4_getISADRecordId($array, $isadloi)
'''
«d %Gid^gbisd(.$array,$isadloi)»
Het veld sortnr bevat dit getal.
Dit getal komt tot stand in 2 fasen:
Eerst wordt een sorteerstring berekend
Tenslotte wordt sortnr berekend
De sorteerstring wordt berekend op basis van de titel (=`ti`) en het sorteerveld (=`sort`).
De titel wordt steeds bepaald door de invoerder. Deze kan in het invulformulier ook een sorteerveld ingeven.
Bestaat er een sorteerveld, dan is dit meteen ook de sorteerstring en bepaalt het ook de plaatsing van het ISAD(G) record binnen zijn ouder. Het titelveld speelt geen enkel rol.
Caution
Dit sorteerveld wordt het best bij grote uitzondering gehanteerd. Eens ingevuld, kan de werking slecht worden ongedaan gemaakt door het manueel te wijzigen, record per record.
Is er geen sorteerveld ingevuld in het invulformulier dan bepaalt de titel de sorteerstring.
Hier zijn er echter een paar interessante mogelijkheden op basis van het archiefschema waartoe de record behoort (zie ook: Archieven - Archiefbeschrijvingen - Beheersfuncties - Archiefschema's [link]). In dit archiefschema kan men in het veld sortregexp patronen en prefixen definieren. De software zet de titel af tegen deze patronen en - indien de titel het patroon volgt - dan wordt de prefix voorgevoegd bij de titel.
Voorbeeld:
Met een (getransformeerde titel) van de gedaante:
WERKSTUKKEN VAN CLAUS, HUGOen in het veld sortregexp bij het schema:
WERKSTUK*:00100 BRIEFWISSELING*:00200 VERZAMELING*:00300Dan wordt de sorteerstring:
00100WERKSTUKKEN VAN CLAUS, HUGO
Op deze wijze kan het sorteerveld op een praktische wijze worden vervangen.
Attention
Dit systeem kan enkel werken indien de titel op een getructureerde wijze wordt gespecificeerd.
Het sorteernummer
De sorteerstring is voldoende om de sortering goed te kunnen uitvoeren. Wegens technische redenen en redenen uit performantie wordt deze string nog omgevormd naar een getal. Deze omvorming speelt zich af binnen de hiërarchie zelf en kan niet buiten deze hiërarchie worden gebruikt!
Het sorteernummer wordt (her)berekend van zodra titel of sorteerveld wijzigt.
4.3.1. Sorteren binnen de hiërarchie - verfijning release 4.30
Elke isad-beschrijving krijgt bij registratie een sorteringsnummer die wordt berekend a.d.h.v.
De titel in het veld "Titel" (1)
Een "string/nummer" in het veld "Sorteerwaarde" (3)
Eén nuancering is hierbij mogelijk (2): De aanwezigheid van bepaalde patronen in de titel, kan leiden tot het voorafgaan van een sorteercode aan de titel (vooraleer dat het sorteringsnummer wordt berekend) waardoor binnen een lijst van isads met dezelfde parent, een extra 'inhoudelijke' sortering mogelijk is)
4.3.1.1. Voorbeeld
BRIEVEN VAN*:01800 ==> Isads met patroon "BRIEVEN VAN*" in de titel krijgen sorteerwaarde 01800 aan het begin van de titel
BRIEVEN AAN*:01900 ==> Isads met patroon "BRIEVEN AAN*" in de titel krijgen sorteerwaarde 01800 aan het begin van de titel
Hierdoor worden in eerste instantie de isads met "brieven van" opgelijst en vervolgens die met "brieven aan".
4.3.1.2. Volgorde berekening (3) - (2) - (1)
Deze opzet werkt zolang een instelling op een uniforme manier isads invoert. Deze opzet schiet te kort wanneer een instelling afwisselend invoert met behulp met ar-loi's, dan wel karakterrijen in titel/sorteerwaarde-veld
4.3.1.3. Probleemstelling Letterenhuis
Kinderen van "isad:lh:136453" hebben in sommige gevallen de ar-loi in de titel en in andere gewoon de naam van de archiefvormer. Dit heeft invloed op het sorteringsnummer dat berekend wordt. (in sommige gevallen sortering niet naar wens).
Daarom werd de software zodanig aangepast dat ar-loi's in titel en sorteerwaarde omgezet worden in een karakterstring naar keuze (voor de berekening van het sorteringsnummer) zodat het verschil in invoer (wel/geen ar-loi) geen invloed meer heeft op de sortering:
Nieuwe metadata t.h.v. isadsysteem : "Sorteervorm voor authoritycodes" : Geeft aan met behulp van welke metadata een ar-loi moet omgezet worden.
Nieuwe metadata t.h.v. het authority-type : "Sorteervormen" waar aangegeven wordt hoe een ar-loi wordt omgezet in een karakterrij in functie van de sortering (lees: voor berekening van het sorteringsnummer)
Deze werkwijze laat toe dat instellingen in de toekomst de sortering van kinderen met dezelfde parent tav elkaar volledig zelf in de hand hebben.
4.4. Sorteren binnen overzichten
Enkel de inhoud van het titelveld is bepalend voor de sortering. Het sorteerveld speelt geen enkele rol bij de plaatsing van een ISAD(G) record in een overzicht.
Deze titel kan echter worden getransformeerd zodat zijn beschrijving toch naar een betere plaats kan worden verschoven.
In de meta informatie van een overzicht (zie ook: Archieven - Archiefbeschrijvingen - Beheersfuncties - Archiefoverzichten [link]) kan in het veld trans een aantal transformatie op de titel worden gespecificeerd.
Voorbeeld:
*:kcpersoon:init*/ARCHIEFSTUKKEN*/ARCHIEFSTUKKEN/ARCHIEF/1
*:kcpersoon:init*/COLLECTIE*/COLLECTIE/ARCHIEF/1
*:kcpersoon:init*/ARCHIVALIA*/ARCHIVALIA/ARCHIEF/1
*:kcvereniging:init*/ARCHIEFSTUKKEN*/ARCHIEFSTUKKEN/ARCHIEF/1
*:kcvereniging:init*/COLLECTIE*/COLLECTIE/ARCHIEF/1
Elke regel bestaat uit 5 velden (gescheiden door '/'). Regels kunnen worden toegepast of worden verworpen.
Het eerste veld is een patroon op het tekstfragment (hoofdding).
Het tweede veld is een patroon op de titel zelf.
Het derde veld wordt gezocht in de titel en (eventueel) vervangen door het vierde veld.
Het 5e veld is '0' of '1': indien '1', dan wordt het transformatie proces gestopt na een succesvolle transformatie.
Stel dat, in het voorbeeld, een titel:
COLLECTIE VAN CLAUS, HUGO
wordt gebruikt onder het hoofdding:
kc:kcpersoon:initc
De eerste regel is niet van toepassing: het hoofdding komt overeen maar de titel niet.
De tweede regel is wel van toepassing:
het hoofdding beantwoordt aan het patroon *:kcpersoon:init*
de titel beantwoordt aan het patroon COLLECTIE*
de transformatie doet een effectieve wijziging van COLLECTIE VAN CLAUS, HUGO naar `ARCHIEF VAN CLAUS, HUGO
De andere regels zijn niet meer van toepassing: het vijfde veld is immers 1
4.5. Software
Zie: Archieven - Archiefbeschrijvingen - Groepsbewerkingen - Sorteren van ISAD(G) beschrijvingen [link]
Sorteren van ISAD(G) beschrijvingen (Interne code: mt:up:isadsort)
Dit proces gaat alle ISAD(G) beschrijvingen van een gegeven systeem hersorteren. Deze actie heeft betrekking op twee domeinen:
sorteren binnen de ISAD(G) hiërarchie (sorteren bij een zelfde ouder)
sorteren binnen het geassocieerde archievenoverzicht
Parameters
- Archiefsysteem
(Interne code: mt:pup:isadsys)
Het archiefsysteem staat voor een collectie van archiefbeschrijvingen die bij elkaar horen.
Indien je in de lijst met mogelijkheden niet het gewenste archiefsysteem terugvindt, dan betekent dit dat je geen toegang heeft tot dat systeem.
Eventueel kan de systeembeheerder je toegang verschaffen.