티스토리 뷰

IT 일반

Trac UI 변경과 설정 변경하기

야라바 2019. 1. 3. 10:41


이번 글에서는 협업 개발 시스템의 얼굴 역할을 담당하는 Trac의 UI를 변경하는 요령과 Trac의 동작 방식을 설정하는 방법을 다룹니다. 윈도우 시스템에서의 Trac과 서브버전(Subversion) 기반으로한 협업 개발 시스템을 다루고 있습니다. 시스템 설치는 아래의 두 글을 참조합니다.



Trac 시스템은 각 프로젝트 폴더 아래의 conf 폴더에 있는 trac.ini를 통해서 사용자 인터페이스도 조정할 수 있고 동작 방식도 설정 할 수 있습니다. 자세한 사용 방법은 https://trac.edgewall.org/wiki/TracIni를 참조합니다.



■ 프로젝트 로고 변경하기


헤더의 로고를 변경하려면 우선 프로젝트 폴더 아래의 htdocs 폴더에 로고 이미지를 저장합니다.


[header_logo]
alt = yaraba logo
height = 50
link = http://yaraba.tistory.com
src = site/yarabalogo.png
width = -1


trac.ini 파일을 열어서 위와 같이 로고 이미지의 경로를 입력하면 됩니다. 이미지의 높이나 폭은 둘중에 하나만 입력해도 됩니다. link는 로고를 클릭하면 이동할 웹 URL을 입력합니다. src는 이미지의 주소로 "site"는 각 프로젝트의 htdocs 폴더를 의미합니다. trac.ini가 프로젝트 폴더(test1) 아래 conf/trac.ini라면 "site/"는 프로젝트 폴더(test1) 아래 htdocs 폴더를 의미하므로 앞서 저장한 이미지의 파일명은 site/다음에 기술하면 됩니다.



trac.ini를 수정하면 Tracd를 재가동할 필요없이 바로 반영되므로 웹페이지만 새로 고침하면 됩니다. 위의 그림은 로고를 반영한 결과입니다.



■ 프로젝트 정보와 하단 바닥글 수정하기


프로젝트 정보와 하단 바닥글은 trac.ini의 [project] 섹션을 통해서 설정합니다.


[project]
admin = 
admin_trac_url = .
descr = 테스트 프로젝트 설명입니다.
footer = 팀 협업 시스템<br /><a href="http://yaraba.tistory.com/">http://yaraba.tistory.com/</a>
icon = common/trac.ico
name = 테스트 협업 프로젝트
url = 


admin은 프로젝트 관리자의 메일주소를 입력합니다. name은 프로젝트 이름으로 페이지의 타이틀로 사용됩니다. 하단 바닥글의 내용은 위의 설정 예제와 같이 HTML 태그로 기술합니다. icon에서 기술한 common은 Trac 시스템 전체 적용되는 폴더로 Trac코드가 위치해 있는 \csvn\Python25\Lib\site-packages\trac 폴더 아래의 htdocs 폴더 입니다. 이곳에 Trac 시스템에서 공통적으로 사용하는 다양한 자원들이 위치해 있습니다.



위의 화면은 프로젝트 정보와 바닥글을 적용한 결과입니다. 화면 하단 바닥글의 우측은 프로젝트 단위로 수정할 수 있지만 좌측은 Trac 전체에 적용되는 부분으로 \csvn\Python25\Lib\site-packages\trac 폴더 아래의 Trac코드를 직접 수정 해야 합니다.



■ Trac 수행 환경 조정하기


로고와 바닥글 외에도 티켓이나 Timeline등 각 기능에 대한 설정도 trac.ini를 통해서 가능하고 trac.ini를 수정해서 저장하면 바로 실제 환경에 반영 할 수 있습니다. 다음은 협업 시스템에서 가장 중요한 역할을 담당하는 티켓 관련 설정 파라미터 들입니다. 자세한 설정은  https://trac.edgewall.org/wiki/TracIni를 참조합니다.


[ticket]
allowed_empty_fields = milestone,version
default_cc = 
default_component = 
default_description = 
default_keywords = 
default_milestone = 
default_owner = < default >
default_priority = major
default_resolution = fixed
default_severity = 
default_summary = 
default_type = defect
default_version = 
max_comment_size = 262144
max_description_size = 262144
max_summary_size = 262144
preserve_newlines = default
restrict_owner = disabled
workflow = ConfigurableTicketWorkflow

[ticket-workflow]
accept = new,assigned,accepted,reopened -> accepted
accept.operations = set_owner_to_self
accept.permissions = TICKET_MODIFY
create = <none> -> new
create.default = 1
create_and_assign = <none> -> assigned
create_and_assign.label = assign
create_and_assign.operations = may_set_owner
create_and_assign.permissions = TICKET_MODIFY
leave = * -> *
leave.default = 1
leave.operations = leave_status
reassign = new,assigned,accepted,reopened -> assigned
reassign.operations = set_owner
reassign.permissions = TICKET_MODIFY
reopen = closed -> reopened
reopen.operations = del_resolution
reopen.permissions = TICKET_CREATE
resolve = new,assigned,accepted,reopened -> closed
resolve.operations = set_resolution
resolve.permissions = TICKET_MODIFY





댓글
댓글쓰기 폼