重新挖掘所有项目的项目数据



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

有什么想法吗?实现这一点的SQL查询将是一个良好的开端。我在本地系统上安装了Redmine,可以访问Redmine数据库。

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

如有任何帮助/建议,我们将不胜感激。

谨致问候,Pranjal

您基本上有三个选项:

  1. 使用REST API
  2. 开发一个redmine插件
  3. 做一些自定义SQL的事情

REST API

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

Redmine插件

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

自定义SQL内容

我不建议开发自定义SQL解决方案,但这是一种选择。这样的解决方案更难开发、更脆弱、更难建立,但可能会提供更好的性能。您可以看到db/schema.rb中列出的redmine数据库结构。有了正确的模式,您可以开发自定义SQL查询并将其返回到仪表板。

考虑安全性

除了常见的安全问题(你也应该考虑:)之外,记住redmine有一个丰富的权限系统。考虑一下你让哪个对象(公开)可用。这对于最后两个选项来说是最重要的。在使用插件方法时,您应该了解User#allowed_to方法。

根据我所掌握的关于您的需求的少量信息,我觉得您应该选择REST API

最新更新