To jest stara wersja strony!
Zrealizował: Marcin Godlewski
Cel projektu
Celem projektu było stworzenie pluginu do DokuWiki pozwalającego na tworzenie na stronach wiki diagramów UML.
Realizacja
W ramach projektu stworzono dwa niezależne pluginy do generowania diagramów klas oraz diagramów sekwencji.
Działanie pluginów opiera się o wykorzystanie programów UMLGraph, Graphviz oraz GNUPlotutils.
Pluginy pozwalają na generowanie i umieszczanie na stronie plików png zawierających diagramy.
Działanie
Aby stworzyć diagram klas należy umieścić pomiędzy znacznikami <uml class> i </uml class> definicję klas przy użyciu składni Javy i znaczników javadoc.
Diagram sekwencji definiujemy pomiędzy znacznikami <uml seq> i </uml seq> przy użyciu składni UMLGraph'a.
Przykłady
Poniżej widoczne są przykładowe efekty działania pluginów:
składnia (przykład ze strony http://www.umlgraph.org):
<uml seq>
actor(A,"");
object(T,":OTaker");
object(F,":OFulfill");
step();
message(A,T,"submitOrder");
message(T,F,"placeOrder");
message(F,A,"acknowledgeOrder");
step();
complete(A);
complete(T);
complete(F);
</uml seq>
efekt wygenerowany przez plugin:
składnia (przykład ze strony http://www.umlgraph.org):
<uml class>
/*
* Advanced relationships
* UML User Guide p. 137
*/
/**
* @opt attributes
* @opt operations
* @hidden
*/
class UMLOptions {}
class Controller {}
class EmbeddedAgent {}
class PowerManager {}
/**
* @extends Controller
* @extends EmbeddedAgent
* @navassoc - - - PowerManager
*/
class SetTopController implements URLStreamHandler {
int authorizationLevel;
void startUp() {}
void shutDown() {}
void connect() {}
}
/** @depend - <friend> - SetTopController */
class ChannelIterator {}
interface URLStreamHandler {
void OpenConnection();
void parseURL();
void setURL();
void toExternalForm();
}
</uml class>
efekt wygenerowany przez plugin:
Instalacja
Najprostszym sposobem na zainstalowanie pluginów jest użycie Plugin Managera.
Można również „ręcznie” umieścić rozpakowane archiwa umlclass.zip, umlsequence.zip w katalogu dokuwiki/lib/plugins/ .