|
|
pl:miw:2009:miw09_metamodelwikiplugin [2009/07/07 21:03] jsi08 |
pl:miw:2009:miw09_metamodelwikiplugin [2019/06/27 15:50] |
====== Opis ====== | |
Marcin Godlewski <godlewski.marcin@op.pl> | |
==== MetamodelWikiPlugin ==== | |
Add Wiki plugin to display metamodels (UML class diagrams) from XMI code OR create wiki plugin to display them from UMLGraph notation. | |
Input: | |
* [[http://carlosmanzanares.com/blog/?p=23|Wiki UML tool]] | |
* [[http://www.twiki.org/|TWiki]] | |
* [[http://www.umlgraph.org/|UMLGraph]] | |
Output: | |
* Wiki with plugin | |
| |
====== Spotkania ====== | |
| |
===== 20090528 ==== | |
| |
Wersja 2 - dwa niezależne pluginy do diagramów klas i diagramów sekwencji. | |
| |
===== 20090408 ==== | |
| |
Plugin do diagramów klas - wersja wstępna. | |
| |
**Problem do rozwiązania:** | |
| |
W wyniku pracy pluginu powstaje plik o nazwie metamodel_plugin*.png, gdzie * jest sumą md5 dla pliku tekstowego zawierającego treść umieszczoną przez użytkownika pomiędzy znacznikami <uml> i </uml>. Plik ten zawiera grafikę (diagramy) umieszczaną na stronie. Problemem jest to, iż w wyniku zmian w treści stron niektóre z tych plików mogą stać się bezużyteczne, a nie są one w żaden sposób usuwane. Powstaje pytanie jak usuwać nieużywane pliki metamodel_plugin*.png?? | |
| |
===== 20090319 ==== | |
* proto | |
| |
===== 20090305 ==== | |
* graphviz plugin | |
<code> | |
<uml file="zzz.xmi"> | |
class Person { | |
String Name; | |
} | |
| |
class Employee extends Person {} | |
| |
class Client extends Person {} | |
</uml> | |
</code> | |
| |
{{:pl:miw:2009:miw09_metamodelwikiplugin:umlgraph-class-eg.gif|}} | |
| |
====== Projekt ====== | |
| |
Projekt stanowią dwa pluginy do Dokuwiki: Umlclass Plugin generujący diagramy klas oraz Umlsequence Plugin generujący diagramy sekwencji, zgodne z UML. Diagramy mogą być używane niezależnie, jednak do działania wymagają częściowo tego samego oprogramowania. Mogą być więc traktowane jako całość. | |
| |
====== Sprawozdanie ====== | |
| |
1. Używanie pluginów: | |
| |
1.1. Umlclass Plugin - aby stworzyć na stronie diagram klas należy umieścić w wiki opis klas przy użyciu składni Javy i znaczników javadoc pomiedzy znacznikami <uml class> i </uml class>. Na stronie wynikowej opis tekstowy zostanie zastąpiony plikiem png. | |
| |
1.2. Umlsequence Plugin - aby stworzyć na stronie diagram sekwencji należy umieścić w wiki opis diagramów sekwencji (opis składni [[http://www.umlgraph.org/doc/index.html]]) pomiędzy znacznikami <uml seq> i </uml seq> (w opisie diagramu nie należy umieszczać wierszy '.PS', 'copy "sequence.pic";' i '.PE' - są one dodawane automatycznie). Na stronie wynikowej opis tekstowy zostanie zastąpiony plikiem png. | |
| |
2. Instalacja | |
| |
2.1. Umlclass Plugin - do tworzenia grafiki png używa pakietu UMLGraph, który z kolei wykorzystuje program Graphviz, sam natomiast jest napisany w Javie. | |
Aby zainstalować plugin należy umieścić syntax.php w katalogu dokuwiki/lib/plugins/umlclass/ . Zainstalowane muszą być JDK (może być to OpenJDK), Graphviz i UMLGraph (instrukcja na stronie [[http://www.umlgraph.org/|UMLGraph]]). UMLGraph musi znajdować się w ścieżce przeszukiwania. Częstym problemem po instalacji UMLGrapha jest niespełnienie wymogu aby tools.jar (składnik JDK) i UmlGrpah.jar znajdowały się w tym samym katalogu. Jest to konieczne aby UMLGraph działał poprawnie. | |
| |
2.2. Umlsequence Plugin - do tworzenia grafiki używa programu pic2plot z pakietu GNUPlotutils oraz UMLGraph'a. | |
Aby zainstalować plugin należy umieścić syntax.php w katalogu dokuwiki/lib/plugins/umlsequence/ . Dodatkowo zainstalowany musi być program pic2plot z pakietu GNUPlotutils. Plik sequence.pic będący częścią UMLGraph'a musi znajdować się w katalogu dokuwiki/lib/plugins/umlsequence/ . | |
| |
====== Pluginy do pobrania ====== | |
| |
Diagramy klas: | |
{{:pl:miw:2009:miw09_metamodelwikiplugin:umlclass.zip}} | |
Diagramy sekwencji: | |
{{:pl:miw:2009:miw09_metamodelwikiplugin:umlsequence.zip}} | |