2011-03-04 16 views
1

我的團隊一直在創建儀表板和鑽取報告。我們已經過去了概念驗證階段,現在正在努力構建「生產準備」報告。在我們的會議中,已經提出報告的總體樣式應該從Cognos默認設置改變。如何爲所有Cognos 10報表創建全局樣式?

我們意識到Cognos的皮膚系統。我們看到,在報表顯示和門戶中使用了門戶和UI元素。這不一定是我們想要的。我們理想地希望能夠將門戶改爲公司品牌,並改變列表和交叉表的方式(以及實際報告的其他元素)。

我能看的報表生成的頁面的源代碼,並發現它是包括風格:雖然周圍的WebContent目錄戳

cognos\c10_64\webcontent\schemas 

我也發現了這條道路:

cognos\c10_64\webcontent\reportstyles 

這兩個路徑都包含具有相似名稱的css文件。報告HTML包含的樣式指向「模式」目錄,但是我的邏輯思維本身想要相信「reportstyles」目錄在Cognos報告顯示中的某處使用,即使我沒有看到它包含在任何頁面源代碼中我看過。

我已經開始在「模式」路徑中使用一個包含css文件的系統對其進行修改,將css複製出來並放入「xxx_system.css」文件,然後包括該文件在原始的css文件中。

這個過程起作用,我們能夠看到這些變化,但我們仍然想知道是否有更好或更「正確」的方式來做到這一點。任何人都可以詳細說明皮膚/設計實際報告的最佳方式嗎?

回答

2

我的定製界面的方法有很大的不同 - 想象一下我進入一家公司,他們已經做了6年多的同樣的事情,我想開始改變一切。它遇到了一些阻力,所以我希望我的經驗能幫助你開始。

我來自一個強大的基於UI的背景,立即想要將我的知識貢獻給我們正在設計的報告。這需要機智,因爲我想展示一個精心設計的用戶界面的價值,而不會令人震驚/嚇跑每個使用它的人(改變逆境等)。我通過在報告中工作來處理此問題,而不是在Cognos文件本身。

剛開始使用核心文件時,無論它們是CSS,Javascript還是CGI本身,都會立即出現明顯的風險,它將完全打破升級。我通過在報告中創建HTML項目並從那裏調用資源來解決這個問題。例如,這個HTML項目實際上是在我的報告的每個標題中:

<link type="text/css" href="cognos8/common/css/ui-lightness/jquery-ui-1.8.5.custom.css" rel="Stylesheet" /> 
<link type="text/css" href="custom.css" rel="Stylesheet" /> 
<script type="text/javascript" 
src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
<script type="text/javascript" 
src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js"></script> 
<script type="text/javascript"> 
jQuery.noConflict(); 
jQuery(document).ready(function() { 
}); // End Ready 
</script> 

所以現在我可以訪問jQuery,UI框架以及其他一切。我在我的custom.css中指定覆蓋並從那裏構建我的外觀。這可能看起來很麻煩,但IBM對於升級主要版本和徹底清除命名約定和函數有一定的訣竅,所以如果您的CSS選擇器關閉,它將默認爲IBM的原始樣式。

這就是我必須解決的問題,我不完全確定這是最好的方法。我一直在處理我所擁有的,不能訪問服務器文件或類似的東西。只要認爲這是一種超安全的方法。

+0

我偶然發現了一篇提到這個事實的Cognos文章。我找不到鏈接,但基本上它提出了相同的觀點:升級很可能會破壞樣式。我們提出了您的建議,但我們擔心,當我們將這個模塊交給我們的客戶時,我們會提供我們的開箱即用報告,他們希望能夠使他們的特別報告看起來與我們提供的相同。讓他們在他們的所有報告中都包含這一點可能是一個延伸。 – 2011-03-04 18:06:57

+0

是的,切換或發送給客戶是一個完全的其他主題。我有一些有專業知識的朋友,我會看看我是否可以讓他們在編鐘:) – Nic 2011-03-04 18:18:12

0

我正在使用Cognos 10.1並準備啓動。我處理安裝,配置和任何調整的方式是從修訂控制系統中提取數據的自動構建/配置過程。這種方式即使在升級時也不會鬆動任何自定義,並且可以輕鬆地合併升級中的更改。

+1

你可以編輯你的答案,以解釋你在做什麼更詳細一點。我不明白你在源代碼控制中編輯的內容。您是否在Cognos使用安裝的軟件包中編輯了某些內容?我正在使用NSIS安裝程序覆蓋已在已安裝的Cognos部署中修改的文件。 – 2011-08-04 17:32:32

0

使用支持的Cognos皮膚系統,您絕對可以更改交叉表和列表的外觀。對於以前的僱主,我對Cognos做了完整的外觀檢查,包括改變動態元素的外觀。

如果您查看GlobalReportStyles.css中的默認樣式,則所有這些樣式都可以在您的皮膚中的自定義CSS文件中被覆蓋。該方法比直接修改GlobalReportStyles.css更安全,因爲自定義外觀目錄不會被升級修改,但全局樣式表肯定會是。

不幸的是,您不能確定您通過蒙皮設備創建的任何修改將以完全相同的方式從不同的版本進行渲染。 Cognos可以重新排列用戶界面或調整整個外觀,足以打破您的更改。但是,這是我知道的唯一方法,可以有效地爲默認的Cognos對象創建通用的自動外觀和感覺修改。

+0

是否有可能以某種方式設置出現在iframe中的cognos報告。可以說Cognos報告安裝在不同的域中,我的域使用iframe來顯示報告。在Cognos中是否有任何設置允許跨越跨域的樣式? – noobcode 2015-04-29 09:16:01

相關問題