Zendesk所有面向公众的产品文档都在Zendesk帮助中心发布。亚博虽然Zendesk的大多数其他团队直接在帮助中心创建内亚博容,但Docs团队在DITA源文件中离线创建和维护产品文档。DITA是Document Information Typing Architecture的缩写,它是用于创作和发布内容的基于xml的数据模型。
本文涵盖以下主题:
为什么DITA ?
DITA是用于创建和维护大型文档集的行业标准。Jacquie Samuels在techwhirl.com上描述了它试图解决的问题如下:
在Word、email、PowerPoint、WordPress、HTML、InDesign、FrameMaker或任何其他格式中书写内容相当于在石碑上书写。你的内容基本上就被困在那种格式里,呆头呆脑的。愚蠢的内容不容易被重用或重新利用,这是低效和昂贵的。DITA是编写和存储内容的一种方式,因此您可以像管理资产一样管理它。它利用XML(可扩展标记语言)使您的内容智能、通用、可管理和可移植。
例如,DITA中的内容可以发布到(并完全标记)、PDF、HTML、RTF、PowerPoint和移动设备上,而无需在文件之间复制和粘贴任何内容。
(来源:什么是DITA?TechWhirl)
除了将内容与格式分离之外,DITA对Zendesk Docs团队的其他好处如下:亚博
- 迫使我们严格遵守内容结构。DITA文件是XML。如果结构是无效的,工具将不允许我们对它做任何事情。
- 允许我们轻松移动内容。我们只需在结构中将主题节点从一个位置拖到另一个位置。
- 允许我们通过在多个文章中导入内容块来重用内容。
- 我们不经常发布pdf,但当我们发布时,我们使用DITA源文件。
我们使用的DITA创作工具是Oxygen XML Author。除了它健壮的创作环境之外,我们还依赖于许多其他特性,包括文件搜索、文件diff、更改跟踪和HTML转换。其他DITA创作工具包括Framemaker、Arbortext和XMetal(仅举几个例子)。
我们如何发布到帮助中心
我们使用Author来创建或更新DITA源文件中的内容。当我们准备发布时(通常是在发布或更新产品特性的同时),我们将DITA转换为HTML,然后手动将源HTML粘贴到Guide中的文章代码编辑器中。这个过程缺乏优雅,但它以简单性来弥补。
从24版,Oxygen XML编辑器包括一个内置的转换场景,可以将DITA主题发布到XHTML输出,并将它们直接作为文章上传到Zendesk帮助中心。亚博看到DITA地图出版在XML编辑器帮助。有关视频,请参见发布内容到Zendesk帮助中心亚博在XML编辑器帮助。
有时候,我们需要在短时间内更新很多文章。例如,当Zendesk简化定价和品牌亚博时,数百篇修改后的文章必须在早上8点前发布。具体日期的太平洋时间。在截止日期前的几周内,作者更新了DITA源文件,然后我们批量转换文件并使用Zendesk API将它们推送到帮助中心。亚博出版它们只花了几分钟。
我们使用的批发布工具在Github上是开源的,任何人都可以使用。看到https://github.com/chucknado/zpu.有关如何使用它的说明,请参阅readmehttps://github.com/chucknado/zpu/blob/master/README.md.
我们如何管理文件
我们将DITA文件存储在Google Team Drive中,它会自动将文件同步到每个作者的计算机上。作家们手边总是有最新的版本。当一个编写者保存对文章的更改时,这些更改将立即通过Team Drive同步传播到其他编写者的计算机。Team Drive也会保存过去30天内的所有更改。同样,我们的目标是保持过程简单。
我们也将图片存储在Google Team Drive中,然后将它们上传到Amazon S3文件服务器,使它们公开可用。我们文章中的所有图片都是从S3下载到浏览器的,而不是从帮助中心。Amazon S3服务简化了映像的管理。
我们如何发布本地化的文章
我们帮助中心的默认语言是英语。我们还以德语、西班牙语、法语、日语、韩语和巴西葡萄牙语发布产品文档。
当需要进行本地化切换时,我们使用帮助中心API从帮助中心下载选定的英文文章,并将其写入HTML文件。我们使用Amazon API从Amazon S3存储桶下载文章图像。我们打包文件并将其交给本地化供应商。在供应商返回翻译后,我们通过帮助中心和Amazon api上传文章和图像。
我们用来管理交接文件的API客户端叫做ZLO (Zendesk本地化工具),它是由Docs团队内部创建的。亚博ZLO客户端是开源的,可以在Github上找到https://github.com/chucknado/zlo.你可以在文档在Github上。
4评论
嗨,Valery,不幸的是,我们没有我所描述的用例的脚本。我们的团队手动发布文章。
为了跟踪DITA文件对应于帮助中心中的哪篇文章,我们使用DITA文件的顶级“topic”元素中的“props”属性来存储帮助中心文章的文章id。作者在发布新文章时手动向元素添加id。例子:
希望这对你有所帮助。
有这样的例子吗?我们正在寻找一种将DITA手册发布为HTML格式的解决方案,这看起来是可行的。
想知道有很多交叉参考的完整手册的输出是什么。
谢谢
鲍勃
@……
我采用了一种不同的方法,可能更复杂:
在zendesk中存储媒体文件需要相当长的时间,但是如亚博果你使用像@……建议-它更快,只需几分钟300+文章
瓦莱里·Topilin,
你做这件事的方式听起来很有趣。所以你可以用非常直接的过程来管理结构和子部分。
我对Oxygen还不是很熟悉,所以我的问题可能看起来很简单,但我非常感谢你对这些问题的见解。
您可以在文档中添加层次结构元素,如类别,节,分段,分段,直接在氧侧,然后更新(创建,更新,删除)相应的类别和节/分段,只需一个“运行”?
为了实现这样的流程,Oxygen方面需要多少专业知识和开发/配置工作?
提前感谢,
亚诺河
请登录留下评论。