Централизованный сервис для хранения, управления и публикации документов в экосистеме IQuack.
Сервис поддерживает версионирование документов, публичную публикацию и хранение истории изменений. Документы могут быть глобальными или принадлежать отдельным продуктам и проектам.
Doc также используется для управления обязательными согласиями пользователей — например, при принятии политики конфиденциальности или условий использования.
Возможности
- Хранение и публикация Markdown-документов
- Версионирование документов и полная история изменений
- Восстановление предыдущих версий без потери истории
- Публичные постоянные URL для документов
- Организация документов по проектам
- Экспорт документов в PDF
- Управление обязательными документами для сервисов
- Отслеживание пользовательских согласий и принятых версий
- Хранение даты, IP-адреса и User-Agent при принятии документа
Документы и версии
Каждое изменение содержимого документа создаёт новую версию. Старые версии не перезаписываются и остаются доступными в истории.
Это позволяет не только откатить документ к предыдущему состоянию, но и точно определить, какая версия документа была опубликована и какая именно версия была принята пользователем.
Восстановление старой версии не удаляет последующую историю — оно создаёт новую версию на основе выбранной.
Согласия
Doc хранит требования сервисов к обязательным документам и журнал пользовательских согласий.
Например, сервис может потребовать, чтобы пользователь принял определённую версию политики конфиденциальности. Если документ обновляется, сервис может определить, требуется ли пользователю принять новую версию.
Каждое согласие связано с конкретной неизменяемой версией документа. Поэтому даже после последующих изменений можно восстановить точное содержимое документа, которое пользователь принял.
Как это работает
Продукты IQuack используют Doc как единый источник документов и связанных с ними согласий.
Публичные документы доступны по постоянным URL без авторизации, а управление содержимым выполняется через административный интерфейс с контролем доступа.
Сервисы экосистемы могут запрашивать список документов, которые пользователь ещё не принял, и записывать новые согласия через внутренний API.