Případová studie
Přenos celé firemní znalostní báze z Confluence do Redmine: zhruba 30 000 stránek a 230 000 verzí historie, bez ztráty autorů, příloh, oprávnění a pořadí stránek.
Výchozí stav
Znalostní báze firmy byla v Confluence: 207 prostorů včetně osobních, zhruba 30 000 stránek a 230 000 verzí historie. K tomu přílohy a obrázky, uživatelé, skupiny, oprávnění na úrovni prostorů i jednotlivých stránek a pořadí stránek ve stromu.
Celá znalostní báze měla přejít do Redmine.
Problém
Obsah se nedá jednoduše zkopírovat: Confluence a Redmine mají jiný formát stránek, jinou strukturu oprávnění a jiný model historie.
Největší riziko není chyba, která migraci zastaví, ale ztráta, kterou nikdo nezaznamená: chybějící příloha, stránka s jinými oprávněními nebo historie bez autorů. Migrace navíc nesmí přetížit zdrojový server.
Řešení
Navrhl a vyvinul jsem převodní nástroj v Pythonu, bez obecných ETL nástrojů:
Výsledek
Autoři, přílohy, oprávnění i pořadí stránek zůstaly zachované. Závěrečná kontrola porovnala zdroj a cíl stránku po stránce, takže se nic neztratilo potichu.
Moje role
Navrhl a vyvinul jsem převodní nástroj, připravil cílový systém (doplňky pro wiki makra a oprávnění stránek, účty z LDAP), řídil průběh migrace a provedl závěrečné kontroly konzistence.
Jak to běží
Čtení ze zdroje, převod a zápis do cíle jsou oddělené kroky. Na konci stojí kontroly konzistence.
Pluginy pro wiki makra a oprávnění stránek přes API, PlantUML, CommonMark, účty z LDAP.
Počty stránek a revizí zdroj × cíl, ověření oprávnění, porovnání obsahu stránku po stránce, audit úplnosti.
Technologie
Ukázky
Snímky z interaktivního dema se smyšlenými daty. Kliknutím obrázek zvětšíte.
Další rozvoj a provoz
Migrace je dokončená zakázka.
Stejný postup, tedy mapování, převod s řízením zátěže a závěrečné porovnání zdroje s cílem, se hodí pro každý přechod mezi systémy, kde nesmí nic chybět: výměnu firemního systému, slučování databází nebo vyřazení staré aplikace.
Další krok
Domluvme si krátkou úvodní konzultaci zdarma. Probereme současný stav, výsledek, který očekáváte, a zda dává vývoj na míru ekonomický smysl.