Det finnes et GitHub repository i fagmiljøet vårt:
https://github.com/KDRS-SA/lotus-notes-data-exporter
Dette er et Lotus Notes Script for Lotus Notes klient som fungerer i parallell med Lotus Domino databaser (databasefiler .nsf som igjen ofte er basert på databasemaler .ntf).
Jeg har kjørt noen jobber her på Lotus Notes/Domino v5.n og 6.n, men nyere versjoner av Lotus Notes skal kunne kjøre scripts bakoverkompatibelt, mulig med noen justeringer. Mener jeg har ISO av programvare for begge nevnte versjoner her.
Fordelen med å bruke Lotus Notes sitt eget programmerings-script Lotus Script er at man da kan gå direkte på Lotus Domino designelementer og innhold og være sikker på at det man eksporterer er komplett ut i fra det som finnes i databasen.
En Lotus Notes database kan finnes på en server eller på en klient eller som replica flere steder av server/klienter. For bevaring, altså for å kunne ta uttrekk av Lotus Notes-databasene er det avgjørende å ha god nok tilgang, dvs. enten ha en Lotus Notes bruker som har høy nok tilgang eller at databasen eller lokal replica av databasen har satt standard tilgang til høy nok. Kopi i depot er best å ha høyeste tilgang i ACL (Access Control List). I noen tilfeller er det best å ha tilgang til systemet slik det er på serveren, men i det fleste tilfeller er en lokal replica på en klient av databasene tilstrekkelig for vårt bevaringsformål.
Data og Design er helt adskilt i en Lotus Notes database og det er da en rekke designelementer å ta stiling til i bevaring. De mest sentrale er Form (skjema med felter av ulike typer satt opp) som eventuelt har SubForms lagt inn (et SubForm kan gjenbrukes i flere skjema f. eks. adressefelter). Der er views som setter betingelser for hvilke typer Form's som skal vises, samt hvilke kolonner, sortering, Knapper/Actions og scripts. Videre har man Scripts og Actions, Agents (for manuell eller tidsstyrt/repeterende kjøring). I tillegg finnes det noen Layouts for bruk både i Lotus Notes klient, samt også brukt noe i nettsideløsninger.
Data lagres alltid i et dokument som igjen er basert på et spesifikt Form, typisk samlet i et eller flere views. For uttrekk har jeg som oftest laget et eller flere views som tar med alt innhold i databasen og så parser jeg gjennom alle elementer og eksporterer etter behov.
Data-elementer for bevaring fra Lotus Notes er i hovedsak
1. Lotus Notes Dokument som da trekkes ut med sine felter av type
- form navn
- tekst, tall, dato (mulig et par til jeg har glemt) => Kan lagres rett til xml felt
- RichText med rik tekst som kan he stor variasjon av innhold => Kan kreve litt behandling, men til XML også
2. Attachments: Lotus Notes Dokumenter kan ha et antall filer lagt ved til dokumentet => Lagres som vedleggsfiler og må knyttes opp til Lotus notes dokumentes xml-representasjon over
Det var en generisk strategi på bevaring av elementer kategorisert på form type, felter og attachment filer. Det er selvsagt mulig å gjøre system-spesifikke bevarings og uttrekksstrategier, f. eks. identifisere sak, journalpost og dokument elementer via views og selektering og gruppere et uttrekk direkte fra scriptet. Men det er et godt stykke arbeid, så jeg vurdere det mest hensiktsmessige med en generisk dump av alt innhold, og så heller etter-prosessere det strukturelt med hensiktsmessige verktøy før bevaring (og ev. validering før det igjen).
ODBC har jeg selv ikke noe erfaring med, men finnes der muligheter som gjør at man får komplett alle elemeter ut via den veien så prøver jeg også gjerne den muligheten. Men før jeg ser at det virker selv i praksis komplett med data ut, så bruker jeg Lotus Script-metoden.
Det var kjapt fra det jeg husker i farten. Olav Mjelde og jeg samarbeidet om Lotus Script her i dette repositoriet, ser her i commits tilbake fra 2012. Mens i det siste har Rolf Holte laget utvidelse tilpasset nyere behov. Jeg har et par jobber i bevaring som jeg må kjøre snart, så jeg skal ta frem denne koden.