项目

常规

个人资料

插件目录 » 红酒

作者 Massimo Rossello
网站 -
代码仓库 https://github.com/maxrossello/redwine
注册时间 2023-10-21 (10个月前)
当前版本 5.1.1
兼容性 Redmine 5.1.x
用户评分   (0)

Redwine 个人资料

Redwine 是一个包含一些针对官方 Redmine 版本的增强和修复的 Redmine 个人资料。

版本

测试是通过 https://github.com/maxrossello/redmine_testsuites 进行的,包括它支持的 所有插件。

插件版本对应 Redmine 所需的最小版本。请查看每个 Redmine 版本的专用分支。

增强

插件兼容性检查

Redmine::Plugin 通过 compatible_redmine_plugins 方法得到增强,该方法是 requires_redmine_plugin 的扩展。它支持插件依赖项的可选存在,在这种情况下,只有在目标插件安装后才会执行支持版本检查。

compatible_redmine_plugins 方法可以一次性检查插件字典。

支持的子句

  • :version
    只有显式版本或版本数组是兼容的
  • :version_or_higher
    需要最小版本
  • :version_lower_than
    需要最大版本
  • :tilde_greater_than
    可接受的版本包括比指定数字更高的数字,仅对最后一位数字
  • :required:mandatory
    一个布尔值强制安装插件(默认为 true)

多个子句

可以对每个依赖插件进行多个条件的逻辑与检查。

无加载顺序依赖

检查关于任何其他插件是否不依赖于相同的加载顺序,这主要基于对插件名称应用的字典序,只要在 `Rails.configuration.after_initialize` 内进行兼容性检查。

异常行为

第二个可选的布尔方法参数可以使检查在任何插件依赖项不满足时引发异常,否则在控制台上简单地记录警告。默认:失败。

未知插件的的存在

第三个可选的布尔方法参数定义是否可以抱怨未列出的插件。如果设置为 `true`,则未列出的插件的存在将引发异常。默认:false(忽略未知插件)。

示例

plugin = Redmine::Plugin.register :redmine_my_plugin do
  ...
end

# each hash contains conditions in AND; plugin is supported if any hash in array matches 
supported_plugins = {
  redmine_any:               { required: true }, # any version, but required
  redmine_any_too:           { },                # this is also required
  redmine_specific:          { version: '5.1.0' }
  redmine_list:              { version: ['5.1.0', '5.1.1'] }, # explicit set
  redmine_same_minor:        { tilde_greater_than: '5.1.0' },
  redmine_same_major:        { tilde_greater_than: '5.1' },
  redmine_minimum:           { version_or_higher:  '5.1.0' },
  redmine_string:            '5.1.1',            # equivalent to :version_or_higher
  redmine_maximum:           { version_lower_than: '5.2.0' },
  redmine_in_between:        { tilde_greater_than: '5.1.0', 
                               version_lower_than: '5.1.11' },
  redmine_optional:          { version_or_higher:  '5.1.0', mandatory: false }
}

Rails.configuration.after_initialize do
  # raise exception in case. Ignore call if Redwine is not installed
  if plugin.methods.include? :compatible_redmine_plugins
    plugin.compatible_redmine_plugins(supported_plugins, true);
  end
end

当前修复

  • 从优先级位置而不是枚举 id 创建问题优先级的标签。
    由于枚举用于多种类型,id 不是唯一的,并且可能会随着运行时配置而更改。因此,旧主题无法以独特的方式对优先级标签进行样式设置。
    如果运行时创建了更多优先级条目,问题仍然存在。采用命名标签的新主题,例如 priority-lowest,不受影响,并且能够足够好地格式化问题。
  • IMAP 邮件夹检查以前会将已读标志重置为可用邮件。
    邮件过滤器可能会重置已读标志,但 Redmine 的 IMAP::check 只在标记为未读的邮件上工作。

安装说明

将此插件安装到 Redmine 插件文件夹中。

cd {redmine 根目录}
git clone https://github.com/maxrossello/redwine.git plugins/redwine
bundle install

最后重新启动您的服务器。

变更日志

5.1.1 (2023-12-10)

与 Redmine 5.1.x 兼容。

https://github.com/maxrossello/redwine/releases/tag/redwine_5.1.1

配置文件与 Redmine 5.1.1 对齐。
添加了插件兼容性检查功能。

5.0.7 (2023-12-07)

与 Redmine 5.0.x 兼容。

https://github.com/maxrossello/redwine/releases/tag/redwine_5.0.7

5.0.6 (2023-10-21)

与 Redmine 5.0.x 兼容。

https://github.com/maxrossello/redwine/releases/tag/redwine_5.0.6

4.2.11 (2023-10-21)

与 Redmine 4.2.x 兼容。

https://github.com/maxrossello/redwine/releases/tag/redwine_4.2.11