예전에 한 번 작성을 했었던 Plugin 인데,
최근에 이슈가 잠시 있어서 관련 작업을 했던 김에 포스팅 자체도 좀 업데이트 아니 재작성을 해보았다.

update #1 : 2013.04.14 (Sun)



Redmine이 자랑하는 것 중 하나가 바로 Wiki 지원이다.

높은 곳에 계시는 분들은 별로 신경을 쓰지 않는 부분이기에 지금까지 알아서 하는 부분으로 취급되었었지만,
최근에는 관리의 범주로 인식이 되어 중요한 개발 환경의 한 요소로 인정받는 것이 "커뮤니티" 기능이다.

애자일이 대두된 이후 개발자의 목소리가 더더욱 커지면서 "커뮤니티" 기능이 더더욱 필요하게 되었고
이러한 커뮤니티 기능을 언급하게 되면 가장 자주 나오는 아이템이 바로 "Wiki(위키)"이다.

마침 Redmine이 갖고 있는 대표 기능 중 하나가 바로 "Wiki"이고,
프로젝트 관리 도구로 Redmine을 선택하는 이유 중 하나가 바로 위키 기능인 것이다.


그런데, 문제는 Wiki에 익숙한 개발자가 생각보다 많지 않다는 점이다.
정말 의외인데 개발자들이 원한다고 해서 위키를 제공을 해주면 정작 위키를 사용하기 어렵다는 투정을 듣게 된다.

또 하나의 문제는 위키 문법이 사투리와 같이 좀 다른 유형들이 있다는 점이다.
기존에 다른 유형의 위키를 썼던 분들이 Redmine에서 제공하는 위키에 적응을 못하기도 하는 것이다.

마지막으로 하나 더 있는 문제점은 Redmine 위키가 갖고 있는 문제로써
Redmine 위키 문법이 생각보다 막강하지는 않다는 점이다.
즉, 기능적 제약이 좀 많은 편이다. 아쉬운 부분이다.



이런 문제를 해결하는 방법 중에 가장 편하면서도 간단한 것이 바로 Plugin을 이용하는 것이고,
그 중 가장 유명한 것이 바로 CKEditor 이다.

Redmine Plugin으로 만들어진 것이 CKEditor Plugin이 아니다.
올해로 10주년을 맞이한 유명한 Web Text Editor가 바로 CKEditor 이다.

   - http://ckeditor.com/


너무 서론이 길었다.

바로 설치해보자.

□ Name    : Redmine CKEditor
□ URL      : http://www.redmine.org/plugins/ckeditor



1. 테스트 환경

   - 현재 가장 최신 버전으로 테스트 했으며, 직접 Source code를 내려 받아서 설치했다.
   - 여기 블로그의 포스팅을 참고하면 된다.

Environment:
  Redmine version                        2.3.0.stable
  Ruby version                             1.9.3 (i686-linux)
  Rails version                             3.2.13
  Environment                              production
  Database adapter                       PostgreSQL



2. 경로 & 권한

   - 이 부분에 대해서 필자가 완벽히 이해를 하고 마스터를 한 것이 아니라서 모든 경우에 대해서 설명은 못하겠다.
   - 우선 필자가 구축한 Redmine은 WAS로 Apache2를 선택했고, Passenger 모듈을 활용했다.
   - 경로는 필자의 습관상 [ /srv/install/redmine/ ] 밑에 설치를 했다.
   - 마지막으로, 당연히 www-data 계정에게 필요한 소유권을 부여했다.
   - 보안상의 이슈는 논외로 하자.

   - 사실 필자는 조금 무식해서 Ruby에 대한 지식이 엄청나게 부족하다.
   - 그래서 Ruby를 사용하기에 많은 어려움을 겪고 있다.
   - 이런 사용성 측면은 정말 Ruby가 극복해야할 큰 문제로 생각된다.
   - 밑의 Ruby와 관련된 명령을 처리하기 위해서는 Redmine 설치할 때의 조건을 다시 한 번 확인을 하기 바란다.



3. 다운로드

   - 나중의 업데이트를 고려하면 Git을 이용해서 clone을 받아서 설치하는 것이 편리하다.
   - Git이 아직 설치되어 있지 않으면 이번 기회에 설치를 하는 것을 추천한다. (http://whatwant.tistory.com/289)

$ sudo su -
$ cd /srv/install/redmine
$ cd ./plugins
$ git clone http://github.com/a-ono/redmine_ckeditor.git

   - 필자의 경우 Redmine을 설치할 때 Ruby를 설치하면서 [ sudo su - ] 계정으로 설치를 하였었다.



4. 설치

   - 필요한 gem 들을 설치하기 위해 필요한 과정이 있다.

$ sudo su -
$ cd /srv/install/redmine
$ bundle install --without development test
$ chown -R www-data:www-data ./redmine_ckeditor
$ service apache2 restart

   - 설치를 하고 내용을 확인하면 아래와 같다.

Environment:
  Redmine version                        2.3.0.stable
  Ruby version                             1.9.3 (i686-linux)
  Rails version                             3.2.13
  Environment                              production
  Database adapter                       PostgreSQL
Redmine plugins:
  redmine_ckeditor                       0.4.0

   - 얼마전까지만 해도 CKEditor Plugin과 Redmine 2.3.0 버전에 충돌(?)이 조금 있었다.
   - 사용 중에 CKEditor가 사라지는 현상이 있었는데 CKEditor Plugin 0.4.0 버전부터는 해결이 되었다.


5. 사용

   - CKEditor를 사용하기 위해서는 [ 관리 ] 메뉴에서 [ 설정 ] 부분에 있는 [ 본문 형식 ]을 변경해야 한다.


   - 기존의 위키 방식을 [ textile ] 이라고 하고 우리가 지금 사용하고자 하는 것은 [ CKEditor ]이다.


   - 이렇게 설정을 하면, Redmine에서 위키가 사용되는 모든 곳에 CKEditor가 보이게 된다.


   - 무료로 제공되는 Editor이지만 상당히 쓸만하다.




6. 주의사항

   - 특정 프로젝트 단위로 적용을 결정할 수 없다.
   - 전체 일괄 CKEditor를 쓸건지 Textile, 즉 위키를 사용할 것인지 결정을 해야 한다.

   - 위키를 사용하던 중에 CKEditor를 적용하게 되면 기존에 입력한 것은 전부 새로 편집을 해야 한다.
   - CKEditor는 위키를 편하게 사용하도록 도와주는 것이 아니다.
   - HTML 적용을 도와주는 에디터이다. 위키와는 완전히 별도이다.
   - 기존 작성 내용을 분실하지는 않지만, 새로 편집을 해야한다는 것은 주의하기 바란다.


모두 즐거운 Redmine 생활 하시길~
반응형

회사에서도 개발 프로세스 하면 제일 먼저 언급되는 것이 바로 Agile(애자일)이다.

개발자들이 너무 많이 요청을 해서인지 공식적인 개발 프로세스 중 하나로 애자일이 포함되기는 하지만,
실제 애자일을 적용하여 진행하는 과제는 회사에서 그리 많지 않다.

그 이유는 바로 윗분들에게 보고를 해야하는 현실과 맞지 않는 부분이 많기에....^^
(물론 그 외에도 많은 다양한 이유가 있지만)


뭐 여하튼 현실 이야기는 그렇다치고...


애자일 프로세스를 지원하기 위한 도구 중 한가지로 많이 언급되는 것이 바로 Redmine이다.
뭐 딱히 애자일을 지원하기 위해 뭔가가 있는 것은 아니지만, 뭐 어떻게 보면 그렇기도 하고.....^^

사실 애자일 프로세스를 지원하기 좋은 도구는 IBM RTC 라는 도구이기는 하다.
하지만, 고가의 도구이면서 실제로 써보면... 음... 뭐라고 해야할지... 음 미묘하게... 음...

뭐 여기에서 이야기하려는 것과는 조금 벗어나니 다시 원위치로 돌아와서~

Redmine의 버전을 잘 이용하면 애자일의 스프린트를 적용해서 어찌어찌 어떻게 할 수는 있다.



하지만, 애자일을 위해 조금 더 지원되는 것이 있으면 좋겠다라고 생각했는데,
역시나 Plugin으로 제공이 된다.

그것이 바로 "Redmine-Scrumbler"



1. clone

     - 일반적인 플러그인 설치 과정과 같다.


$ sudo su - redmine


     - [ Redmine ]을 설치했던 계정으로 접속을 하자.


$ cd /srv/www/redmine.whatwant.com/redmine/
$ git clone git://github.com/256MbTeam/Redmine-Scrumbler.git vendor/plugins/redmine_scrumbler


     - [ Redmine ]이 설치되어있는 디렉토리로 이동 후 clone 하면 된다.
     - 경로는 [ ./vendor/plugins/redmine_scrumbler ] 이다. 디렉토리명 변경하면 에러~



2. migrate

     - database 셋업을 해야한다.


$ rake db:migrate:plugin NAME=redmine_scrumbler


   - 그런데, 위 스크린샷과 같이 에러가 발생했다.
   - 기본적으로 database가 'development'로 잡혀있어서 그렇다.


$ rake db:migrate:plugin NAME=redmine_scrumbler RAILS_ENV=production


     - 'production'으로 database가 되어있다면 위와 같이 해주면 된다.



3. execute

     - 이제 Redmine을 재시작해서 확인하면 된다. Redmine 재시작의 제일 깔끔한 방법은 Linux의 재부팅 ^^
     - 그리고 Redmine을 접속해보면 된다.


     - 관리 메뉴에서 보면 위와 같이 "Scrumbler" 항목이 추가되어있는 것을 확인할 수 있을 것이다.


     - 막상 눌러보면 위와 같이 썰렁한 내용만 나온다.
     - "Scrum Points"로 줄 수 있는 점수들을 할당해주는 것이다.

     - 그러면 나머지 사항들은 어디에서 볼 수 있을까!?



4. Projects

     - 프로젝트의 항목에서 그 진가를 발휘한다.


     - 기존에 있던 프로젝트로 가서 '설정'→'모듈'을 들어가보면 위 스크린샷과 같다.
     - [ Redmine scrumbler ] 항목을 체크해보면...


     - 위와 같이 메뉴에 [ Scrumbler ] 항목이 추가된 것을 볼 수 있을 것이다.


     - 눌러보면 또다시 썰렁한 화면만 나온다.



5. Sprint

     - Sprint는 어떻게 만들까?


     - Project의 '설정'→'버전'에서 추가해주면 된다.


     - [ Scrumbler ] 메뉴의 "Backlog" 화면의 오른쪽 'Sprint'에서 오른쪽 끝의 [ + ] 버튼을 눌러서 추가해주어도 된다.


     - 제일 좋은 것은 그냥 "새 버전"으로 만드는 것이 깔끔하긴 하다.


     - 그런데, 이렇게 새로 추가를 해도 위와 같이 [ Scrumbler ] 메뉴에서는 아무런 변화가 없다.


     - [ Scrumbler ]의 "설정"을 누르면 위와같이 보이기는 한다.


     - 위 화면을 잘 보면 상태가 "Planning"인 것을 확인할 수 있을 것이다.


     - "All Sprints"를 눌러도 아무것도 안보인다.


     - 그럼 "새 일감 만들기"를 하면 어떻게 될 것인가?

     - 그런데, 위 화면을 보면 못보던 아이들이 추가된 것을 알 수 있을 것이다. [ Scrum Points ]


     - [ Scrumbler ]의 "Backlog"를 누르면 위와 같이 나타난 것을 볼 수 있을 것이다.


     - 왼쪽 "Backlog"의 'New Issue" 눌러서 일감을 추가할 수도 있다.
     - 하지만, 위에서 말한 바와 같이 "새 일감 만들기"로 만드는 것이 이로울 것 같다는...


     - 여기에서 드래드&드랍 기능도 지원한다.



6. 애자일

     - 여기에서 지켜야할 것들을 몇 가지 발견했다.

     - 일감을 만들 때엔 우선 Backlog에다가 만든다 (목표 버전 또는 Sprint에 할당하지 않으면 된다)
     - Sprint는 한 번에 하나만 Open 할 수 있다. ( Planning → Open → Close )
     - Sprint가 Planning인 상태에서 Backlog에 있는 이슈들을 할당을 하고,
     - 다 추가했으면, 해당 Spirnt를 Open해서 진행하면 된다.




보다 자세한 정보는 아래 링크에서 확인하면 된다.
     - https://github.com/256MbTeam/Redmine-Scrumbler

애자일 프로세스를 사용한다면 한 번쯤 적용을 심각히 고려해봐도 괜찮을 것 같다.

애자일에 대한 이해가 있어야 이 플러그인을 제대로 사용할 수 있다.
방법을 벗어나면 에러메시지를 뿌려댄다.

나름 잘 만들었지만, 예외 사항에 대한 처리는 아직 조금 부족한 것 같다.

반응형

요즘 분위기를 계속 이어가서..... ^^


이번에는 Redmine에서 작성중인 내용이 없어지는 것을 막기 위한 plugin을 설치해보자.

   - https://github.com/jbbarth/redmine_drafts


1. plugin download

   - 우선은 plugins 디렉토리로 이동 후 git을 이용해서 다운로드 받도록 하자.


 $ cd /srv/www/redmine.whatwant.com/redmine/vendor/plugins
 $ sudo git clone https://github.com/jbbarth/redmine_drafts.git



2. DB migrate

   - 해당 플러그인은 테이블 생성이 필요하다.


 $ cd /srv/www/redmine.whatwant.com/redmine/
 $ sudo RAILS_ENV=production rake db:migrate_plugins

   - redmine이 설치된 root 디렉토리에 위치한 다음 위와 같은 명령어를 실행하면 된다.


3. 결과 확인

   - redmine에 접속한 다음 일감 만들기 화면을 보면 아래와 같이 임시 저장되었다고 나오는 것을 확인할 수 있다.





일감에 대해서만 해당하는 것은 조금 아쉽지만,
그래도 일감에 대해서 임시 저장을 해주는 좋은 plugin 이다!

반응형

+ Recent posts