1

Redmine プロジェクト データにアクセスするダッシュボードの作成に取り組んでいます。このダッシュボードは、Redmine データベース内のすべてのプロジェクトのプロジェクト データ (配信日、マネージャー、開始日、合計の問題、未解決の問題、解決済みの問題、バグ数など) の統合になります。

これを行う方法についてのアイデアはありますか?これを実現するための SQL クエリは、良い出発点です。ローカル システムに Redmine をセットアップしており、Redmine データベースにアクセスできます。

HTML5 .Net ベースの Web アプリケーションを作成する予定です。使用するクエリを見つけたら、IIS (または REST) サービスを記述して、Redmine 運用データベースから必要なデータをフェッチします。

ヘルプ/ポインターは大歓迎です。

よろしく、 プランジャル

4

1 に答える 1

3

基本的に 3 つのオプションがあります。

  1. REST API を使用する
  2. redmine プラグインの開発
  3. いくつかのカスタム SQL を行う

残りの API

最善の方法は、redmine REST APIを使用することです。これを使用すると、SQL クエリやサーバーを操作することなく、redmine から直接データを取得できます。Redmine サーバーが更新された場合でも動作するはずです。

Redmine プラグイン

次善の策は、おそらくredmine プラグインを開発することです。プラグインは redmine クラス ( 、 など) にアクセスできProjectますUser。たとえばProjects.all.map {|p| [p.id, p.identifier]}、配列内のすべてのプロジェクトの ID と識別子を取得するようなことができます。このアプローチは REST API を使用するよりもはるかに強力ですが、redmine サーバーを変更する必要があります (プラグインをインストールして維持します)。redmine が内部構造を変更すると、プラグインはおそらく REST API よりも壊れやすくなります。

カスタムSQLのもの

カスタム SQL ソリューションの開発はお勧めしませんが、オプションです。このようなソリューションは、開発が難しく、壊れやすく、セットアップが困難ですが、パフォーマンスが向上する可能性があります。にリストされている redmine データベース構造を確認できますdb/schema.rb。適切なスキーマがあれば、カスタム SQL クエリを開発してダッシュボードに返すことができます。

セキュリティを考える

通常のセキュリティ関連 (これも考慮する必要があります :)) とは別に、redmine には豊富な権限システムがあることを思い出してください。(パブリックに) 利用可能にするオブジェクトを検討してください。これは、最後の 2 つのオプションにとって最も重要です。プラグイン アプローチを使用する場合はUser#allowed_toメソッドを確認する必要があります。

お客様の要件に関する情報が少ないため、REST API を使用する必要があると感じています。

于 2013-07-03T13:20:58.007 に答える