[saiku] 简化/汉化/设置默认页

简介: 原文链接:https://www.cnblogs.com/avivaye/p/4877882.html 在安装完毕Saiku后,由于是社区版本,所以界面上存在很多升级为商业版的文字。

原文链接:https://www.cnblogs.com/avivaye/p/4877882.html


在安装完毕Saiku后,由于是社区版本,所以界面上存在很多升级为商业版的文字。

这一篇就讲述下如何简化saiku的操作界面

 

1、去除查询页面的升级为商业版的提示

复制代码
You are using Saiku Community Edition, please consider upgrading to Saiku Enterprise, or entering a sponsorship agreement with us to support development. info@meteorite.bi

去掉上述提示的修改方法如下:

1)在 saiku-server\tomcat\webapps\ROOT 目录下找到index.html文件,注释或者删除如下内容:

<script type="text/x-jquery-tmpl" id="template-upgrade">
  <div class="upgradeheader">
    You are using Saiku Community Edition, please consider <a target="_blank" href="http://saiku.meteorite.bi/support">purchasing support,     or entering a sponsorship agreement with us</a> to support development. <a href="mailto:info@meteorite.bi?subject=Supporting Saiku">i    nfo@meteorite.bi</a><span class="close_tab sprite"></span>
  </div>
</script>

2)在 saiku-server\tomcat\webapps\ROOT\js\saiku\views 目录下找到 Upgrade.js 文件,找到如下代码注释或者删除:

$(self.workspace.el).find('.upgrade').append("....");
复制代码

 

2、去除登陆页面的Evaluation Login

复制代码
在 saiku-server\tomcat\webapps\ROOT\js\saiku\views 目录下找到 LoginForm.js 文件,找到如下代码注释或者删除:


"<% if (Settings.EVALUATION_PANEL_LOGIN) { %>" +
"<div class='eval-panel'>" +
"<a href='#eval_login' class='i18n' id='eval-login'>Evaluation Login</a>" +
"<div class='eval-panel-user clearfix' hidden>" +
"<ul>" +
"<li class='i18n'>Administrator</li>" +
"<li class='i18n'>Username: admin</li>" +
"<li class='i18n'>Password: admin</li>" +
"</ul>" +
"</div>" +
"</div>" +
"<% } %>" +
复制代码

 

3、去除导航栏中无用按钮:关于

在 saiku-server\tomcat\webapps\ROOT 目录下找到index.html文件,注释或者删除如下内容:
<li><a id='about' href='#about' title='About' class='about i18n sprite'></a></li>

 

4、去除导航栏中无用按钮:帮助改进翻译

复制代码
在 saiku-server\tomcat\webapps\ROOT\js\saiku\plugins\I18n 目录下找到plugin.js文件,注释或者删除如下内容:

<form class='workspace_results'>" +
"Your name: <input type='text' name='translator_name' />" +
"<p>Please fill in the appropriate translation in the blanks provided:<p>" +
"<% _.each(translation_table, function(val, key) { %>" +
"<div><b><%= key %></b><br />" +
"<input type='text' value='<%= val.value %>' name='<%= val.name %>' />" +
"</div>" +
"<% }); %>" +
"<div><input class='submit-translation' type='submit' value='Submit translation' /></div>" +
"</form>
复制代码

 

5、去除登陆后的欢迎页面

复制代码
在 saiku-server\tomcat\webapps\ROOT\js\saiku\views 目录下找到  SplashScreen.js 文件,找到如下代码注释或者删除:

<div> 
<div id='splash'> 

<nav> 
<ul> 
<li class='active'><a class='welcome' href='#'>Welcome</a></li>
<li><a class='features' href='#'>Features</a></li>
<li><a class='help' href='#'>Get Help</a></li>
<li class='enterprisetoggle enterprise'><a class='enterprise' href='#'>Enterprise</a></li>
</ul> 
<h2>Explore Data. Visualise. Act.</h2> 
</nav>

 <section class='tabs'> 
 <section style='margin-top:50px' id='welcome'> <h1 class='saikulogo'>Saiku</h1> <p>Saiku has the power to change the way you think about your business and make decisions. Saiku provides powerful, web based analytics for everyone in your organisation. Quickly and easily analyse data from any data source to discover what is really happening inside and outside your organisation. </p><h2>Quick Links</h2> <ul class='quicklinks'> <li><a class='run_query' href='#'>Create a new query</a></li><li><a href='http://saiku.meteorite.bi' target='_blank'>Visit the website</a></li><li><a href='http://jira.meteorite.bi' target='_blank'>Report a bug</a></li></ul> <p class='fixed'><a class='enterprisetoggle button' href='http://meteorite.bi' target='_blank'>Get Enterprise</a></p><h2>News</h2> <div id='news'></div></section> 
 
 <section style='display:none !important;margin-top:50px' id='features'> <h1 class='saikulogo'>Saiku</h1> <h2>Features</h2> <h3>Web Based Analysis</h3> <p>Saiku provides the user with an entirely browser based experience. We support all modern browsers, and our user interface is 100% HTML and Javascript. <br/>Saiku uses REST based communications, this allows the development of custom user interfaces and facilitates the easy integration of the Saiku Server into other applications and services.</p><h3>Standards Compliant</h3> <p>Saiku is based upon the Microsoft MDX query language and will work on most JDBC compliant data sources. We also provide a number of connectors to NOSQL data sources.</p><h3>Dynamic charting</h3> <p>Saiku uses a flexible charting engine to provide a wide range of charts and graphs. These are all HTML & Javascript only and don't require flash to be installed on the computer.</p><h3>Pluggable visualisation engine</h3> <p>Saiku Enterprise boasts a fully pluggable visualisation engine. This allows developers to build third party extensions and plug them into Saiku Enterprise to extend or replace the existing visualisations.</p></section> 
 
 <section style='display:none !important;margin-top:50px' id='help'> <h1 class='saikulogo'>Saiku</h1> <h2>Help</h2> <p>We provide Training, Consulting and Support to ensure you get the most from Saiku and your data. Our services cover all aspects of data analysis including data strategy, design, architecture, deployment and application/software support.</p><table style='margin-bottom:100px;'> <tr> <th>Wiki</th> <th>Forums</th> <th>Support</th> </tr><tr> <td>Why not try our new <a href='http://wiki.meteorite.bi' target='_blank'>Wiki site</a><br/>for community documentation.</td><td>We also have our new <a href='http://forums.meteorite.bi' target='_blank'>forums</a><br/> for help and support.</td><td>If you require more, <br/><a href='mailto:info@meteorite.bi'>contact us</a> for support!.</td></tr></table> </section> 
 
 <section style='display:none !important;margin-top:50px' id='enterprise'> <h1 class='saikulogo'>Saiku</h1> <h2>Enterprise</h2> <p>Saiku Enterprise is our fully supported and tested server and Pentaho plugin system. Buy Saiku Enterprise from as little as $15 per user per month and enjoy the addtional features Saiku Enterprise has to offer</p><p>To find out more visit our <a href='http://meteorite.bi' target='_blank'>site</a> or <a href='mailto:info@meteorite.bi'>schedule a call</a> with one of us and we can show you why you should choose Saiku Enterprise!</p></section> </section>

 </div>
 </div>
复制代码

 

 6、删除其他无关代码

在 saiku-server\tomcat\webapps\ROOT 目录下找到index.html文件,注释或者删除如下内容:

<script type="text/javascript" src="js/ga.js"></script> <script src="http://localhost:9000/livereload.js"></script>
删除原因:ga.js是GA代码,用于统计的。livereload.js本身是不存在的,请求一直是404。

 

7、修改或者删除LOGO

在 saiku-server\tomcat\webapps\ROOT 目录下找到index.html文件,修改或者删除如下内容:

<h1 id='logo'>
  <a href='http://www.analytical-labs.com/' title='Saiku - Next Generation Open Source Analytics' target="_blank" class='sprite'>Saiku</a>
</h1>

 

8、汉化操作

转载自:http://blog.csdn.net/huyou1983216/article/details/48731663  

Saiku-ui 为前端,使用 Backbone.js 框架,此框架为一个mvc模式的前端框架。

 

可单独对saiku-ui进行修改

 

复制代码
1.找到中文对照的本地化json文件

/saiku-ui/js/saiku/plugins/I18n/po/cn.json

此文件采用的json串格式,在页面初始化第一次调用本地化操作时,会先初始化此文件到内存中,因此我们在操作本地化时,可以拿到Saiku.i18n.po_file 也就是 cn.json 

2.找到汉化操作的js插件

/saiku-ui/js/saiku/plugins/I18n/plugin.js

saiku处理本地化文件是对含有添加class=”i18n“的html标签进行文本替换,直接修改cn.json的本地化文件无法成功汉化,所以在全文汉化时需要:

1)在全文汉化时需要找到汉化标签所在位置,对此标签添加i18n样式
2)执行汉化代码

方式1:查找所有的.i18n样式的标签进行替换

$(".i18n").i18n(Saiku.i18n.po_file) ;

方式2:自动查找i18n样式的标签进行替换

 Saiku.i18n.translate() ;

差异说明: 
如果使用方法2,那么带有i18n的标签必须依据初始化了
方法1为class中含有i18n的变量进行汉化然后替换到saiku模板中进行展示

备注:
如果需要汉化的标签中的class 同时出现"i18n","i18n_field","i18n_translate", 则说明本地化文件中没有或者中英文对照错误。
复制代码

 

 

9、设置默认页 ( 将saiku中登陆后的默认页面修改为"新建查询"窗口 ) 

参考链接:http://blog.csdn.net/huyou1983216/article/details/48825789

 

复制代码
1)设置默认窗口为打开查询窗口

找到  /saiku-ui/js/saiku/models/SessionWorkspace.js
此文件为初始化工作区的前端代码

在 process_datasources 方法下,将Saiku.tab.add(new 。。。) 注释掉 改为$("#open_query).click(),这样每次刷新或登录后,默认打开的就是"打开查询"的tab页了

if (!Settings.INITIAL_QUERY && paramsURI.splash) {

    //Saiku.tabs.add(new SplashScreen());
    //Saiku.tabs.add(new Workspace());
    $("#open_query").click();

} else if(!Settings.INITIAL_QUERY){

    Saiku.tabs.add(new Workspace());

}

2)设置默认打开的Tab

在 Tab.js 中配置

if(Saiku.session.isAdmin){

    menuitems = {
        "new": {name: "New", i18n: true },
        /* "duplicate": { name: "Duplicate", i18n: true},*/
        /* "closeothers": {name: "Close Others", i18n: true },*/
        "closethis": {name: "Close This", i18n: true }
    };

}else{

     menuitems = {"closethis": {name: "Close This", i18n: true }};

}

在 menuitems中,可以增加自己的上下文,也可以去掉上下文。

3)是否允许关闭TAB

在Tab.js中如下代码:

    template: function() {
        // Create tab
        return _.template("<a class='saikutab i18n' href='#<%= id %>'><%= caption %></a>" + (this.caption != 'Repository' ?  "<span class='close_tab sprite'>Close tab</span>" : "<span class='sprite'>&nbsp;&nbsp;</span>"))
            ({
                id: this.id,
                caption: this.caption
            });
    },

此段代码判断了当前tab 的caption是否是Repository,如果是,则不显示Close tab,否则显示关闭链接
4)设置默认展开全部节点

A 修改样式

class="sprite folder" 为文件夹的样式,去掉 collapsed 样式

class="hide folder_content" 去掉hide样式

 

B 将 <a href="#pager" class="pager sprite"></a> 标签删除掉 

var TabSet = Backbone.View.extend({
className: 'tabs',
queryCount: 0,
dashCount: 0,

events: {
'click a.pager': 'togglePager' ,
'click a.new' : 'new_tab'
},

_tabs: [],

/**
* Render the tab containers
* @returns tab_container
*/
render: function() {
/*$(this.el).html('<a href="#pager" class="pager sprite"></a><ul><li class="newtab"><a class="new">+&nbsp;&nbsp;</a></li></ul>')
.appendTo($('#header'));*/
$(this.el).html('<ul><li class="newtab"><a class="new">+&nbsp;&nbsp;</a></li></ul>')
.appendTo($('#header'));
this.content = $('<div id="tab_panel">').appendTo($('body'));
this.pager = new TabPager({ tabset: this });
return this;
},

 

这样设置完毕后,每次打开都是默认展开节点

复制代码

 

10 互换导航栏Cube和Dimention的位置

复制代码
将index.html里面的

<div class="sidebar_inner">
    <%= cube_navigation %>
</div>
<div class="metadata_attribute_wrapper">
    <%=  _.template($("#template-attributes").html())() %>
</div>

的两个div的位置互换即可

<div class="metadata_attribute_wrapper">
    <%=  _.template($("#template-attributes").html())() %>
</div>
<div class="sidebar_inner">
    <%= cube_navigation %>
</div>
复制代码

 

11 互换位置后左侧底部某些cube项显示不全

这个是CSS样式的问题

在index.html里面class = "accordion-content" 的padding-bottom调大就行了  原来是10px  调整为50px;

<div class='accordion-content' style='padding-bottom:50px;display: block;'>
目录
相关文章
|
Web App开发
修改chrome插件
背景 例子为:ModHeader插件,顾名思义可以修改request header的插件,官方地址为:https://chrome.google.com/webstore/detail/modheader/idgpnmonknjnojddfkpgkljpfnnfcklj 研发通过新增/修改req...
2737 0
|
6月前
ShowDoc配置访问默认为登录界面
ShowDoc配置访问默认为登录界面
25 0
|
8月前
IDEA创建普通动态Web模块(图文教程)1
IDEA创建普通动态Web模块(图文教程)1
148 0
|
8月前
|
Java 应用服务中间件 容器
IDEA创建普通动态Web模块(图文教程)2
IDEA创建普通动态Web模块(图文教程)2
64 0
|
应用服务中间件 区块链
小猫很惊奇!修改tomcat项目的浏览器标签小图标
小猫很惊奇!修改tomcat项目的浏览器标签小图标
429 0
小猫很惊奇!修改tomcat项目的浏览器标签小图标
|
开发者
Google浏览器中扩展插件方法
Google浏览器中扩展插件方法
297 0
Google浏览器中扩展插件方法
解决web项目导入到idea后,文件的蓝色小点消失了(web文件资源根路径)
解决web项目导入到idea后,文件的蓝色小点消失了(web文件资源根路径)
解决web项目导入到idea后,文件的蓝色小点消失了(web文件资源根路径)
Springboot项目启动后获取配置属性,打开浏览器
Springboot项目启动后获取配置属性,打开浏览器
214 0
|
PHP
【laravel项目】@9 laravel-admin汉化菜单 新增模块
【laravel项目】@9 laravel-admin汉化菜单 新增模块
116 0
【laravel项目】@9 laravel-admin汉化菜单 新增模块
|
Web App开发
【视频】自然框架之分页控件的使用方法(二) 下载、DLL说明和web.config的设置
    上次说的是QuickPager分页控件的PostBack的使用方式,也提供了源码下载。但是有些人下载之后发现有一大堆的文件夹,还有一大堆的DLL,到底要用哪个呀?不会都要用吧。     当然不需要全都引用了,只需要引用三个DLL就可以了。
1081 0