Spring til indholdet

Fra Lotus Notes til Microsoft 365

En Notes-installation er post og applikationer, og de flyttes hver for sig. Microsoft har intet værktøj til nogen af delene. Hvad posten kan flyttes med, hvad der skal besluttes for applikationerne, og hvordan data hentes ud.

Microsoft 365 4 min. læsning

Lotus Notes og Domino er ikke døde. IBM solgte dem til HCL, og handlen blev afsluttet 30. juni 2019. HCL udvikler dem stadig, og version 14.5.1 kom i marts 2026 (HCL). En flytning fra Notes er et valg og ikke noget, platformen tvinger frem.

En Notes-installation er to ting, der flyttes hver for sig: posten med kalender og kontakter, og applikationerne, de databaser (NSF-filer), som afdelingerne har bygget deres arbejdsgange i. Microsoft har ikke noget migreringsværktøj til nogen af delene. Microsofts eget bidrag er et værktøj til at gøre status, Microsoft Online Notes Inspector (MONTI), og ellers henvises der til tredjepart (Microsoft).

Oversigt#

NotesMicrosoft 365Beslutning
Post, kalender, kontakterExchange OnlineVærktøj fra tredjepart, eller kun posten over IMAP
Applikation (formularer og visninger)SharePoint-liste, evt. med Power AppsBygges om, eller arkiveres
Agenter i LotusScript eller formelsprogPower AutomateBygges om ud fra, hvad de gør, ikke hvordan
Readers- og Authors-felterUnikke rettigheder pr. elementNye grænser, eller en liste pr. gruppe
Databasens ACLSharePoint-grupperOversættes
DoclinksLinksSkrives om, eller går tabt
Rich text med vedhæftede filerDokumenter eller vedhæftede filerHvor filerne skal bo

Posten#

Exchange Online kan hente post fra enhver server, der taler IMAP, også Domino. Men IMAP tager kun post: “This type of migration doesn’t migrate contacts, calendar items, or tasks” (Microsoft). Højst 500.000 elementer pr. postkasse og 35 MB pr. mail. Til kalender og kontakter skal der et værktøj fra tredjepart til.

Hvilke der findes, har ændret sig:

  • Quest Migrator for Notes to Exchange findes stadig (Quest).
  • Quest Migrator for Notes, det tidligere Binary Tree, har ikke haft support siden september 2024 (Quest).
  • BitTitan MigrationWiz holdt op med at tage Lotus Notes 1. april 2025 (BitTitan).
  • BCC Mail Migration Engine nævner HCL Domino til Microsoft 365 (BCC).

Microsofts egen liste over partnere nævner stadig BitTitan til Notes (Microsoft). Microsofts Transporter Suite for Lotus Domino var til Exchange 2007 og har aldrig virket med nyere versioner.

Applikationerne#

Det er her, arbejdet er. En Notes-applikation er data, formularer, visninger, agenter og rettigheder i én fil, og intet værktøj laver den om til en SharePoint-liste med et flow. Den skal bygges om, og for hver database er der et valg:

  1. Bruges den? Mange databaser er ikke åbnet i årevis. De arkiveres og flyttes ikke.
  2. Bruges den kun til opslag? Så er et udtræk til et arkiv eller en skrivebeskyttet liste nok.
  3. Bruges den til at arbejde i? Så skal den bygges om, og det er et nyt system. En liste er ikke altid det rigtige sted, se SharePoint-liste eller Dataverse.

Det, der oftest overses, er rettighederne. Et Readers-felt bestemmer, hvem der må læse det enkelte dokument, og et Authors-felt, hvem der må rette det (HCL). I SharePoint bliver det til unikke rettigheder pr. element, og dem anbefaler Microsoft højst 5.000 af pr. liste. Se Rettigheder flyttes ikke, de oversættes.

Doclinks er links mellem dokumenter i Notes. Et doclink peger på databasens replika-id og dokumentets id, ikke på en adresse, så de holder op med at virke, når databasen er væk (HCL). De skal enten skrives om til links i det nye system under migreringen, eller også går de tabt.

Data ud af en database#

To veje uden et værktøj fra tredjepart:

  • DXL, Dominos XML-format. Klassen NotesDXLExporter skriver en database eller en del af den som XML (HCL).
  • COM fra PowerShell på en maskine med Notes installeret:
 1$session = New-Object -ComObject Lotus.NotesSession
 2$session.Initialize()   # beder om Notes-adgangskoden
 3
 4$db   = $session.GetDatabase("", "C:\Notes\Data\<database>.nsf")
 5$view = $db.GetView("<visning>")
 6$doc  = $view.GetFirstDocument()
 7
 8$rows = while ($doc) {
 9    [pscustomobject]@{
10        Formular = $doc.GetItemValue("Form")[0]
11        Emne     = $doc.GetItemValue("Subject")[0]
12        Oprettet = $doc.Created
13        Aendret  = $doc.LastModified
14    }
15    $doc = $view.GetNextDocument($doc)
16}
17$rows | Export-Csv ".\udtraek.csv" -NoTypeInformation -Encoding utf8BOM

Lotus.NotesSession er COM og skal have Initialize(). Notes.NotesSession er den ældre OLE-automatisering, hvor Notes kører som en separat proces. PowerShell og Notes-klienten skal have samme bitantal: 64-bit Notes findes fra version 12.0.2, ældre klienter er 32-bit og kræver PowerShell (x86) (HCL). GetItemValue giver altid en liste, derfor [0]. Feltnavnene afhænger af applikationen. Ikke kørt.

Det der driller#

  • Readers-felter skjuler dokumenter for udtrækket. Et udtræk, der kører som en bruger, der ikke står i feltet, ser ikke dokumentet og melder ingen fejl. Tæl dokumenterne på serveren og i udtrækket.
  • Rich text er mere end tekst. GetItemValue("Body") giver i bedste fald teksten, og vedhæftede filer, tabeller og formatering skal hentes for sig. Det har jeg ikke efterprøvet.
  • Agenter, der kører om natten, står ikke i nogen visning. De findes i databasens design og skal gennemgås, før databasen lukkes.

Sidst opdateret

Del

Relaterede

Tags