Wiki — это программное обеспечение, созданное для облегчения процесса совместного написания и редактирования различного контента. Подобные программы разработаны с конкретной целью — предоставить продуктивную среду для редактирования текстов, а также инструменты управления всей системой для модераторов и менеджеров.
Wiki существуют с самого начала современного Интернета, каким мы его знаем, и самой популярной системой этого типа является MediaWiki, которую использует Википедия.
На протяжении многих лет было создано множество вики-движков, например, MediaWiki, DokuWiki, PmWiki, Wikkawiki или TiddlyWiki. Все они по-прежнему используются в своих сферах.
Однако с развитием веб-интерфейсов резко выросла популярность JavaScript, следовательно, возникла необходимость создания движка Wiki, поддерживающего этот язык.
Что такое Wiki.js?
Wiki.js — это полностью настраиваемый модульный вики-движок, полностью написанный на JavaScript и Node.js. Он поставляется с богатым набором функций и без проблем работает в различных системах и средах.
Веб-приложение поддерживает множество интерфейсов баз данных с основной поддержкой PostgreSQL. Благодаря набору инструментов разработчики могут интегрировать Wiki.js в существующую систему, поскольку они могут создавать модули и собственные темы.
Wiki.js используется в разных сферах и отлично подходит для ученых, писателей, менеджеров, разработчиков и технических писателей. Сервисы, созданные с помощью этого движка, используют для написания инструкций, технических заданий, составления документации, систем обучения и других документов.
Преимущества использования Wiki.js
Разберем, какими особенностями обладает Wiki.js, и чем он будет полезен бизнесу. У Wiki.js очень простой пользовательский интерфейс. Он не требует сложного обучения и интуитивно понятен. Это очень полезно при составлении обучающих материалов, инструкций и документации.
Также движок достаточно прост в понимании для разработчиков, которые будут создавать систему на его основе. С инструментом может работать любой программист, знающий JavaScript.
Что касается разнообразия функций, Wiki.js предлагает широкий спектр модулей, которые можно включать и выключать при необходимости:
Аутентификация
В системе возможна, как локальная, так и корпоративная аутентификация. При локальной пользователи могут самостоятельно регистрироваться в системе, а корпоративная интегрируется с существующей в компании аутентификацией.
Также можно подключить авторизацию через соц. сети и мессенджеры или использовать двухфакторную аутентификацию для дополнительной надежности.
Встроенные редакторы
Для удобства работы предоставляет несколько встроенных редакторов: редактор HTML, Markdown (формат документации для разработчиков), WikiText и редактор, подобный Excel, для редактирования данных на основе электронных таблиц.
Также в нем есть визуальный редактор WYSIWYG (What You See Is What You Get, в переводе «что видишь, то и получишь»). Он позволяет во время редактирования или форматирования текста видеть итоговый результат.
История изменений
Все изменения контента отслеживаются в системе. Страницу можно вернуть к предыдущему состоянию или восстановить удаленные файлы. Также легко отслеживать, кто и что менял. Это особенно актуально, если файл редактируется несколькими людьми, и обеспечивает продуктивность команды.
Локализация
Wiki.js переведен на более чем 40 языков. Но речь не только о поддержке языков пользовательского интерфейса. Основная его особенность заключается в языке контента, который имеет несколько приятных функций:
- Поддержка многоязычного контента, что означает, что вы можете создавать контент сразу на нескольких языках и переключаться между ними на одной и той же странице.
- Полная поддержка языков RTL, таких как арабский, иврит и персидский.
Рендеринг
Для разработчиков система также предоставляет инструменты, делающие интерфейс удобным для написания документации. Например, там есть возможность вставки кода с соблюдением синтаксиса, а также подсветка строк, редактор для добавления диаграмм и блок-схем, а также визуализация сложных математических выражений.
Поиск
Поскольку функциональность поиска является неотъемлемой частью любой системы управления контентом, базовая поисковая система является встроенной функцией Wiki.js. Она не требует настройки и подходит для большинства пользователей.
Однако в некоторых случаях могут потребоваться расширенные возможности полнотекстового поиска, поэтому здесь появляется еще одна отличная функция для Wiki.js: полная поддержка Algolia, AWS CloudSearch, Azure Search и Elasticsearch.
В следующих версиях планируется ещё больше вариантов поиска, таких как Manticore, Solr и Sphinx.
Хранение
В отличие от старых классических вики-движков, Wiki.js предлагает исправляемый модуль хранения с полной поддержкой резервного копирования контента и синхронизации для нескольких поставщиков, таких как AWS S3, Box.net, DigitalOcean. Spaces, Dropbox, Google Диск и Microsoft OneDrive.
Модуль хранилища также использует Git и SFTP для хранения.
Управление медиа-контентом
Как и все другие вики-движки, Wiki.js хорошо заботится о медиа-активах с помощью простого, но мощного медиа-менеджера, созданного для управления изображениями и медиа-файлами с плавным рабочим процессом, который начинается от загрузки файла до его вставки в контент на странице.
Медиа-менеджер позволяет упорядочивать загруженные ресурсы, создавая новую папку ресурсов и управляя уже созданными.
Развертывание
Благодаря нескольким вариантам развертывания это программное обеспечение можно установить и использовать практически везде. Его можно установить на сервер Windows, Linux, macOS, Heroku и Kubernetes.
Также в руководствах есть информация по развертыванию в Azure, IBM Cloud Foundry и Protainer.
Управление пользователями
В Wiki.js есть встроенная мощная система управления пользователями с полной поддержкой групп, разрешений и правил. Притом глобальное разрешение может быть переопределено частными пользовательскими разрешениями.
Создание нового аккаунта занимает меньше минуты. Новый пользователь может быть назначен непосредственно в группы и активирован вручную. Используя правила страницы и разрешения, администраторы могут создать частную страницу или вики, запретив общий доступ.
Комментарии
Модуль внутренних комментариев — это еще одна встроенная функция Wiki.js, которая поставляется с параметрами безопасности, чтобы избежать спама. Хотя внутреннего комментирования достаточно, система также поддерживает внешние системы комментирования, такие как Disqus и Commento.
Причины, по которым Wiki.js следует рассматривать корпоративным пользователям
В мире существует более 40 вики-движков, но поддержка JavaScript, очень важная для интеграции с веб-приложениями, есть только у единиц. Мы рекомендуем Wiki.js для предприятий по ряду причин:
- Открытый исходный код
- Настройка с помощью подключаемых модулей
- Многоязычная поддержка контента
- Несколько вариантов развертывания
- Несколько вариантов хранения
- Интеграция с корпоративной системой IAM (управление идентификацией и доступом), поскольку поддерживает аутентификацию LDAP, SAML, CAS, AuthO, Okta, Azure с полной поддержкой OAyth2 и OpenID.
- Двухфакторная аутентификация
- Встроенная поддержка полнотекстового поиска со сторонними опциями.
- Масштабируемость
- Лояльное и большое сообщество
- Активная поддержка от разработчиков Wiki.js и регулярные обновления
Wiki.js или готовое решение — что лучше?
На данный момент существует множество коробочных решений для ведения корпоративной базы знаний. Это могут быть как зарубежные приложения, например, Confluence или Notion, так и российские, например, Yandex Wiki. Системы могут быть как платные с моделью подписки, так и опенсорсные.
Основное их отличие от Wiki.js в том, что они предоставляют полностью готовое пространство из коробки. Это является как плюсом, так и минусом. Самое главное преимущество в том, что система настраивается без использования кода. То есть настроить корпоративную базу знаний может любой человек, не знающий языки программирования.
Минусов у коробочных решений несколько: во-первых, готовая база знаний не предусматривает возможностей кастомизации самой системы. Обычно там есть некоторые базовые настройки, достаточные для большинства компаний, но для каких-то индивидуальных решений понадобится кастомизировать всю систему.
Второй недостаток касается по большей части платных решений. Особенно это актуально в последнее время, когда зарубежные компании массово уходят из РФ. Так как владелец бизнеса приобретал только подписку на лицензию, разработчики приложения имеют право по истечению срока лицензии ограничить доступ к облачному решению. Поэтому стоит заранее рассмотреть переход на бесплатный движок, и всю базу знаний хранить на российских серверах. Это будет надежнее для ваших данных.
Вывод
Wiki.js как современный вики-движок является хорошей альтернативой старым классическим движкам, которые использовались последние десятилетия. Это отличный выбор для предприятий и разработчиков, которые хотят выполнять задачи с меньшими трудностями с технической стороны.
Тем не менее, перед разработкой проекта следует убедиться, какие элементы текущей системы можно интегрировать с вики-движком, а какие нужно дорабатывать. Разработчики команды Work Solutions могут проанализировать ваш текущий проект и подобрать лучший стек для вашей системы.