Компонентный авторинг предусматривает деление информации на небольшие компоненты многократного использования, которые затем можно гибко комбинировать для различных типов вывода и каналов доставки. В результате организации избавляются от необходимости хранить дубликаты одних и тех же данных в различных местах, что позволяет сэкономить от 30 до 50% средств, необходимых для авторинга, обзора и создания информации, а также до 70% затрат на перевод ее на другие языки.

К тому же компонентный авторинг прокладывает путь для динамичной и персонифицированной доставки контента за счет подбора именно тех компонентов, которые лучше всего подходят для конкретного пользователя. Но как работает модель компонентного авторинга? Она базируется на четырех основных положениях.

1. Новый подход к написанию контента: информация рассматривается как сочетание компонентов многоразового использования, а не как набор документов, книг и Web-страниц.

2. Отказ от частных форматов и инструментария: переход от частных форматов текстовых редакторов и настольных издательских систем к полной независимости от форматов и типов вывода информации.

3. Отслеживание всех компонентов: применение технологии управления контентом для хранения, сопровождения и отслеживания взаимоотношений между информационными компонентами.

4. Гибкость сборки и доставки: поддержка множества разнообразных форматов вывода за счет использования самого современного инструментария публикации и доставки контента на базе XML.

Новый подход к написанию контента

Если рассматривать контент как набор отдельных книг или руководств, о его гибкости и динамичности нечего и думать: чтобы обеспечить эти свойства, всю информацию нужно разделить на небольшие фундаментальные элементы. Это можно сделать множеством способов, однако наиболее эффективный состоит в разбиении по тематическим категориям, так называемым “топикам”.

Каждый топик должен освещать конкретную тему, иметь четко определенную цель и быть полностью автономным (т. е. иметь смысл независимо от контекста). Топики ни в коем случае не могут начинаться со слов “как указано выше” и заканчиваться словами “как будет показано ниже”, равно как и содержать ссылки на внешнюю информацию. Такие элементы должны быть пригодными для многоразового использования независимо от контекста, т. е. вписываться в любую информацию, где они нужны.

Поскольку топики не только пригодны для многократного использования, но и автономны, их можно комбинировать и вставлять в самые разные публикации. Если, например, стандартное описание семейства продуктов выполнено в виде топика, его нетрудно использовать в любых публикациях, посвященных данным продуктам. То же можно сказать и о технических руководствах, содержащих одинаковые блоки информации: стоит преобразовать такой блок в топик, и его можно многократно включать по мере необходимости в самые разные документы.

Отказ от частных форматов и инструментария

Чтобы топик был пригоден для многократного использования, его формат должен быть полностью независимым от типа вывода информации и среды. Такому требованию не отвечают ни Microsoft Word, ни Adobe FrameMaker, ни какая-либо другая настольная издательская система. Здесь необходим более мощный и ни в коем случае не частный инструментарий, например JustSystems XMetaL, где в качестве основы используется XML. Этот язык не зависит от того, какой инструментарий и какого производителя применялся при подготовке контента, в каком формате информация будет выводиться потребителю, в какой последовательности компонуются ее отдельные элементы.

Излюбленным XML-стандартом для компонентного авторинга является DITA (Darwin Information Typing Architecture). Первоначально разработанная корпорацией IBM специально для контента на основе топиков, эта архитектура вот уже третий год выступает в роли международного стандарта. В отличие от прежних XML-стандартов публикации DITA не фокусируется на документах, а работает с топиками. Входящие в ее схему инструкции позволяют свободно компоновать топики в документы, Web-страницы, любые другие сборки и наборы.

Внутри каждого топика можно применять критерии фильтрации по отдельным элементам. Вот лишь один пример. Два топика, посвященные установке программного модуля, могут быть полностью аналогичны за исключением единственной детали: в одном из них приводятся команды Unix, а в другом — Linux. Вместо того чтобы параллельно хранить оба топика, автор благодаря DITA может включить оба типа команд в один и пометить каждый из них как пригодный для Unix или для Linux.

Отслеживание всех компонентов с помощью CMS

Когда информация разделена на компоненты многократного использования, становится очень сложно отслеживать вносимые в нее изменения. Особенно если такие компоненты распределены между множеством различных типов вывода. Тем более что приходится следить не только за самими изменениями, но и за тем, чтобы обновленные компоненты не теряли смысла ни в одном из контекстов, где применяются или могут применяться.

Решением является система управления контентом CMS (Content Management System), которая не допускает изменения компонентов без соответствующих санкций, а также явным образом контролирует весь процесс внесения изменений и комментариев. Кроме того, в ней предусмотрена функция “где применяется”, которая автоматически проверяет все связи между компонентами и всю выводимую информацию, где используется каждый из этих компонентов. CMS не допускает удаления отдельных компонентов многократного использования (а значит — и появления пустых ссылок) и позволяет автору просмотреть все разнообразие контекстов, на которых сказываются вносимые изменения. Подписаться на уведомления об изменениях могут и владельцы материалов, которые после этого начинают автоматически получать сообщения о предлагаемых изменениях.

При выборе системы CMS очень важно следить, чтобы она была тесно интегрирована с используемым XML-инструментарием авторинга. Только в этом случае ее ключевые функции будут доступны непосредственно из средств подготовки контента, а сама CMS сможет эффективно контролировать разрешения, рабочие потоки и взаимосвязи типа “где применяется”. У пользователей, скажем, появится возможность прямо из редактора XMetal пролистывать CMS и производить поиск, проверять ввод и вывод отдельных компонентов, просматривать изменения в различных контекстах, участвовать в официальных обсуждениях рабочих потоков и их одобрении.

Сборка и доставка окончательного документа

С помощью схем DITA можно комбинировать топики многократного использования и вставлять их практически в любое сочетание выводимых документов, Web-страниц и других информационных сборок. А применение соответствующих стилевых таблиц на базе XML позволяет преобразовать любой XML-источник практически в любой формат вывода или среды.

Для обработки XML-контента применяются специальные механизмы сборки и доставки. При работе с контентом на основе DITA, например, часто используется модуль с открытым кодом под названием DITA Open Toolkit. В общих чертах такой инструментарий выполняет четыре описанных ниже операции.

1. Производит сборку всех топиков в соответствии с инструкциями схемы DITA.

2. Включает информацию, на которую имеются ссылки в теле каждого топика (в частности, описание сообщений об ошибке из списка таких сообщений).

3. Производит фильтрацию контента внутри каждого топика в соответствии с профильными инструкциями (например, по командам Unix или Linux).

4. На основании соответствующей таблицы XML-стилей преобразует полученный результат в необходимый формат вывода.

При статичной публикации материалов в DITA заранее создаются схемы для всех типов вывода (документов, Web-страниц, справочных систем и т. д.). Каждая такая схема содержит ссылки на топики, которые необходимо включить в публикацию. При этом стандарт DITA отличается очень высокой гибкостью применения, поскольку позволяет создавать разные схемы для отдельных сценариев, поддерживаемых пользователем. Вместо того чтобы, скажем, публиковать одно общее руководство по нескольким изделиям, для каждого из них можно задать различные схемы DITA.

Однако этим возможности стандарта не ограничиваются. Поскольку схемы DITA представляют собой XML-файлы, их можно генерировать автоматически для поддержки полностью персонифицированных динамичных сценариев публикации. В подобных случаях динамическая схема в сочетании с XML-запросами реального времени позволяет оперативно извлекать нужные топики из репозитария. В этих целях обычно используется стандарт XQuery, обеспечивающий поиск нужных топиков, их фильтрацию и профилирование с целью отбора только нужного контента. К тому же он позволяет динамически преобразовать DITA XML в необходимый формат вывода (HTML или PDF, к примеру). И все это выполняется в режиме реального времени в рамках единого процесса.

Эрик Сиверсон является сооснователем и главным инженером корпорации Flatirons Solutions — одного из пятисот ведущих системных интеграторов, специализирующгося в области компонентной публикации и управления XML-контентом. Он также входит в совет директоров IDEAlliance, а ранее занимал пост президента OASIS — другого отраслевого консорциума XML.