Etherpad

Etherpad (ранее известная как EtherPad) — это открытое программное обеспечение (англ. open-source), веб-приложение для совместного редактирования текста в реальном времени. Etherpad позволяет нескольким авторам параллельно редактировать текстовые документы с возможностью видеть изменения всех участников сразу; различать авторов помогает индивидуальное цветовое выделение их фрагментов. В боковой панели размещён чат для обмена сообщениями.

Впервые выпущенная в ноябре 2008 года, Etherpad была приобретена компанией Google[2] в декабре 2009 года и вскоре после этого стала распространяться как ПО с открытым исходным кодом. Дальнейшая разработка координируется Etherpad Foundation.

Что важно знать
Etherpad
Тип совместный редактор в реальном времени
Разработчик Etherpad Foundation
Написана на JavaScript (Node.js)
Операционная система кроссплатформенное
Языки интерфейса английский
Первый выпуск ноябрь 2008
Последняя версия
Репозиторий github.com/ether/etherpa…
Лицензия Apache License 2.0
Сайт etherpad.org

Возможности и реализация

Любой пользователь может создать новый совместный документ, называемый «падом» (от англ. pad). Каждый pad имеет свою собственную URL, и любой, кто знает этот адрес, может его редактировать и участвовать в чате. Также возможна защита паролем. Каждый участник отмечается именем и цветом.

Документ автоматически сохраняется с короткими интервалами, однако пользователь может вручную создать контрольные точки (сохраняемые версии) в любой момент. Слияние изменений осуществляется при помощи операционного преобразования. Специальная «шкала времени» позволяет просматривать историю правок документа. Документ можно экспортировать в форматах простого текста, HTML, Open Document, Microsoft Word, PDF.

Почти сразу после запуска стала доступна функция подсветки синтаксиса для JavaScript.

Сама Etherpad реализована на JavaScript, поверх платформы AppJet; для обмена изменениями редактора в реальном времени используется технология Comet-стриминга. На момент запуска Etherpad стала первым веб-приложением с полноценной «живой» синхронизацией, ранее достижимой только в десктопных редакторах, таких как SubEthaEdit (для Mac), Gobby или MoonEdit (оба кроссплатформенные). Прежние веб-редакторы достигали лишь «почти реального времени».[3]

Клиентская часть текстового редактора Etherpad и его форка Etherpad Lite реализована на базе встроенного редактора платформы AppJet на JavaScript.

Запуск

Etherpad был запущен 19 ноября 2008 года Дэвидом Гринспаном, Аароном Иба и Дж. Д. Замфиреску (два последних ранее работали в Google).[4] Позже к ним присоединились бывший сотрудник Google Даниэль Клеменс и дизайнер Дэвид Коул. Первоначальный сайт размещался по адресу etherpad.com.

Средство получило освещение на Slashdot 21 ноября 2008 года, что вызвало значительную нагрузку и снижение доступности сервера (эффект Slashdot).[5] Для стабилизации инфраструктуры разработчики временно перевели Etherpad в режим закрытой бета-версии с запретом на создание новых падов (доступ к существующим при этом сохранялся).[6]

После окончания переписывания ПО новая версия была запущена 29 января 2009 года, а 3 февраля сайт вновь стал доступен всем пользователям для регистрации новых pad'ов.

Приобретение

После анонса Google Wave команда Etherpad опубликовала в блоге сравнительный анализ платформ, отметив, что минималистичный и сфокусированный интерфейс Etherpad может оказаться преимуществом для ряда сценариев использования.[7]

4 декабря 2009 года в блоге Etherpad было объявлено, что сервис приобретён компанией Google для интеграции с Google Wave. Существующие пользователи Etherpad получили приглашения в Google Wave.

31 марта 2010 года разработчики Etherpad сообщили, что создание новых падов будет разрешено до 14 апреля (на практике создание новых документов было возможно и 18 апреля), а доступ к существующим падам сохранится до 14 мая. Экспорт документов поддерживался. 14 мая сервис Etherpad был окончательно закрыт.

Открытый исходный код

Google опубликовала исходный код Etherpad под лицензией Apache License 2.0 17 декабря 2009 года. Впоследствии Google попросила удалить из кода модуль JSMin из-за положения лицензии «использовать только во благо», что противоречит требованиям к открытым лицензиям на Google Code.

После открытия исходного кода Etherpad на её базе было создано множество публичных серверов, являющихся «клонами» оригинального сайта. Вскоре пользователи и разработчики Etherpad основали Etherpad Foundation для координации развития проекта; первый организационный «пад» для обсуждения можно найти в архиве. Список публичных серверов Etherpad можно найти на сайте проекта.

Etherpad Lite

Etherpad Lite — почти полностью переписанная версия оригинального Etherpad с иной технической платформой и другой командой разработчиков. Оригинальная Etherpad написана на Java и Scala[8], требует высоких системных ресурсов, тогда как Etherpad Lite реализована на серверном JavaScript (Node.js). Библиотека синхронизации в реальном времени, Easysync, в обеих версиях одинакова.

Etherpad Lite обладает рядом уникальных возможностей:

  • HTTP API для взаимодействия с содержимым падов и управления пользователями/группами;
  • jQuery-плагин для встраивания редактора на другие сайты;
  • Клиенты для PHP, Python, Ruby, JavaScript, Java, Objective-C и Perl, использующие API редактора;
  • Более 50 плагинов для поддержки уведомлений, приглашений по email, офлайн-редактирования, загрузки файлов, таблиц и видеозвонков на базе WebRTC.

Etherpad Lite поддерживает множество форматов экспорта, включая LaTeX. На июнь 2019 года отсутствовала поддержка Markdown, но существует официальный модуль для экспорта в этот формат.[9] Etherpad Lite локализуется на многие языки средствами translatewiki.net.

Примечания