始终用中文回复。
禅道PMS(项目管理系统)是由禅道软件(青岛)有限公司开发的开源项目管理软件。它是中国第一个开源项目管理软件,旨在覆盖从产品和项目管理到质量管理、文档管理、组织管理和办公管理的主要项目管理流程。
- 基于禅道PHP框架构建
- 支持多种项目管理方法论:Scrum、瀑布和看板
- 全面的功能包括产品管理、项目管理、质量管理、文档管理
- 多语言支持(中文、英文、德语、法语等)
- 丰富的模块包括数据可视化、度量、DevOps、文档资产管理、自动化测试
- 版本21.7.5(根据VERSION文件)
禅道采用模块化MVC架构:
- 框架:位于
/framework的自定义PHP框架 - 模块:位于
/module的功能模块(如产品、项目、执行、缺陷、任务等) - 数据库:基于MySQL,模式在
/db/zentao.sql中定义 - Web界面:位于
/www的基于PHP的Web应用程序 - 配置:位于
/config的集中配置
zentaopms/
├── api/ # API相关文件
├── bin/ # 可执行二进制文件/脚本
├── config/ # 配置文件
├── db/ # 数据库模式文件
├── doc/ # 文档
├── extension/ # 扩展模块
├── framework/ # 核心框架文件
├── lib/ # 库文件
├── misc/ # 杂项文件
├── module/ # 应用模块
├── sdk/ # 软件开发工具包
├── tmp/ # 临时文件
├── www/ # Web根目录
└── README.md # 项目文档
- PHP 8.1或更高版本
- MySQL数据库
- Apache或Nginx Web服务器
项目使用Makefile进行构建:
- 清理构建环境:
make clean - 构建应用程序:
make或make all - 创建包:
make package - 创建分发版:
make pms
构建过程:
- 将必要文件复制到
zentaopms目录 - 处理和压缩JavaScript/CSS资源
- 设置适当权限
- 创建分发包(ZIP、tar.xz)
- 将分发包解压到Web服务器目录
- 在
config/my.php中配置数据库设置(从config/config.php复制) - 访问Web界面并按照安装向导操作
- 如果未安装,系统将自动重定向到
install.php
- 将源代码放置在Web服务器的文档根目录中
- 配置Web服务器以服务PHP文件
- 确保以下目录可写:
tmp/www/data/config/extension/
- 使用
make pms构建分发包 - 解压到生产服务器
- 设置目录的适当权限
- 在
config/my.php中配置数据库连接 - 通过Web浏览器访问以完成安装
主配置在config/config.php中,重要设置包括:
- 数据库连接设置
- 请求路由配置
- 语言和主题设置
- 安全设置
- 文件上传限制
创建config/my.php来覆盖默认设置:
- 从
config/config.php复制 - 修改数据库连接设置
- 根据需要调整其他配置
数据库表在config/zentaopms.php中定义为常量:
- 表前缀:默认为
zt_ - 超过100个表用于不同功能
- 模式在
db/zentao.sql中定义
- 遵循MVC模式,包含模型、视图和控制器
- 模块组织在
/module/{module}/目录中 - 每个模块通常包含:
model.php:业务逻辑control.php:控制器动作view/:模板文件lang/:语言文件js/:模块特定的JavaScriptcss/:模块特定的CSS
- 默认路由:
index.php?m={module}&f={method} - PATH_INFO路由:
index.php/{module}-{method} - 可在
config/routes.php中自定义API路由
- 使用自定义DAO(数据访问对象)模式
- 定义在
lib/base/dao/中 - 示例:
$this->dao->select('*')->from(TABLE_USER)->where('id')->eq($id)->fetch()
- 测试位于模块目录下的
test/中
禅道具有广泛的模块结构:
- 产品管理:product、story、productplan、release
- 项目管理:project、execution、task、build
- 质量管理:bug、testcase、testtask、testsuite
- 文档管理:doc、doclib
- 组织管理:company、dept、user、group
- DevOps:repo、job、compile、mr
- 报表:report、pivot、chart
- 管理:admin、custom、extension
- 通过
api.php提供RESTful API - Webhooks支持集成
- 支持GitLab、Gogs、Gitea、Jenkins、SonarQube
- Xuanxuan集成用于消息传递
- 输入验证和过滤
- XSS防护
- CSRF防护
- 通过DAO防止SQL注入
- 文件上传限制
- 多语言支持,语言文件在
/module/{module}/lang/中 - 支持的语言:简体中文、繁体中文、英文、德语、法语、越南语、日语、西班牙语、葡萄牙语
- 语言选择可在用户偏好中配置