← К возможностям
DikobraskaPDF

Совместная работа

DikobraskaPDF · команда

Совместная работа — это режим, в котором несколько участников одновременно редактируют один документ через общий сервер. Один создаёт комнату и загружает файл, остальные подключаются по коду и работают с тем же содержимым.

Все изменения — аннотации, текст, фигуры, формулы, изображения — синхронизируются мгновенно. Каждый участник видит, что делают другие, курсоры партнёров двигаются в реальном времени.

В отличие от обычного PDF, где каждый работает со своей копией, здесь — одна версия на всех. Не нужно пересылать файлы друг другу и вручную сливать правки.

1. Как открыть панель
Панель «Совместная работа» открывается через кнопку на верхней панели инструментов или через меню «Сервис» → «Совместная работа». Панель появляется справа, как и остальные боковые панели.
2. Интерфейс панели
Панель «Совместная работа» разделена на несколько областей. Понимание структуры помогает быстро ориентироваться.
┌─────────────────────────────────────────────────────────┐ │ СОВМЕСТНАЯ РАБОТА │ ├─────────────────────────────────────────────────────────┤ │ БАННЕР СОЕДИНЕНИЕ ПОТЕРЯНО / ПЕРЕПОДКЛЮЧЕНИЕ... │ ├─────────────────────────────────────────────────────────┤ │ Статус: ● Не подключено / В комнате: ABC123 │ │ Вы: Иван [Изменить профиль] │ ├─────────────────────────────────────────────────────────┤ │ [Создать комнату] │ │ [Введите код...] │ │ [Войти в комнату] │ ├─────────────────────────────────────────────────────────┤ │ КОД КОМНАТЫ: ABC123 │ │ [Выйти из комнаты] │ ├─────────────────────────────────────────────────────────┤ │ ФАЙЛ СОВМЕСТНОЙ РАБОТЫ: │ │ [Создать файл] │ │ [Открыть файл с ПК] │ │ [Открыть файл с сервера] │ │ Файл: не загружен / есть на сервере │ ├─────────────────────────────────────────────────────────┤ │ [История изменений] │ │ [Распределение страниц] │ │ [Удалить файл с сервера] │ ├─────────────────────────────────────────────────────────┤ │ КУРСОРЫ ПАРТНЁРОВ: │ │ ☑ Показывать курсоры партнёров │ │ ☑ Отправлять мой курсор партнёрам │ │ ☑ Я работаю на этой странице │ │ ☐ Запретить редактирование другим │ │ ☐ Защитить файл (только через комнату) │ ├─────────────────────────────────────────────────────────┤ │ УЧАСТНИКИ (2): │ │ ■ dikobraska · стр. 1 · ● работает │ │ ■ Dika · стр. 2 │ └─────────────────────────────────────────────────────────┘
Верхняя часть
Нижняя часть
3. Регистрация и профиль
Для совместной работы нужен профиль. Он создаётся один раз и используется во всех комнатах на этом компьютере.
Что содержит профиль
Пароль
Пароль хранится только в виде хеша (PBKDF2, 10 000 итераций). Оригинал не сохраняется ни в клиенте, ни на сервере. Проверка выполняется сравнением хешей.
Совет: не используйте один и тот же пароль с другими сервисами. Это пароль профиля в DikobraskaPDF, а не учётная запись где-то ещё.
Изменение профиля
4. Создание комнаты
Создатель комнаты — владелец. Только владелец может выполнять ряд действий: защищать файл, распределять страницы, удалять файл с сервера.
Как создать комнату
  1. Убедитесь, что профиль создан (см. раздел 3)
  2. Нажмите «Создать комнату»
  3. Сервер сгенерирует код из 6 символов (A–Z, 2–9, без похожих букв)
  4. Код появится в панели зелёным шрифтом — это ключ доступа
  5. Передайте код участникам
Код комнаты — единственный способ подключения. Других механизмов (ссылок, приглашений) нет. Код передаётся устно, через мессенджер, по почте — любым удобным способом.
Сколько живёт комната
Важно: если нужно сохранить комнату надолго — оставьте хотя бы один клиент открытым с входом в комнату. Либо перед выходом нажмите Ctrl+S — это обновит снимок комнаты, и при следующем открытии `.dika` она восстановится.
5. Вход в комнату
Как войти
  1. Откройте панель «Совместная работа»
  2. Введите код комнаты в поле «Введите код...»
  3. Нажмите «Войти в комнату»
  4. Если комната существует — вы увидите список участников и код
  5. Если комнаты нет — сообщение «Комната не найдена»
Что происходит после входа
Если комната не найдена
Осторожно: если вы уже в комнате A, а хотите войти в комнату B — сначала выйдите из A. Один клиент работает только с одной комнатой за раз.
6. Работа с файлом комнаты
Файл комнаты — это обычный проект `.dika` (или PDF), который хранится на сервере. Все участники работают с одной версией на сервере.
Создать файл
Открыть файл с ПК
Открыть / Скачать файл с сервера
Удалить файл с сервера
Что происходит при удалении: действие нельзя отменить. Если владелец удалил файл — восстановить его можно только из локального `.dika` (открыть файл с ПК и залить снова).
7. Защита файла
Галочка «Защитить файл (только через комнату)» — это режим, в котором файл открывается только при подключении к комнате. Владелец включает её для защиты от случайного открытия.
Что меняется при включении
Что НЕ защищено
Защита — это UI-барьер. Мотивированный участник, знающий пароль dika.dikobraska (вшит в клиент), может расшифровать `.dika` вне клиента. Для настоящей конфиденциальности — используйте отдельные файлы: каждому участнику свой `.dika`.
Защита — от случайного, не от намеренного. Она останавливает того, кто «нажал не туда». Но не остановит того, кто целенаправленно взламывает. Если нужна полная конфиденциальность — не собирайте все работы в один файл.
Когда включать
8. Распределение страниц
Владелец может назначить каждую страницу конкретному участнику. Это удобно, когда документ — набор независимых частей: каждый участник видит только свою страницу.
Как назначить
  1. Нажмите «Распределение страниц» в панели
  2. Откроется таблица: страница — назначена — показывать другим
  3. В колонке «Назначена» выберите участника
  4. Для назначенной страницы можно включить «Показывать другим»
  5. Закройте — изменения применятся сразу
Варианты назначения
Флаг «Показывать другим»
Совет: перед началом работы распределите страницы — каждый получит свою. После завершения можно снять назначения — все работы будут видны.
9. Курсоры и статусы
В реальном времени каждый участник видит курсоры и статусы партнёров. Это помогает понять, кто где работает и не мешать друг другу.
Как отображаются курсоры
Настройки
Список участников
Совет: если курсоры мешают — отключите «Показывать курсоры партнёров». Ваш курсор при этом продолжит отправляться — другие его увидят.
10. Блокировки и «Я работаю»
В совместной работе есть два уровня блокировки: мягкая (предупреждение) и жёсткая (полный запрет).
«Я работаю на этой странице»
Мягкая блокировка
Жёсткая блокировка
Важно: если вы включили «Запретить редактирование» и забыли выключить — другие не смогут работать. Отключайте, когда закончили. При выходе из комнаты блокировка снимается автоматически.
11. История и журнал
В совместной работе есть два независимых журнала: история изменений (для отмены) и журнал действий (для контроля).
История изменений
Журнал действий (в .dika)
История не удаляется при выходе участников. Все действия остаются в collab_history.json и доступны после перезапуска программы.
12. Автосохранение
Все изменения в комнате автоматически сохраняются на сервер. Не нужно нажимать Ctrl+S после каждого действия.
Как это работает
  1. Вы добавили аннотацию — она мгновенно ушла через SignalR
  2. Через 2 секунды сработает debounce-таймер
  3. Файл `.dika` пересобирается и заливается на сервер
  4. Остальные участники получают актуальную версию
Если добавили много подряд
Ручное сохранение
Совет: при включённой защите участник нажимает Ctrl+S — изменения уходят на сервер. Это нормальный режим, не ошибка. Остальные участники видят изменения в реальном времени.
13. Восстановление
Комната на сервере удаляется через 7 дней после последней активности. Но это не значит, что работа потеряна.
Как восстановить
  1. Откройте файл `.dika` с компьютера (двойной клик)
  2. Программа прочитает `collab_room.json` внутри архива
  3. Появится диалог «Документ из комнаты XXXX. Открыть для совместной работы?»
  4. Нажмите «Да» — программа создаст комнату с тем же кодом
  5. Файл автоматически зальётся на сервер
  6. Участники смогут зайти по старому коду
Что восстанавливается
Восстановление работает только при открытии `.dika`, а не при вводе кода в панели. Ввод кода в пустом CollaborationPanel — это попытка войти в существующую комнату. Если её нет — «Комната не найдена».
Что НЕ восстанавливается
14. Ограничения
Совместная работа — это режим для команды или проектной группы. Ниже — что важно знать заранее.
Что важно знать:
  • Нужен интернет — без него только локальная работа
  • Код комнаты — 6 символов
  • Комната живёт 7 дней после последней активности, после удаляется
  • Защита файла — от случайного, не от намеренного взлома
  • Все участники работают с одной версией на сервере — локальные копии могут отличаться
  • Если владелец удалил файл с сервера — комната закрыта, нужно заново открыть файл и создать комнату
  • Если владелец потерял файл `.dika` и комната удалена — работу восстановить нельзя
  • Аннотации чужих участников нельзя отменить через Ctrl+Z — только свои
  • При защите участник не может сохранять PDF / распечатать — только работать в комнате
Совет: для длительных проектов — оставляйте хотя бы один клиент открытым в комнате. Это продлевает жизнь комнаты. Или Ctrl+S после каждой сессии — тогда снимок в `.dika` обновлён, и даже после удаления комнаты файл восстановится при следующем открытии.
Не нашли ответ? Создайте запрос в личном кабинете → раздел «Запросы». Укажите версию Windows, версию программы, код комнаты и краткое описание проблемы.