CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  软件工程/管理 >  休闲广场

正确使用JIRA/Bugzilla做缺陷管理---zt

楼主ccoderlh()2006-11-16 10:31:14 在 软件工程/管理 / 休闲广场 提问

说明:其实以前工作中也用过缺陷管理系统,不过那个是公司自己开发的。  
  离开新太集团后,自己曾经试图找一些好的替代方案,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.  
  问题点数:20、回复次数:2Top

1 楼ccoderlh()回复于 2006-11-16 10:31:45 得分 0

Part   D.   关于   Unicode  
   
  或许有些朋友对用   Perl   进行   Unicode   编码感兴趣,补充两个小程序。  
  在忘记密码的环节里,邮件里的标题依然是乱码,这里提供了修正版。  
   
  1)   推荐代码  
   
  type   u1.pl   {执行时候请用   perl   u1.pl   你好}  
  <----------  
  use   Encode;  
  use   Unicode::UCD   'charinfo';  
  $str=decode('gb2312',shift);  
  #   由于系统环境为gb2312,所以cmd后的中文参数也为  
  #   gb2312编码,因此告诉perl先把shift得到的参数按  
  #   gb2312解码成unicode  
   
  $a=charinfo(unpack   'U',$str);  
  for(keys   %$a)  
  {  
                  print   "$_   ==>   $a->{$_}\n";  
  }  
  ---------->  
   
  type   u2.pl   {执行时候请用   perl   u2.pl   你好}  
  <----------  
  use   Encode;  
  use   Unicode::UCD;  
  $str=decode('GBK',shift);  
  #   由于系统环境为gb2312,所以cmd后的中文参数也为  
  #   gb2312编码,因此告诉perl先把shift得到的参数按  
  #   gb2312解码成unicode  
   
  $str   =   encode('MIME-Q',   $str);    
  print   $str;  
  ---------->  
   
  2)   运行结果  
   
  H:\Usr\bin>perl   u2.pl   系统更改密码请求  
  =?UTF-8?Q?=E7=B3=BB=E7=BB=9F=E6=9B=B4=E6=94=B9=E5=AF=86=E7=A0=81=E8=AF=B7?=  
  =?UTF-8?Q?=E6=B1=82?=  
  H:\Usr\bin>perl   u2.pl   系统更改密码请  
  =?UTF-8?Q?=E7=B3=BB=E7=BB=9F=E6=9B=B4=E6=94=B9=E5=AF=86=E7=A0=81=E8=AF=B7?=  
  H:\Usr\bin>perl   u2.pl   请求  
  =?UTF-8?Q?=E8=AF=B7=E6=B1=82?=  
   
  3)   邮件模版  
   
  从上推断出   template\cn\default\account\password\forgotten-password.txt.tmpl  
   
  [%   PROCESS   global/variables.none.tmpl   %]  
   
  [%   expiration_ts   =   token_ts   +   (max_token_age   *   86400)   %]  
  From:   bugzilla-admin-daemon  
  To:   [%   emailaddress   %]  
  Subject:   [%   terms.Bugzilla   %]=?UTF-8?Q?=E7=B3=BB=E7=BB=9F=E6=9B=B4=E6=94=B9=E5=AF=86=E7=A0=81=E8=AF=B7=E6=B1=82?=  
  Content-Type:   text/plain;   charset="UTF-8"  
  Mime-Version:   1.0  
   
  系统更改密码请求:  
   
  你(或者是其他的某个人)申请改变你的[%+   terms.Bugzilla   %]密码。    
  如果确认这个改变,请访问下面的链接:  
   
  [%+   Param('urlbase')   %]token.cgi?t=[%   token   FILTER   url_quote   %]&a=cfmpw  
   
  如果你不是这个请求的申请者,或者想放弃这个请求,请访问下面的链接:  
   
  [%+   Param('urlbase')   %]token.cgi?t=[%   token   FILTER   url_quote   %]&a=cxlpw  
   
  如果你不进行任何操作,那么在   [%+   max_token_age   +%]   日    
  (即   [%+   time2str("%H:%M   on   the   %o   of   %B,   %Y",   expiration_ts)   -%])   后,  
  或者在你下次成功登录后,该申请将会自动失效。  
   
  Part   E.   MySQL   故障  
   
  使用   Bugzilla   连接   MySQL   时会告诉你数据库连接失败,其实这是因为密码算法更新了。  
   
  1)   参考网址  
   
  http://www.cnblogs.com/huqingyu/archive/2004/12/09/74989.html  
  http://www.kehui.net/html/article/39/39822.html  
   
  http://www.phpv.net/article.php/288  
  http://dev.mysql.com/doc/mysql/en/old-client.html    
   
  mysql4.1以上版本连接时出现Client   does   not   support   authentication   protocol问题解决办法  
   
  2)   解决方案  
   
  C:\>   mysql   -u   root   -p  
  mysql>   \u   mysql  
  mysql>   select   user,host,password   from   user;  
  mysql>   set   password   for   'bugs'@'localhost'   =   old_password('bugs');  
  mysql>   set   password   for   'bugs'@'%'   =   old_password('bugs');  
  mysql>   select   user,host,password   from   user;  
   
  Part   F.   Perl   故障  
   
  1)   参考网址  
   
  http://www.bugzilla.org/docs/win32install.html  
  http://blog.csdn.net/emu/archive/2005/03/15/320326.aspx  
  在apache下发布了bugzilla  
   
  couldn't   create   child   process   —   原来是无法创建子过程。看来是没有找到perl.exe。  
   
  2)   解决方案  
   
  把下面这个东西保存为   Perl.reg,然后鼠标双击导入就可以了。请注意修改  
  安装路径   [HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command]。  
   
  <-----------------------------------------------------  
   
  Windows   Registry   Editor   Version   5.00  
   
  [HKEY_CLASSES_ROOT\.cgi]  
  @="ActivePerl"  
   
  [HKEY_CLASSES_ROOT\.cgi\Shell]  
   
  [HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI]  
   
  [HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command]  
  @="H:\\Server\\Lang\\Perl\\bin\\perl.exe   -T"  
  Top

2 楼A_mengmeng(谁都比我不好惹(怕))回复于 2007-04-19 14:50:47 得分 20

接分Top

相关问题

关键词

得分解答快速导航

  • 帖主:ccoderlh
  • A_mengmeng

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo