Что такое совместное редактирование текста?

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

Сложнее всего — печатать одновременно. Если два человека изменяют текст в одно и то же время, изменения нужно объединить так, чтобы сохранились оба и у всех получился совершенно одинаковый текст. Редакторы реального времени справляются с этим, отправляя небольшие изменения, а не весь документ целиком, и используя единый механизм, который определяет порядок их применения.

Описание инструмента

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

Аккаунт и настройка не нужны: комната создаётся при открытии страницы, а текст можно в любой момент скопировать или скачать.

Возможности

  • Редактирование в реальном времени — изменения всех участников появляются мгновенно, а текст, набранный одновременно, объединяется без потери введённых фрагментов
  • Курсоры и выделения — видно, где печатает каждый участник; цвет соответствует цвету рядом с его именем
  • Ссылка для доступа — идентификатор комнаты добавляется в адрес страницы, поэтому, чтобы пригласить кого-то, достаточно отправить ссылку
  • Копирование и скачивание — в любой момент можно сохранить копию текста в виде файла .txt

Как это работает

При открытии страницы создаётся комната на сервере синхронизации, а ссылка на неё помещается в адресную строку. Каждый, кто открывает ссылку, присоединяется к той же комнате и видит тот же документ.

Каждое изменение отправляется на сервер в виде краткого описания того, что изменилось: какие символы и где были вставлены или удалены. Весь текст при этом не отправляется. Сервер выстраивает изменения всех участников в единый порядок, переносит изменение, внесённое поверх более старой версии, за те изменения, которые были сделаны раньше, а затем передаёт результат всем остальным. Введённый вами текст отображается сразу, а изменения других участников объединяются с ним, поэтому при одновременном редактировании текст никого не теряется.

Документ хранится только в памяти сервера, пока комната открыта. Если перезагрузить страницу, вы снова попадёте в комнату и увидите текст в прежнем виде. Когда все покинут комнату, она и её текст будут удалены.

Ограничения

  • В комнате может находиться не более 20 человек, а текст может содержать не более 100 000 символов.
  • После закрытия комнаты данные не сохраняются. Скачайте текст, прежде чем последний участник покинет комнату.
  • Слишком быстрые или слишком объёмные изменения, например многократная вставка всего документа подряд, отклоняются, а редактор заново загружает текст комнаты.
  • Если открыть ссылку на комнату в другом совместном редакторе (например, комнату SQL в редакторе JavaScript), появится сообщение «Комната не найдена»: каждая комната предназначена для одного языка программирования.

Советы

  • Наведите курсор на курсор другого участника, чтобы увидеть его имя.
  • После перезагрузки страницы вы останетесь в той же комнате и увидите текст в прежнем виде.