Nowa wersja
|
Poprzednia wersja
|
pl:miw:miw08_dokuviz:sprawozdanie [2008/04/01 14:54] miw utworzono |
pl:miw:miw08_dokuviz:sprawozdanie [2019/06/27 15:50] (aktualna) |
====== Wstęp ====== | |
* celem zadania było, stworzenie pluginu dla Dokuwiki umożliwiającego renderowanie diagramów z zamieszczonego w kodu DOT, oraz plików umieszczonych w wiki. | ===== Wstęp ===== |
====== Instalacja pluginu ====== | * celem zadania było utworzenie pluginu dla Dokuwiki umożliwiającego renderowanie diagramów z zamieszczonego kodu DOT, oraz plików umieszczonych w wiki. |
| |
| |
| |
| ===== Rozbudowa istniejącego pluginu ===== |
| Graphviz plugin dla Dokuwiki został oparty na znalezionym rozwiązaniu http://wiki.ioslo.net/dokuwiki/graphviz/ |
| Wersja ta obsługiwała podstawową funkcjonalność, tj. renderowanie diagramów z zamieszczonego w wiki kodu dot. |
| W stosunku do znalezionej w sieci wersji wprowadzono następujące ulepszenia: |
| * możliwość renderowania diagramów z zamieszczonych w wiki plików dot |
| * możliwość renderowania diagramów z plików dot znajdujących się w sieci, poprzez podanie ścieżki url. Funkcjonalność ta została osiągnięta, dzięki wykorzystaniu narzędzia Curl. |
| * dodano możliwość zdefiniowania wysokości i szerokości renderowanych diagramów |
| * poprawiono sposób generowania plików png, gdyż w poprzedniej wersji zastosowane nieoptymalne rozwiązanie powodujące utratę jakości. |
| |
| ===== Instalacja pluginu ===== |
* plugin dostarczony jest w postaci archiwum TAR. Instalacja polega na wskazaniu odpowiedniej lokalizacji w managerze pluginów Dokuwiki. Dalszy proces instalacji przebiega automatycznie. | * plugin dostarczony jest w postaci archiwum TAR. Instalacja polega na wskazaniu odpowiedniej lokalizacji w managerze pluginów Dokuwiki. Dalszy proces instalacji przebiega automatycznie. |
* aby możliwe było zamieszczanie w wiki plików *.dot niezbędne jest dodanie w pliku conf/mime.conf linii: | * aby możliwe było zamieszczanie w wiki plików *.dot niezbędne jest dodanie w pliku conf/mime.conf linii: |
| |
dot application/graphviz | dot application/graphviz |
====== Sposób użycia ====== | ===== Sposób użycia ===== |
* aby kod dot został przetworzony należy umieścić go pomiędzy odpowiednimi tagami, tak jak pokazano w poniższym przykładzie: | * aby kod dot został przetworzony należy umieścić go pomiędzy odpowiednimi tagami, tak jak pokazano w poniższym przykładzie: |
<code> <graphviz>KOD DOT</graphviz> </code> | <code> <graphviz>KOD DOT</graphviz> </code> |
* Bardziej rozbudowany przykład użycia: | * Bardziej rozbudowany przykład użycia: |
<code><graphviz neato file="pl:miw:plik.dot" width ="100" height="50"></graphviz></code> | <code><graphviz neato file="pl:miw:plik.dot" width ="100" height="50"></graphviz></code> |
| |
| |
| |
| |
| |
| ===== Zasadzki ===== |
| W związku ze sposobem działania mechanizmu cache w Dokuwiki istnieje możliwość, że plugin nie zadziała poprawnie. Nie wgłębiając się w szczegóły mechanizm cache w Dokuwiki wywołuje plugin podczas zapisywania dokumentu. Sam plugin renderuje diagramy w przypadku, gdy natrafi na kod, którego nigdy wcześniej nie renderował. W przeciwnym przypadku zostanie załadowany obrazek przechowywany w pamięci cache. Może się zatem zdarzyć, że renderując diagram z zewnętrznego pliku który ulegnie zmianie, plugin tych zmian nie wykryje gdyż podany kod: |
| "<graphviz url=".."></graphviz>" |
| będzie w obu przypadkach identyczny. W razie wystąpienia tego typu problemów pomóc powinno wyczyszczenie zawartości katalogu: |
| wiki/data/media/graphviz |
| Można również użyć opcji NOCACHE -> http://wiki.splitbrain.org/wiki:caching |