Migracja wiki z Confluence
Przepisałem narzędzie z 2021 roku do migracji z Confluence do SharePointa, zepsute przez zmiany w platformie Microsoftu, odbudowałem nawigację, od której zależą przeniesione wiki, i powtórzyłem migrację czterech intranetowych wiki: 697 stron i 341 diagramów, które nadal można edytować.
- stron w czterech wiki
- 697
- diagramów draw.io, nadal edytowalnych
- 341
Czym jest
W 2021 roku trzech kolegów zbudowało w PowerShellu narzędzie, które przenosiło przestrzenie Confluence do SharePointa, wraz z własnym rozszerzeniem nawigacji, dzięki któremu po każdym przeniesionym wiki da się poruszać. W 2025 roku Microsoft zmienił pod spodem dwie rzeczy. Wspólne logowanie, którego używały skrypty, zostało wycofane, więc narzędzie w ogóle przestało się łączyć. A nowoczesna powłoka stron przestała udostępniać elementy, do których montowała się nawigacja, więc każde już przeniesione wiki naraz straciło menu.
Zepsute narzędzie i zestaw wiki, po których nie dało się nawigować, trafiły do mnie do naprawy, a potem migrację trzeba było przeprowadzić od nowa, witryna po witrynie.
Co zrobiłem
Zastąpiłem główny skrypt migracji nowym. Wznawia pracę tam, gdzie przerwany przebieg się zatrzymał, parsuje HTML stron prawdziwym parserem zamiast gubić obiekty COM, przenosi diagramy draw.io jako edytowalne web party zamiast spłaszczonych obrazów, naprawia strony, których części były złożone w odwrotnej kolejności, transliteruje polskie znaki w tytułach i adresach URL oraz zachowuje historię wersji zamiast ją spłaszczać. Każdy skrypt pomocniczy przepisałem pod logowanie przez rejestrację aplikacji z obsługą MFA i pod API Confluence, które teraz dławi masowe odczyty: ponowienia, wycofywanie i zapisana lista wszystkiego, czego nie udało się odzyskać, zamiast cichej luki.
Przebudowałem rozszerzenie nawigacji na wspierane API punktów osadzenia, z ograniczoną liczbą ponowień i ponownym montowaniem przy nawigacji po stronie klienta, i poprawiłem błąd dopasowania witryn, przez który jedno wiki dostawało menu innego. Potem napisałem instrukcję uruchomienia, której oryginał nigdy nie miał, więc czwarta witryna nie potrzebowała już osoby, która napisała narzędzie.
Decyzja i jej koszt
Pierwszą rzeczą, jaką dostał nowy skrypt, było wznawianie, jeszcze przed jakąkolwiek poprawką treści. Migracji, której nie da się wznowić, nie da się debugować: każda próba naprawienia błędu na stronie 400 kosztuje ponowne przejście stron od 1 do 399, a przy źródle z limitem zapytań to godziny. Z tego samego rozumowania wziął się podział na ekstrakcję i import, który późniejsza migracja prawniczej bazy wiedzy celowo powtórzyła.
Policzenie wyniku na działających witrynach, zamiast ufania logom samego skryptu, pokazuje, dlaczego obsługa diagramów miała znaczenie: prawie połowa stron ma diagram. Pokazuje też realną lukę: na jednej witrynie sześć diagramów na czterech stronach nigdy się nie przekonwertowało, wszystkie były drugim lub kolejnym diagramem na stronach, które miały ich kilka. Strona bez jednego z dwóch diagramów wygląda w przeglądarce dobrze; widać to dopiero przy liczeniu.
Powiązane
Migracja prawniczej bazy wiedzy
Przeniesienie 1029 artykułów działu prawnego, z załącznikami, obrazami, tematami i uprawnieniami do każdego artykułu, z wycofywanego systemu helpdesk do SharePointa.
1029 z 1029 artykułów przeniesionych
Autor
Python 3.12 · Microsoft Graph · MSAL · SharePoint Online
Wspólne rozszerzenie nawigacji
Jedno menu intranetu oparte na danych, wdrożone raz i obsługiwane ze skonfigurowanych wpisów, które właściciele witryn utrzymują sami.
Główny programista od 2022 roku
SharePoint Framework · React · TypeScript · PnPjs