老夫的头像 沈胜衣(Jeason Zhao)
Jeason,蜀人,才高三斗,学富一箱。自比子建,放荡不拘行迹,豪语难晓天高;不敢自诩风流,任人笑我痴狂。不欲仕途,个性使然。所到之处,三言不尽,五言难足,鸡飞狗跳盖矣。谓蜀者,鼠也!
QQ号码: 2758625
站点日历
<<  九月 2008  >>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345
QQ上有个小伙子想弄这么一个东西,我非高人,只是一个应用者,勉为其难,做一个图片的教程,安装 Hudson服务到Tomcat6.0下面,但愿能给兄弟们一些帮助。 首先我们需要准备材料 JDK1.5以上版本 tomcat6.0以上版本 Hudson的包 OK,先安装JDK和tomcat,(别给俺说你不知道要设置 JAVA_HOME)然后解开hudson的包,得到 hudson.jar 。 为了使得您的系统干净,请删除在 tomcat安装目录下webapps下面的所有文件和目录,嗯,是的,所有的文件和目录,不留一个。然后删除tomcat下的wo... [更多...]
本次发布是为了部份同志的信箱不能接受大的附件而重新做的发布版本,这个版本去掉了FusionChart的图形支持,使用的是VisiFire的图形支持,和演示中的一致。 本次发布的路径为 http://jeasonpublic.uubox.net/browse.u/Public/%E6%8A%A5%E8%A1%A8%E7%B3%BB%E7%BB%9FERIS3.7.5%E6%BA%90%E4%BB%A3%E7%A0%81/ 其中几个文件 1、报表的基本操作 和 2、参数配置s 演示动画 3、列操作和图操作  演示动画 报表系统V2.1.8概要设计(含部份V2.3功能)  文档 ... [更多...]
非常抱歉,在这篇文章中,我又要开始展现我的狂悖,如果你有什么不爽的,尽量使用回复不要使用邮件——因为我可能会将这类的邮件毫不犹豫的放入垃圾桶。当然,你不可能将这篇文章放入垃圾桶,算得上我逼着您看的。 开宗明义,为什么叫做业界谣传:因为从根本上来说,没有人真正“会”使用自定义报表的功能。 从那个混战的BI开始吧,从那个时候开始,报表真正被当成一个东西来正式对待了,真不容易啊,以前的二奶这下子扶正了——可惜时至今日,还终究是个小妾,不成大气!现在的报表,怎么看身份怎么尴尬,奶奶不疼老爸不爱又不能扔,真是一个可怜的孩子啊。 BI的项目,我所经历过的都没有成功的,(亚信的可能成功了,我没能等到那一天,... [更多...]
在这个版本(V3,CodeName:ERIS)的最后时间,我逐步将设计的报表系统的设计思路慢慢的发布到我这个Blog上,其实这就是一个总结的过程。在这个时候V3的功能按照蓝图基本已经完成了,开始进入V4的正式开发,就在这个拐点的时候,我提出了一个问题问自己:还有必要更加强化报表系统么,难道别的工具就如此不堪? 带着这个问题,我再次的对现有的开源和商业的报表系统进行了一番回顾,以便再次给我的报表系统做一个立足点。本章就这些问题进行一番简单的讨论,但愿我能再次肯定自己的成绩不是白做,而且可以按计划的开发V4的勇士版本(V4的CodeName已经确定为 Aeneas)。 我想我还是明确我需要的报表是... [更多...]
数据库建模的确是个学问,怎么建模都是套路固定,而实际生产出的东西却是各个不一,关键是理解数据内涵的不一致导致最终的产品不一致。例如我们对于授权系统的建模,就可以抽取出很多的方案,有一点是可以确定的,基础元素总是相同的。 数据建模的步骤和构架的步骤差不多: 理解问题 定义需求 找出关键点和关联部分 将设计可视化 复核模型计划和测试计划 测试和复核 在数据建模方面一般而言会遵循第三范式的约束,而经过这些年BI的开发,我发觉在BI项目中很难完全依照第三范式进行数据约束,聚合表的最直接的作用就是将数据访问的速度提高,标准的以空间换时间的做法(另外... [更多...]
报表系统需要支持伸缩性,需要使用分布式部署和协同工作,必须有一定的技术根源支持,本节主要针对报表系统的缓存模块进行说明,本节不会描述在报表系统中如何个实现负载均衡等等信息,只讨论如何实现缓存以及缓存机制的作用。 缓存设计的首要任务是搞清楚需要缓存什么样的数据以及如何进行缓存。报表系统需要缓存的数据如下: 1、报表的基础定义信息:XML文本信息,使用键值直接访问,键值就是报表的唯一ID,报表系统认为,在系统中报表的ID总是唯一的,如果存在相同ID的不同报表定义,则后者“很有可能”覆盖前面录入的报表定义,这里存在一个通知用户的问题和报表定义覆盖的问题。报表系统不对定义进行特殊处理,直接覆盖。报表基... [更多...]
先增加两个备忘 持续负担(Continous Tax): “持续负担”这个词是说,当你需要维护或使用用Ruby或Python这样的语言编写的API,你能够得到的信息很少,即便你通过查看测试代码理解了API的含义(有谁这样做过吗?),这种理解和知识也是短暂的,一年之后你需要再次修改同一段代码的时候,你还要再重复一次这样的过程…… 阻抗失配(impedance mismatch problem)(another document) “阻抗失配”这一词组通常用来描述面向对象应用向传统的关系数据库(RDBMS)存放数据时所遇到的数据表述不一致问题。C++程序员已经被这个问题困扰了好多年,而现在的Jav... [更多...]
Children函数 在IE下面有个比较好用的函数children,而在FF下面只能用childNodes属性替代,增加一个方法。 if(window.attachEvent==null && HTMLElement.prototype.children==null){    HTMLElement.prototype.__defineGetter__("children",     function ()     {         var ret =[];         for (var i=0;this.childNodes!=null && i&l... [更多...]
在使用FusionChart的时候,生成的Flash上会产生层遮挡问题,如下所示 正确的显示应该是 解决的办法是修改FusionChart.js文件 函数 infosoftglobal.FusionCharts 增加一行 this.addParam('wmode', 'transparent'); 实例如下 但是这会引起背景色的变化,所以需要自己设置Chart的背景属性
昨天整理了一下如何使用JS实现FusionCharts的自动高度和宽度适应,今天将代码贴出来 function createChartSection(chartswf,divname,xmldata,chartid)  {   if(document.readyState!="complete")   {    var argu =$A(arguments);    var fakeFunction=(function(){ createC... [更多...]
在之前的文章中,我说道:之所以没有选择Flex下的图形展现工具是因为在这个FusionCharts的组件中存在问题,设置图形的高度和宽度需要强制指定像素值。 而在今天,我成功的解决了这个问题,实际上,这个问题并非对方的缺陷,而是我自己没有下功夫去研究这个东西。 在FusionChats包中重要的JS文件为 FusionCharts.js文件,调用的函数为 infosoftglobal.FusionCharts = function(swf, id, w, h, debugMode, registerWithJS, c, scaleMode, lang, ... [更多...]
这次的版本更新非常疯狂,第一是版本更新的频率高度集中,一个星期版本号狂升了10个,第二个是功能疯狂,居然增加了图形报表展现的功能,而且用的是silverlight的控件。 好的,看看图形报表的演示效果吧: 菜单在这里 另外,在4月29日,内部进行了产品发布会(那个时候的版本是3.7.4),一副最有价值的图片生成了。 另外,增加了两张比较使用的参数生成的图片 版本更新历史如下: 3.6.5.23 修正在IE中设置的时候出现的ShrinkByDimenSion无法设置的问题 3.6.5.24 修正函数LineSum的错误 3.6.5.25 增加被过滤的... [更多...]
版本发布历史: * 3.6.4 支持菜单文字配置项目,扩展配置属性,支持动态属性 * 3.6.4.11 支持在参数页面保存Fiter设置 * 3.6.4.12 修正取得页面的Javascript块位置 * 3.6.4.13 支持在参数页面和结果页面的JAVAScript等同处理 * 3.6.5 支持多个二次过滤的条件组合,V3版本只支持AnD的配置,V4版本开始支持括号等等配置 * 3.6.5.14 修正二次过滤中的数据索引错误 菜单文字配置 在联通总部项目中,对方需要我们对菜单栏上的文字进行修改,俺一不做二不休,干脆做了一个配置在主配置文件的Web下 配置实例如下: &... [更多...]
沈胜衣 ,2008年04月18日  
本文是ERIS报表系统的基础理论一篇,主要包含下面几个方面的内容: 什么是参数 参数的基本属性 报表如何处理参数 如何配置报表参数 报表参数的展现方式 自定义报表中的参数处理 参数表达式 FAQ 1、什么是参数 参数即是报表的查询的条件,用户可以使用报表系统提供的参数输入界面输入参数值对报表进行过滤。 对于数据源为数据库的报表,参数等同于SQL语句中的占位符,在同一张报表中,相同的占位符标识相同的参数,且没有大小写区分。 对于自定义数据源的报表,参数是由数据源决定如何处理的,所以,参数是由数据源... [更多...]
沈胜衣 ,2008年04月17日  
以下为报表工具的roadmap。五斗先生是我的另外一个马甲,取义陶潜的五斗米折腰故事,陶先生高尚,我就是为五斗米折腰的人;另外也有才高五斗的意思,别人才高八斗,我才高五斗,中等偏上;搞搞笑。 另外:网上一个小MM发了一个文档给我,居然是2.18的设计文档,有人说要拿这个东西收小妹妹100元,在此严厉的谴责,真没道义,拿别人的东西去卖钱,咋人品这么差呢。 截图了,
沈胜衣 ,2008年04月16日  
本章描述在报表系统中处理的数据类型的具体细节,数据类型定义包含在通用基础包中,参考《ERIS:底层通用平台功能介绍和使用手册》可以得到源代码的相关细节。 本章主要包含以下几个方面的内容: 概述 数据类型标识 JAVA向上造型 数据转换 已知问题和改进 概述 类型系统是构成整个报表系统的关键部分,类型系统主要为了满足数据抽象和简化报表数据抽象。报表系统支持以下几种数据类型: 字符串类型:基本字符串类型,最大为64K字节 整数:基本整型,64位字长 浮点数... [更多...]
的确够快吧,呵呵,在上周五发布3.6.0 CTP版本之后,小版本升级了三个,没有办法,都是必须要开发的功能,越早完成这些功能,我越有时间腾出手来规划下一步的开发——好像不是那么回事,呵呵。 本次更新主要有以下几个: 支持多种导出,目前虽然只有Excel导出,但是可以使用配置增加导出的实现了。 支持文件方式导出和流方式导出。 支持固定表头实现。 支持排序的时候使用函数进行排序。 修正导出Excel的风格,增加报表名称和描述信息 导出 在以前的版本中,Excel导出是作为一个默认的功能存在的,本次将Excel导出和后面要增加的PDF导出、CSV导出等等作为统一的处理方式,可以外接处... [更多...]
晚上更新了一下代码,由于晚饭和北京联通的客户吃饭,导致精神不是很好,所以只发布Version 3.6.0 CTP版本,本次更新的前面版本是3.5.9 RC2 ,修正了一些缺陷,将模型修正为支持复杂的报表定义。 Version3.6.0 CTP版本的更新包括 二次过滤功能 配置文件修改,支持多种导出模式。 配置文件修改,支持导出模式的文件方式和流方式。 访问模式变更,增加V2版本以前的使用JSP访问模式。 访问模式缩减,删除TagLib的访问方式。 客户端脚本更新,支持旋转列、计算列和原始列的排序。 当前已知BUG ... [更多...]
置顶忏悔:看看人家MS的文档,一个开发库的文档如此之强,再看看咱家自己的文档,真是高下立分啊,忏悔!别TM和我说人力资源的问题,关键是做事的态度,否则给200人也是白搭。  JAVA对于Office文档的支持,更多的是对EXCEL文档的支持,业界闻名的Apache基金会的POI就是做这个工作的,在Office2007推出之后,POI在3.0版本中更新了错误信息,当打开Offce2007的文档的时候,POI会很负责任的告诉你:你打开的文件是Office2007的格式。(PS:我不打算描述其他JAVA Office库的支持情况) 我们的应用现在也停留在了这个地... [更多...]
在讲解旋转算法的实现之前,我需要讲解什么是旋转。 旋转这个概念来源于OLAP的属于Pivot,解释如下: 旋转是变换维的方向,即在表格中重新安排维的放置(例如行列互换)。 在这里涉及到两个重要的概念:度量和维度。维度是人们观察客观世界的角度,是一种高层次的类型划分。维度一般包含着层次关系,这种层次关系有时会相当复杂。通过把一个实体的多项重要的属性定义为多个维度(dimension),使用户能对不同维度上的数据进行比较。度量则是表达数据的指标,例如收入等等,更多的信息参考ERIS系列的其他文章。 先以一张最简单的表格作为例子(顾不得红色刺眼了,... [更多...]