pentaho Adhoc 分析

Adhoc 技术分析

 

 

 

 1.       汉化页面

页面所有的信息都在两个js的资源包:

/webContent/adhoc/js/common/ui/messages/nls/message_strings.js

/webContent/adhoc/js/ui/messages/nls/message_strings.js

 

汉化需要在/webContent/adhoc/js/ui/messages/nls/下面新建zh-cn文件夹,并将nls/message_strings.js复制到/webContent/adhoc/js/ui/messages/nls/zh-cn,然后将message_strings.js的相应的英文翻译为中文。

注意:如果没有找到zh-cn下的message_strings.js,系统会采用/nls/message_strings.js。所以直接修改/nls/message_strings.js也可以。模型、视图等信息要修改metadata里面的地方,具体参见下文metadata designer使用指南。

参考文献:http://wiki.pentaho.com/display/PentahoDoc/Localization

2.       报表模版

模版位于Solutions/system/waqr/templates下面,Solutionspentaho的方案。

新建自己的文件夹,index.xml中描述要建立的文件夹的信息以及其它信息,这个文件很重要,系统会依照它来标示一个模版。简单的变化可以修改report.xreportspecthumbnail.png等相关文件里面的内容,更高的要求要用Report Designer来做。详情参照后文Report Designer使用指南。

index.xmlreport.xreportspec等文件具体参数的含义请参照参考文献。

参考文献: 

http://wiki.pentaho.com/display/ServerDoc1x/Adhoc+Reporting+Templates

3.       metadata designer指南

    这里面涉及了一些概念如 domainbusiness modelsbusiness tablebusiness view等,要先有所了解,可以参见 http://blog.csdn.net/wengyupeng/archive/2008/08/07/2782655.aspx

   或去http://d.download.csdn.net/source/479228下载,我做的一点概念翻译。

   首先要pentaho-metadata-editor,打开以后

连接选择要连接的数据库

 

然后创建业务模型、关系、视图等

各种操作可以通过右键、提示信息等完成。完成保存以后,可以通过菜单file下面的publish来发布到solution里面。具体如下图,

发布密码在Solutions/system/publisher_config.xml里面设定,用户、密码为登陆pentaho平台的用户、密码(password默认)。

更多信息参照参考文献。

参考文献:http://wiki.pentaho.com/display/PentahoDoc/Pentaho+Metadata+Editor

4.       Report designer指南

要使用pentaho- Report-designer,打开以后

 

左边为一些可拖移的控件

右边是结构、属性

单击data sets右键,可以和数据库连接。

报表函数提供很多函数作为数据计算的工具,可以依据自己要求向报表里面添加

File 菜单下面的publish to server 可以用来发布做好的报表到solution

Import pentaho reporting report definition (xml) 可以导入 xml.xreportspec(模版文件)文件

 

通过report wizard可以快速生成一些既有格式的报表,最后生成的文件为.xreportspec

其它具体操作细节可参照参考文献。

参考文献:http://wiki.pentaho.com/display/Reporting/Report+Designer

5.       adhoc js概述

 

Adhoc 的首页是waqr.html,用到了很多js 以及ajaxdojo包。

    所有的页面初始化都是通过html标签的id进行的,比如页面的

<td id='busyContainer' style='width:100%;'>

Js 里面会依据'busyContainer',进行相应的初始化,所以要跟踪任何控件只要在eclipse里面搜对应的id就可以。上面的<td id='busyContainer'对应的效果为

webContent/adhoc/js目录下发应了adhoc相应的功能结构

   Controller里面的Controller.js是整个部分的控制器,负载加载model等。RepositoryBrowserController.js是负责页面从solution获取路径的,model里面的js 负责将metadata editor 生的metadata.xmi(位于Solutions/samples下面)文件转化分解为系统的数据格式。结果如下图所示

这些里面的数据,都是model里面的jsmetadata.xmi提取出来的。

有几个重要的js ,位于/webContent/adhoc/js/ui下面

WizPg0.js-WizPg3.js对应的adhoc查询的1-4步。WaqrWizard.js是总的控制器。这几个js是分析页面逻辑的入口。

其它每个部分对应一个js,具体不再赘述。2页左边位置,对应的jsAvailableItemsCtrl.js

你可能感兴趣的:(数据库,report,dojo,报表,templates,wizard)