Adhoc 技术分析
1. 汉化页面
/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
index.xml,report.xreportspec等文件具体参数的含义请参照参考文献。
参考文献:
http://wiki.pentaho.com/display/ServerDoc1x/Adhoc+Reporting+Templates
或去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
左边为一些可拖移的控件
右边是结构、属性
单击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
Adhoc 的首页是waqr.html,用到了很多js 以及ajax的dojo包。
所有的页面初始化都是通过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里面的js从metadata.xmi提取出来的。
有几个重要的js ,位于/webContent/adhoc/js/ui下面
WizPg0.js-WizPg3.js对应的adhoc查询的1-4步。WaqrWizard.js是总的控制器。这几个js是分析页面逻辑的入口。
其它每个部分对应一个js,具体不再赘述。2页左边位置,对应的js是AvailableItemsCtrl.js。