[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;'>
目录
相关文章
|
7月前
若依框架 --- 修改默认跳转页面
若依框架 --- 修改默认跳转页面
785 0
|
Web App开发
修改chrome插件
背景 例子为:ModHeader插件,顾名思义可以修改request header的插件,官方地址为:https://chrome.google.com/webstore/detail/modheader/idgpnmonknjnojddfkpgkljpfnnfcklj 研发通过新增/修改req...
3119 0
|
3月前
|
前端开发 PHP 数据安全/隐私保护
WordPress独立资源下载页面插件,基于Xydown美化
xydown是一款wordpress的独立下载页面插件,主要适用于wp建站用户使用,有些用户在发布文章的时候想要添加一些下载资源,使用这款插件可以把下载的内容独立出来,支持添加本地下载或者百度网盘蓝奏网盘的网址,并且可以自定义文件信息,包括设置文件名称、文件大小、更新日志以及适用版本等内容,同时还支持自定义文件信息以及添加自定义广告等。
116 1
WordPress独立资源下载页面插件,基于Xydown美化
|
4月前
|
开发工具
如何修改Vscode查看源代码管理版本变动文件的查看方式
这篇文章介绍了如何在VSCode中通过源代码管理插件修改查看源代码版本变动文件的方式,提供了树形视图和列表视图两种查看方法,并说明了如何通过设置选项来切换查看方式,帮助用户根据自己的喜好更高效地查看和管理代码变动。
如何修改Vscode查看源代码管理版本变动文件的查看方式
|
5月前
|
Web App开发 JavaScript 前端开发
Chrome插件实现问题之在Manifest V2中,设置插件的图标要如何解决
Chrome插件实现问题之在Manifest V2中,设置插件的图标要如何解决
|
开发框架 前端开发 JavaScript
【前端】简单配置使用百度在线文本编辑器UEditor
在本篇文章中,我们讲一起了解下百度在线文本编辑器UEditor的简单配置使用 目前在线编辑器插件网上挺多的,个人觉得UEditor在UI和功能上还是不错的
982 0
|
开发者
Google浏览器中扩展插件方法
Google浏览器中扩展插件方法
357 0
Google浏览器中扩展插件方法
解决web项目导入到idea后,文件的蓝色小点消失了(web文件资源根路径)
解决web项目导入到idea后,文件的蓝色小点消失了(web文件资源根路径)
解决web项目导入到idea后,文件的蓝色小点消失了(web文件资源根路径)
|
PHP
【laravel项目】@9 laravel-admin汉化菜单 新增模块
【laravel项目】@9 laravel-admin汉化菜单 新增模块
159 0
【laravel项目】@9 laravel-admin汉化菜单 新增模块
|
XML Java 应用服务中间件
eclipse关于xml文件有两种方式显示 Design方式-图形化方式,Source-源码方式
eclipse关于xml文件有两种方式显示 Design方式-图形化方式,Source-源码方式
1146 0
eclipse关于xml文件有两种方式显示 Design方式-图形化方式,Source-源码方式