### Cognos 8 添加自定义Class 的详细步骤与注意事项
#### 一、概述
在Cognos 8中,用户可以通过添加自定义Class来扩展报告样式和功能。本篇文章将详细介绍如何创建一个新的全局Class,并使其在所有报告中可用。请注意,这些更改不会在升级过程中传播,因此每次升级后都需要重新进行设置。对于这种情况,考虑使用定制报告模板中的本地Class可能是一个更好的选择。
#### 二、准备工作
1. **确定新的Selector**:首先需要确定一个新的Selector,这是一个唯一的代码,用于识别该Class。Cognos建议在CSS文件中使用简短的两位字母名称,以减少渲染报告输出时生成的HTML文件大小。
- **测试建议**:为了便于测试,可以先从现有的Class中选择一个进行修改,并为其分配一个新的Selector。例如,`xm` 是 “Crosstab corner cell” 类的Selector。你可以复制这个Class并将其Selector改为 `zz`,Label改为 “Crosstab corner cell (mine)” 进行测试。
2. **编辑配置文件**:接下来需要编辑以下文件以添加Class定义(包括Selector):
- `..\c8_location\bin\GlobalReportStyles.css`
- `..\c8_location\webcontent\schemas\GlobalReportStyles.css`
- 对于IBM Cognos 8 BI 8.3版本,还需编辑以下文件:
- `..\c8_location\reportstyles\GlobalReportStyles.css`
- `..\c8_location\webcontent\reportstyles\GlobalReportStyles.css`
3. **添加Class Label**:编辑以下文件以添加Class Label ID (`IDS_CLASS_zz`,其中 `zz` 是你的Selector):
- `..\c8_location\msgsdk\reportstudio_en.xml`
- `..\c8_location\webcontent\pat\res\reportstudio_en.xml`
- 需要在相同位置的其他locale文件中添加必要的条目。
4. **重启服务**:完成以上步骤后,根据需要重启Cognos 8服务器和Web服务器。
#### 三、具体操作步骤
1. **创建Class定义**:打开 `GlobalReportStyles.css` 文件,并添加新的Class定义。这里可以参考现有的Class作为起点,确保新Class的功能符合需求。
- 示例代码:
```css
.zz {
/* 定义你的样式规则 */
color: blue;
font-size: 16px;
}
```
2. **添加Class Label**:在 `reportstudio_en.xml` 文件中添加新的Class Label ID。这将使你在Cognos Report Studio界面中能够看到该Class的名称。
- 示例代码:
```xml
<IDS_CLASS_zz>Crosstab corner cell (mine)</IDS_CLASS_zz>
```
3. **国际化支持**:如果需要多语言支持,还需要在其他locale文件中添加相应的Class Label条目。例如,在 `reportstudio_de.xml` 文件中添加德语版的Class Label。
- 示例代码:
```xml
<IDS_CLASS_zz>Crosstab Eckzelle (mein)</IDS_CLASS_zz>
```
4. **重启服务**:完成所有编辑后,重启Cognos 8服务器和Web服务器以使更改生效。
#### 四、注意事项
- 在编辑任何文件之前,请确保对原始文件进行备份,以防意外修改或丢失。
- 当编辑CSS文件时,务必确保样式定义正确无误,避免影响到现有报告的显示效果。
- 如果你的环境中有多台Cognos 8服务器,记得在所有服务器上都进行相同的更改,包括Gateway组件。
- 每次升级Cognos版本后,都需要重新执行上述步骤来保持自定义Class的有效性。
- 测试阶段非常重要,确保在正式环境中应用之前,已经充分验证了新Class的功能和兼容性。
通过上述步骤,你可以成功地在Cognos 8中添加自定义Class,并在报告中应用这些自定义样式。这将极大地提高报告的设计灵活性和功能性。