报告本地化自定义
目标
您想要在您的 Windchill Business Reporting (WBR) 系统中提供自定义报告的本地化版本。
背景
Windchill Business Reporting (WBR) 解决方案使用了 Windchill 和 Cognos 对象。数据源对象和报告对象均包含可本地化的文本。本地化这些对象中的文本可使文本显示在客户端的区域设置中。
范围/适用性/假设
本文档假定已成功安装并配置了 Windchill Business Reporting (WBR) 解决方案 (即 Cognos)。Windchill 实例名称称为 <WindchillInstanceName>。 Cognos 的根 URL 称为 <WBRHomeURL>。通常,如果 WBR 解决方案安装在 <WBRHost> 上,则 <WBRHomeURL> 将为 http://<WBRHost>/cognos8/cgi-bin/cognos.cgi。假定您可以登录到 <WBRHomeURL>,并且您具有足够的 Cognos 权限来查看 Windchill 数据源对象和创建报告。
• 假定您有权在与 <WindchillHome> 中的 <MyPackage> 关联的源目录中创建文件。
• 假定您已在 <WindchillHome> 中的关联子目录 <MyTaskPackage> 中创建了 Info*Engine 任务 <MyTask>。
• 假定您已在 <WindchillHome> 的站点上下文中创建了 ReportTemplate <MyReportTemplate>。
• 假定您已在站点上下文中创建了 Windchill 报告对象 <MyReport>。
• 假定您已在 Windchill 文件夹中创建了 Cognos 报告 <MyCognosReport>。
在进行 WBR 集成时,您还必须具有更新报告元模型的访问权限。 本文档介绍了使用标准 Java 资源束外部化 WBR 系统中所使用的文本的步骤。要支持本地化文本,必须创建一种语言特定的资源束,并将文本翻译为相应的语言。假定您需要多种语言的支持,并且能够将文本翻译为所支持的语言。本文档中引用的文本元素由报告的名称、参数和列构成。WBR 报告中显示的实际数据从数据源返回。此文档中不包含本地化此类数据。
预期结果
此解决方案的最终结果是以基于客户端区域设置的多种语言使用 WBR 报告。
解决方案
可翻译 Java 资源束的外部本地化文本,以支持特定的客户端区域设置。
必备知识
要实现此目标,需要了解以下内容:
• Info*Engine User's Guide (《Info*Engine 用户指南》)
• JConsole 用户界面
• Cognos 用户界面
• 报告管理用户界面
解决方案元素
元素
|
类型
|
说明
|
<MyTask>
|
Info*Engine 任务
|
用于检索和处理 Windchill 数据的 Info*Engine 任务。
|
<MyTaskResource>
|
资源束信息特性文件
|
用于本地化 Info*Engine 任务文本项的资源束信息文件。
|
<MyReportTemplate>WindchillReportTemplate
|
Windchill 对象
|
用于指定供检索 Windchill 数据之用的查询的 Windchill 对象。
|
<MyReportTemplateResource>
|
资源束信息特性文件
|
用于本地化 ReportTemplate 文本项的资源束信息文件。
|
<MyReport>WindchillReport
|
Windchill 对象
|
Windchill 用户界面中显示给最终用户的 Windchill 对象。此对象用作相应 Cognos 报告对象的代理。
|
<MyReportResource>
|
资源束信息特性文件
|
用于本地化报告文本项的资源束信息文件。
|
<MyCognosReport> Cognos 报告
|
Cognos 对象
|
报告中包含查询定义并指定演示格式的 Cognos 对象。
|
<MyCognosReportResource>
|
资源束信息特性文件
|
用于本地化 Cognos 报告静态文本的资源束信息文件。
|
过程 - 本地化 Info*Engine 任务数据源
1. 创建文件 <WindchillHome>\src\<MyPackage>\<MyTaskResource>.rbInfo。根据需要为任务方法名称、参数名称和列名称添加条目。创建 <MyTaskResource>.rbInfo 的语言特定版本,并生成关联的 java 源和编译的类文件。
2. 编辑任务 XML 文件 <WindchillHome>\tasks\<MyTaskPackage>\<MyTask>.xml 来指定资源束。应将以下行添加到任务注释中。
{resouceBundle: <MyPackage>.<MyTaskResource> }
3. 更新 Cognos 模型以合并本地化文本。从已安装的 Windchill 快捷方式启动 JConsole。 连接到 PTC Embedded Servlet Engine (基于 Tomcat) JVM 实例。从 MBeans 选项卡的 "com.ptc > Monitors > ReportingSystem" 中选择报告管理 bean。在 Operations 选项卡中,单击 "updateModel"。
过程 - 本地化 ReportTemplate 数据源
1. 创建文件 <WindchillHome>\src\<MyPackage>\<MyReportTemplateResource>.rbInfo。根据需要为任务方法名称、参数名称和列名称添加条目。创建 <MyReportTemplateResource>.rbInfo 的语言特定版本,并生成关联的 java 源和编译的类文件。
2. 更新 <MyReportTemplate> 以指定资源束。导航到 Windchill > ,并启动“报告管理”实用程序。在“报告管理”UI 中,选择 <MyReportTemplate>,然后单击“更新”以启动查询构建器。选择 > 菜单项,然后在“资源束”文本字段中输入 <MyPackage>.<MyReportTemplateResource>。单击“确定”以保存更改。
3. 更新 Cognos 模型以合并本地化文本。通过已安装的 Windchill 快捷方式启动 JConsole。连接到 PTC Embedded Servlet Engine (基于 Tomcat) JVM 实例。从 MBeans 选项卡的 "com.ptc > Monitors > ReportingSystem" 中选择报告管理 bean。在 Operations 选项卡中,单击 "updateModel"。
过程 - 本地化 Windchill 报告对象的名称
1. 创建文件 <WindchillHome>\src\<MyPackage>\<MyReport>.rbInfo。为报告对象的名称添加一个条目。创建 <MyReportResource>.rbInfo 的语言特定版本,并生成关联的 java 源和编译的类文件。
2. 更新 <MyReport> 以指定资源束。导航到 Windchill“站点 > 报告”页面上,选择 <MyReport> 的编辑操作。在“资源束”文本字段中输入 "<MyPackage>.<MyReportResource>",然后单击“确定”。
3. 验证报告属性 "localizedName" 即基于客户端区域设置的翻译文本。
过程 - 本地化 Cognos 报告
1. Cognos 元模型本地化 (请参阅上述“过程 - 本地化 Info*Engine 任务数据源”和“过程 - 本地化 ReportTemplate 数据源”) 后,只需一步即可完成对报告的名称、参数和列的本地化。在创作报告之前,必须将 Report Studio 区域设置设为要查看其本地化报告的区域设置。
2. 验证报告的名称、参数和列是否为执行报告时基于客户端区域设置的翻译文本。使用“运行方式选项...”操作运行报告。
自定义点
过程 - 本地化 Cognos 报告静态文本
在执行上述“过程 - 本地化 Cognos 报告”过程后,所有报告参数和列名称都将根据数据源元模型信息自动本地化。添加到报告中的任何其他文本 (如横幅或标签) 都不会自动本地化。具体可通过 Windchill 实用程序来完成。
1. 将静态文本字段添加到 <MyCognosReport>。
2. 基于 <MyCognosReport> 创建文件 <WindchillHome>\loadFiles\cognosReports\custom\<MyCognosReportXML>.xml。使用 Cognos Report Studio 菜单项 "Tools > Copy Report to Clipboard" 将 XML 定义复制到系统剪贴板。然后,将剪贴板内容粘贴到文本编辑器中,并将其保存到文件中。
3. 使用 CongosProxy 实用程序生成基础资源束文件 <WindchillHome>\src\<MyPackage>\<MyCognosReportResource>.rbinfo。
windchill com.ptc.windchill.cognos.CognosProxy outputrbinfo
<WindchillHome>/loadFiles/cognosReports/custom/<MyCognosReportX
ML>.xml
<WindchillHome>/src/<MyPackage>/<MyCognosReportResource>.rbinfo
4. 创建 <MyCognosReportResource>.rbInfo 的语言特定版本,并生成关联的 java 源和编译的类文件。
5. 创建文件 <WindchillHome>\loadFiles\cognosReports\custom\<MyCognosReportAttributes>.properties。此步骤中的基础名称和步骤 2 中的基本名称必须完全匹配 (例如,MyCognosReport.xml 和 MyCognosReport.properties)。
type=report
defaultName=<MyCognosReport>
resourceBundle=<MyPackage>/<MyCognosReportResource>.rbinfo
6. 使用以下命令加载 <MyCognosReport>。
windchill com.ptc.windchill.cognos.CognosProxy loadreports
<WindchillHome>/loadFiles/cognosReports/custom/<MyCognosReportA
ttributes>.properties
7. 在 Cognos 中验证报告。刷新 "Public Folders > Windchill" 文件夹,并应列出 <MyCognosReport> 对象。使用“运行方式选项...”操作运行报告。 尝试设置不同的客户端区域设置,以确保正确翻译静态文本。
限制
要本地化 Cognos 报告,必须先将 Report Studio 区域设置设为为 "en_ZW",然后再创作报告。Cognos 报告基于 Report Studio 区域设置引用本地化的数据源和列名称。此区域设置中对这些数据源和列名称所做的任何更改都将导致无法在其他区域设置中查找翻译文本。Cognos 推荐的官方解决方法是在特殊区域设置中使用非易失性名称。此特殊区域设置为 "en_ZW"。
示例代码
Windchill 代码中的使用示例
针对 Windchill 支持的所有区域设置,对所有预设报告进行了本地化。
相关的包/类 Javadoc
• Foundation 模块
wt.query.template
• Reporting 模块
com.ptc.windchill
其他相关 Windchill 文档
• 报告管理联机帮助
相关网站