| 原作者 | カピン・イー |
|---|---|
| 開発者 | リチャード・ジョーンズ、ラウンドアップ・イニシアティブ |
| 初回リリース | 2001年8月18日 |
| 安定版リリース | 2.4.0 [1]
/ 2024年7月13日 |
| リポジトリ |
|
| 書かれた | パイソン |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | 問題追跡システム |
| ライセンス | MITライセンス[2] |
| Webサイト | ラウンドアップトラッカー |
Roundupは、コマンドライン、Web、電子メールのインターフェースを備えたオープンソースの 問題またはバグ追跡システムです。Pythonで書かれており、高度にカスタマイズできるように設計されています。[3]
歴史
RoundupはSoftware CarpentryプロジェクトのためにKa-Ping Yeeによって設計され、2001年から2016年にかけてRichard Jonesの指揮の下で開発されました。それ以来、Roundupコミュニティによって開発されてきました。GitHubに移行する前の17年間、Pythonプログラミング言語の問題追跡ツールでした。[4]かつては「 6年間のトレーニングなしのBugzilla、または退屈なMySQLのゴミなしのRTのようなもの」と評されました。[5]
特徴
Roundup の標準構成の機能:
- 問題の表示、編集、検索のためのウェブインターフェース
- リモートオートメーションとWebアプリケーションのためのREST [6]とXMLRPCインターフェース
- 問題の作成と変更を可能にするメール ゲートウェイ[7 ]
- データベース抽象化レイヤー。現在はPythonの組み込み「anydbm」モジュール、PostgreSQL、MySQL、SQLiteなどをサポートしています。
- 問題別の「おせっかいなリスト」は電子メールによる通知や会話に利用される(各問題は実質的にミニメーリングリストになる)[8]
- 権限付与システム[9] 、役割(ユーザー)、クラス、オブジェクトに基づく
- バックアップと復元タスクおよびオブジェクトの操作のための対話型シェル
RoundupはいくつかのWebバックエンドをサポートしています。[10]スタンドアロン、バックグラウンドデーモン プロセス、CGIスクリプト[11]、またはWSGIアプリケーションとして実行できます。
コンセプト
Roundup は、トラッカー インスタンス ディレクトリの内容を変更することでカスタマイズされます。
データベーススキーマ
データベーススキーマは、トラッカー インスタンスのルート ディレクトリにあるPythonファイルで定義され、サーバーが新たに起動されるたびに再読み取りされます。変更が見つかると (新しい属性など)、基礎となるRDBSのテーブルがそれに応じて変更されます。
ページテンプレート
Roundupはテンプレート属性言語(TAL)を使用してHTMLまたはXHTML出力を作成します。バージョン1.5.0では、 Jinja2などの代替テンプレートエンジンの実験的なサポートが追加されました。[12]
テンプレートは、データベース内のクラスにちなんで命名されます。Roundup は、URL から要求されたクラス名に基づいてテンプレートを自動的に選択します。一部のテンプレートは複数のクラスに使用されます (例: _generic.index.html)。これにより、(承認された) ユーザーは、独自のインデックス テンプレートがないすべてのクラスのオブジェクトを変更できます。
「issue123」が要求されると、この指定子は問題 クラスとID「123」に分割されます。 [13]デフォルトでは「item」テンプレートが選択されます。まず、issue.item.htmlテンプレートファイルが検索されます。見つからない場合は、フォールバックオプションとして_generic.item.htmlが使用されます。これも見つからない場合は、エラーが発生します。
検出器
標準機能の一部を含む多くのRoundup関数は、トラッカーインスタンスの「detectors」サブディレクトリにある、いわゆる検出器[14]を使用して実装されています。これらは、変更するオブジェクト(すでに作成されている場合)と要求された属性の変更にアクセスできる Python サブルーチンです。
検出器は、監査者とリアクターに区別されます。監査者は主に、いくつかの自動変更 (標準構成では、割り当てられたユーザーは問題の監視リストに自動的に追加されます) と、許可されていない変更を拒否するために使用されます。リアクターはその後実行され、たとえば、特定の問題にコメントが追加されたときに、その問題に関心のあるすべてのユーザーに通知メールを送信する電子メール通知機能に使用されます。
検出器は、以下のいずれかのアクションが発生するたびに作動します。
- 作成する
- 設定(属性の変更)
- 引退する
- 復元する
要求されます。これらを使用して、詳細なカスタム ワークフローを作成できます。
拡張機能
インスタンスのサブディレクトリ「extensions」には、 TALでは(都合よく)実行できない拡張機能に必要な追加ファイルを保存できます。まったく新しいアクションも可能です。
検出器と拡張機能の両方で使用されるPythonモジュールは、「lib」サブディレクトリに置くことができます。
参照
参考文献
- ^ 「Roundup 2.4.0 リリース」。2024年7月13日。
- ^ 「ライセンス」。
- ^ 主なユーザーインターフェースはWebインターフェースです。いわゆる
classicトラッカーテンプレートは標準テンプレートとデータ構造セットとして配布されていますが、カスタマイズの出発点として使用できます。 - ^ Python バグトラッカー
- ^ NTKnow 2002/07/05 - トラッキング
- ^ RESTドキュメント
- ^ 電子メール ユーザー インターフェイス、Roundup ユーザー ガイド
- ^ 詮索リストの設計
- ^ アクセス制御、ラウンドアップ設計の説明
- ^ 「Roundup のインストール - Roundup 2.2.0 ドキュメント」。
- ^ CGI経由の使用はまれであり、パフォーマンス上の理由から推奨されません。
- ^ 「Roundup: コマンドライン、Web、電子メールのインターフェースを備えた、使いやすくインストールしやすい問題追跡システム。高度なカスタマイズが可能」。
- ^ 識別子と指定子、ラウンドアップ設計の説明
- ^ 検出器インターフェース、ラウンドアップ設計の説明
外部リンク
- 公式サイト
