# [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 ) 이 부분이 표현되지 않는다.