Nieczęsto zdarza się pracować przy systemach, których korzenie sięgają lat 70. Jeszcze rzadziej ma się okazje je reaktywować. Między innymi z tego względu praca przy systemie FOLBAS była tak ciekawa i pełna wyzwań.
FOLBAS to zdigitalizowana baza pieśni mająca ułatwiać tworzenie fiszek wykorzystywanych do analizy języka folkloru. Początki bazy sięgają lat 70. gdzie jej pierwsza wersja powstała i działała na starych Odrach. Wraz z rozwojem technologii sama baza była migrowana na nowe generacje komputerów, by ostatecznie skończyć na architekturze klient-serwer z bazą danych SQL uruchomioną na bliżej nieokreślonym serwerze i klientach napisanych w Delphi, które z bazy korzystały. W końcu rozwój technologii dopadł i to rozwiązanie – serwer SQL przestał działać a oprogramowanie, na którym działał, nie było kompatybilne z żadnym współczesnym systemem operacyjnym.
Odzyskiwanie danych
Pierwszym wyzwaniem okazało się odzyskanie danych istniejącej bazy. Serwera, na którym do tej pory działała baza SQL ze wszystkimi danymi systemu, nie udało się nawet zlokalizować – po prostu przestał działać i nikt nie był w stanie stwierdzić co się z nim stało ani gdzie wcześniej fizycznie się znajdował – po przeszło 20 latach od ostatniej migracji nie było już żadnego admina, który by ją pamiętał lub przynajmniej przy niej był.
Z pomocą przyszedł backup systemu – dostępna była binarna kopia bazy wraz instalką systemu bazodanowego na którym działała. Ta wydawałoby się komfortowa sytuacja wcale nie była tak komfortowa – 20 letni soft nieszczególnie chciał działać na żadnym ze współczesnych systemów, a nowe jego wersje z kolei nie działały z binarką z backupu. Na szczęście backup zawierał też tekstowy zrzut danych w formacie zbliżonym do SQLa. Mając więc do wyboru albo walkę z instalowaniem 20 letnich programów, albo wyciągnie danych z binarnego formatu bazy danych, albo operowanie na pliku tekstowym, wybrałem to ostatnie – po kilku perypetiach z kodowaniem znaków udało się odzyskać dane i przenieść do nowej bazy działającej na MySQL.
Nowa wersja systemu
Do odzyskanej bazy stworzyłem system napisany w PHP z wykorzystaniem frameworka Yii. W efekcie powstała aplikacja webowa wymagająca od użytkownika jedynie działającej przeglądarki internetowej i połączenia z internetem – brak konieczności instalowania specyficznego oprogramowania klienckiego znacznie zmniejszał ryzyko problemów z kompatybilnością z przyszłymi systemami operacyjnymi. Dodatkowo sama baza stałą się dostępna z poziomu internetu, możliwe więc stało się udostępnienie jej zasobów ludziom z całego świata.
Nowa wersja systemu dodała również wiele usprawnień ułatwiających wykorzystywanie bazy. Oprócz standardowego interfejsu CRUD pozwalającego zarządzać tekstami w bazie oraz przypisanymi do nich źródłami, autorami oraz gatunkami, dodano wbudowany mechanizm do generowania i drukowania fiszek dla wybranych słowoform oraz znacznie usprawniono interfejs do edycji tekstów oraz oznaczania kontekstów. System posiada też elastyczny system zarządzania użytkownikami i uprawnieniami, log zmian oraz minimalistyczny CMS pozwalający tworzyć dowolną liczbę podstron o dowolnej treści.