开发者社区> jun_peng> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

[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;'>

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
JavaScript 作用域链简述
JavaScript 作用域链简述
23 0
用java做一个简单的打字游戏
Java也是可以做桌面程序的。只不过需要运行在装有JDK的电脑环境上,所以应用不是很广泛,但是用来提高自身的代码逻辑还是可以的!偶有一天看到金山的打字通,就想起何不做个简单的打字游戏用来练练手。
1433 0
[saiku]saiku3.8项目搭建步骤
saiku3.8项目搭建步骤: 1.下载saiku源码和saiku项目(内置tomcat,可直接运行),这里我用的都是3.8版本。 2.在MyEclipse中新建web项目saiku 3.在下载的saiku项目中找到\tomcat\webapps\saiku\WEB-INF\lib文件夹,将里面的jar包全部复制到新建的saiku项目的WEB-INF\lib中。
1896 0
Javascript类型转换的规则
Javascript的变量是松散类型的,它可以存储Javascript支持的任何数据类型,其变量的类型可以在运行时被动态改变。请看示例: 1 2 3 var n = 10; n = "hello CSSer!"; n = {}; 上面的示例中,首先声明n变量并初始化其值为10(整数类型),接着将字符串“hello CSSer!”赋值给n,接着再赋一个对象给它,最后n的类型是对象类型。
731 0
50个最实用的 Photoshop 实例教程【照片特效篇】
  这是2012年最佳 Photoshop 教程系列文章的第二篇,教您如何给照片添加特效。这些教程是从众多教程中精选出来的,如果你跟着教程一步一步的学习,能够学到很多新技术,例如照片特效处理,文字效果、绘图技巧和网页布局技巧等等,快速成为真正的 Photoshop 高手。
1206 0
[转载]《博客园精华集》Winform筛选结果(共105篇)
本文转载:http://hi.baidu.com/322yali/blog/item/07bb2438e86d103796ddd86f.html
575 0
+关注
jun_peng
架构,编程语言相关技术专家
10
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载