Расскажу про Mediawiki + Semantic Mediawiki как хранилище инструкций и базу знаний для всей компании.
Принципы
В основу положен принцип вики: все могут редактировать всё.
Контент
База знаний содержит три типа контента.
Произвольные проектные инструкции
Их пишут сотрудники. Это уже основной вики-контент, хотя поначалу его почти не было - люди почти не проявляли инициативы.
Документы Системы Менеджмента Качества
Они регламентируют работу компании: политики, стратегии, описания процессов, методологические и рабочие инструкции. Поскольку они должны находиться под управлением, то для них предусмотрено утверждение (через расширение ApprovedRevs). По умолчанию отображается утверждённая версия, но вообще можно посмотреть любую версию документа, в т.ч. пока ещё не утверждённый черновик новой версии. А также сравнить любую версию с любой (базовая фича Mediawiki). Эти документы пишут их владельцы, утверждение происходит через менеджера по качеству.
Справка по самописной ERP на платформе 1С
Поскольку в самой 1С работа со справкой сделана уныленько, решили вынести справку в вики. Её пишут и обновляют в основном люди из группы разработки. Но иногда точечные правки вносит и остальной народ.
Роли
Их по большому счёту две (всякие боты и бюрократы не используются):
- Обычные пользователи - они могут читать и редактировать всё.
- Админы (в т.ч. менеджер по качеству) - они могут утверждать документы и творить некоторую магию на “Специальных страницах” - это у Медиавики так называется админский раздел, где часть страниц доступна для чтения всем.
Авторизация для всех через Active Directory. Т.е. хотя вики доступна из Интернета, доступ в неё есть только у сотрудников компании.
Категории
Это базовая фича Mediawiki. Она позволяет включать страницу в одну или несколько категорий. При просмотре страницы категории кроме её собственного контента отображается список страниц, входящих в эту категорию.
Это минимально необходимый функционал для структурирования страниц, но при использовании Semantic Mediawiki он становится ненужным как слишком примитивный.
Semantic Mediawiki
Для тех, кто в теме, скажу, что Semantic Mediawiki для Mediawiki - это как Dataview для Obsidian. Т.е. must have.
Оно позволяет точно так же выбирать из страниц нужные свойства и отображать их таблицей, списком или выводить в произвольном виде через шаблон.
Шаблон
Это страница, которая будучи включенной в другую страницу, на месте включения выводит контент шаблона, заменяя в нём переменные их значениями, которые прописываются в вызове (включении) шаблона.
Например, у нас “шапка” документа СМК - это шаблон. Если нужно её изменить, мы меняем шаблон, и на всех страницах “шапка” меняется соответственно.
Пример использования шаблона для формирования “шапки” документа (выделена красным):
Код вставки шаблона этой “шапки”:
{{cover|2017/01/20|Russian|Дмитрий Уланов|{{REVISIONUSER}}|{{REVISIONDAY2}}.{{REVISIONMONTH}}.{{REVISIONYEAR}}|МИ-17|Тестировщик,Проект-менеджер по техническим проектам,Тест-аналитик|Методологическая инструкция}}
- cover - название шаблона, остальные элементы, разделённые | - параметры, которые можно задавать последовательно, а можно именовать и задавать в произвольном порядке.
- Текст капсом в двойных фигурных скобках - системные переменные
Код шаблона развесистый и в spaghetty style, поэтому его не привожу :)
Вычисления на лету и прочая логика
Есть множество дополнений и какие-то скудные фичи “из коробки”, допускающие примитивное “программирование”.
Например, при вызове шаблона “шапки” документа одним из параметров передаётся язык шаблона (в вики контент на русском и на английском). Шаблон в зависимости от нужного языка формирует “шапку” на русском или на английском языке.
Кроме того, если существует страница, аналогичная данной, но на другом языке, то в “шапке” автоматически формируется и отображается ссылка на неё.
Что в итоге получилось
- На главной странице вверху меню навигации по основным разделам (TOC-страницам). Увы, массовый гуманитарий не смог уяснить, что поиск + внутренние ссылки = найдётся всё. Ему подавай олдскульное главное меню.
- На левом сайдбаре меню управления текущей страницей, история, входящие ссылки и пр.
- На правом сайдбаре - структура текущей страницы (строится по заголовкам).
- TOC (Table of Contents)-страницы показывают какой-то вводный текст и выборки страниц по определённым признакам. Например:
- Список документов, применимых к определённой должности или отделу
- Список документов заданного уровня применения (обязательный, рекомендованный, на свой страх и риск)
- Список отчётов ERP-системы в виде таблицы с основными характеристиками: название, кому доступен, что показывает, какие есть фильтры и параметры
Когда я увлекался сыроедением и ферментированием, то поднял и чуток наполнил рецептами общедоступную вики на базе тех же Mediawiki + Semantic Mediawiki. Можно рассматривать её как демонстрацию вершины айсберга возможностей Semantic Mediawiki ;-)
Над внешним видом не колдовал, поэтому выглядит всё стандартно и слабопривлекательно.
А вот корпоративную базу знаний мы перелицевали, и она выглядит приятненько, почти как современный сайт.