Trac과 함께한 2주

회사에서 RoundUp을 잠시 쓴 적이 있습니다. 이게 제법 유명한 것이기는 하지만, 생각보다 너무 상태가 좀 그렇습니다;; 기본 기능에 너무 충실하다보니.. 이슈 트래커 외의 기능을 전혀 갖추고 있지 않고, 이슈 트래커 기능 자체가 단순한 듯 하면서도 복잡한데 속도가 또 엄청 느려서.. 오래 쓰기는 좀 그렇더군요.

그래서, 대체품으로 요즘 잘 나가는 오픈소스 프로젝트 관리 환경인 trac을 설치한지 이제 2주가 조금 넘어서고 있습니다. 2주동안 trac으로 프로젝트를 하면서 아주 즐거웠던 것을 생각해 보면, 사람을 기분 좋게 만들 수 있는 소프트웨어 중 하나임에는 분명한 것 같아서, 다른 분들도 써 보시라고 기능을 소개해 드립니다. 🙂

Trac

Trac은 subversion과 연계된 프로젝트 관리 도구입니다. 기본 이념이 minimalist를 표방하고 있기 때문에, 대부분의 기능이 돌아가기 위한 최소 스펙으로 구현이 되어 있습니다. 사실 디자인도 minimalist였으면 좀 거부감이 있었을텐데, 디자인은 아주 깔끔한 편입니다. 하여간 기본적으로 프로그램 전체가 파이썬으로 작성되어 있는데, CGI 모드와 tracd라는 전용 웹 서버 모드를 지원합니다. 저는 CGI 모드로 사용하고 있는데, 보통의 파이썬 CGI들이 엄청난 속도로 사용자들을 당혹케 하는 경향이 있지만, trac은 엄청나게 빠릅니다! 과연 이게 파이썬인가 믿기지 않을 정도입니다. 흐흐. 아무래도 C로 작성된 템플릿 라이브러리인 clearsilver를 깔고 있어서 그런게 아닌가 싶은데, 하여간 clearsilver외에도 sqlite를 DBMS로 사용하고, 저장소에 접근하기 위해서 python-subversion이 필요합니다.

문서 관리 및 대문 관리 – 위키

문서 관리 및 대문관리
전체보기

trac은 텍스트가 들어갈 수 있는 모든 부분에 위키 포매팅을 사용하고 있습니다. 즉, 위키 페이지를 문서화를 위해서 쓸 수 있을 뿐만 아니라, 이슈 트래커의 본문이나 심지어 subversion 커밋 로그에서도 위키 포매팅이 지원됩니다. 문법은 모인모인과 매우 비슷하기 때문에, 많은 사람들이 어렵지 않게 익힐 수 있게 되어 있습니다. 그리고 [리비전]이나 #이슈번호같은 형식의 빠른 링크를 지원하기 때문에 커밋 로그와 이슈, 위키 간의 아주 긴밀한 상호 링크가 가능합니다.

물론 위키에는 첨부파일 올리는 것이 가능해서, 문서 및 리소스 관리용으로 아주 유용합니다.

변경 사항 한 눈에 살펴보기 – 타임 라인 (시간 순 이력)

변경 사항 한 눈에 살펴보기
전체보기

trac은 timeline이라는 독특한 페이지를 또 제공하고 있는데, 보통 위키에서는 RecentChanges로 페이지 이름이 붙는 것과 비슷한 역할을 합니다. timeline은 위키 페이지들의 변동사항 뿐만 아니라 커밋 로그나 이슈 트래커 변동사항까지 시간 순으로 볼 수 있도록 하고 있어서 전체의 변동 사항을 한 화면에 볼 수 있어서 흐름을 파악하기 아주 좋습니다.

진행 사항 단계별 파악! – 로드맵

진행 사항 단계별 파악!
전체보기

trac에서는 subversion 리비전과는 별도로 version과 milestone개념을 지원합니다. milestone을 따로 나눠 둠으로서 올라오는 이슈들 중에 각 마일스톤에서 해결되지 않은 것이 얼마나 남았는지, 얼마나 급한 것인지 한 눈에 알아볼 수 있도록 하고 있는데, 바로 그 상황을 볼 수 있는 곳이 Roadmap 메뉴입니다. Roadmap 메뉴는 컴포넌트별로 각 부분의 이슈들이 해결된 것이 얼마나 되는지 한 눈에 볼 수 있도록 예쁜 그래프로 표시해 줍니다.

버그 추적에는 필수~ 소스 둘러보기

버그 추적에는 필수~ 소스 둘러보기
전체보기

trac은 subversion과 아주 긴밀하게 연계가 되어 있기 때문에, 자체적으로 viewcvs같은 웹 인터페이스를 지원해 줍니다. 사실 이 기능은 trac의 주 기능도 아닌 편이긴 하지만, 오히려 viewcvs보다 기본적인 기능에는 아주 충실한 편이라서 거의 불편함이 없을 정도로 잘 만들어 두었습니다. annotate같은 기능이 빠진 것은 좀 아쉬운 편이지만, 리비전 지정한 채로 왔다갔다하기, 리비전 로그 보기, 소스 하이라이트 같은 것은 잘 지원되고 있으며 무엇보다 viewcvs보다 압도적으로 빠르다는 점이…. 흐흐

새로운 문제점 등록 – 티켓 올리기

새로운 문제점 등록 - 티켓 올리기
전체보기

trac에서는 다른 곳에서"issue"나"problem report"라고 부르는 것을 자체적인 용어로"ticket"이라고 부릅니다. 그게 통상적으로 사용되는 용어인지는 모르겠지만.. trac에서는 일관적으로 통일해서 티켓이라고 합;; trac의 ticket 등록은 최상위 메뉴에 있을 만큼 주요된 기능 중의 하나인데, 버그 등록자는 꼭 trac 안의 인증된 사용자일 필요 없이 자기 메일 주소를 쓸 수도 있기 때문에, 아무나 등록하게 할 수도 있습니다.

티켓을 등록할 때에는 위키 포매팅을 쓴 본문도 가능하며, 치명도, 우선순위, 컴포넌트, 버전, 마일스톤 같은 것들을 명시해 줄 수 있습니다. 물론, 티켓 올린 다음에 답글을 달면서 상태를 바꾸는 것도 당연히 지원 됩니다. 흐흐

등록된 티켓들을 검색 – 리포트

등록된 티켓들을 검색 - 리포트
전체보기

trac에서 report의 기본적인 용도는 등록된 티켓의 검색입니다. 티켓을 나열할 수 있는 갖가지 방법 들로 기본적으로 10개 정도를 제공해 주고 있습니다. (마일스톤별, 우선순위별, 담당자별, 해결되지 않은 문제들만 보기 등등..)

SQL이면 뭐든! – 사용자 지정 리포트

사용자 지정 리포트
전체보기

trac의 기본 목표를 정말 완벽히 실현하고 있는 곳이라면 바로 사용자 지정 리포트 부분입니다. 사실 위에서 언급한 리포트도 모두 기본으로 세팅되어 있다 뿐이지, 사용자 지정 리포트와는 구분이 없습니다. 모든 리포트는 SQL 퀴어리와 제목으로 구성되어 있습니다.즉, SQL 퀴어리만 수정해 주면 페이지가 동적으로 마구 바뀐다는 말씀! 기본적인 trac의 데이터베이스 스키마만 파악을 하면 아름다운 리포트 페이지들을 번거로운 HTML 템플릿 작업 없이 SQL 만으로도 만들 수 있습니다. 위의 스크린샷은 제가 그냥 샤샤샥~ 해서 만든 커밋 로그에서의 사용자 이름 순위입니다. 흐흐 정말 간단!

이제 grep은 번거롭다! – 검색

검색
전체보기

흐흐 또다른 trac의 진짜 매력 포인트. 바로 검색입니다. 이 검색은 위키 페이지나, 이슈 트래커 본문에서만 검색이 되는 것이 아니라, 커밋 로그나 각 수정사항(위키 페이지, 이슈 등)의 짧은 커멘트에서 까지도 검색이 되기 때문에, 사실상 프로젝트와 관련된 대부분의 곳에서 검색을 해 주기 때문에, 뭔가 특별한 함수가 언급된 모든 곳을 찾고 싶다~ 할 때 grep으로 찾으며 고생하지 않아도 됩니다.

피할 수 없다!

이미 오픈소스 커뮤니티 들을 둘러 보면 trac을 도입하고 있는 곳이 엄청난 속도로 불어나고 있으며 오픈소스가 아닌 부분에서도 굉장히 많이 사용되고 있는 것을 발견할 수 있습니다. 파이썬에는 전혀 관심 없었던 사람들이 갑자기 파이썬을 깔다가 패키지 패치를 올리기도 하고, bittorrent에 이어서 또 다른 파이썬의 프로모션 소프트웨어가 될 것 같은 예감..

36 thoughts on “Trac과 함께한 2주”

  1. 음.. 좋다!
    그동안 엉성(?)하게 wiki, mantis, cvs, ldap을
    붙여서 사용하고 있었는데, 당장 도입해야겠군.

    좋은 정보.. 고마워~ 🙂

  2. trac 사이트가 금일(12/21)회사에서 접속하니 접속이 안되는 군요. 혹 다른분은 접속이 잘 되는지요?

  3. trac 사이트가 금일(12/21)회사에서 접속하니 접속이 안되는 군요. 혹 다른분은 접속이 잘 되는지요?

  4. clearsilver가 인기가 좋네요. bloglines, google groups 2, yahoo groups 등이 clearsilver를 쓴다는…

  5. roundup, trac 등등 여러가지 검토하고 있었는데.. 이 글을 보니 trac으로 완전히 쏠리네요.. ^^;

  6. 참.. 아직 Code Browser에 CVS는 지원하지 않는게 걸리긴 합니다. 차후 지원 계획이 있으니 그때나 적용할 수 있으려나..

  7. trac 사이트의 nslookup을 실패하는 경우가 종종있더군요. 집에서 한개로통신을 사용하는데 접속안되어서 DNS서버를 바꾸었더니 되었습니다.

  8. 마침 이틀째 trac으로 장난좀 치고 있었는데 역시 먼저 애쓰신분이 계시네요. 더구나 한글화까지!! 깔끔한 인터페이스가 맘에 들긴하는데 영어로 쭉나오는 화면에 영 익숙치가 않네요. 한글로 몇글자 고쳐볼까했는데 trac이 모든문서를 UTF8로 다루다보니 내공이 너무나 모자라 감히 건들지를 못했습니다. 한글 template 부탁드려요..

  9. 오늘도 들어가 보려고 하는데 잘 안들어가네요..
    더 황당한 것은 다른 프로젝트(파이썬 사이드바)는 잘도 들어간다는 사실입니다.

  10. 감사합니다. 웬만한건 한글로 바꿨는데 마일스톤에 한글이름이 기록안되는것때문에 고전중이였습니다. ^^ 하루만 버틸걸.. 덕분에 많이 수월해질것 같습니다. 방금 팀장님께 맛만 보여줬는데, 만족해하더군요..

  11. trac 홈페이지는 이상하게 Internet explorer에서는 잘안보이는군요. firefox나 opera를 사용해보세요.

  12. 버그가 좀있네요.
    0.8 부터 ticket close가 안되는 황당한 버그 >.<
    그나마 trunk 소스를 추천함다.

  13. 한글 지원 가능하게 하는게 너무 힘들군요. 일일이 파이선 코드를 고치고 있는데 – -!… 장혜식님… 한글 지원하게 하는 쉬운 방법 없을까요?

  14. 안녕하세요. 이곳에서 글을 trac을 설치해봤습니다.
    그런데 제가 관리하는 파일들은 모두 euc-kr 형식입니다.
    trac에서 소스 파일을 볼때 모두 깨져버리네요.
    혹시 방법을 아시는 분이 계시면 알려주시면 감사하겠습니다.

  15. 자답입니다.
    DB_DIR/conf/trac.ini 파일의 default_charset을 euc-kr로 변경해 주었습니다. 감사합니다.

  16. 저는 debian에 깔아서 사용해 봤는데 charset을 euc-kr로 설정을 해도 trac-admin 에서 milestone 이나 기타 필드값들을 한글로 추가하니까 깨져서 나오던데,
    여기서 보이는 화면들은 한글이 잘 나오네요.
    혹시 방법 아시면 가르쳐 주실 수 있나요?

  17. 저는 debian에 깔아서 사용해 봤는데 charset을 euc-kr로 설정을 해도 trac-admin 에서 milestone 이나 기타 필드값들을 한글로 추가하니까 깨져서 나오던데,
    여기서 보이는 화면들은 한글이 잘 나오네요.
    혹시 방법 아시면 가르쳐 주실 수 있나요?

  18. 저도 trac을 써보려고 설치는 했습니다만…..그리고 잘 쓰고 있습니다. 그런데, 화면상에는 한글화가 되어있는데, 제 장비는 한글화가 안되는군요, 어떻게 하면 되나요 ?

  19. trac에서 소스보기를 하면 한글이 다 깨지는데.. trac.ini에서 default_charset 값을 뭘로 바꾸어야 하나요. UTF-8로 바꿔도 안됩니다..T.T

  20. trac을 함 써볼라고 하는데…많은 도움이 될 꺼 같습니다..
    잘 읽고 갑니다…

    근데 미투 초대장 있으세요???ㅡㅡ;…

  21. 안녕하세요.
    좋은 리뷰 잘 읽었습니다.
    다름이 아니라…
    최고의 Commiter를 레포터로 만드신걸 봤는데 +_+
    제가 SQL도 잘 모르고, 어떻게 하는지 잘 모르겠어서요.
    그 레포트 쿼리문을 좀 갈켜 주시면 감사히 잘 쓰겠습니다.
    그럼 좋은 하루 되셔요.

    이매일로 보내 주시면 더욱 감사할거 같아요.. ㅜㅜ
    coogies98@hanmail.net입니당

Comments are closed.