Trac 经验谈之(5)插件篇

标签: trac 经验 插件 | 发表时间:2011-08-02 22:33 | 作者:lanphaday QQ
出处:http://blog.csdn.net/lanphaday
Trac 经验谈之(1)杂谈篇
Trac 经验谈之(2)杂谈篇补遗
Trac 经验谈之(3)工作流篇
Trac 经验谈之(4)报表篇
Trac 经验谈之(5)插件篇
Trac 经验谈之(6 完)插件篇补遗
=================

Trac 经验谈之(5)插件篇

赖勇浩(http://laiyonghao.com
如果说 ticket 是 Trac 的灵魂,那么把插件(plugins)称为 Trac 的血肉应不为过。因为这是使用的经验谈,所以 Trac 的插件机制原理什么的,我们就不谈了,就介绍一下我都有用哪些插件,这些插件的功能又是什么,解决了什么问题。
不过在这之前,还是需要先知道怎么查找、下载和安装插件。
Trac 的插件都在 http://trac-hacks.org/ 网站上安家,所以去这里找插件就对了!里面的每个项目都有一个自己的页面,基本上下载、安装和配置都在上面写写清清楚楚的。一般可以选择下载 zip 格式的发布包,然后解压到某个目录下执行一下 python setup.py bdist_egg 把代码编译成 egg。再用管理员账号登陆 Trac,点击右上角的“管理(admin)”,在新页面选择左侧栏“一般(general)”下的“插件(Plugins)”链接,这“管理插件”页面右上角可以把之前编译好的 python egg 上传安装,然后编辑 trac.ini 文件进行配置即可。
接下来正式开始介绍插件,按体验和功能进行简单分类。

体验

AutocompleteUsers

主页:http://trac-hacks.org/wiki/AutocompleteUsersPlugin,我现在使用的是 0.4.1 版本,它的作用是在输入属主或抄送的时候,以 Ajax 的风格即时提示用户名,这样只记住用户名的前面一两个字母就行啦。效果图:

还有一个可选的类似插件叫 TracAutoCompletePlugin,见:http://trac-hacks.org/wiki/TracAutoCompletePlugin

CcSelectorPlugin

主页:http://trac-hacks.org/wiki/CcSelectorPlugin。虽然通过编辑 trac.ini 把 [ticket] 节加上 restrict_owner = true,可以实现属主的列表选择,但是对于中国人来说,要记住别人的用户名实在是太困难了,因为有些人是用英文名、有些人用拼音名、有些人姓在前面,有些人姓在后面,最后的方式莫过于能够通过真实姓名来选择。这个插件就是解决了这个问题,效果图:


我对 CcSelectorPlugin 进行了硬编码式地 hack,实现了对 owner 的选择,算是 Trac 在用户选择方面最完美的解决方案了,等我整理代码后,择日开源给大家使用。

BreadCrumbsNavPlugin

主页:http://trac-hacks.org/wiki/BreadCrumbsNavPlugin,顾名思义,它的作用是解决用户想回到之前的页面却操作起来很麻烦的问题。启用这个插件后,在页面的右上角,就是登陆、设置等链接的那个地方,会多出一行链接,记录了你之前访问过的若干个页面,就像面包屑一样,找到“回家的路”。

DateFieldPlugin

主页:http://trac-hacks.org/wiki/DateFieldPlugin,通过一些设置,这个插件能够实现日期的可视化输入和校验,效果图:


CustomFieldAdminPlugin

主页:http://trac-hacks.org/wiki/CustomFieldAdminPlugin。自定义字段(custom fields)异常重要,很多体验提升的插件都是基于它的,如果你有兴趣去查看一下 Trac 的源代码,你会发现其实 Trac 在相当多的地方专门处理了 Custom Fields。这个插件提供了 Web 界面来管理自定义字段,比如增加、改变和删除等,而之前你需要直接编辑 trac.ini(这是一种危险的、容易出错的方式)。

功能

TicketExtPlugin

主页:http://trac-hacks.org/wiki/TicketExtPlugin,通过这个插件,可以实现:1)根据 ticket 的类型使用不同的描述模板;2)能够通过 TracAdmin 页面可视化地定位模板;3)根据 ticket 的类型可以使能或禁用自定义字段。我们通过这个插件,定制了自己的 ticket 描述模板,很好地引导了初次接触 Trac 的用户,解决了他们“不知道怎么用”的问题。

TracWysiwygPlugin

主页:http://trac-hacks.org/wiki/TracWysiwygPlugin。Trac 不被团队中的非程序员成员拒绝使用,很大的一个原因莫过于他们觉得 Wiki 语法需要学习,太难。这个插件可以在一定程度上缓解问题,达到了部分的“所见即所得”效果,基本上所有用户都安装了这个插件。

GraphvizPlugin

主页:http://trac-hacks.org/wiki/GraphvizPlugin。所有 Unix 粉丝都对 Graphviz 如雷贯耳吧?这个插件实现了对 wiki 中 graphviz 程序的解释,让大家能够写文本的 Wiki,看图形的效果。例子:

{{{
#!graphviz
  digraph G {
    rankdir = "LR"
    GraphvizPlugin [ URL=GraphvizPlugin ]
    Trac [
      URL="http://trac.edgewall.org/"   
      fontcolor=red
    ]
    GraphvizPlugin -> Trac
    }
}}}
效果图:

需要注意的是使用这个插件需要在机器上安装 graphviz 程序。

ChildTicketsPlugin

主页:http://trac-hacks.org/wiki/ChildTicketsPlugin。这个插件功能强大,不过简单来说就是给 Trac 带入子任务单的概念。可以设置某个类型的任务单是否能够拥有子任务单,也可以限制它子任务单的类型,以及子任务单从父级继承的字段等。你即可以直接在某个任务单页面直接创建子任务单,也可以查看到当前所有子任务单的信息(字段是可以设置的),如下图:

还有一个SubticketsPlugin(见:http://trac-hacks.org/wiki/SubticketsPlugin)提供类似的功能,但是我不喜欢这个插件,因为当增加子任务单时需要修改父任务单,这太操蛋了,而且定制性也弱很多。

TracTicketValidatorPlugin

主页:http://trac-hacks.org/wiki/TracTicketValidatorPlugin。这是金山珠海的员工 Richard Liao 贡献的插件,提供了基于正则表达式的字段合法性校验,非常赞。还有一个很类似的插件叫 TicketValidatorPlugin(见:http://trac-hacks.org/wiki/TicketValidatorPlugin),但我不喜欢,因为它是基于 ticket 的状态来验证的字段的合法性的,而且只提供弱爆了的 required 验证。

XmlRpcPlugin

主页:http://trac-hacks.org/wiki/XmlRpcPlugin,顾名思义,这个插件给 Trac 提供了 XML-RPC 机制,这样类似 TaskTrayTask 的客户端软件就可以通过 XML-RPC 定期查询 Trac,获得新的信息,并提供用户。除此之外,还有不少应用也依赖于它。使用时的注意事项就是需要给用户开通 XML-RPC 权限。

TracSqlPlugin

主页:http://trac-hacks.org/wiki/TracSqlPlugin。这个插件应该很少人用,但是真的赞爆了!这个插件在你想 hack Trac 的时候非常有用。启用后,它在页面上增加了一个“SQL”的选项卡(右上角)。通过它可以:1)使用 SQL 语句查询数据库,2)查询格式化或未格式化的数据,3,导出数据为CSV,4)浏览数据库数据表结构。无论你使用提 SQLite、MySQL 还是 PostgreSQL 都可以使用这个插件。效果图:


to be continued...


作者:lanphaday 发表于2011-8-2 15:33:26 原文链接
阅读:1383 评论:2 查看评论

相关 [trac 经验 插件] 推荐:

Trac 经验谈之(5)插件篇

- QQ - 赖勇浩的编程私伙局
Trac 经验谈之(1)杂谈篇. Trac 经验谈之(2)杂谈篇补遗. Trac 经验谈之(3)工作流篇. Trac 经验谈之(4)报表篇. Trac 经验谈之(5)插件篇. Trac 经验谈之(6 完)插件篇补遗. =================Trac 经验谈之(5)插件篇. 赖勇浩(http://laiyonghao.com).

Trac 经验谈之(4)报表篇

- wang - 赖勇浩的编程私伙局
Trac 经验谈之(1)杂谈篇. Trac 经验谈之(2)杂谈篇补遗. Trac 经验谈之(3)工作流篇. Trac 经验谈之(4)报表篇. Trac 经验谈之(5)插件篇. Trac 经验谈之(6 完)插件篇补遗. =================Trac 经验谈之(4)报表篇. 赖勇浩(http://laiyonghao.com).

Trac 经验谈之(1)杂谈篇

- QQ - 赖勇浩的编程私伙局
Trac 经验谈之(1)杂谈篇. Trac 经验谈之(2)杂谈篇补遗. Trac 经验谈之(3)工作流篇. Trac 经验谈之(4)报表篇. Trac 经验谈之(5)插件篇. Trac 经验谈之(6 完)插件篇补遗. =================Trac 经验谈之(1)杂谈篇. 赖勇浩(http://laiyonghao.com).

trac 经验谈之(3)工作流篇

- QQ - 赖勇浩的编程私伙局
Trac 经验谈之(1)杂谈篇. Trac 经验谈之(2)杂谈篇补遗. Trac 经验谈之(3)工作流篇. Trac 经验谈之(4)报表篇. Trac 经验谈之(5)插件篇. Trac 经验谈之(6 完)插件篇补遗. =================trac 经验谈之(3)工作流篇. 赖勇浩(http://laiyonghao.com).

Trac 经验谈之(2)杂谈篇补遗

- QQ - 赖勇浩的编程私伙局
Trac 经验谈之(1)杂谈篇. Trac 经验谈之(2)杂谈篇补遗. Trac 经验谈之(3)工作流篇. Trac 经验谈之(4)报表篇. Trac 经验谈之(5)插件篇. Trac 经验谈之(6 完)插件篇补遗. =================Trac 经验谈之(2)杂谈篇补遗. 赖勇浩(http://laiyonghao.com).

分享 Trac 與 Git 的使用心得 @ 資拓宏宇

- 逸川 - 這樣做就對了!
同事 Anderson 公司、資拓宏宇分享了「Trac 與 Git 的使用心得」. 大部分的時間都在講 Git,講了以下主題:. Git 是與 SVN、Perforce 完全不同的分散式架構. Git 最強的功能 - Branch 協助你自己的分工. 分散的集中管理 - Git Central Repository 多人開發團隊.

jquery 插件

- - JavaScript - Web前端 - ITeye博客
 jQuery插件的开发包括两种:. 一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法. jQuery的全局函数就是属于jQuery命名空间的函数,另一种是对象级别的插件开发,即给jQuery对象添加方法. 下面就两种函数的开发做详细的说明. 1 、类级别的插件开发.

scrum经验

- - CSDN博客研发管理推荐文章
Scrum是基于过程控制理论的经验方法,倡导自组织团队;其运行框架核心是迭代增量型并行开发,也是“适应性”的软件开发方法. Scrum提供了高度可视化的用于管理软件开发复杂性管理的敏捷项目管理的实践框架或敏捷过程,可以用于对现存软件工程实践的包装,提高软件生产率,改善沟通和合作的方法,使人们协作并注重业务目标.

XBMC 优酷插件

- iworm - Wow! Ubuntu
才知道,原来优酷还有 XMBC 的 Linux 版插件,这下看 Youku 视频就更加方便了,以下是安装方法. 1 安装 XBMC :XBMC 是支持跨平台的开源家庭多媒体娱乐中心软件,想安装最新版 XBMC 请查看此文. 2 解决乱码 : XBMC 在我的英文界面下中文会显示乱码,这是由字体原因引起的,所以先要解决此问题.

Menu - 菜单插件

- Xin - 博客园-首页原创精华区
    1)Lava Lamp基于JQuery 的水平滑动导航条.      2)jQuery.dropmenu这个插件能够将标准的UL元素转换成一个包含子菜单的下拉菜单. 易于使用,风格样式采用CSS控制.       3)JQuery Context Menu Plugin是一个非常轻便的jQuery右键菜单插件.