- 论坛徽章:
- 0
|
Written By: Wwashington AT ChinaUnix
Publish Date: 2006/09/05
说明:其实以前工作中也用过缺陷管理系统,不过那个是公司自己开发的。
离开新太集团后,自己曾经试图找一些好的替代方案,ClearQuest 很有名
但是太贵而且复杂,不利于中小企业迅速从生存向规范转移。
这里推荐使用两个工具,一个是基于 Java 的商业软件 JIRA,一个是基于
Perl 的免费软件 Bugzilla。已经用了比较长的时间了,觉得效果非常好,
这次先补充一些错误解决方案,将来有空再写完整的指南吧。
Part A. 参考网址
1) 关于选型
http://www.blueidea.com/tech/program/2006/3479.asp
http://www.blueidea.com/tech/program/2006/3479_2.asp
http://www.phpchina.cn/jiaocheng/html/supter/2006/0818/1424.html
如何用正确的方法来写出质量好的软件的75条体会 [转]
2) 关于 JIRA
http://oneboy.org/?p=69
elliott's Blog -- JIRA安装批南(MYSQL)
http://www.blogjava.net/lucky/archive/2006/05/01/44301.aspx
使用 JIRA 搭建企业问题跟踪系统
http://www.360doc.com/showWeb/0/3/178896.aspx
伊莲的文章--JIRA一出,谁与争锋
http://dog.xmu.edu.cn/modules.php?op=modload&name=News&file=article&sid=253
JIRA。。。忘了bugzilla吧。
3) 关于 Bugzilla
http://www.bugzilla.org/installation-list/
Bugzilla 用户名单,很多知名企业,其中以开源系统为主
http://cs.cuc.edu.cn/linweiguo/archives/000044.html
Win2000下Bugzilla安装实录 (作者:Jackey)
http://www.chinahtml.com/programming/4/2005/cgi-11343023012506.shtml
在 Win32 下安装 Bugzilla (Good!)
http://www.yuanma.org/data/2006/0808/article_1334.htm
安装bugzilla (作者 dreamstone)
http://blog.donews.com/ymliu888/archive/2005/12/13/656701.aspx
解答:为什么在应用了Bugzilla汉化包后,原来存在的汉字变成了乱码?
http://blog.donews.com/ymliu888/archive/2005/12/14/658121.aspx
关于Bugzilla2.20发邮件以及邮件乱码的问题
4) 下载 Bugzilla
http://www.bugzilla.org/download/
Download :: Bugzilla
http://sourceforge.net/projects/bugzilla-cn/
http://sourceforge.net/project/showfiles.php?group_id=75477
Bugzilla 的汉化包和模块
bugzilla-2.20-cn-1.0.zip
BugzillaModules-2.20.zip
http://landfill.bugzilla.org/ppm/
bugzilla-bundle.zip
http://download.pchome.net/php/dl.php?sid=15654
Mail Direct Pro 2.3.0.0
http://crackdb.org/index_1_o_1.html
Mail Direct Pro v2.3.0.0-SSG
http://www.glob.com.au/sendmail/
Fake Sendmail 1.9
5) 关于 Perl
http://www.superdown.com/soft/947.htm
ActivePerl 5.8.8 Build 819
http://www.perlchina.org/conf/slides/cnhacktnt_PerlUnicodeIn5Min.ppt
讨论 Perl 和 Unicode 的关系
http://www.cnbruce.com/blog/showlog.asp?cat_id=27&log_id=690
http://blog.csdn.net/fmddlmyy/archive/2005/05/04/372148.aspx
http://dev.csdn.net/develop/article/69/69883.shtm
谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词
http://www.hongen.com/pc/program/tutors/perl/perl0003.htm
--CGI编程--Perl标量的操作符--
http://net.pku.edu.cn/~yhf/perlstep/perlstep6.html
Perl程序设计中的函数(子程序)
http://www.cnblogs.com/netcobra/archive/2004/04/16/6322.html
[转移]安装 BugZilla 时 Perl 模块的安装
Part B. 补充事项
1) JIRA 的管理比 Bugzilla 要强一些,使用也比较方便,本身已经
支持多国语言(包括中文)。可惜,这个是要花钱的。虽然网上有
注册机,如果没有真正购买,将来遭到版权局的调查还是会被罚。
如果公司有预算,建议购买 JIRA,否则推荐用免费的 Bugzilla。
2) 上面那篇《JIRA安装批南》漏了讲一点,为了方便支持中文,在
安装 MySQL 的时候要选 Custom,数据库的默认类型要选 UTF8。
这个问题,对于 Bugzilla 也是一样,建议用 UTF8 来存储中文。
如果不指定 UTF8,要么无法正确显示中文,要么不能创建 Bug。
3) Bugzilla 的 Perl 包安装,其实是有很多简便的方法的,没必要
自己编译,而且发送邮件并不用修改大量 Code,只要装两个东西
就可以了。一是 Mail Direct Pro 作为本地 SMTP 服务器,注意
不要用最新的 2.3.1.0,这个版本破解不完全,显示未注册。二是
Fake Sendmail 作为 sendmail 程序,必须装在跟 Bugzilla 同一
个盘。例如 Bugzilla 在 H:\Server\Webz\Site\bugzilla\2.20.2
那么,sendmail 就应该装在 H:\Usr\Lib,并且配置 ini 文件。
需要注意的是,必须配置好 SMTP 转发服务器。Mail Direct Pro
是支持中文的,选"工具-->配置-->SMTP转投-->添加",如果你的
SMTP 服务器如 smtp.21cn.com 需要验证,则必须填写帐号和密码。
在"如果发送失败则转投"这个选项上打勾,保证邮件可以正确发送。
当某些邮件服务器有特殊限制时,转发到外网专业 SMTP 较有保障。
4) Bugzilla 2.20 有汉化版,可以用于 2.20.2,但最新版2.22还没
汉化。而且汉化后还有一些问题,主要是发 Mail 不正常。对于
网页和邮件的乱码,请大家使用 UTF-8 汉化包,并参考汉化作者
的 Blog 里的解答,里面已经提到怎样消除这些乱码。我这里只是
补充一个目前翻遍整个 Google 都找不到答案的问题。
在汉化版里 sendmail 是表面正常,实际上并没有发出。经过我用
WinHex 研究 debug 文件,发现汉字编码是 UTF-8,注意:如果用
UltraEdit 按 Ctrl-H 则会自动将文档转为 UCS-2 (Unicode)。由
于里面的 From 向下跑了好几行,所以 sendmail 报告没有发信人。
通过查找 Bugzilla 的资料,发现是在 Token.pm 里处理忘记密码,
例如 H:\Server\Webz\Site\bugzilla\2.20.2\Bugzilla\Token.pm。
错误现象:
Bugzilla 2.20.2 汉化版的 sendmail 失败,错误报告如下所示:
exception message : Message is missing sender's address.
解决方案:
通过使用 index 和 substr 找到正确的 From 字串。首先是用
UltraEdit 打开 Token.pm 找到 sub IssuePasswordToken 位置,
在最后一句 Bugzilla::BugMail::MessageToMTA($message); 的
前面插入下面这几句,问题就可以消除,真正发出邮件。
sub IssuePasswordToken {
...
# --------- 插入部分开始 --------------
my $tmpmsg = $message;
my $msgadr = index($tmpmsg,'From');
$message = substr($tmpmsg,$msgadr);
# --------- 插入部分结束 --------------
Bugzilla::BugMail::MessageToMTA($message);
# Bugzilla::BugMail::MessageToMTA($message."$msgadr");
## Notes: String result: "$msgadr"=13, '$msgadr'=$msgadr
## See the . symbol in Perl means String A plus String B
}
Part C. 错误记录
1) 不用sendmail,直接smtp(本机安装Mail Direct Pro),注册失败
>553 From <postmaster@Welcome>, message blocked.
2) 直接指定sendmail用21cn,则From必须是21cn.com,否则会报错
06-08-27 21:52:25 : From <bugzilla-daemon@21cn.com>, message
blocked, sender not exist or has no privilege..<EOL>
06-08-28 02:25:49 : From <bugzilla-daemon@localhost.com>,
message blocked.<EOL>
3) 把sendmail设置为localhost,用smtp(本机Mail Direct Pro).
250 Requested mail action okay, completed.
Message-ID=<7B939171977752.09550@receive2.inner-21cn.com>
Mail delivered successful.
[[i] 本帖最后由 wwashington 于 2006-9-14 23:45 编辑 [/i]] |
|