100305 trac-plugin-dev-intro

1,303 views
1,161 views

Published on

CPyUG会课总第38期~暨珠三角技术沙龙第6次
http://wiki.woodpecker.org.cn/moin/ZPyUG/2010-03-14

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,303
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

100305 trac-plugin-dev-intro

  1. 1. Trac 插件开发简介 Trac 的增进方法 金山软件 廖杰 richard.liao.i@gmail.com 1
  2. 2. 目录a.Trac 增进b.Trac 插件开发c.Trac 定制系统 2
  3. 3. Trac 增进 3
  4. 4. Trac 简介• Trac 是什么 – 最轻量级别的基于 Web 的软件项目管理环境 – 背景 : Trac 0.12 dev, 支持 i18n• 干净的 Trac 能做什么 – ticket – wiki – 版本系统 – 邮件提醒 4
  5. 5. 为什么要对 Trac 进行增进• 用户环境需求• 特殊功能• 系统间互动• 修正缺陷• 应用集成 5
  6. 6. Trac 增进的方法• 修改配置 , 调整 Trac 参数• 安装第三方插件 , 扩展 Trac 功能• 自己开发插件• 对 Trac 打补丁 6
  7. 7. 调整 Trac 的参数• 基本配置 : – 通过 Admin 界面 – 通过 trac-admin 命令行• 特殊配置 – 修改 trac.ini – 定制模板文件 7
  8. 8. 安装第三方插件• 插件大本营 – http://trac-hacks.org – 超过 500 个项目 – 分类 • 插件 • 宏 • 主题 • 脚本 • 补丁 • 应用集成 8
  9. 9. 自己开发插件• 扩展 Trac 某方面的功能 – 插件 –宏 – 主题 – 脚本 9
  10. 10. 对 Trac 打补丁• Trac 内置功能与需求冲突• Trac 本身缺陷• Trac 暂时不实现的功能 10
  11. 11. Trac 插件开发 11
  12. 12. Trac 插件开发环境• 可运行的 Trac 环境• Python• Subversion• easy_install• virtualenv( 可选 ) 12
  13. 13. 快速插件模板• http://trac-hacks.org/wiki/TracQuickPluginTemplateScript• 使用 paste.script 模板• 可即刻部署 13
  14. 14. 插件部署• pyton egg 部署 – setuptools 0.6c9 – python setup.py bdist_egg – cp dist/*.egg ../test/plugins• 部署方式 – 全局 – 本地 14
  15. 15. Trac 插件系统• Since Trac 0.9• Python 语言• 基于 Trac 组件结构 15
  16. 16. Trac 组件结构• Trac core 实现了必须的组件核心• Trac 的内置的模块都是组件 – wiki – ticket – 版本系统• 插件与内置模块是同一级别 – 可使用插件替换内置模块 – 可拆卸 16
  17. 17. Trac 组件结构• ExtensionPoint – 对外接口 – 其他组件可以扩展此接口 : plugin 17
  18. 18. Trac 组件结构• 组件 – 提供特定功能的对象• 组件是 singleton – 用于提供功能 – 不作为实体使用 18
  19. 19. Trac 组件结构• 每个组件都有内置如下变量 – env: 代表 trac 环境实例 – config: trac 配置 – log: trac 日志 19
  20. 20. Trac 组件结构• trac.core 20
  21. 21. 演示 : HelloWorld 21
  22. 22. 调试• tracd – tracd -r --port 8000 test• log – self.env.log.debug• 集成 Eclipse+PyDev 调试 22
  23. 23. Trac 插件开发相关• 模板系统 : genshi• 前端 : jquery• SQL 数据库 : Trac Data Models 23
  24. 24. Trac 定制系统 24
  25. 25. Trac 定制系统• 基础配置• 定制字段• 定制工作流• 复杂报表• 选择主题• 选择已有插件• 开发定制插件 25
  26. 26. 参考• http://trac.edgewall.org/wiki/TracDev• http://trac-hacks.org/• http://trac-hacks.org/wiki/richard 26

×