Корпоративная база знаний на Confluence или Notion часто даёт сбои: нет нужных ссылок, сложно найти устаревшие инструкции, а права редактирования приходится настраивать вручную. Мы разрабатываем Wiki-системы, которые решают эти проблемы — с перекрёстными ссылками, историей изменений и гибкими правами. За 6 лет мы реализовали 15+ проектов для команд от 10 до 500 человек, и каждая система работала быстрее готовых решений в среднем на 40%.
Wiki — гипертекстовая база знаний с открытым (или ограниченным) редактированием. В отличие от базы знаний с выраженной иерархией, Wiki строится на перекрёстных ссылках между страницами. Ключевые особенности: [[WikiLinks]] между статьями, история изменений с diff, система обсуждений и гибкие права на редактирование.
Почему корпоративным командам нужна кастомная Wiki?
Типичные боли: информация устаревает и никто не обновляет, поиск по старым решениям занимает часы, новички не могут быстро влиться. Wiki с графом знаний и backlinks автоматически показывает взаимосвязи документов. История изменений позволяет откатить правки вандалов или ошибочные обновления. Мы внедряем OT-механизмы, чтобы два редактора не теряли изменения при одновременной работе.
Open-source решения (MediaWiki, DokuWiki, Wiki.js) хороши для старта, но часто требуют доработок: нужна специфическая модель прав, интеграция с внутренним SSO или нестандартная разметка. Кастомная разработка даёт полный контроль: вы получаете именно ту функциональность, которая нужна, без лишнего балласта. В одном из проектов мы заменили MediaWiki на собственное решение — время открытия страницы сократилось с 2,5 с до 0,3 с за счёт кэширования и оптимизации запросов.
Как устроена навигация и разметка Wiki?
Wiki допускает несколько способов навигации: иерархия (традиционное дерево страниц), граф (страницы связаны ссылками, визуализация как граф знаний), теги (поперечная классификация) и поиск (основной инструмент). Для каждой Wiki-страницы автоматически строится элемент backlinks — список страниц, которые ссылаются на текущую. Это ключевая функция для понимания связей между концепциями.
Стандартный вариант разметки — Markdown с расширениями: [[Название страницы]] — Wiki-ссылка, автосоздание страницы если не существует; [[Страница|Отображаемый текст]] — ссылка с псевдонимом; ![[Страница]] — встраивание содержимого другой страницы (transclusion); #Тег — теги прямо в тексте. Парсинг Wiki-ссылок: регулярное выражение обходит текст, находит [[...]], проверяет наличие страницы в базе, генерирует <a> с существующей ссылкой или классом wiki-link-new для несуществующих.
Как обеспечить историю изменений и совместную работу?
Каждое сохранение создаёт revision. Diff отображается построчно: алгоритм Myers diff или библиотека diff (npm):
import { diffLines } from 'diff';
const changes = diffLines(oldContent, newContent);
changes.forEach(part => {
if (part.added) console.log('[+]', part.value);
if (part.removed) console.log('[-]', part.value);
});
Rollback — восстановление любой версии с созданием нового revision (история не удаляется). Если два пользователя редактируют одну страницу одновременно, возможны три подхода: pessimistic locking (страница блокируется при открытии редактора), OT (операционная трансформация в реальном времени через Yjs или ShareDB) и conflict on save (последний сохранивший «побеждает», первому показывается diff с конфликтом). Для большинства корпоративных Wiki достаточно предупреждения «страница редактируется» + merge on conflict.
Сравнение подходов: open-source vs кастомная разработка
| Характеристика | Open-source (MediaWiki, DokuWiki) | Кастомная разработка |
|---|---|---|
| Скорость запуска | Дни-недели | 6-12 недель (MVP) |
| Гибкость прав | Ограниченная (роли, группы) | Любая модель (RBAC, ABAC, запреты) |
| Интеграции | Через плагины (могут быть нестабильными) | Под любые API и протоколы |
| Производительность | Средняя (на 10k страниц может тормозить) | Оптимизация под нагрузку (LCP < 1 с) |
| Сопровождение | Обновления ядра и плагинов | Единый контур поддержки |
Какие возможности настройки предоставляет Wiki?
Модели управления доступом: публичная (Wikipedia-модель), корпоративная (только сотрудники, некоторые разделы — только конкретные команды) и смешанная. Для повторяющихся типов статей используются шаблоны: «Описание проекта», «Встреча», «Постмортем», «Инструкция». При создании страницы выбирается шаблон, структура заполняется.
Интеграции
Git-backend — страницы хранятся в Git-репозитории (Markdown-файлы). История = Git commits. Редактирование через веб или напрямую в Git. Slack/Telegram — уведомления при изменении отслеживаемых страниц. Confluence API — миграция существующей базы. Экономия на лицензиях Confluence может достигать 40% при переходе на кастомную Wiki.
Что входит в работу?
- Анализ требований: выявляем типы контента, модели прав, интеграции.
- Проектирование архитектуры: схемы БД, структура страниц, рендеринг.
- Разработка ядра: редактор, парсинг Wiki-ссылок, история, поиск.
- Настройка прав и интеграций.
- Тестирование: нагрузка, конфликты, migration.
- Документация и обучение пользователей.
- Поддержка после запуска (гарантия 6 месяцев).
Сроки ориентировочно
| Этап | Срок |
|---|---|
| MVP (страницы, ссылки, история, поиск, базовые права) | 6–8 недель |
| Полная Wiki с графом, шаблонами, OT-редактированием | 3–4 месяца |
| Дополнительные интеграции | +1–2 недели |
Стоимость рассчитывается индивидуально после обсуждения требований. Закажите разработку Wiki-системы у нас — получите консультацию инженера за 2–3 рабочих дня. Свяжитесь с нами для оценки проекта.







