2008-10-10 6 views
16

Trac 프로젝트가 Subversion 구현 (Webfaction의 제어판 덕분에 쉽게) 위에 설치되었지만 지금은 설정 작업이 필요합니다. 그걸 염두에두고 거기에 쉽게 Trac에서 다음을 수행하는 방법 :Trac을 최대한 활용하려면 어떻게해야합니까?

1) 고객은 높은 수준의 진행률 표시기 만 볼 수 있는지 확인하십시오.
2) 티켓, 테스트 및 작업에 대한 요약 보고서를 매일 제공하십시오.

추천 플러그인을 설치하는 것을 잊어 버렸습니다.

답변

8

1) 높은 수준의 진행 표시기 :

로드맵 탭은 높은 수준의 진행 표시기를 제공합니다. 그것은 모든 이정표를 나열하고 각 이정표를 위해 당신에게 보여줍니다 이정표가 기인하는

  • 이정표 제목
  • 간단한 설명
  • 날짜를
  • 다음 (또는 시간까지 남은 시간 당신은 당신 뒤에 있습니다.)
  • 얼마나 많은 티켓이 그 마일스톤에 할당되어 있으며 얼마나 많은 티켓이 좋은 녹색 진행 막대로 시각화되어 닫혀 있습니까? 이 막대는 각 티켓의 무게가 같아서 오도 될 수 있다고 가정합니다.

고객이이보기에만 액세스 할 수있는 방법으로 권한을 제한 할 수 있습니다.

귀하와 귀하의 고객 관계에 따라 다른 티켓 (TICKET_VIEW 및 TICKET_MODIFY)에 대한 읽기 액세스 권한을 부여하지 않고도 새로운 티켓 (권한 TICKET_CREATE)을 생성 할 수 있어야합니다. 미안 해요.하지만 실제로 작동하는지 테스트 할 수 없습니다.

2) 일일 요약은

TRAC는 RSS는 당신이 생각할 수있는 모든 피드를 제공하고보고합니다. 이것으로 일일 보고서를 생성 할 수 있어야합니다. 그렇지 않으면 하루에 한 번 피드를 확인하도록 RSS 클라이언트에 알립니다.

Trac은 티켓 소유자가 변경된 티켓을 알려주지 만, 일일 요약이 아닌 즉시 처리됩니다. 티켓에 대해 의견을 말할 수 있으며 때로는 토론 게시판이나 메일 링리스트처럼 사용할 수도 있습니다.이 경우 즉시 알림을받는 것이 좋습니다.

 
SELECT p.value AS __color__, 
    owner AS __group__, 
status, 
    id AS ticket, summary, component, milestone, t.type AS type, time AS created, 
    changetime AS _changetime, description AS _description, 
    reporter AS _reporter 
    FROM ticket t 
    LEFT JOIN enum p ON p.name = t.priority AND p.type = 'priority' 
    WHERE status = 'new' AND (owner = '' OR owner = 'somebody' OR owner = 'None') 
    ORDER BY owner, p.value, t.type, time 

각 티켓 소유자 및 여러 사람들이있을 수 있습니다 :

내가 TRAC와 함께 할 각 프로젝트에서 다른 구성

, 나는 아무도 소유하지 않습니다 모든 티켓을 나열하는 사용자 지정 쿼리를 만들 참조 필드는 내 티켓에 대한 보고서는 사용자가 소유자 인 위치 만 나열합니다.이를 극복하기 위해, 나는 이런 식으로 쿼리를 추가

 
    SELECT p.value AS __color__, 
    (CASE owner WHEN '$USER' THEN 
    (CASE status 
     WHEN 'assigned' 
     THEN 'Tickets that you accepted' 
     ELSE 'Tickets that were assigned to you, please accept or reassign' 
     END) 
    ELSE 'Tickets, that have your name in the cc' END) 
    AS __group__, 
    id AS ticket, summary, component, version, milestone, 
    t.type AS type, priority, time AS created, 
    changetime AS _changetime, description AS _description, 
    reporter AS _reporter 
    FROM ticket t 
    LEFT JOIN enum p ON p.name = t.priority AND p.type = 'priority' 
    WHERE t.status 'closed' AND (owner = '$USER' OR cc like '%$USER%') 
    ORDER BY owner, (status = 'assigned') DESC, p.value, milestone, t.type, time 

(이 코드는 TRAC의 0.11b에서 작동) 내가 제일 좋아하는 티켓 보고서의

. 그것은 세 가지 클래스로 티켓을 goups : 소유

  • 티켓 당신에게 할당 된
  • 티켓을 받아,하지만 당신은 (공통 평가 당신이 아직
  • 티켓을 허용하지 않았다 멋진 일 쿼리 없이는 얻을 수 없음)

쿼리가 무서운 것처럼 보일 수도 있지만 이미있는 쿼리는 간단하게 수정 한 것입니다. Trac 소스 코드를 해킹 할 필요가 없으며 웹 인터페이스를 사용하여 쿼리를 편집 할 수 있습니다. 이클립스 작업하는 경우

플러그인은

은 내가 XML RPC plugin을 추천합니다. Mylin과 긴밀하게 통합 할 수 있습니다. (나는 기본 통합이 플러그인 없이도 작동한다고 생각한다.) 따라서 개발자는 trac webinterface로 전환하지 않고 Eclipse 내에서 많은 작업을 수행 할 수있다.

(이클립스를 사용하지만, mylin를 모르는 경우, 당신은 당신이 가장 일식 분포되어 있기 때문에 모든 구성없이 테스트 할 수 있습니다 및 TRAC없이 독립적으로 작업 할 수 있습니다. 그것을 한 번 봐 있어야합니다.)

17

개발 작업을 추적하고 고객 진행 상황을 보여주기 위해 동일한 Trac 프로젝트를 사용하지 않는 것이 좋습니다. 개발 티켓, 코멘트 등으로 솔직하게되고 싶을 수도 있습니다. 고객은 잘못된 물건에 집중하고 티켓에 넣은 데이터를 잘못 해석 할 수 있습니다. 높은 수준의 작업이 포함 된 별도의 프로젝트를 고객에게 제공하고 해당 작업의 진행 상황 만 표시하고 권장 사항은 제시하지 않는 것이 좋습니다.

+0

그래서 클라이언트가이를 수행해야하는보기를 제한 할 수있는 방법이 없습니까? – torial

+0

사용자가 일부 티켓 만보고 다른 사용자는 볼 수 없도록하거나 티켓의 일부 의견을 볼 수 없도록 제한 할 수 있다고 생각합니다. –

+0

DRY (Do not Repeat Yourself)를 위반하는 것으로 보입니다. 두 위치에서 데이터를 유지 관리하는 것은 불일치와 잃어버린 항목을 만드는 방법입니다. –

3

@Dave Dunkin이 맞습니다. Trac을 내부 용도로 사용하고 Basecamp과 같은 시스템을 사용하여 고객에게 프로젝트의 진행 상황에 대한 높은 수준의 개요를 제공하십시오.

+0

무료로 Basecamp를 대체 할 수 있습니까? – torial

+0

Basecamp는 소규모 프로젝트의 경우 무료입니다. Basecamp 대안 목록을 가지고있는 anti-37signals 사이트가 있습니다. http://www.whybasecampsux.org/#alternatives (사이트의 재미있는 읽기, ㅎ) – ceejayoz

+0

Trac의 두 인스턴스를 가질 수 있습니다. 내부의. 여기에서 잘 일했다. – agnul

5

추가 플러그인에 관한 한 TocMacro, XmlRpcPlugin, WysiwygPlugin 및 TracRedirect를 설치합니다. 특히, WYSIWYG 플러그인은 기술자가 위키에서 자신의 문서를 유지하도록 장려하는 데 실제로 유용합니다. 서식을 유지하면서 MS Word의 C & P까지도 사용할 수 있습니다.

자신의 워크 플로우가 Trac의 기본값으로 잘 표현되어 있지 않으면 Trac이 제공하는 사용자 지정 티켓 워크 플로우를 살펴보십시오. 이를 통해 코드 검토 및 통합 테스트 단계를 워크 플로에 추가 할 수있었습니다.

Trac 서버가 일부 중앙 인증 프레임 워크에 대해 인증되도록하는 것이 좋습니다. 우리는 auth 자격 증명이있는 LDAP 트리를 실행합니다. trac, svn, samba, openvpn 등을 포함한 모든 내부 시스템에서 사용합니다.

3

재고가 설치된 경우 데이터베이스는 SQLite3이므로 티켓 수와 같은 "안전한"정보를 가져 오기위한 스크립트를 쉽게 작성할 수 있습니다. 그렇게하면 티켓 이름이 좋으면 자유롭게 토론 할 수 있습니다. 개정판, 중요 시점, 위키피지, 태그 (해당 플러그인을 사용하는 경우)도 사용할 수 있습니다.

3

ROADMAP_VIEW을 제외한 모든 사용 권한을 익명 사용자로부터 철회 할 수는 있지만 그 내용은 아마도 고급 수준입니까? 아니요. 개별 티켓 또는 코멘트 레벨에서의 액세스 제어는 현재 AFAIK에서 지원되지 않습니다. trac 권한에 대한 자세한 내용은 http://trac.edgewall.org/wiki/TracPermissions을 참조하십시오.

3

설명 중 하나에서 언급했듯이 사용자를 기준으로 티켓 또는 메모 액세스를 제한 할 수 없습니다. 외부보고 시스템을 찾거나 만드는 것이 최선의 방법입니다.

Trac에와 경험을 바탕으로 몇 가지 : 사용자 정의 workflow 만들기

  1. 는 꽤 똑바로 비뚤어진입니다. GraphViz을 사용하면 상태 및 동작을 알리는 데 큰 도움이됩니다.더 복잡한 상태 상호 작용이 필요한 경우 내장 기능을 더 확장하는 워크 플로우 플러그인 (예 : AdvancedTicketWorkflowPlugin)은 어렵지 않습니다.

    사용자 정의보고
  2. , 당신은 매개 변수의 이름 걸릴 SQL 쿼리를 작성할 수 다음 위키 페이지에서 다음을 사용하고 있습니다 :

예를 들어, 쿼리가 포함 할 수있는 WHERE 같은 절 :

WHERE datetime(t.changetime, 'unixepoch') >= datetime('now','-$DAYS days') 

및 위키 페이지는이 가질 수

Show activity for last [http://server.com/trac/report/9?DAYS=8 8] days. 
+0

trac에 익숙하지만 Authz 기반 위키 제어 trac-hacks.org/wiki/WikiRbacPatch와 함께 사용자 정의 티켓 쿼리 trac.edgewall.org/wiki/TracQuery를 사용하여 사용자를 기준으로 티켓보기를 제한 할 수 있음을 발견했습니다. 내가 맞습니까? –

+0

필자는 WikiRbacPatch를 한번도 사용해 본 적이 없지만 문서를 기반으로 추가 된 액세스 제어는 wiki 페이지에만 적용됩니다. 이 패치가 사용자 지정 쿼리 결과에 영향을 미치지 않는다고 생각합니다. –

관련 문제