Redmine自定义插件开发教程

3星 · 超过75%的资源 需积分: 50 58 下载量 129 浏览量 更新于2024-09-18 收藏 79KB DOCX 举报
"redmine自定义插件开发教程" 在Redmine这个开源项目管理软件中,开发者可以通过自定义插件来扩展其功能,以满足特定的需求。这篇教程将带你了解如何开发一个Redmine插件。 首先,创建一个新的插件是整个过程的起点。Redmine提供了便捷的脚本工具来生成新插件的基础结构。使用Ruby脚本`ruby script/generate redmine_plugin <plugin_name>`可以快速初始化一个插件项目。例如,如果我们想创建一个名为"Polls"的投票插件,命令将是: ``` redmine> ruby script/generate redmine_plugin Polls ``` 执行此命令后,Redmine会在`vendor/plugins`目录下生成一系列文件夹和文件,包括控制器、助手、模型、视图、数据库迁移、任务脚本、静态资源文件夹以及语言包等,这些都是构建插件所必需的组件。 接下来,你需要编辑插件的核心配置文件`init.rb`,位于生成的插件目录下。`init.rb`文件是注册和设置插件信息的地方。例如: ```ruby require 'redmine' Redmine::Plugin.register :redmine_polls do name 'Polls Plugin' # 插件名称 author 'Your Name' # 作者名称 description 'A plugin for creating polls in Redmine' # 插件描述 version '0.1' # 版本号 url 'http://example.com/plugin_polls' # 插件主页链接 menu :admin, :polls, { :controller => 'polls', :action => 'index' }, :caption => :polls_title, :before => :settings end ``` 在这个示例中,`Redmine::Plugin.register`方法用于注册插件,并通过块参数设置各种属性,如名称、作者、描述、版本信息以及菜单配置。菜单配置允许你将插件功能添加到Redmine的管理界面中。 创建好插件框架并配置好基本信息后,你可以开始实现具体的功能。这通常涉及到编写控制器、模型、视图以及可能的数据库迁移。例如,你可能会在`app/controllers/polls_controller.rb`中创建一个控制器来处理投票的CRUD操作,然后在`app/models/poll.rb`定义相应的模型类。同时,别忘了更新`db/migrate`目录下的迁移文件以同步数据库结构。 此外,为了提供用户界面,你需要在`app/views/polls`目录下创建视图文件,与控制器的动作相匹配。静态资源如图片、JavaScript和CSS文件应分别放在`assets/images`、`assets/javascripts`和`assets/stylesheets`目录下。 最后,为了使插件能够被Redmine识别并加载,确保在`config/environments/*.rb`(如`config/environments/development.rb`)文件中启用插件: ```ruby Redmine::Plugin.load ``` 完成所有工作后,重启Redmine服务,你的自定义插件就应该可以使用了。如果需要为其他语言的用户提供支持,记得更新`lang`目录下的YAML文件,比如`en.yml`,来添加或翻译插件的文本。 开发Redmine自定义插件是一个涉及多个步骤的过程,从生成基础结构,配置初始化文件,到编写业务逻辑和界面展示。这个过程要求开发者对Ruby、Rails以及Redmine的API有一定的理解,但通过这个过程,你可以极大地扩展Redmine的功能,使其更好地适应你的团队需求。
2015-01-27 上传
个人整理redmine 2.6插件包,汉化部分插件 advanced_roadmap_v2:高级线路图多个图表 redmine_clipboard_image_paste:新建问题的时候可以从剪切板中获取截图 redmine_agile:敏捷开发插件,可以拖动任务改变状态,还有燃尽图等功能(本人汉化) redmine_banner:顾名思义,添加banner支持(个人感觉很土鳖,没什么用) redmine_bootstrap_kit:让redmine支持bootstrap redmine_checklists:新建任务的时候,可以建立复选框任务列表 redmine_ckeditor:富文本编辑器 redmine_close_button:问题增加关闭按钮 redmine_code_review:代码评审插件,需要按配置代码版本库(SVN, GIT等) redmine_dashboard:仪表盘,方便调整任务 redmine_jquery_opentip:让redmine支持jquery redmine_lightbox2:附件截图、PDF预览框 redmine_people:人员管理(本人汉化) redmine_questions:Q&A功能,给讨论组提供标签功能,方便检索(本人汉化) redmine_theme_changer:redmine主题改变 redmine_work_time:工时插件(本人汉化) redmine_zenedit:提供全屏编辑和黑色背景功能(貌似和ckeditor有冲突,使用ckeditor的时候无法启用这个功能) 插件安装目录 redmine/plugins/ 主题安装目录 redmine/public/theme/ 插件安装方法: 步骤1:bundle install 如果有问题试试gem update(要运行很久) 步骤2:rake redmine:plugins:migrate RAILS_ENV=production 如果有问题,咨询作者,或者可以删掉有问题的插件,重新执行此命令 步骤3:如果一切正常,就重启服务 环境: CentOS 7 redmine 2.6.0 ruby 2.1.4 测试过,其他版本,自行测试 汉化作者:Stifler