Czy warto wdrożyć gotowe rozwiązanie?
W dzisiejszym artykule zrobimy pierwszy krok w niebezpieczne rejony standardów. W generalnym ujęciu, standardy mogą się wydawać bardzo kuszącą propozycją dla każdego przedsiębiorstwa – po co wymyślać koło, skoro można je po prostu wziąć i użyć? W dodatku za darmo? Istnieje jednak szereg ograniczeń i pułapek, o których trzeba pamiętać, bo standard jest troszkę jak oprogramowanie. Wdrożenie skomplikowanego standardu, który będzie pasować do każdego, nawet najbardziej wymyślnego projektu, jest z oczywistych względów bardziej skomplikowane niż wdrożenie czegoś prostszego, co nie zawsze będzie do wszystkiego pasować idealnie. Dzisiaj przyjrzymy się jednemu z najpopularniejszych standardów – DITA (Darwin Information Typing Architecture).
DITA powstał w IBM przy udziale Arbortext (obecnie PTC) – autora oprogramowania do zaawansowanego zarządzania treścią, które to w naszym studiu jest wykorzystywane od 2000 roku.
Sama nazwa wywodzi się z fundamentalnych założeń tego standardu:
- Darwin – zasadą dokumentów jest to, że elementy opierają się na dziedziczeniu i specjalizacji.
- Information Typing – zarówno tematy (o tematach napiszemy więcej w dalszej części artykułu) jak i treść mają spełniać założenia semantyki, czyli mają określać znaczenie treści, a nie jej wizualizację.
- Architecture – standard zapewnia miejsce na rozbudowę dla zewnętrznych aplikacji zarówno w kierunku nowych zastosowań, jak też rozszerzania o nowe specjalizacje.
W efekcie DITA jest standardem wysoce uniwersalnym i, choć rozbudowanym i dość skomplikowanym, powszechnie stosowanym. Już pierwszy rzut oka na specyfikację standardu może niejednego czytelnika przyprawić o palpitację serca – 1236 stron i dziesiątki odnośników do innych specyfikacji, z którymi wypada zapoznać się wcześniej, żeby poprawnie zrozumieć stosowane rozwiązania. Nie jest to lektura na jedno popołudnie. Zawiłość jest efektem nie tyle komplikacji, co uniwersalności standardu i na szczęście, na potrzeby wydawcy, wiele stosowanych rozwiązań i tematów nie będzie ani interesujące, ani przesadnie potrzebne.
Bardzo ciekawym elementem założeń DITA, w odróżnieniu od np. DocBook, jest przystosowanie standardu do tworzenia nowych specjalizacji spełniających wymagane założenia. Standard nie zakłada ograniczenia dostępnych elementów w ramach danego tematu w celu utrzymania kompatybilności między tematami – specjalizacja i rozszerzanie jest wręcz podstawową funkcją standardu, co sprawia, że daje znacznie większe możliwości dostosowania się do wymogów konkretnego wydawnictwa. W przypadku DocBook struktura jest ograniczona do określonych znaczników i nie ma możliwości zastosowania w danym projekcie innych tylko dlatego, że są akurat potrzebne. Najważniejszym elementem jest kompatybilność między poszczególnymi projektami i jest bezwzględnie przestrzegana. DITA pozwala na takie modyfikacje na zasadzie specjalizacji, dzięki czemu daje więcej możliwości edycyjnych nie poświęcając kompatybilności.
W praktyce DITA to zestaw praktyk, plików DTD lub Schema i map dokumentu, które definiują wszystkie dostępne elementy dokumentów, ich budowę, zagnieżdżenie i zastosowanie.
Po co komu w ogóle standardy?
Warto się zastanowić nad odpowiedzią na to pytanie. Aby rozwiązanie idealnie pasowało do wymogów danego przedsiębiorstwa, najlepiej jest, jeśli jest uszyte na miarę. Niestety świat programowania i świat szycia garniturów dzieli ogromna przepaść i to, co na pierwszy rzut oka wydaje się optymalne, może się okazać śmiertelną pułapką i studnią, której nie da się zasypać niezależnie od liczby zer na koncie. Dlatego rozwiązanie bardziej bezpieczne, czyli uznany, sprawdzony i popularny standard ma swoje zalety.
Standard DITA został stworzony w oparciu o głębokie przemyślenia dużej grupy specjalistów i feedbacku przedsiębiorstw z niego korzystających. Istnieje duża szansa, że w procesie testowania i wczesnej implementacji, odbiorcy nadziali się dokładnie na te same problemy, na które natrafi rozwiązanie szyte na miarę. Te problemy zostały przeanalizowane i rozwiązane.
Standard uwzględnia również szereg dobrych praktyk wykorzystywanych przez wiele podmiotów. Dzięki temu przedsiębiorstwo i standard DITA dostosowują się do siebie wzajemnie, co pozwala w wielu przypadkach poprawić niedociągnięcia np. w procesie produkcji.
Standard jest kompatybilny ze wszystkim, co jest kompatybilne ze standardem. Brzmi to troszkę jak tautologia, ale w przypadku implementacji standardu, w odróżnieniu od rozwiązania szytego na miarę, gdy pojawi się potrzeba wdrożenia nowego rozwiązania informatycznego, to można go szukać wśród wielu gotowych programów. Wystarczy sprawdzić, czy jest kompatybilny z danym standardem.
Standard pozwala znacząco obniżyć koszty wdrożenia oprogramowania. Projektowanie bazy danych, założeń znakowania, przechowywania i wykorzystania treści stanowi jeden z głównych elementów oprogramowania. W przypadku oparcia się na standardzie, nawet jeśli samo rozwiązanie będzie szyte na miarę, cały ten proces zamienia się na mozolne studiowanie 1236 stron specyfikacji. Nie jest to może proces przyjemny, ale na pewno znacząco tańszy od projektowania czegoś od nowa.
Standard pozwala na bezbolesny rozwój i dostosowanie się do nowych wymogów. Wspierane standardy są doskonalone bez przerwy – jeśli na rynku pojawia się jakieś nowe rozwiązanie, standardy jako pierwsze dostosują się do niego. W efekcie, nawet jeśli rozwiązanie będzie szyte na miarę, wystarczy doczytać dodane fragmenty specyfikacji i na ich podstawie wdrożyć nową wersję oprogramowania.
Tematy
Podstawowym elementem każdego dokumentu są tematy. W przypadku książki będą to rozdziały, w przypadku wydawnictwa specjalizującego się w przewodnikach mogą to być państwa, miasta albo kontynenty. Każda publikacja będzie zatem składać się z zestawu tematów, ale z punktu widzenia standardu nie będzie to publikacja tylko kompilacja. Zrozumienie różnicy jest kluczowe dla zrozumienia całego formatu. Tematy są podstawowym elementem, a zebranie ich w ustalonej kolejności w ramach jakiejś publikacji jest tylko jedną z wielu możliwych kompilacji. To, kto będzie mógł takie zestawy tworzyć, zależy od wydawcy i posiadanych przez niego narzędzi, ale nie ma żadnych przeszkód, żeby tworzyli je również czytelnicy. Dlatego każdy temat powinien zawierać jakąś logiczną całość o określonej wartości, do której można przypisać metadane pozwalające użytkownikowi dokonać sensownej kompilacji.
Podstawową wartością wydawnictwa stają się zatem nie tyle książki, co ich fragmenty. Takie podejście do struktury treści ma swoje zasadnicze zalety. Dany temat może być na przykład przeznaczony dla wielu rodzajów publikacji (drukowanych, elektronicznych czy do sieci) i wcale nie musi tak samo wyglądać w każdym z tych formatów. Zatem, gdy autor tworzy jakąś treść, powiedzmy notkę o Napoleonie, w ramach tego samego tematu można wydzielić trzy odrębne elementy, które z punktu widzenia bazy danych są widoczne obok siebie, ale zostaną automatycznie okrojone dla wybranej wersji. W wersji drukowanej będzie to tekst i zdjęcie, w wersji epub tekst będzie nieco dłuższy, a w wersji web oprócz ilustracji pojawi się np. film z Youtube. Może się tam też znaleźć notka dla uczniów historii podstawowej, a rozszerzonej dla ciekawskich. Wszystkie te zupełnie inne elementy funkcjonują w ramach jednego tematu, dzięki czemu, w przypadku konieczności edycji, wszystko znajduje się w jednym miejscu, poukładane w zgrabnych szufladkach w sposób zrozumiały dla osoby, która wprowadza zmiany.
Specjalizacja
Specjalizacja jest jednym z fundamentalnych elementów systemu. Myśląc o specjalizacji warto pamiętać Karola Darwina i jego teorię ewolucji – każdy organizm wziął się z jakiegoś innego organizmu. Drzewo biegnie nieprzerwanie przez kolejne gatunki od bardzo prostych, jednokomórkowych organizmów na początku, do skomplikowanych, wysoce wyspecjalizowanych na końcu. Każda cecha tych organizmów wynika z którejś cechy jego przodków. Z punktu widzenia wydawnictwa, takim pierwotnym tworem będzie jakaś forma publikacji, z której wszystkie inne będą się specjalizować. W założeniu powinna mieć najszersze zastosowanie, niewielkie ograniczenia i szeroką gamę dostępnych elementów. Inne, bardziej wyspecjalizowane publikacje, mogą ograniczać lub w ogóle wyłączać, zastosowanie niektórych z nich i dodawać inne, jeśli są potrzebne.
Takie powiązanie poszczególnych specjalizacji sprawia, że całość struktury jest spójna, a w efekcie powstaje mapa specjalizacji. Skoro każdy wyspecjalizowany standard wie, skąd się wziął dany element, a żaden element nie wziął się z niczego, to można je przekładać nie tylko między tematami w obrębie jednej specjalizacji, ale też między poszczególnymi specjalizacjami. Wyobraźmy sobie, że podstawowym standardem będzie po prostu książka, która dopuszcza wszystkie elementy w niemal dowolnych konfiguracjach (nie dopuszcza na przykład tworzenia nowych tematów wewnątrz akapitów, bo to byłoby pozbawione sensu). Formą wyspecjalizowaną będzie podręcznik, który z prostego elementu ilustracja wyspecjalizuje wykresy, zdjęcia i wzory chemiczne. Inną, wyspecjalizowaną formą książki będzie album, który z tej samej ilustracji wyspecjalizuje panoramy, pejzaże i portrety. Dzięki temu, że wszystkie wyspecjalizowane elementy mają jednego rodzica, można je między nimi kopiować i linkować. Podlinkowanie konkretnego zdjęcia z tematu podręcznika, które w nim jest zdjęciem zostanie przerzucone zgodnie z mapą specjalizacji i umieszczone w nowym temacie jako panorama, pejzaż albo portret.
Tworzenie specjalizacji pozwala modyfikować środowisko i standard według potrzeb danych tematów. Nie w każdym niezbędne będą ilustracje, nie każdy potrzebuje siedemnastu wersji językowych, ale też nie każdy zmieści się tylko w jednym rodzaju akapitu i ilustracji. Dzięki temu poszczególne tematy są dokładnie tak szerokie i tak ograniczone, jak wymagają tego poszczególne rodzaje projektów.
O mapach DITA słów dosłownie kilka
Temat map w standardzie DITA jest bardzo szeroki i dość skomplikowany. Warto jednak chociaż o nim wspomnieć, bo z punktu widzenia wydawców jest bardzo ciekawy. Mapy definiują relacje między poszczególnymi elementami i ich zastosowanie. Mapy to pliki, które definiują poszczególne elementy, dzięki czemu nie trzeba każdemu z nich nadawać konkretnych charakterystyk – mają je z natury, nawet jeśli te elementy nigdzie nie istnieją. Mapa mówi, że jeśli kiedyś taki element powstanie, to będzie miał takie a nie inne zastosowanie i będzie się odnosić do innych elementów. Mapy mogą definiować szereg charakterystyk poszczególnych elementów, np.:
- Możliwość linkowania elementów w innych tematach.
- Cel danego elementu (np. czy ma zostać uwzględniony w druku).
- Widoczność danego elementu (np. nie jest uwzględniany w wynikach wyszukiwania).
- Osoby, do których jest skierowany dany element (np. początkujący, zaawansowani, autorzy, redakcja etc.).
Mapy służą za instrukcję działania dla bazy danych na wszystkich etapach – od powstawania treści do jej eksportu. Dzięki temu autorzy pracują w takim samym środowisku, w jakim dokument później będzie wykorzystany. O mapach DITA (oraz innych szczegółach tego standardu) będziemy jeszcze pisać, ale kluczowe jest to, że stanowią najważniejszy element, który pozwala zdefiniować, zinterpretować i przetwarzać treść.
W procesie eksportu, mapa informuje bazę, który zestaw tematów mieści się w danej publikacji, w jakiej kolejności i które elementy powinny zostać wyeksportowane, a które nie.
Podsumowanie
DITA jest potężnym narzędziem, które w rękach sprawnych programistów pozwala zupełnie zmienić metodykę pracy w wydawnictwie. Jest standardem opracowanym przez IBM przy współpracy Arbortext na bardzo słusznych, z punktu widzenia wydawcy, podstawach. Składa się z szeregu założeń i gotowych rozwiązań, które strukturyzują i opisują treść tak, by można było bezproblemowo stworzyć i obsługiwać bazę danych. Pozwala ominąć całe etapy procesu analizy podczas wdrażania takiego rozwiązania w pracy wydawnictwa, przez co redukuje koszty, minimalizuje ryzyko związane z rozwojem i kompatybilnością, jak również pozwala wybierać wśród wielu dostawców A poza tym jest darmowy.