大家好:
R队在刚开始学习redmine二次开发时遇到最常见的问题就是在接到一个需求之后找不到需要修改哪里的代码,找不到要修改哪里就比较尴尬了。。。
Redmine二次开发不同于新系统的开发,大部分需求都是对原来已有的某些功能进行优化或重新设计,此时如果对Redmine本身不够熟悉,往往容易陷入迷惑,不知道如何下手。此时,要做的第一件事就是明确要优化的功能隶属于哪个功能模块。
一. Request和Route分析
1. 整体架构描述
首先要明确的是,redmine是一个B/S系统,用户与Redmine的所有交互,都是通过“请求——响应” 的模式来进行的,也就是说,所有的功能,都必然可以定位到一个或一组的请求地址(URL)
例如,“新建问题”这个功能按钮,实际上就是对 https://127.0.0.1/redmine/projects/dataflow/issues/new 这个地址的请求