如何为所有Cognos 10报告创建全局样式?

时间:2011-03-04 13:55:15

标签: reporting cognos

我的团队一直致力于创建仪表板和追溯报告。我们已经超越了概念验证阶段,现在正在努力构建“生产就绪”报告。在我们的会议中,已经提出应该从Cognos默认值更改报告的整体样式。

我们开始意识到Cognos的皮肤系统。我们看到在报表显示和门户网站中使用的门户网站和UI元素都有外观。这不一定是我们想要的。理想情况下,我们希望能够将门户网站更改为公司品牌,并更改列表和交叉表的方式(以及实际报告的其他元素)。

我能够查看为报告生成的页面源,并看到它包含以下样式:

cognos\c10_64\webcontent\schemas

在围绕webcontent目录时,我也找到了这条路径:

cognos\c10_64\webcontent\reportstyles

这两个路径都包含名称相似的css文件。报告HTML包含的样式指向“schemas”目录,但我的逻辑思维自己想要相信“reportstyles”目录在Cognos报告显示中的某处使用,即使我还没有看到它包含在任何页面源中我看过了。

我已经开始使用包含css文件的系统对“schemas”路径中的css进行修改,将css复制出来并将其放入“xxx_system.css”文件中,然后包括文件在原始的css文件中。

此过程有效,我们可以看到更改,但我们仍然想知道是否有更好或“更正确”的方法。任何人都可以详细说明实际报告的皮肤/样式的最佳方法吗?

3 个答案:

答案 0 :(得分: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 Framework以及其他所有内容。我在custom.css中指定了覆盖并从那里构建我的外观。这可能看起来很麻烦,但IBM有一个升级主要版本并完全消除命名约定和功能的诀窍,所以如果你的CSS选择器关闭,它“默认”为IBM的原始风格。

这就是我必须绕过它的方式,我不确定这是最好的方式。我一直在使用我所拥有的,无法访问服务器文件或类似的东西。只要认为这是一种超级安全的方法。

答案 1 :(得分:0)

我现在正在使用Cognos 10.1并准备发布。我正在处理安装,配置和任何调整的方式是从修订控制系统中提取数据的自动构建/配置过程。这种方式即使在升级时我也不会松开任何自定义,并且可以轻松地合并升级中的更改。

答案 2 :(得分:0)

您可以使用支持Cognos外观系统绝对更改交叉表和列表的外观。我为以前的雇主完成了Cognos的完整外观和改造,其中包括改变动态元素的外观。

如果查看GlobalReportStyles.css中的默认样式,可以在皮肤中的自定义CSS文件中覆盖所有这些样式。该方法比直接修改GlobalReportStyles.css更安全,因为升级不会修改自定义皮肤目录,但全局样式表肯定会修改。

不幸的是,您无法确定通过外观工具创建的任何修改将在版本之间呈现完全相同的方式。 Cognos可以重新排列UI或调整一般外观以打破您的更改。但是,这是我所知道的唯一有效创建默认Cognos对象的通用自动外观修改的方法。