Redmine所有项目的项目数据

时间:2013-07-03 12:37:21

标签: redmine

我正在创建一个可以访问Redmine项目数据的仪表板。此仪表板将整合Redmine数据库中所有项目的项目数据(交付日期,经理,开始日期,总问题,未解决问题,已关闭问题,错误计数等)。

关于如何做到这一点的任何想法?实现这一目标的SQL查询将是一个良好的开端。我在本地系统上安装了Redmine,可以访问Redmine数据库。

我计划创建一个基于HTML5 .Net的Web应用程序。一旦我找出要使用的查询,我就会编写一个IIS(或REST)服务来从Redmine生产数据库中获取所需的数据。

非常感谢任何帮助/指示。

此致 Pranjal

1 个答案:

答案 0 :(得分:3)

您基本上有三种选择:

  1. 使用REST API
  2. 开发redmine插件
  3. 做一些自定义SQL的东西
  4. REST API

    您可以做的最好的事情是使用redmine REST API。使用它,您可以直接从redmine获取数据,而无需任何SQL查询或操作服务器。它甚至应该在更新redmine服务器时起作用。

    Redmine Plug-in

    接下来最好的事情可能是制定一个redmine plug-in。您的插件可以访问redmine类(ProjectUser等)。例如,您可以执行Projects.all.map {|p| [p.id, p.identifier]}之类的操作来获取数组中所有项目的ID和标识符。这种方法比使用REST API更强大,但您必须修改redmine服务器(安装和维护插件)。当redmine更改内部结构时,插件可能比REST API更脆弱。

    自定义SQL内容

    我不建议开发自定义SQL解决方案,但它是一个选项。这样的解决方案更难开发,更脆弱,更难设置,但可能提供更好的性能。 您可以在db/schema.rb中看到redmine数据库结构。拥有正确的架构,您可以开发自定义SQL查询并将其返回到仪表板。

    考虑安全性

    除了通常的安全性内容(你也应该考虑:)),请记住redmine有一个丰富的权限系统。考虑您(公开)可用的对象。这对最后两个选项最重要。使用插件方法时,您应该查看the User#allowed_to method

    根据我对您的要求的一点信息,我觉得你应该选择REST API