﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-Prayer-随笔分类-TOOLS</title><link>http://www.cppblog.com/prayer/category/12146.html</link><description>在一般中寻求卓越</description><language>zh-cn</language><lastBuildDate>Sat, 09 Oct 2010 19:47:13 GMT</lastBuildDate><pubDate>Sat, 09 Oct 2010 19:47:13 GMT</pubDate><ttl>60</ttl><item><title>Linux下Bugzilla安装与配置</title><link>http://www.cppblog.com/prayer/archive/2010/10/09/129185.html</link><dc:creator>Prayer</dc:creator><author>Prayer</author><pubDate>Sat, 09 Oct 2010 05:23:00 GMT</pubDate><guid>http://www.cppblog.com/prayer/archive/2010/10/09/129185.html</guid><wfw:comment>http://www.cppblog.com/prayer/comments/129185.html</wfw:comment><comments>http://www.cppblog.com/prayer/archive/2010/10/09/129185.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/prayer/comments/commentRss/129185.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/prayer/services/trackbacks/129185.html</trackback:ping><description><![CDATA[<p>Bugzilla的安装配置,其实也没有传说中的那么困难,问题就在没有经验.刚刚完成bugzilla的配置,我想记录下来我的细致安装过程,一是留点记录进一步回忆理解,二是供朋友们参考. 好了言归正传! </p>
<p>(以下所列皆为本人安装配置过程中的所用资源,不同版本的文件,系统等参照本文安装不保证一定成功) </p>
<p>OS: Linux Red Hat Enterprise 5 (确保gcc编译器等都已安装上去,手工安装gcc比较麻烦) </p>
<p>DB: MySQL-server-community-5.0.67-0.rhel5.i386.rpm, MySQL-client-community-5.0.67-0.rhel5.i386.rpm, MySQL-devel-community-5.0.67-0.rhel5.i386.rpm, MySQL-share-compat-5.0.67-0.rhel5.i386.rpm, MySQL-share-community-5.0.67-0.rhel5.i386.rpm. (<a href="http://www.mysql.org/">http://www.mysql.org</a>) </p>
<p>Apache: httpd-2.2.3-6.el5 (<a href="http://www.apache.org/">http://www.apache.org</a>) </p>
<p>Bugzilla： Bugzilla-3.2rc2(目前是最新的稳定版本, <a href="http://www.bugzilla.org/">http://www.bugzilla.org</a>) </p>
<p>开始安装: </p>
<p>前提Linux平台都已搭建完备,本文以此为基础,Linux安装不做赘述. </p>
<p>安装配置mysql </p>
<p>1.安装mysql,顺序：MySQL-server***.rpm, MySQL-client***.rpm, MySQL-share-community***.rpm, MySQL-devel***.rpm, MySQL-share-compat***.rpm. </p>
<p>2.初始化数据库: 输入如下命令为root添加密码, (真该死这个破blog不能方便贴图)! </p>
<p>输入:/usr/bin/mysqladmin -u root password '你的密码',如你使用123456做为密码，则输入:/usr/bin/mysqladmin -u root password 123456 即可. </p>
<p>3.创建bugs用户,并分配权限.(注:bugzilla-2.18rc1版本后已经不需要用户本人创建bugs数据库了,用户只需创建bugs用户即可) </p>
<p>进入mysql(输入命令:mysql -uroot -p, 回车后根据提示输入刚才你初始化的密码), 登入mysql后查看现有数据库情况,输入命令如下, </p>
<p>mysql&gt;show databases;(别忘了这里的分号,该命令将显示所有database,初始默认有: information_schema, mysql, test) </p>
<p>输入如下创建bugs用户并分配权限: </p>
<p>mysql&gt;GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, DROP, REFERENCES ON bugs.* TO <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#98;&#117;&#103;&#115;&#64;&#108;&#111;&#99;&#97;&#108;&#104;&#111;&#115;&#116;">bugs@localhost</a> INDENTIFIED BY '$db_pass'; </p>
<p>mysql&gt;FLUSH PRIVILEGES; </p>
<p>注: '$db_pass'为bugs用户的密码,随你设定,但一定要紧记此密码,下面将会用到. 本人设为bugs,即输入 GRANT ... BY 'bugs'; </p>
<p>至此数据库方面配置完毕! </p>
<p><br>配置apache </p>
<p>关于apache的进修资料进apache官网：<a href="http://www.apache.org/">http://www.apache.org</a>,查找进修,这里不做引见. </p>
<p>最新版本的apache需要修改的地方不多,主要有3个地方要注意：(修改配置文件httpd.conf即可,该文件一般具有你安装路径的/conf/下,若使用Linux系统自带的apache,则可到/etc/httpd/conf/查找, vi编辑保存) </p>
<p>a.DocumentRoot,需要设置为你的bugzilla文件所在路径,以及&lt;Diretory "你的bugzilla文件所在路径"&gt; </p>
<p>b.使用"./"找到AddHandler.cgi这行内容,去掉注释,如果已经去掉,保留即可.如果不添加该语句,会把cgi文件中的内容当成文本形式显示出来,而不是运行cgi程序. </p>
<p>c.创建一个目录的权限说明, 一般如下所示:本例中bugzilla所在路径为:/var/www/html/bugzilla <br>来源：<a href="http://www.va1314.com/bc">www.va1314.com/bc</a></p>
<p>&lt;Directory "/var/www/html/bugzilla"&gt; </p>
<p>Options ExecCGI FollowSymLinks </p>
<p>AllowOverride Limit </p>
<p>Order allow,deny </p>
<p>Allow from all </p>
<p>&lt;/Directory&gt; </p>
<p>主要修改的内容是, 在Options中增加ExecCGI,该选项让该目录下的CGI脚天性够运行. 其次把AllowOverride的参数改为Limit, 这样修改能够让bugzilla通过生成.htaccess文件来控制目录的访问权限. </p>
<p>至此apache配置完毕!记得apache配置完毕后,要重启啊,这样你的配置才会生效! </p>
<p>配置bugzilla </p>
<p>bugzilla的运行还需要perl的一些模块的支持, 在这提供一个网站<a href="http://www.cpan.org/">www.cpan.org</a>, 该网站提供了perl所有的模块, 用户能够在这search所需的perl模块.好了,下面开始! </p>
<p>cd 到你bugzilla所在的目录, 如：cd /var/www/html/bugzilla/ </p>
<p>执行./checksetup.pl文件,查看perl模块情况.间接在输入:./checksetup.pl,回车即可.接下来会给出很多消息,仔细看你会发觉有些模块已经安装ok，并给出版本,如：CGI.pm (v3.21) ok: found v3.42,但是初次安装会有很多模块缺失,会提示not found等消息. </p>
<p><br>关于安装perl缺失模块,有2个方法: </p>
<p>1. 如果网络连接正常,可尝试网络安装,根据运行./checksetup.pl后的提示消息输入,即可自动下载安装缺失模块,此方法最为方便,运气好的话,可能一次性就OK. <br>此处以安装perl-Magick为例:输入 /usr/bin/perl install-module.pl Image::Magick, 即可. </p>
<p>2. 手动安装,需要到<a href="http://www.cpan.org/">www.cpan.org</a>下载相关模块,此过程较为复杂(因为模块间具有依赖关系,不是每个模块都是一次安装就OK的),但可加深理解.手动安装过程中,有以下几点需要注意: </p>
<p>a.一般情况下Linux自带的perl已经有了DBI模块,此时根据提示正常安装DBD-mysql即可.若perl的DBI模块还没有的话，又或是Linux没有安装perl,则到<a href="http://www.perl.org/">www.perl.org</a>下载最新的perl模块安装。 </p>
<p>b.perl模块的的安装方法多为: </p>
<p>perl Makefile.PL </p>
<p>make </p>
<p>make test </p>
<p>make install </p>
<p>到此应该知道为什么强调要安装gcc编译器了吧？ </p>
<p>有些模块之间具有依赖性, 若make test过程中,产生异常可于make install后,重新执行perl Makefile.PL命令,此时可看到安装异常的原因.若具有模块依赖,则会提示需要安装相应模块. </p>
<p>当perl的必须模块以及数据库的DBD都安装成功后,再次执行./checksetup.pl文件,查看perl模块的安装情况,若必须的perl模块都安装成功后,则会提示编辑/bugzilla/目录下刚生成的的localconfig文件, 使用vi编辑该文件,修改该文件中的2个参数的值: </p>
<p>a. $index.html='0' 改为 $index.html='1', 这样会生成一个index.html文件,该文件指向index.cgi. </p>
<p>b. 把$db_pass=''的空字符改为你当初创建bugs用户时为其分配的密码. </p>
<p>保存修改后退出,再次执行./checksetup.pl文件,此时将创建bugs数据库以及数据库中的表格,同时提示输入管理员的用户名, 真实姓名, 口令是什么. 自此bugzilla的配置完成. </p>
<p>注:提示输入管理员的用户必须使用邮箱名称,如：<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#116;&#101;&#115;&#116;&#64;&#49;&#54;&#51;&#46;&#99;&#111;&#109;">test@163.com</a>, 这是bugzilla的默认规定. </p>
<p>最后使用浏览器打开bugzilla地址,进入第一次登陆界面. </p>
<p>如果出现提示没有权限访问bugzilla的话，则说明bugzilla目录权限需要重新设置,可使用如下命令修改目录权限: chown -R apache.apche &lt;Bugzilla目录名&gt;,然后重新访问就能够了. </p>
<p><br>本文来自: 编程教程论坛(<a href="http://www.va1314.com/bc/">http://www.va1314.com/bc/</a>) 详细文章参考：<a href="http://www.va1314.com/bc/thread-13103-1-1.html">http://www.va1314.com/bc/thread-13103-1-1.html</a></p>
<img src ="http://www.cppblog.com/prayer/aggbug/129185.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/prayer/" target="_blank">Prayer</a> 2010-10-09 13:23 <a href="http://www.cppblog.com/prayer/archive/2010/10/09/129185.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Web报表工具iReport 详解</title><link>http://www.cppblog.com/prayer/archive/2009/10/22/99193.html</link><dc:creator>Prayer</dc:creator><author>Prayer</author><pubDate>Thu, 22 Oct 2009 08:13:00 GMT</pubDate><guid>http://www.cppblog.com/prayer/archive/2009/10/22/99193.html</guid><wfw:comment>http://www.cppblog.com/prayer/comments/99193.html</wfw:comment><comments>http://www.cppblog.com/prayer/archive/2009/10/22/99193.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/prayer/comments/commentRss/99193.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/prayer/services/trackbacks/99193.html</trackback:ping><description><![CDATA[&nbsp;&nbsp; 前天一个叫&#8220;QQ高手&#8221;的朋友，问了个关于iReport的问题就想还是贴个教程出来，那些想用报表工
<p>具的朋友参考</p>
<p>下，其实我们做报表用的只是Jasperreport，iReport是一个Jasperreport 的可视化开发工具。<br></p>
<p>目前几乎还没有中文的介绍他们整合开发的文章，尽管如此我也不准备非常详细的介绍它们，在这里我仅</p>
<p>将我的一些经验写出来，不乏有些地方浅尝辄止，如果想细致的研究它们还请阅读它们被套的英文文档。</p>
<p>Jasperreport的配套文档非常详细，该文档是收费的，不过网上有流传的电子版本，本人有幸得到一份，如</p>
<p>果你需要可以留下你的&#8220;油香&#8221;，在此感谢Jasperreport的为开源世界做出的贡献。</p>
<p>相反Report的文档不多，也许作者认为其足够简单J,我也是经过无数的探索才有些开发的经验。</p>
<p>好了，让我们进入上述两者整合开发报表的历程&#8230;&#8230;</p>
<p>1． 首先你要得到它们最新的版本，你可以到下边的地址下载</p>
<p>iRport: <a href="http://ireport.sourceforge.net/" target=_blank><font color=#551a8b><u>http://ireport.sourceforge.net</u></font></a> &lt;<a href="http://ireport.sf.net/" target=_blank><font color=#0000cc><u>http://ireport.sf.net/</u></font></a>&gt;</p>
<p>Jasperreport: <a href="http://jasperreports.sourceforge.net/" target=_blank><font color=#0000cc><u>http://jasperreports.sourceforge.net</u></font></a></p>
<p>他们的配置也很简单：</p>
<p>iReport解压缩以后编辑目录下的iReport.bat文件即可，如下</p>
<p>@echo off</p>
<p>set JAVA_HOME=C:\jdk14</p>
<p>set ANT_HOME=d:\ant</p>
<p>set IREPORT_HOME=C:\Documenti\progetti\iReport\iReport2\</p>
<p>rem %ANT_HOME%\bin\ant javadocs</p>
<p>%ANT_HOME%\bin\ant iReport</p>
<p>是不是很简单，你只要设置相应的一些路经就可以，这里是采用ant来运行，当然如果你没有安装ant <br>也不想安装它，那么也可以，不过这里我买个官子，你们自己可以到解压缩以后的目录中找到相应的运行方法。呵呵，安装ant吧J</p>
<p>Jasperreport不需要任何配置，你只需将下载以后的jar包放到classpath下即可。呵呵，说来简单，可是如果没有iReport <br>来替我们干"脏活"，那么做报表的工作将是怎样的痛苦~！</p>
<p>2． Jasperreport是如何工作的？</p>
<p>这里我就往简单里说了。</p>
<p>首先要先有个xml文件，然后编译成jasper文件（以.jasper结尾）,我们真正要使用的是编译以后的.jasper文件，这很像我们熟悉的.jsp <br>文件，其实我们调用的是其编译以后的servlet。</p>
<p>(图片来自<a href="http://ireport.sourceforge.net/cap3.html#3.1" target=_blank><font color=#0000cc><u>http://ireport.sourceforge.net/cap3.html#3.1</u></font></a>)</p>
<p>不过静态的报表没有什么意思，所以有句话说得好：</p>
<p>"A datasource + a jasper = a print"</p>
<p>它可以支持的输出格式如下：PDF,HTML,XML,XLS,CVS等等。</p>
<p>因此,Jasperreport的原始输入就是一个.xml文档,想象看一个简单报表的xml文件也有几百行，在没有iReport <br>以前用它做报表是多么痛苦。（令我不可思议的是，我一个同学公司曾经用jasperreport做报表，可是它们竟然没有用过iReport，天！）</p>
<p>现在不用怕了，用iReport可以轻松的搞定这个XML,写到这里，我想起了struts_config.xml，也曾出现不少关于它的可视化的编辑器，呵呵J</p>
<p>如果在iReport以前，如果你要做报表，你要华上很长时间来熟悉Jasperreport的文档，熟悉文档的一个用途就是编写那个xml <br>文件，现在你只要他熟悉文档的时间来熟悉iReport就可以了。<br>上面只是对一点都不了解iReport的朋友介绍下，为的是让你从零学做报表，如果你有基础了，只需看下面就可以了..<br>具体的就看下面Flash教程吧，我昨天刚测试还可以用，都可以看的，很具体，看了就全明白了，不过有点老了，呵呵不过很经典哈：<br>1.<a class=fmedim href="http://ireport.sourceforge.net/swf/Datasource_viewlet_swf.htm"><u><font color=#0000ff>Setup a new datasource</font></u></a><br>2.<a class=fmedim href="http://ireport.sourceforge.net/swf/Report_Wizard_viewlet_swf.htm"><u><font color=#0000ff>The report wizard</font></u></a><br>3.<a class=fmedim href="http://ireport.sourceforge.net/swf/Files_viewlet_swf.htm"><u><font color=#0000ff>iReport / Jasperreports files</font></u></a><br>4.<a class=fmedim href="http://ireport.sourceforge.net/swf/Formatting_viewlet_swf.htm"><u><font color=#0000ff>Formatting fields</font></u></a><br>5.<a class=fmedim href="http://ireport.sourceforge.net/swf/Groups_viewlet_swf.htm"><u><font color=#0000ff>Groups</font></u></a><br>6.<a class=fmedim href="http://ireport.sourceforge.net/swf/Parameters_viewlet_swf.htm"><u><font color=#0000ff>Parameters</font></u></a><br>7.<a class=fmedim href="http://ireport.sourceforge.net/swf/Subreport_viewlet_swf.htm"><u><font color=#0000ff>Subreports</font></u></a></p>
<img src ="http://www.cppblog.com/prayer/aggbug/99193.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/prayer/" target="_blank">Prayer</a> 2009-10-22 16:13 <a href="http://www.cppblog.com/prayer/archive/2009/10/22/99193.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>报表工具汇总</title><link>http://www.cppblog.com/prayer/archive/2009/10/22/99194.html</link><dc:creator>Prayer</dc:creator><author>Prayer</author><pubDate>Thu, 22 Oct 2009 08:13:00 GMT</pubDate><guid>http://www.cppblog.com/prayer/archive/2009/10/22/99194.html</guid><wfw:comment>http://www.cppblog.com/prayer/comments/99194.html</wfw:comment><comments>http://www.cppblog.com/prayer/archive/2009/10/22/99194.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cppblog.com/prayer/comments/commentRss/99194.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/prayer/services/trackbacks/99194.html</trackback:ping><description><![CDATA[在 Web 中嵌入图形图表的技术越来越丰富，我们可以选择 JavaScript 库，CSS，Flash，Silverlight，PHP 库，服务器端的组件，也可以选择 Google Chart API 这样的 Web 服务。本文介绍了25个在 Web 中嵌入图形图表的免费资源。
<p>&#160;</p>
<h3>JS Charts (基于 JavaScript 的图表生成工具)</h3>
<p><a class=Icon href="http://www.jscharts.com/home"><img title=js-charts style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=270 alt=js-charts src="http://blogof.francescomugnai.com/wp-content/uploads/2009/04/js-charts.jpg" width=420></a></p>
<h3>Protovis (可视化 javaScript 图表生成工具)</h3>
<p><a class=Icon href="http://vis.stanford.edu/protovis/"><img title=chart4 style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=393 alt=chart4 src="http://blogof.francescomugnai.com/wp-content/uploads/2009/04/chart4.jpg" width=420></a></p>
<h3>Visifire (基于 Silverlight 和 WPF 的开源图表组件)</h3>
<p><a class=Icon href="http://www.visifire.com/"><img title=chart6 style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=253 alt=chart6 src="http://blogof.francescomugnai.com/wp-content/uploads/2009/04/chart6.jpg" width=420></a></p>
<h3>pChart (PHP图表类库框架)</h3>
<p><a class=Icon href="http://pchart.sourceforge.net/index.php"><img title=pchart style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=146 alt=pchart src="http://blogof.francescomugnai.com/wp-content/uploads/2009/04/pchart.jpg" width=420></a></p>
<h3>Ejschart (Javascript)</h3>
<p><a class=Icon href="http://www.ejschart.com/index.php"><img title=chartx style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=226 alt=chartx src="http://blogof.francescomugnai.com/wp-content/uploads/2009/04/chartx.jpg" width=420></a></p>
<h3>XML/SWF Charts</h3>
<p><a class=Icon href="http://www.maani.us/xml_charts/index.php"><img title=chart3 style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=315 alt=chart3 src="http://blogof.francescomugnai.com/wp-content/uploads/2009/04/chart3.jpg" width=420></a></p>
<h3>Chronoscope (开源)</h3>
<p><a class=Icon href="http://timepedia.org/chronoscope/"><img title=timeline style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=225 alt=timeline src="http://blogof.francescomugnai.com/wp-content/uploads/2009/04/timeline.jpg" width=420></a></p>
<h3>Open Flash Chart 2</h3>
<p><a class=Icon href="http://teethgrinder.co.uk/open-flash-chart-2/"><img title=chart7 style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=154 alt=chart7 src="http://blogof.francescomugnai.com/wp-content/uploads/2009/04/chart7.jpg" width=420></a></p>
<h3>FusionCharts Free</h3>
<p><a class=Icon href="http://www.fusioncharts.com/Free/Default.asp?gMenuItemId=1"><img title=top5 style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=255 alt=top5 src="http://blogof.francescomugnai.com/wp-content/uploads/2009/04/top5.jpg" width=420></a></p>
<h3>JFreeChart (flash)</h3>
<p><a class=Icon href="http://www.jfree.org/jfreechart/"><img title=jfr style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=228 alt=jfr src="http://blogof.francescomugnai.com/wp-content/uploads/2009/04/jfr.jpg" width=420></a></p>
<h3>Flare (Flash ActionScript 库)</h3>
<p><a class=Icon href="http://flare.prefuse.org/"><img title=flare style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=189 alt=flare src="http://blogof.francescomugnai.com/wp-content/uploads/2009/04/flare.jpg" width=420></a></p>
<h3>Google Chart API</h3>
<p><a class=Icon href="http://code.google.com/apis/chart/"><img title=google style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=170 alt=google src="http://blogof.francescomugnai.com/wp-content/uploads/2009/04/google.jpg" width=420></a></p>
<h3>Google Chart Generator</h3>
<p><a class=Icon href="http://www.clabberhead.com/googlechartgenerator.html"><img title=chart_01 style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=220 alt=chart_01 src="http://blogof.francescomugnai.com/wp-content/uploads/2009/04/chart_01.jpg" width=420></a></p>
<h3>Timeplot (基于 DHTML 的 AJAX 饰件)</h3>
<p><a class=Icon href="http://www.simile-widgets.org/timeplot/"><img title=timeplot style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=176 alt=timeplot src="http://blogof.francescomugnai.com/wp-content/uploads/2009/04/timeplot.jpg" width=420></a></p>
<h3>CSS Chart Generator (基于 CSS 的即时 Web 图表生成)</h3>
<p><a class=Icon href="http://www.artviper.net/css-chart-generator/create-css-chart.php"><img title=viper style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=324 alt=viper src="http://blogof.francescomugnai.com/wp-content/uploads/2009/04/viper.jpg" width=420></a></p>
<h3>YUI Library</h3>
<p><a class=Icon href="http://developer.yahoo.com/yui/charts/"><img title=chart9 style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=283 alt=chart9 src="http://blogof.francescomugnai.com/wp-content/uploads/2009/04/chart9.jpg" width=420></a></p>
<h3>PlotKit (JavaScript 图表库)</h3>
<p><a class=Icon href="http://www.liquidx.net/plotkit/"><img title=chart10 style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=319 alt=chart10 src="http://blogof.francescomugnai.com/wp-content/uploads/2009/04/chart10.jpg" width=420></a></p>
<h3>Flotr (基于 Prototype框架的图表类库)</h3>
<p><a class=Icon href="http://solutoire.com/flotr/"><img title=flotr style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=213 alt=flotr src="http://blogof.francescomugnai.com/wp-content/uploads/2009/04/flotr.jpg" width=420></a></p>
<h3>Rapha?l (JavaScript library)</h3>
<p><a class=Icon href="http://raphaeljs.com/"><img title=chart11 style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=165 alt=chart11 src="http://blogof.francescomugnai.com/wp-content/uploads/2009/04/chart11.jpg" width=420></a></p>
<h3>Protochart (开源类库，基于 Prototype 和 Canvas)</h3>
<p><a class=Icon href="http://www.deensoft.com/lab/protochart/piechart.php"><img title=points style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=245 alt=points src="http://blogof.francescomugnai.com/wp-content/uploads/2009/04/points.jpg" width=420></a></p>
<h3>Bluff (Rubby 下的 Gruff 图表类库的 JavaScript 移植)</h3>
<p><a class=Icon href="http://bluff.jcoglan.com/"><img title=bluff style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=318 alt=bluff src="http://blogof.francescomugnai.com/wp-content/uploads/2009/04/bluff.jpg" width=420></a></p>
<h3>Pure Css Line Graph （纯粹基于 CSS 的线形图）</h3>
<p><a class=Icon href="http://cssglobe.com/post/4175/pure-css-line-graph"><img title=chart12 style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=348 alt=chart12 src="http://blogof.francescomugnai.com/wp-content/uploads/2009/04/chart12.jpg" width=420></a></p>
<h3>Pure Css Data Chart</h3>
<p><a class=Icon href="http://cssglobe.com/post/1272/pure-css-data-chart"><img title=css3 style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=312 alt=css3 src="http://blogof.francescomugnai.com/wp-content/uploads/2009/04/css3.jpg" width=420></a></p>
<h3>CSS Stacked Bar Graphs</h3>
<p><a class=Icon href="http://www.thewojogroup.com/2008/12/css-stacked-bar-graphs/"><img title=stacked style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=401 alt=stacked src="http://blogof.francescomugnai.com/wp-content/uploads/2009/04/stacked.jpg" width=420></a></p>
<h3>Illustrator tutorial</h3>
<p><a href="http://bartelme.at/journal/archive/creating_graphs/journal/281/"><img class="alignnone size-full wp-image-3111" title=illustrator height=249 alt=illustrator src="http://blogof.francescomugnai.com/wp-content/uploads/2009/04/illustrator.jpg" width=420></a></p>
<p>&#160;</p>
<p>免费工具:</p>
<ul>
    <li><strong><a title=Flot href="http://code.google.com/p/flot/" target=_blank><font color=#006699><u>Flot</u></font></a></strong> - Flot 为 <a href="http://jquery.com/" rel=nofollow><font color=#006699><u>jQuery</u></font></a> 提供的javascript代码库. 容易使用，有特色的图表，提供交互功能(能够放大缩小数据区域等)。 <br><a title=flot href="http://code.google.com/p/flot/" target=_blank><img class="alignnone size-full wp-image-325" title=flot height=100 src="http://webtecker.com/wp-content/uploads/2008/06/flot.jpg" width=325></a>
    <li><strong><a title="Open Flash Chart Open Source Charting Component" href="http://teethgrinder.co.uk/open-flash-chart/" target=_blank><font color=#006699><u>Open Flash Chart</u></font></a></strong> - Open Flash Chart 是一个 Flash 图表组件，很容易安装，提供以下语言的API： PHP, Perl, Python, Java, Ruby on Rails, and .Net 来控制图表。 <br><a title="Open Flash Chart" href="http://teethgrinder.co.uk/open-flash-chart/" target=_blank><img class="alignnone size-full wp-image-326" title=open-flash-chart height=142 src="http://webtecker.com/wp-content/uploads/2008/06/open-flash-chart.png" width=480></a>
    <li><strong><a title=AmCharts href="http://www.amcharts.com/" target=_blank><font color=#006699><u>AmCharts</u></font></a></strong> - AmCharts 是一个动画交互Flash图表。支持： Pie Charts, Line Charts, Scatter/Bubble Charts, Bar/Column Charts, 甚至股票图表。<br><a title=AmCharts href="http://www.amcharts.com/" target=_blank><img class="alignnone size-full wp-image-327" title=amcharts height=170 src="http://webtecker.com/wp-content/uploads/2008/06/amcharts.jpg" width=400></a>
    <li><strong><a title="Emprise Javascript Charts" href="http://www.ejschart.com/" target=_blank><font color=#006699><u>Emprise JavaScript Charts</u></font></a></strong> - Emprise 是一个100% 纯 JavaScript 图表解决方案，并不需要任何 JavaScript 框架. <br><a title="Emprise JavaScript Charts" href="http://www.ejschart.com/" target=_blank><img class="alignnone size-full wp-image-328" title=javascript-charts height=100 src="http://webtecker.com/wp-content/uploads/2008/06/%20-charts.jpg" width=325></a>
    <li><strong><a title=Plotkit href="http://www.liquidx.net/plotkit/" target=_blank><font color=#006699><u>PlotKit</u></font></a></strong> - PlotKit 是一个 图表和图像的Javascript 库. PlotKit 和 <a title=Mochikit href="http://www.mochikit.com/" target=_blank><font color=#006699><u>MochiKit</u></font></a> javascript 库一起工作，支持HTML Canvas 和 Adobe SVG 显示 以及本地浏览器支持。尤其文档非常全。<br><a title=Plotkit href="http://www.liquidx.net/plotkit/" target=_blank><img class="alignnone size-full wp-image-329" title=plotkit height=100 src="http://webtecker.com/wp-content/uploads/2008/06/plotkit.jpg" width=325></a>
    <li><strong><a title=Flotr href="http://solutoire.com/flotr/" target=_blank><font color=#006699><u>Flotr</u></font></a></strong> - Flotr 是<a href="http://prototypejs.org/"><font color=#006699><u>Prototype</u></font></a> 1.6.0.2框架的javascript插件库。 Flotr帮助你在浏览器中创建图表，支持鼠标事件响应，放大缩小，CSS类型支持等。<br><a title=Flotr href="http://solutoire.com/flotr/" target=_blank><img class="alignnone size-full wp-image-330" title=flotr height=150 src="http://webtecker.com/wp-content/uploads/2008/06/flotr.jpg" width=295></a>
    <li><strong><a title="PHP SWF Charts" href="http://www.maani.us/charts/index.php" target=_blank><font color=#006699><u>PHP/SWF Charts</u></font></a></strong> - PHP/SWF 是一个简单支持web图表的强大工具，你能使用 PHP 来收集数据，并发送给flash，支持很多图表类型： Line, Column, Stacked column, Floating column, 3D column, Stacked 3D column, Parallel 3D column, Pie, 3D Pie, Bar, Stacked bar, Floating bar, Area, Stacked area, Candlestick, Scatter, Polar, Mixed.<br><a title="PHP SWF Charts" href="http://www.maani.us/charts/index.php" target=_blank><img class="alignnone size-full wp-image-331" title="php swf" height=100 src="http://webtecker.com/wp-content/uploads/2008/06/phpswf.jpg" width=325></a>
    <li><strong><a title=visifire href="http://www.visifire.com/" target=_blank><font color=#006699><u>Visifire</u></font></a> </strong>- Visifire 是用 Silverlight 做的，是一个开源可视化数据组件，使用Visifire你能创建动画 Silverlight 图表，支持 ASP, ASP.Net, PHP, JSP, ColdFusion, Ruby on Rails 或者 简单 HTML调用.<br><a title=Visifire href="http://www.visifire.com/" target=_blank><img class="alignnone size-full wp-image-332" title=visifire height=230 src="http://webtecker.com/wp-content/uploads/2008/06/visifire.jpg" width=380></a>
    <li><strong><a title="FusionCharts Free Flash Charts" href="http://www.fusioncharts.com/Free/" target=_blank><font color=#006699><u>FusionCharts</u></font></a></strong> - FusionCharts 是一个跨浏览器和跨平台的flash图表组件，能够被 ASP.NET, ASP, PHP, JSP, ColdFusion, Ruby on Rails, 简单 HTML 页面 甚至PPT调用. 几乎所有你知道的语言它都支持。<br><a title=FusionCharts href="http://www.fusioncharts.com/Free/" target=_blank><img class="alignnone size-full wp-image-333" title=fusioncharts height=150 src="http://webtecker.com/wp-content/uploads/2008/06/fusioncharts.jpg" width=301></a>
    <li><strong><a title="JFreeChart - Free Java Chart Library" href="http://www.jfree.org/jfreechart/" target=_blank><font color=#006699><u>JFreeChart</u></font></a></strong> - JFreeChart 是一个开源java图表库，让开发者能够很容易在程序里面显示高质量的图表。 JFreeChart 项目从7年前便开始了，起始于 2000 年1月, 已经有四五万开发者已经使用了JFreeChart。JFreeChart 支持很多种图形文件格式： JPEG, GIF, PDF, EPS and SVG. 这对于java开发者是一个很好的资源。<br><a title=JFreeChart href="http://www.jfree.org/jfreechart/" target=_blank><img class="alignnone size-full wp-image-334" title=java height=117 src="http://webtecker.com/wp-content/uploads/2008/06/java.jpg" width=400></a> </li>
</ul>
<img src ="http://www.cppblog.com/prayer/aggbug/99194.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/prayer/" target="_blank">Prayer</a> 2009-10-22 16:13 <a href="http://www.cppblog.com/prayer/archive/2009/10/22/99194.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>三种报表工具之比较</title><link>http://www.cppblog.com/prayer/archive/2009/10/22/99192.html</link><dc:creator>Prayer</dc:creator><author>Prayer</author><pubDate>Thu, 22 Oct 2009 08:12:00 GMT</pubDate><guid>http://www.cppblog.com/prayer/archive/2009/10/22/99192.html</guid><wfw:comment>http://www.cppblog.com/prayer/comments/99192.html</wfw:comment><comments>http://www.cppblog.com/prayer/archive/2009/10/22/99192.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/prayer/comments/commentRss/99192.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/prayer/services/trackbacks/99192.html</trackback:ping><description><![CDATA[<div>一、Brio/Hyperion：原来叫Brio，现在8.x版本都叫Hyperion了，最高版本8.5</div>
<div>缺点：</div>
<div>1.报表开发起来复杂程度很高，为了实现复杂布局经常需要写大量的JS代码，不适合快速开发。<br><br>2.对自定义SQL的支持不够好，不能自动识别字段类型。</div>
<div>3.不支持自定义SQL中的参数，需要写程序传进去。<br><br>优点：</div>
<div>1.有报表服务器软件，可以快速部署。<br><br>2.适合网页展示，也就是通过JS进行用户和报表之间的互动，或者超复杂数据挖掘报表，如晨星基金评级那样子的报表。</div>
<div></div>
<div>二、Crystal/BO：Crystal被BO收购了，不过现在仍然是两个产品系列，Crystal侧重报表，BO侧重数据挖掘，Crystal最新版11，BO也是11，BOE11r2把Crystal也整合进去了。</div>
<div>缺点：</div>
<div>
<div>1.对表格支持不好，要实现Excel式报表需要手动画线形成表格。</div>
<div>2.Crystal Enterprise Server不够成熟，不支持报表属性的批量设置，可能需要购买SDK编程设置才行。</div>
<div>3.对某些复杂SQL有bug，当然这个是因为用的多，别的未必就没有类似bug。</div>
</div>
<div>
<div>4.导出成带格式的Excel样子比较恶心，不过其他两个压根就没这个功能。</div>
<div>5.导出Excel的时候对于Oracle的long类型字段有一些格式上的问题。</div>
</div>
<div>优点：<br><br>1.类Word界面，用户界面很友好，排版也容易。</div>
<div>2.图表类型丰富，细节做得很好。</div>
<div>3.大量其他软件的支持。很多ide都内嵌一个小型crystal。</div>
<div>4.Crystal Enterprise Server部署起来很容易。</div>
<div>5.SDK比较成熟。</div>
<div><br><br>三、润乾：国产软件，算是做得挺不错的了。</div>
<div>缺点：</div>
<div>1.细节还不够严谨，饼图比较难看。</div>
<div>2.设计界面不好看，启动速度也慢。</div>
<div>3.没有成型的报表服务器，需要自己部署它的jar包，也没有缺省的权限控制、发布这些功能，需要用它的api自己开发。</div>
<div>优点：</div>
<div>1.基于Excel的形式，对于制作表格特别方便。</div>
<div>2.设计思想比较灵活，对于实现同比、环比这些功能很方便很容易，前两者要想实现这个一个需要编程，一个干脆实现不了。</div>
<div>3.国货。</div>
<div></div>
<div>除了这三个还有一个比较有名的Cognos，在BI方面据说最好，但因为很贵，没有考察。</div>
<img src ="http://www.cppblog.com/prayer/aggbug/99192.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/prayer/" target="_blank">Prayer</a> 2009-10-22 16:12 <a href="http://www.cppblog.com/prayer/archive/2009/10/22/99192.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>产业观察：并购引发BI市场动荡</title><link>http://www.cppblog.com/prayer/archive/2009/10/22/99191.html</link><dc:creator>Prayer</dc:creator><author>Prayer</author><pubDate>Thu, 22 Oct 2009 08:11:00 GMT</pubDate><guid>http://www.cppblog.com/prayer/archive/2009/10/22/99191.html</guid><wfw:comment>http://www.cppblog.com/prayer/comments/99191.html</wfw:comment><comments>http://www.cppblog.com/prayer/archive/2009/10/22/99191.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/prayer/comments/commentRss/99191.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/prayer/services/trackbacks/99191.html</trackback:ping><description><![CDATA[<span class=a14c id=zoom>&nbsp;
<p style="TEXT-INDENT: 2em">Business Objects并购Crystal
<p style="TEXT-INDENT: 2em">　　BO长期以来在动态查询和终端用户报表方面都是非常优秀的。但最近几年BO在和Cognos的竞争中失掉了一些市场份额，这很大程度上是由于BO的核心产品企业版6最新的版本迟迟未能上市。
<p style="TEXT-INDENT: 2em">　　并购Crystal恰好满足了BO一直在努力提高的产品在前端报表领域内的竞争力。这次并购Crystal，BO弥补了自身的某些缺陷，并且拓宽了它的客户群，因为这些客户原来都是Crystal报表的用户。另外，通过购买Acta，BO获得了ETL的功能，满足了用户全方位的需求。BO现在需要提高的一个重要地方就是OLAP，虽然大部分的数据库厂商能够提供OLAP引擎，也就是说对于一个BI产品系列来讲OLAP引擎并不是必须的，但提供一个一流的OLAP浏览器也是非常重要的。两公司在合并后必须尽快地改进CrystalAnalysis和BO的OLAP工具，以便能够有一个一流的OLAP浏览器。
<p style="TEXT-INDENT: 2em">
<p style="TEXT-INDENT: 2em">Hyperion并购Brio
<p style="TEXT-INDENT: 2em">　　得到Brio后，Hyperion填补了它的业务管理平台(BPM)中的不足部分(比如说动态SQL查询和报表，企业报表等)，这种补充很好地消除了两者之间的重叠部分从而能够高度的互补。Brio每年的销售额只有Hyperion的1/5，因此Brio的公司规模和商业模式都比Hyperion小得多，这也使得它们比Business Objects/Crys-tal的合并稍微的容易一些。</p>
</span>
<img src ="http://www.cppblog.com/prayer/aggbug/99191.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/prayer/" target="_blank">Prayer</a> 2009-10-22 16:11 <a href="http://www.cppblog.com/prayer/archive/2009/10/22/99191.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>