下一步——内容管理系统中的 DITA

DITA 在数年前就已是信息处理领域的一个成熟标准。众多企业认识到了标准化、结构化信息的优点,从而使用了 DITA。目前,流行的编辑器中都已集成了 DITA。但是当文件系统的管理能力达到极限的时候,对内容管理系统的需求会越来越大。

使用内容管理系统后一般会出现一些变化。这通常涉及工作方式,但是也可能会影响 DITA 源本身。

初始状况

决定采用 DITA 的企业,通常都会从管理文件系统中的 DITA 内容开始。典型的文件类型有:

  • DITA-Topics:XML 格式的文本内容
  • 图形,经常有多种格式(源格式、发布格式)
  • DITA-Maps:文档汇编
  • 变量
  • 支持的文件,例如,用于过滤

在多语言的文档项目中,可以考虑两种保存策略:

  • 分别为每种语言聚合所有内容的较高层次的目录
  • 在同一个子文件夹中存储一个对象的所有语言版本

作为一种面向主题的结构,DITA 在管理方面有特殊要求:为了能够重复使用,对象将作为单一文件添加。其结果是,对象之间的引用(交叉引用、被引用的图形、映射与主题的关系)将包含文件名。这样将导致灵活性缺失,例如无法再顺利地移动文件,DITA 在其 1.2 版本中对此作出了反应,创造了间接寻址的途径。

DITA 已标配了丰富的元数据元素。这些元素一方面可用于说明管理信息,另一方面在发布时也会分析某些元素,例如用于变体过滤。元数据将直接存储在 XML 文件(话题、映射)中。

内容管理系统中的 DITA

在引入内容管理系统 用于 DITA 的时候,首先要大致地区分三种类型:

支持 DITA 方案和主题导向的系统,但是在来源中不储存或者仅储存非常有限的 DITA 主题。此类系统可以保证输出方面(例如在发布的过程中)的 DITA 兼容性,但是与其它 DITA 系统进行信息交换时更为昂贵。如果在较早之前就已使用 DITA(在文件系统中使用)工作,现在要转换为带有 DITA 的 内容管理系统, 一般不选择此类系统。因此,这些系统不被纳入进一步考虑范围。

专门开发用于管理 DITA 源的系统。这些系统一般都映射了 DITA 标准的完整功能范围。但是,这些系统上市的时间通常都不长,因此在管理范围方面还有或大或小的缺陷,例如在团队工作(工作流)的支持方法,或者在编辑环境中需要额外使用的其它软件系统的接口方面。

已在内容管理系统环境中创建的且针对 DITA 源的管理进行过扩展的系统。此类系统容易与成熟的系统体系集成,并且部分是为特定行业中的过程量身设计的。但是在某些情况下,此类系统也会对 DITA 标准的局部有不同的映射,例如以此保证对其它非 DITA 内容的兼容性,让其能继续在相同的 内容管理系统 中进行管理。

从文件系统中的 DITA 转换成内容管理系统中的 DITA 使用

文件名变成 ID

最明显的影响是文件名取消了,内容管理系统中取而代之的是对象 ID。在此,最主要的是必须对 DITA 源中的众多引用进行相应的调整。此外,经常也会出现设计上的变化,例如在多语言情况中,内容管理系统中之前每种语言都有一个以单独文件形式存在的 DITA 主题或者图形融合成一个带有语言变体的对象时。

保存层次

相反的,取消目录并未带来问题:内容管理系统中的对象 ID 无需目录名,即可支持在内容管理系统中明确地引用对象。但是,在内容管理系统中重建作者熟悉的目录层次或者将其转移到元数据中,也是一种值得选择的做法。

编辑

引入 内容管理系统 时,常用的采集 DITA 主题的编辑器将面临考验:虽然实际的 DITA 内容依然可以用合适的 XML 编辑器进行处理,但是若要方便地添加引用内容(交叉引用、图形)将编辑器与内容管理系统进行整合是不可避免的。在此需要检查的是,编辑器厂商或者内容管理系统厂商是否能提供整合。如果不能,则必须更换编辑器。

发布

对 DITA 内容的发布通常不会有大的影响。典型地,当转换之前用 DITA Open Toolkit 生成发布内容并且内容管理系统支持用 DITA Open Toolkit 进行发布的时候,就会出现这种情况。然而,如果 DITA Open Toolkit 的版本不同且插件是专门为 DITA Open Toolkit 开发的或者经过特殊配置的,就可能出现意外情况。

元数据

在 DITA 中,元数据是直接集成到 DITA 源中的。在提供有效的管理功能时,与管理相关的元数据一般都要在内容管理系统中另行保存,通常是保存在数据库中。在这方面,一些内容管理系统提供了一个映射:在从内容管理系统中读取 DITA 话题用于发布或者编辑时,可以将元数据透明地添加到 DITA 话题中。在保存或者导入 DITA 话题的时候,元数据将被传输到数据库中。但是这对所有元数据来说并非都是有意义的,尤其是内容管理系统进行内部管理所需的元数据。

对于仅与发布相关并且与管理无关的或者非正式的元数据来说,可以放弃在内容管理系统进行保存和相应的映射。在这种情况下,这些元数据仅保存在DITA 源中。

DITA 专门化

如果已存在 DITA 专门化或者有此计划,就可能必须据此调整内容管理系统。例如,可能需要根据专门化的元数据调整元数据映射。

旧设计决策

在具体情况中,转换成内容管理系统也可能导致之前的设计决策被颠覆。例如,在文件系统中用 DITA 工作的时候可能不够重视重复使用这一方面,并且为了更容易管理将多个 DITA 主题综合到一个文件中,例如一个章节的所有主题。 虽然内容管理系统也有这项功能,但还是强烈建议,在此根据具体的主题对内容进行划分。

迁移策略

总的来说可以确定,只要注意所述的几点,转换成使用 内容管理系统 在 DITA 中是不会产生问题的。重要的是,转换过程要计划好。对此,必须根据所述因素,先采集实际状态和定义目标状态。由此将产生一个迁移策略,在实施该策略的时候,所需的调整一般都是在脚本的支持下自动完成的。如果拥有相关知识,可以自己创建这些脚本,或者也可以求助服务商或者内容管理系统提供商。