[saiku] 簡化/漢化/設置默認頁


 

上一篇分析了schema文件 [ http://www.cnblogs.com/avivaye/p/4877832.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;'>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM