반올림(이슈 트래커)

Roundup (issue tracker)
반올림
원저작자카핑이
개발자Richard Jones, Roundup Initiative
초기 릴리즈2001년 8월 18일, 20년 전(2001-08-18)
안정된 릴리스
2.2.0[1] / 2022년 7월 13일; 24일 전(2022-07-13)
저장소
기입처파이썬
운영 체제크로스 플랫폼
유형이슈 추적 시스템
면허증.MIT 라이선스[2]
웹 사이트www.roundup-tracker.org

Roundup은 명령줄, 웹 및 전자 메일 인터페이스를 갖춘 오픈 소스 문제 또는 버그 추적 시스템입니다.Python으로 작성되어 커스터마이즈가 [3]용이하도록 설계되어 있습니다.Roundup은 소프트웨어 카프엔트리 프로젝트를 위해 Ka-Ping Yee에 의해 설계되었으며 Richard Jones의 지시로 2001년부터 2016년까지 개발되었습니다.그 후, Roundup 커뮤니티에 의해서 개발되고 있습니다.GitHub으로 [4]이행하기 전 17년간 Python 프로그래밍 언어의 이슈 트래커였습니다.한때는 "6년간 훈련을 받지 않은 Bugzilla 또는 지루한 MySQL 쓰레기가 [5]없는 RT"라고 표현되기도 했습니다.

특징들

Roundup 기능의 표준 구성:

  • 문제의 표시, 편집 및 검색을 위한 웹 인터페이스
  • 원격[6] 자동화 및 웹 애플리케이션용 REST 및 XMLRPC 인터페이스
  • 이슈[7] 작성 및 변경을 허용하는 메일 게이트웨이
  • 데이터베이스 추상화 레이어로 현재 (특히) Python의 내장 "anydbm" 모듈인 Postgre를 지원하고 있습니다.SQL, MySQLSQLite
  • 전자 메일 통지 및 대화에 사용되는 이슈별 "간첩 목록" (각 이슈는 사실상 작은 메일 목록이 됨)
  • (사용자의) 역할, 클래스, 오브젝트에 근거한 인가 [9]시스템
  • 백업 및 복원 작업과 객체 조작을 위한 인터랙티브 셸

반올림은 몇 가지 웹 [10]백엔드를 지원합니다.스탠드아론, 백그라운드 데몬 프로세스[11], CGI 스크립트 또는 WSGI 애플리케이션으로 실행할 수 있습니다.

개념

반올림은 트래커 인스턴스 디렉토리의 내용을 변경하여 사용자 정의할 수 있습니다.

데이터베이스 스키마

데이터베이스 스키마는 추적기 인스턴스의 루트 디렉터리에 있는 Python 파일에 정의되며, 서버가 새로 시작될 때마다 다시 읽힙니다.변경이 발견되면(예: 새로운 속성), 그에 따라 기본 RDBS 테이블이 변경됩니다.

페이지 템플릿

반올림은 Template Attribute Language(TAL; 템플릿 속성 언어)를 사용하여 HTML 또는 XHTML 출력을 만듭니다.버전 1.5.0에서는 Jinja2 [12]등의 대체 템플릿엔진에 대한 실험적인 지원이 추가되었습니다.

템플릿의 이름은 데이터베이스의 클래스를 따서 지정됩니다.반올림에서는 URL에서 요청된 클래스 이름에 따라 자동으로 템플릿이 선택됩니다. 예를 들어 _generic.index.html과 같은 일부 템플릿이 여러 클래스에 사용됩니다. 이를 통해 (인증된) 사용자는 자체 인덱스 템플릿이 없는 모든 클래스의 개체를 변경할 수 있습니다.

issue123이 요구되면 이 지정자issue 클래스와 ID '123'[13]으로 분할됩니다.기본적으로는 "항목" 템플릿이 선택됩니다.먼저 issue.item.html 템플릿파일을 찾습니다.파일을 찾을 수 없는 경우 폴백옵션으로 _generic.item.html이 사용됩니다.이 값이 동일하게 누락되면 오류가 발생합니다.

검출기

일부 표준 기능을 포함한 많은 반올림 기능은 트래커 인스턴스의 "검출기" 하위 디렉토리에 있는 이른바 [14]검출기를 사용하여 구현됩니다.Python 서브루틴은 변경할 객체에 액세스할 수 있으며(이미 생성된 경우), 요청된 속성이 변경됩니다.

검출기는 감사원과 원자로로 구분된다.감사자는 주로 몇 가지 자동 변경(표준 구성에서는 할당 사용자가 문제의 참견 목록에 자동으로 추가됨) 및 허용되지 않은 변경을 거부하기 위해 사용됩니다.리액터는 그 후에 실행되어 전자 메일 알림 기능에 사용됩니다.예를 들어, 특정에 관심이 있는 모든 사용자에게 통지 메일을 보냅니다.코멘트가 추가되면 고소합니다.

작업 중 하나가 실행될 때마다 디텍터가 트리거됩니다.

  • 만들다
  • set(아트리뷰트 변경)
  • 은퇴하다
  • 복원하다

가 요구됩니다.이러한 템플릿을 사용하여 정교한 사용자 정의 워크플로우를 생성할 수 있습니다.

내선번호

인스턴스 서브디렉토리 "확장자"는 TAL로 (편리하게) 수행할 수 없는 확장 기능에 필요한 추가 파일을 저장할 수 있습니다. 심지어 완전히 새로운 작업도 가능합니다.

검출기와 확장 모두에서 사용되는 Python 모듈은 "lib" 하위 디렉토리에 넣을 수 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Roundup Issue Tracker / [Roundup-users] Roundup Issue Tracker 2.2.0".
  2. ^ 라이선스 - 현재 문서 반올림
  3. ^ 프라이머리 사용자 인터페이스는 웹 인터페이스입니다.이른바classicTracker 템플릿은 표준 템플릿 및 데이터 구조 세트로 배포되지만 사용자 정의의 시작점으로 사용할 수 있습니다.
  4. ^ Python Bug Tracker
  5. ^ NTKnow 2002/07/05 - 추적
  6. ^ REST 문서
  7. ^ 전자 메일 사용자 인터페이스, 반올림 사용자 가이드
  8. ^ 노시 리스트의 설계
  9. ^ 액세스 제어, 반올림 설계 설명
  10. ^ "Installing Roundup - Roundup 2.2.0 documentation".
  11. ^ CGI를 통한 사용은 드물며 성능상의 이유로 권장되지 않습니다.
  12. ^ "Roundup: A simple-to-use and -install issue-tracking system with command-line, web and e-mail interfaces. Highly customisable".
  13. ^ 식별자지정자, 반올림 설계 설명
  14. ^ 디텍터 인터페이스, 반올림 설계 설명

외부 링크