Структурированные данные в XWiki
Одна из самых примечательных особенностей XWiki это возможность хранить структурированные данные.
Как правило, при попытке внедрить в компании базу знаний, сталкиваются с тем, что число авторов документов большое.
Это и понятно, так как хорошую базу знаний в компании должны заполнять как можно большее количество сотрудников.
Именно в этом случае, от корпоративной базы знаний будет максимальный эффект.
Конечно при большом количестве авторов, начинает проявляться некоторый эффект бардака, так как авторы разные и понимание того, как должна выглядеть итоговая страница базы знаний у людей разное.
Это приводит к тому, что страницы базы знаний одного по сути вида, имеют разное внешнее оформление или содержание которое различается не только по месту расположения на странице, но и по составу.
Как следствие, становиться существенно сложнее искать информацию в базе знаний, хотя XWiki обладает великолепным поиском, о чем мы ранее писали в статье: Поиск в XWiki
Пример
Приведем такой пример:
Предположим ваша организация занимается оказанием услуг другим организациям.
И вы решили хранить в вашей корпоративной базе знаний анкеты сотрудников, чтобы быстро предоставлять информацию вашим клиентам или просто быстро найти сотрудника с нужными компетенциями.
Если поручить создание такой картотеки нескольким сотрудникам, то в итоге у вас будет какое-то количество страниц "сотрудников", при этом на одной странице будет написано Имя и Фамилия (без отчества) а на другой только Фамилия с инициалами.
На одной будет написано как умение "Анализ бизнес-процессов" а на другой "Бизнес процессы".
Причем структура этих страниц будет также разной.
Шаблоны
Частично проблему можно решить тем, что создать необходимые шаблоны с заранее описанной структурой документа и возможно с рекомендациями по заполнению.
Большинство вики-систем, например Confluence или MediaWiki дают возможность создавать шаблоны страниц.
Конечно XWiki не исключение. Хотя механизм шаблонов в XWiki более продвинутый чем в других системах. Ранее уже писали о шаблонах в XWiki в отдельной статье: Шаблоны в XWiki
Но несмотря на то, что шаблоны позволяют навести некоторый порядок, все же их возможности ограничены.
Основная проблема шаблона в том, что по сути шаблон это просто заранее подготовленный черновик страницы.
И он никак не ограничивает пользователя в том, чтобы например удалить часть шаблона.
Или например написать в поле не то, что подразумевается.
Простой пример: Скажем мы хотим в каком то поле писать дату рождения. В шаблоне же автор страницы может вписать туда и дату в различном формате и просто что угодно.
Таким образом, шаблоны требуют качественного обучения сотрудников и регулярного контроля вводимой информации.
Но даже это не гарантирует отсутствие ошибок.
Вики второго поколения
И вот тут приходит на помощь умение XWiki хранить структурированные данные.
Другими словами: Есть возможность заранее определить поля с данными которые будут размещены на странице.
Это очень похоже на шаблоны, но при этом на создаваемой странице будет не только место для "произвольного" текста заранее размеченного шаблоном.
Также там будут размещены заранее определенные поля нужного типа. Такие шаблоны в терминологии XWiki называются "Приложения"
И пользователь в полях таких приложений сможет либо указать данные только нужного типа, либо выбрать значение только из предопределенного типа.
Например, в нашем случае с карточками сотрудников это могло бы быть приложение "Проектные резюме"
Вот как выглядит процесс создания и заполнения страницы в таком случае:
Создание
Выбираем из перечня шаблонов как и обычно
Но при создании новой страницы на основании такого шаблона, помимо зоны свободного редактирования (2) которая заполнена как обычно содержимым шаблона, мы видим также зону (1) в которой размещены поля.
По сути это встроенная в страницу форма, которая позволяет совместить две стратегии: Формализованное заполнение и Свободное редактирование.
Таким образом, XWiki совмещает в себе преимущества легко редактируемой вики-системы а базы данных для хранения структурированного контента.
Добавляемые поля могут иметь оформление, и даже логику проверяющую корректность вводимых данных.
Вы можете посмотреть на пример таких страниц тут: Проектные резюме
Таким образом, XWiki обладает существенным преимуществом перед другими системами, позволяя хранить не только простые страницы вики, но и структурированные данные.