Всё для технического документирования
+7 (925) 328-76-00
Разработка технической документации
Курсы для технических писателей
Программное обеспечение

Что такое DITA и зачем нам это нужно?

05.02.2014

05.12.14Представляем вам важную и познавательную статью Криса Бенца (Chris Benz), посвящённую DITA и её спецификациям. В ней мы объясним принципы работы стандарта DITA, дадим определение основным терминам и понятиям и попытаемся ответить на вопрос: «Зачем всё это нужно?». Обратите внимание, что статья написана в 2010 году, но сведения, изложенные в ней, актуальны и сейчас, поэтому мы при переводе проверили и актуализировали некоторую информацию и ссылки на стандарты. Также мы предложили свои варианты перевода основных терминов, относящихся к стандарту, и если курсор мыши расположить над подчёркнутыми в тексте терминами, то во всплывающей подсказке отобразится определение.


«Ключ к пониманию принципа работы DITA – это понимание того, как она использует топики, карты и выходные форматы. Я всё это объясню в деталях, но вот вам общая картина: вы создаёте контент в DITA-топиках, используете DITA-карты, чтобы определить, какие топики попадут в каждую из поставок, затем обрабатываете эти карты с определением выходного формата DITA для создания конечного результата».

Многие из сегодняшних разработчиков методических программ сталкиваются с большой дилеммой.

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

Один из способов, с помощью которого разработчики могут разрешить эту дилемму – это более эффективное повторное использование контента. Для многих разработчиков лучшим способом для достижения этой эффективности является Спецификация обучающего контента (L&TC), релиз которой запущен в версии 1.2 Дарвиновской архитектуры типизированной информации (DITA).

«Релиз чего?» – конечно же, спросят некоторые читатели. Прежде, чем я отвечу, позвольте дать вам некоторое представление «зачем». В тестовом проекте DITA по Спецификации L&TC команда корпорации IBM училась повторному использованию контента по существующему учебному курсу. Они обнаружили, что 50% контента курса было скопировано из документации по продукту. Используя эту Спецификацию, они смогли автоматизировать большую часть такого повторного использования, не только избегая затрат и возможных ошибок ручного копирования и вставки, но и обеспечивая эффективный способ синхронизации обновлений контента между документацией и учебными материалами и экономя на стоимости перевода, не переводя один контент дважды. Не правда ли, стоит узнать об этом подробнее?

В этой статье я приведу описание и краткую историю DITA, объясню, как DITA способствует эффективному и универсальному многократному использованию различных типов конечных поставок контента и обсужу, как Спецификация L&TC фокусирует преимущества DITA на учебные курсы.

Что такое DITA?

DITA – открытый стандарт на базе XML, предназначенный для структурирования, разработки, управления и публикации контента. IBM первоначально разработала DITA для более эффективного повторного использования контента в документации продуктов. В 2004 году IBM отдали работу по DITA в Организацию по развитию стандартов структурированной информации (OASIS) для дальнейшего развития и релиза для общественности. OASIS официально утвердил спецификацию DITA 1.0 в 2005 году и спецификацию DITA 1.1 в 2007 году. В конце 2010 года OASIS официально утвердила DITA 1.2, в том числе Спецификацию L&TC.

Почему Дарвиновская?
Многие люди, незнакомые с DITA, спрашивают: «Причём тут Дарвин в Дарвиновской архитектуре типизированной информации?». В рамках своей теории естественного отбора натуралист Чарльз Дарвин отметил, что растения и животные наследуют черты своих родителей. Подобно этому, многие элементы в DITA наследуют атрибуты от родительских элементов. Искусство отражает природу.

DITA получила широкое распространение в мире технической документации в таких компаниях, как Cisco, IBM (конечно же), Nokia и Oracle. Но внедрение DITA характерно не только для высоких технологий. Боинг и Управление здравоохранения ветеранов США уже вступили в комитеты DITA, и я лично помогал перенести в DITA документацию по продукту ITT Fluid Technologies (производитель насосов и клапанов). Внедрение DITA отстало от мира профессионального обучения, что, однако, не удивительно, учитывая первоначальный акцент DITA на технических публикациях, а не на обучающем контенте.

Сама DITA не является инструментом, но существует множество инструментов, которые поддерживают DITA. DITA Open Toolkit (DITA-OT) с открытым исходным кодом предоставляет солидный стартовый набор для работы с DITA. Многие DITA-разработчики, однако, считают, что легче и продуктивнее использовать коммерческие инструменты DITA. Вы можете узнать больше о DITA-OT и других инструментах DITA на http://www.ditaworld.com/#tool.

Как работает DITA?

Ключ к пониманию принципа работы DITA – это понимание того, как она использует топики, карты и выходные форматы. Я всё это объясню в деталях, но вот вам общая картина: вы создаёте контент в топиках DITA, используете DITA-карты, чтобы определить, какие топики попадут в каждую из поставок, затем обрабатываете эти карты с определением выходного формата DITA для создания конечного результата.

Топики

Основной единицей контента в DITA является топик. Согласно опубликованному обзору спецификации DITA 1.2, топик DITA – «озаглавленный блок информации, который может быть понят в отдельности от других блоков и используется в различных контекстах». Он должен быть достаточно коротким, чтобы содержать один предмет или отвечать на один вопрос, но достаточно длинным, чтобы иметь смысл сам по себе и рассматриваться как автономная единица.

DITA-топики имеют определенную структуру. Это сделано для согласованности между топиками, особенно топиками, разработанными разными людьми. Например, топик-задача может включать в себя в указанном порядке:

  • заголовок;
  • пре-реквизиты (то, что нужно знать, иметь или выполнить изучающему до выполнения задачи);
  • действия задачи;
  • ожидаемый результат выполнения задачи;
  • пост-реквизиты (что изучающему нужно сделать после выполнения задачи).

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

DITA по умолчанию обеспечивает три основных типа топиков, каждый со своей собственной структурой и правилами по умолчанию. Вы можете использовать концепт-топик для обзоров и пояснительной информации, топик-задачу для получения информации о выполнении конкретных задач и топик-сноску для подробной информации, такой как спецификация системы, номера частей документа и синтаксис команд. DITA 1.0, 1.1 также предоставляют универсальный топик, который разработчики DITA могут адаптировать под свои потребности. DITA 1.2 вводит дополнительные типы топиков по умолчанию, некоторые из которых являются частью Спецификации L&TC. Я опишу их позже в разделе «Что такое Спецификация DITA L&TC».

К этому моменту, вы могли бы подумать: «Ох, весь этот материал про DITA кажется довольно сложным». Правда же в том, что есть несколько очень сложных аспектов DITA, но основная механика разработки топиков в DITA относительно проста. Рисунок 1 показывает код DITA для простого топика-задачи.

Pic1

Рисунок 1: Пример кода DITA для топика-задачи

Если вы знакомы с HTML-кодом, то найдёте нечто общее. Тэги заключаются в угловые скобки: «<» и «>», «/» (слеш) означает закрывающий тэг, «<ul>» и «<li>» обозначают ненумерованный список в пре-реквизитах задачи. Если HTML-код вам не знаком, то существует множество доступных редакторов, которые помогают разрабатывать DITA-контент в формате «что видишь, то и получишь» (WYSIWYG).

На Рисунке 2 показано, как та же задача будет выглядеть в DITA-редакторе:

Pic2

Рисунок 2: Разработка задачи в DITA-редакторе

Обратите внимание, что на Рисунке 2 изображен текст, который не виден в коде DITA на Рисунке 1, например, «Пре-реквизиты». Вы можете настроить DITA-редактор на автоматическое отображение текста, заключенного в определенных тэгах. В моем случае, когда я начал писать пре-реквизиты, редактор автоматически предварял их нужным заголовком. Это не только экономит время, которое вы тратите на ввод текста, но и помогает поддержать согласованность топиков. Настраивая DITA-редактор под себя, вы сможете контролировать, какой текст должен отображаться автоматически.

Если ваш редактор не поддерживает автоматическое отображение текста, вы всё же сможете настроить автоматическое появление текста в окончательной версии. Об этом я расскажу в пункте «Выходные форматы».

Обращу ваше внимание ещё на пару особенностей данных рисунков.

Во-первых, обратите внимание, что на Рисунке 1 тэги описывают сам контент, который они содержат, но не его форматирование. Например, тэг «<title>» обозначает заголовок темы, а «<step>» – указывает на действие. Это мы называем семантическим тэгированием. С помощью семантического тэгирования вы можете указать на содержание контента, оставив форматирование для следующего шага. Некоторый текст Рисунка 2 увеличен или выделен жирным шрифтом, но это только для удобства пользователя. В окончательной версии текст может выглядеть по-другому. Подробности в пункте «Выходные форматы».

Во-вторых, так же, как приведённые примеры содержат изображение, вы можете включать в DITA-топик практически любой мультимедиа-контент: аудио, флеш-ролик и т.д. Как и в HTML, сюда можно включать гиперссылки на интернет-контент. Главное, о чём стоит помнить – формат окончательной версии (по собственному опыту говорю, что GIF-анимация не очень хорошо двигается в распечатанном виде).

Карты

Как я уже объяснял, топики – это базовые единицы контента в DITA. Набор топиков DITA может включать информацию о разных продуктах, для разных целей и аудиторий. К примеру, можно разработать топики для трёх продуктов: KAT-1000, KAT-2000 и KAT-3000. Многие темы будут применяться ко всем трём продуктам, а некоторые – к одному или двум из них. Многие темы предназначены для любой аудитории, а некоторые – только для экспертов. Многие подходят и для обучения, и документации по продукту, а некоторые – только для одного либо только для другого.

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

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

На Рисунке 3 показано, как с помощью карт создаются разные версии поставок из одного и того же набора DITA-топиков. Одна версия – курс обучения KAT-2000 для начинающих; другая – справочник администратора по KAT-3000. Обратите внимание, что обе карты включают топики «Как распечатать» и «Сообщения об ошибках», но ни в одну из карт не входит топик «О KAT-1000». Остальные топики включены только в одну из карт. Карта также устанавливает порядок топиков, а если бы они имели иерархию, это также можно было бы указать.

Pic3

Рисунок 3: Компоновка DITA-топиков в карты

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

Отметим, что контент топиков физически не содержится в картах. Карты содержат только указатели (в DITA их называют ссылками на контент) на топики. Если топик изменяется, каждая из карт, указывающих на этот топик, также отразит эти изменения. Обычно это весьма удобно, так как позволяет разработчикам вносить изменения в одном месте, автоматически изменив тем самым контент во многих местах. Но это требует аккуратности, так как ошибочные изменения контента вызовут ошибки во всех поставках.

Напомним, что спецификация DITA 1.2 определяет топик DITA как «озаглавленный блок информации, который может быть понят в отдельности от других блоков и используется в различных контекстах». Карты помогают понять, почему так важно, чтобы контент имел нейтральный контекст во всех возможных топиках, где это возможно. К примеру, если вы использовали связку: «Ранее вы изучили…» или «В топике ABC…», то тем самым установили зависимость между двумя топиками. Но в случае, если в одной из поставок другой топик отсутствует или идёт в другом порядке, вы направите людей к неверному или вовсе несуществующему контенту. Если вам все же необходимо использовать текстовые связки между топиками, есть способы сделать это, но это уже не относится к данной статье.

Несмотря на то, что указывает Рисунок 3, совсем не обязательно включать топик в карту. Топики и карты DITA могут активно использовать метаданные для обработки данных по заданным условиям (фильтрации), обеспечивая возможность использования разных вариантов топика при обработке карты. Допустим, у нас есть три топика «О (чём-либо)», содержащих абсолютно идентичный контент, кроме вводной фразы. Мы можем создать единый топик «О (чём-либо)» и включить в него три разных варианта вводных фраз, а затем применить метаданные, чтобы указать, какая из фраз соответствует каждому из продуктов. Обращение к метаданным в карте определяет, какую из фраз следует включить в текст в каждом случае.

Кроме того, можно использовать одну карту для различных поставок. Например, вводный курс KAT-1000 и вводный курс KAT-2000 содержат один и тот же набор уроков и упражнений, но контент этих уроков слегка отличается между продуктами. Одно изменение в DITA-карте может обеспечить использование в карте только того контента, который одинаков для обоих продуктов, либо применим именно для данного продукта.

Карты могут указывать не только на топики, но и на другие карты. Эту возможность можно использовать, например, для создания карты каждого урока в курсе; затем использовать другую карту, чтобы указать, какие уроки нужно включить в курс и в какой последовательности. Так же, как и с топиками, если в карте что-либо меняется, изменения отображаются во всех картах, которые на неё ссылаются.

Следует признать, что Рисунок 3 показывает очень простой пример; я слышал, что IBM на данный момент поддерживает более миллиона DITA-топиков и кто знает, сколько карт. Но даже такой пример иллюстрирует богатство возможностей и универсальность DITA. А выходные форматы, о которых пойдет речь далее, ещё больше расширяют эти возможности.

Выходные форматы

Выходные форматы DITA позволяют создавать поставки, включающие контент, организованный с помощью DITA-карт, в различных формах, предназначенных для распечатки, публикации на сайте, отправки по электронной почте или передачи на мобильные устройства. По умолчанию DITA-OT предоставляет выходные форматы для XHTML, Compressed HTML Help (chm.), PDF, Eclipse Help, JavaHelp, Rich Text Format (RTF) и другие. Интересно, что DITA-OT не поддерживает Microsoft PowerPoint, но я знаю как минимум один платный инструмент, на это способный. Другие инструменты DITA могут предоставить дополнительные выходные форматы, кроме того, есть возможность (хотя это не всегда легко) разрабатывать собственные выходные форматы.

Поскольку DITA использует семантическое тэгирование, а не тэги форматирования, именно выходные форматы контролируют, как будет выглядеть поставка. Многие разработчики DITA модифицируют предоставленные выходные форматы для соответствия шаблонам, разработанным ранее в Microsoft Word или Adobe FrameMaker. Модификация формата PDF особенно заковыриста, но существует множество инструментов, помогающих упростить эту работу.

А что о Системах управления контентом?
Часто поднимается вопрос использования систем управления контентом (CMS) совместно с DITA. CMS обеспечивает разнообразие полезных функций, таких как контроль источника и обзор управления DITA-топиками, картами и выходными форматами. В то время как многие DITA-инструменты могут выгодно сотрудничать с СMS, её наличие не обязательно. CMS могут быть дорогими в реализации, так что тщательно проанализируйте свои конкретные потребности.

Ранее я рассказывал, что хотя DITA-редактор может автоматически отображать и форматировать текст при разработке топика, это не всегда отражает то, как будет выглядеть топик при выводе. Независимо от редактора, выбор выходного формата определяет окончательный вид. Механизм публикации DITA использует свойство выходного формата определять форматирование на уровне текста (тип шрифта, размер, цвет); добавлен ли определённый текст или изображение к тому или иному типу контента (например, маленькая иконка карандаша для пометок); разметку страницы (поля, расположение верхних и нижних колонтитулов) и так далее. Каждый выходной формат имеет нужные настройки для выбранного типа файла. К примеру, разрывы страницы могут быть важны в PDF, но не имеют особого значения в HTML Help. При выводе в XHTML вы, возможно, захотите указать, что внешние ссылки открываются в новом окне, но если речь идет о распечатанном учебном пособии, то настройки внешних ссылок неприменимы.

Каждый раз при формировании поставки используется механизм публикации DITA, чтобы привести DITA-карту к определенному выходному формату. Каждая карта может работать с любым из доступных форматов, то есть если вам нужно опубликовать учебное пособие как в PDF, так и в HTML, вы можете использовать одну карту и два выходных формата.

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

Что такое Спецификация DITA L&TC? (Или зачем нам нужна DITA)

В начале статьи я упоминал Спецификацию DITA для обучающего контента (L&TC) и то, как IBM применяет её для автоматизации повторного использования контента, его синхронизации с документацией продуктов и экономии на переводе.

Спецификация – это функция, обеспечивающая разработчикам DITA еще большую универсальность. Три базовых типа топиков, доступных в DITA (концепты, задачи и сноски), хорошо работают с техническими публикациями, но не всегда удобны для поставок обучающего контента. Для таких поставок могут понадобиться специальные типы топиков, предназначенные для оценки обучения и резюме материалов, а также особые тэги, созданные для обучающего контента.

Со времен введения DITA многие организации, занимающиеся обучением, успешно создали и начали применять собственные спецификации DITA. Для их создания использовались унаследованные функции DITA, позволяющие создавать новые типы топиков и элементы из уже существующих элементов. Признавая растущую потребность в спецификации DITA для обучения, в 2006 году OASIS создал подкомиссию по Спецификации DITA L&TC. Возглавленная Джоном Хантом из IBM, комиссия включила представителей крупных IT-компаний, Министерства Обороны США, образовательных издательств, производителей инструментов и консультантов.

Результатом стала Спецификация DITA L&TC. Согласно опубликованным обзорам DITA 1.2, Спецификация разработана для:

  • Предоставления высокоуровневой среды для авторинга образовательного контента с легко осваиваемой архитектурой, унаследовавшей принципы и лучшие методические разработки DITA.
  • Разработки руководящих принципов, которые способствуют наилучшей практике применения стандартных подходов DITA к учебному контенту.
  • Обеспечения базовой поддержки по обработке контента DITA, применяемого в обучении, поставке его в различных формах, включая печатные материалы и презентации для инструкторского тренинга (ILT) и в виде веб-публикаций для дистанционного обучения.
  • Предоставления структуры для создания целевой поддержки по обработке обучающего контента DITA, поставляемого в соответствии со стандартами обучения, в частности, SCORM.
  • Максимального развития существующей структуры DITA, чтобы разработчикам обучающего контента не приходилось начинать с нуля.

Комиссия основала Спецификацию на лучших методических разработках, применяющихся в индустрии обучения, но Спецификация не фокусируется на какой-то конкретной учебной модели.

L&TC Спецификация предлагает огромное разнообразие для разработчиков обучающего контента. Она включает типы топиков, специально созданных для планов обучения, обзоров, информационных материалов, резюме, оценок; а также многочисленные специальные тэги, предназначенные, например, для примечаний инструктора, элементов оценки (закрытых и открытых вопросов, вопросов с выбором единственного варианта и так далее). Также Спецификация поддерживает специфичные для обучения метаданные (например, время обучения и уровень сложности).

В связи с характером наследования DITA, даже если вы или другие разработчики создают DITA-топики вне L&TC Спецификации, вы всё же можете использовать топики L&TC и не L&TC совместно. Например, вы можете создать карту урока, которая начинается с обзора L&TC, затем сослаться на несколько не-L&TC топиков из документации по продукту, а затем закончить резюме и оценкой из L&ТС. В DITA основные понятия, которые я описал в этой статье, применимы к L&TC Спецификации; так, например, вы можете строить уроки или целые курсы с использованием DITA-карты, а также генерировать конечные поставки с использованием выходных форматов.

Наконец, отмечу, что Спецификация поддерживает SCORM. Наряду с прочими выходными форматами по умолчанию Спецификацию L&TC можно использовать для вывода пакетов данных дистанционного обучения SCORM 2004 и импорта их в LMS, поддерживающую SCORM. Разговор о SCORM выходит за рамки данной статьи, но его детально описывают многие другие статьи, опубликованных в Learning Solutions Magazine.

Итак, для чего же нам нужна DITA и Спецификация L&TC? Предположим, что вы работаете с большими объемами обучающего контента, копируя контент из разных источников, или работаете с большими командами, нуждаясь в лучшей согласованности контента. В этом случае DITA и Спецификация L&TC могут стать для вас отличным решением проблемы того, что у учеников мало времени и денег на учебу, а у вас – на то, чтобы предоставить им всё необходимое. Если появление Спецификации L&TC приведет к тому, что DITA 1.2 распространится среди разработчиков обучения так же быстро, как DITA 1.0 и 1.1 распространились в мире технической документации, то, вероятно, вскоре ваше начальство заинтересуется, а не ввести ли в вашей организации DITA.

Заключение

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

С введением Спецификации L&TC все эти преимущества стали доступны и разработчикам обучения. Кроме того, Спецификация предлагает возможности для сотрудничества между командами, занимающимися обучением и документацией. Я понимаю, что обычно такие команды работают по отдельности, да и одна эта технология не удовлетворит всем подходам к работе с контентом, но всё же возможности применения DITA в бизнесе весьма привлекательны. Легко ли развернуть DITA? Нет. Окупится ли это со временем? Если всё правильно спланировать и выполнять, возможно.

Эта статья – довольно беглый обзор возможностей DITA и Спецификации L&TC, но надеюсь, я дал вам достаточно информации, чтобы решить, стоит ли работать с DITA.

Ссылки и источники

Источник: What is DITA and Why Should You Care?

Тэги: , , , , , , ,

< Вернуться к списку публикаций

Облако тегов