Plandora

 
 

オープン Java ソース プロジェクト管理システム

ガントチャート、アジャイルボード、ワークフロー、統合を活用し、オープンソース Java プラットフォームでプロジェクトを計画・追跡・管理します。

Plandoraとは何ですか?

Plandora は、Java で構築された成熟したオープンソースのプロジェクト管理システムで、エンタープライズレベルのプロジェクト計画、トラッキング、コラボレーションを目的としています。ガントチャート、アジャイルボード、ワークフロー自動化、リソース容量計画、JasperReports を使用したカスタムレポートなど、包括的なツールを提供します。JIRA、SVN、RT4 などの統合を標準でサポートしており、Plandora は部門間のトレーサビリティと透明性を保ちながら、チームが複雑なプロジェクトを管理できるようにします。その柔軟なメタフィールドシステムとカスタマイズ可能なフォームにより、組織はコード変更なしで独自のワークフローにプラットフォームを適応させることができます。

システムは使いやすさと拡張性を重視し、Google のような検索機能を備えたナレッジベース、マルチレベルのプロジェクト調査、リスク管理、タスクベースの To-Do リストを特徴としています。Plandora は、バランススコアカード、イテレーション バーンダウン ガジェット、マクロタスク階層を通じて、従来のウォーターフォールとアジャイルの両方の手法をサポートします。2023 年のリブート以降、プロジェクトは 30 件以上の重大バグを修正し、パフォーマンスを向上させ、CSV のインポート/エクスポートを追加し、レポート機能を強化しました—スケジュールされたレポート生成や JPG 出力を含みます。開発者は [Plandora GitHub](https://github.com/Cynjut/Plandora) リポジトリを通じて貢献でき、モジュラーアーキテクチャと JDBC/DAO パターンを使用して機能を拡張できます。

Previous Next

Plandoraの始め方

Plandra は、通常 Tomcat やその他の JEE サーバー上にデプロイされる Java ベースのウェブアプリケーションです。開始するには、[Plandra GitHub](https://github.com/Cynjut/Plandora) リポジトリからソースをクローンし、Java 8 以上と Maven がインストールされていることを確認し、`mvn clean package` を使用して WAR ファイルをビルドします。生成された WAR をサーブレットコンテナにデプロイします。システムは Tomcat のコネクションプーリングと直接 JDBC 接続の両方をサポートしており(`web.xml` で設定)、初期設定後にデータベース認証情報、SMTP 設定を構成し、JIRA や SVN などの外部システムと統合します。Plandra には、ワークフロー、メタフィールド、ユーザーロールなどのコアコンポーネントのセットアップウィザードが組み込まれており、導入を加速します。

MavenでPlandoraをビルド&デプロイ

# Clone the repository
git clone https://github.com/Cynjut/Plandora.git
cd Plandora

# Build the WAR file
mvn clean package

# Deploy to Tomcat
cp target/plandora.war $TOMCAT_HOME/webapps/

カレンダーイベントとマイルストーンを含むガントチャート

Plandoraのガントチャートは、マクロタスク、マイルストーン、カレンダーイベントをサポートし、プロジェクトのタイムラインを可視化します。リソースとタスクを動的にフィルタリングし、リソースが割り当てられたり削除されたりしても正確な進捗追跡を保証します。チャートにはマイルストーンマーカーが追加され、プロジェクトカレンダーと統合して稼働日と祝日を反映します。ユーザーはガントビューをCSV、XLS、JPG形式でエクスポートでき、レポートや共有に利用できます。パフォーマンスの向上により大規模データセットでもスムーズに描画され、MSProjectインポート時のタスク切り捨ても正しく処理されます。カスタムフィールドとメタフィールドをガントグリッド上に直接表示でき、タイムラインビューを離れることなくリッチなコンテキストを提供します。これにより、従来のプロジェクトマネージャーだけでなく、アジャイルとウォーターフォールを組み合わせたハイブリッドチームにもPlandoraは最適です。

スケジュールレポートでガントチャートをJPGにエクスポート

// Use Report2File agent to schedule Gantt export
Report2File report = new Report2File();
report.setReportName("ProjectGantt");
report.setOutputFormat("jpg");
report.setSchedule("0 0 2 * * ?"); // Daily at 2 AM
report.setFilePath("/reports/gantt/");
report.execute();

課題インポートのためのJIRA統合

Plandora には、JIRA の課題を Plandora のリクエストとしてインポートする専用エージェントが含まれており、添付ファイルやメタデータも取り込めます。この統合により、チケット管理とプロジェクト計画が橋渡しされ、非技術的なステークホルダーは RT4 や JIRA を使用しながら、開発者は Plandora で作業を管理できます。インポートプロセスは課題の関係性、優先度、担当者、タイムスタンプを保持します。プロジェクト、ステータス、日付範囲でのフィルタリングをサポートし、大量バッチも効率的に処理します。インポート後、課題は編集可能なフィールド、ワークフロー遷移、タスク階層を備えた本格的な Plandora リクエストになります。この機能は、JIRA からの移行やデュアルシステムの維持を行う組織に特に有用です。開発者は設定やカスタムプラグインを通じてエージェントを拡張し、追加の JIRA フィールドやカスタムフィールドをサポートできます。

コマンドラインエージェントで JIRA 課題をインポート

// Example agent invocation (simplified)
JiraImporter importer = new JiraImporter();
importer.setJiraUrl("https://jira.example.com");
importer.setUsername("api_user");
importer.setPassword("token");
importer.setProjectKey("PROJ");
importer.setIssueFilter("status = 'Done'");
importer.setImportAttachments(true);
importer.execute();

リソース容量管理と比較

Plandora のリソース容量フォームは、チームの可用性と実際の使用量の詳細な計画と追跡を可能にします。割り当てられたタスク、イテレーション、タイムシートに基づいて使用済み容量を計算し、ゼロ/空の値や日付範囲のフィルタを備えています。ユーザーは見積もりと使用済み容量を並べて比較し、過剰割り当てまたは不足割り当てを特定できます。システムはリソースの割り当て解除を適切にサポートし、メンバーがすべてのプロジェクトから削除された際の DB クエリエラーを修正します。容量データはガントチャートやバーンダウングラフと統合され、現実的なスプリントおよびマイルストーン計画を実現します。マネージャーは見積もりを動的に調整でき、変更は下流のレポートやダッシュボードに伝播します。この機能は、マルチプロジェクト環境におけるポートフォリオレベルのリソースガバナンスと予測にとって重要です。

リソース容量をゼロ値でフィルタリング

// Pseudo-code for capacity filtering logic
ResourceCapacityFilter filter = new ResourceCapacityFilter();
filter.setProjectId(projectId);
filter.setShowZeroValues(true);
filter.setCompareEstimates(true);

List entries = capacityService.getFilteredCapacities(filter);
for (CapacityEntry entry : entries) {
    if (entry.getUsed() == 0) {
        System.out.println("Unused capacity: " + entry.getResourceName());
    }
}

ワークフロー自動化とメタフィールドのカスタマイズ

Plandora のワークフローエンジンは、カスタマイズ可能な承認チェーン、ステータス遷移、リクエスト、タスク、発生に紐付くフォローアップコメントをサポートします。ポップアップワークフローインターフェースは、関連するリクエストの説明と全コメント履歴を表示し、トレーサビリティを向上させました。メタフィールドにより、管理者はタスク、リクエスト、プロジェクト向けにカスタム属性(例:コンプライアンスタグ、クライアントID)を定義でき、UI バリデーションで必須フィールドを強制できます。これらのフィールドはグリッド、レポート、エクスポートに表示され、コード変更なしで柔軟なデータモデリングが可能です。システムはメインフォームのグリッドや CSV インポートでもメタフィールドの表示をサポートし、データ入力ポイント間の一貫性を確保します。この拡張性により、Plandora は規制産業や監査証跡と標準化されたプロセスを必要とする複雑な組織構造に適しています。

API を使用して必須メタフィールドを定義

// Example: Mark meta-field as mandatory
MetaField field = metaFieldService.findById("client_id");
field.setIsMandatory(true);
field.setValidationRegex("^[A-Z]{3}[0-9]{4}$");
metaFieldService.update(field);

// Validation enforced in forms and imports
if (request.getClientId() == null || request.getClientId().isEmpty()) {
    throw new ValidationException("Client ID is required");
}
 日本