# [Dokuwiki] 3가지 UML 플러그인
# UML 이란
UML (Unified Modeling Language)
UML이란 소프트웨어 개발 과정에서 산출되는 산출물들을 명시, 개발, 문서화하기 위한 모델링 언어이다.
# plugin
도쿠위키 → 관리 → 확장 기능 관리자 → 검색하고 설치 → 'UML'로 검색 하면 다양한 플러그인이 검색됩니다. 그 중에서 3개의 플러그인을 비교합니다.
## 비교
^ 구분 ^ PlantUML plugin ^ UML Sequence Diagram Plugin ^ Callflow Diagrams ^
^ 실행 위치 | local, remote | remote | local |
^ 실행 형태 | jar | web | js |
^ 특징 | Graphviz 사용 | 다양한 스타일 | 텍스트 복사 가능 |
# PlantUML plugin
## 설치
플러그인 검색해서 설치.
https://www.dokuwiki.org/plugin:plantuml
http://plantuml.sourceforge.net/download.html 에서 plantuml.jar 파일 다운로드
Java runtime 설치
http://www.graphviz.org/ 에서 Graphviz 다운받아서 설치
## 환경설정
* Render localy 체크
* plugin»plantuml»java 설정 : "%JAVA%/java.exe"
* plugin»plantuml»jar 설정 : ./plantuml/plantuml.jar
## 환경변수 설정
참고 : http://plantuml.sourceforge.net/graphvizdot.html
### JAVA
java.exe 가 있는 경로를 환경변수로 등록한다.
{{ :blog:applications:dokuwiki:2014-06-17_22_09_09.png?300 |}}
### GRAPHVIZ_DOT
dot.exe 가 포함된 실행 경로를 GRAPHVIZ_DOT 로 등록한다. 경로를 "" 로 감싼다.
{{ :blog:applications:dokuwiki:2014-06-17_21_26_12.png?300 |}}
### plantuml.jar
\dokuwiki\lib\plugins\plantuml\ 에 plantuml.jar 를 넣는다.
> 환경변수를 세팅한 후에 리부팅을 한다.
## 작성예시
### Sequence Diagram
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response
### 그 외 다이어그램 사용을 위한 테스트
testdot
### Use Case
User -> (Start)
User --> (Use the application) : A small label
:Main Admin: ---> (Use the application) : This is\nyet another\nlabel
User -> (Start)
User --> (Use the application) : A small label
:Main Admin: ---> (Use the application) : This is\nyet another\nlabel
### Class Diagram
foo -left-> dummyLeft
foo -right-> dummyRight
foo -up-> dummyUp
foo -down-> dummyDown
foo -left-> dummyLeft
foo -right-> dummyRight
foo -up-> dummyUp
foo -down-> dummyDown
### plantuml 사용법
[[temp:application:plantuml_usage]]
# UML Sequence Diagram Plugin
## 설치
플러그인 검색해서 설치한다.
https://www.dokuwiki.org/plugin:seqdia
## 작성예시
http://www.websequencediagrams.com/examples.html 에서 참고
title Authentication Sequence
Alice->Bob: Authentication Request
note right of Bob: Bob thinks about it
Bob->Alice: Authentication Response
title Authentication Sequence
Alice->Bob: Authentication Request
note right of Bob: Bob thinks about it
Bob->Alice: Authentication Response
# Callflow Diagrams
## 설치
플러그인 검색 설치
https://www.dokuwiki.org/plugin:callflow
## Syntax
//This is a comment
//Title is optional
title:A sample callflow in DokuWiki
//Use breaks to separate parts
break:edit
//Some arrows
//The first one is with tooltip
User->DokuWiki:edit page:If he has permissions
DokuWiki->User:show editor
User->DokuWiki:edit and save
DokuWiki->User:page is saved
break:view
//Parallel arrows (single-line)
parallel {
User->DokuWiki:view page
DokuWiki->Plugin:parse callflow
}
//Normal notes go with last arrow
note(
PHP
)
parallel {
DokuWiki<-Plugin:show callflow
User<-DokuWiki:show page
}
//note over-s go to specified positions
//NOTE: might be:
//note over User,Plugin(
note over User(
JS
)
//NOTE: there are also double arrows like this:
//a<>b:text
//or this:
//a<->b:text
//This is a comment
//Title is optional
title:A sample callflow in DokuWiki
//Use breaks to separate parts
break:edit
//Some arrows
//The first one is with tooltip
User->DokuWiki:edit page:If he has permissions
DokuWiki->User:show editor
User->DokuWiki:edit and save
DokuWiki->User:page is saved
break:view
//Parallel arrows (single-line)
parallel {
User->DokuWiki:view page
DokuWiki->Plugin:parse callflow
}
//Normal notes go with last arrow
note(
PHP
)
parallel {
DokuWiki<-Plugin:show callflow
User<-DokuWiki:show page
}
//note over-s go to specified positions
//NOTE: might be:
//note over User,Plugin(
note over User(
JS
)
//NOTE: there are also double arrows like this:
//a<>b:text
//or this:
//a<->b:text
### 문제점
//Normal notes go with last arrow
note(
PHP
)
이 부분이 표현되지 않는다.