Dropbox и совместная работа над документами. OneDrive: настройка доступа к файлам и совместная работа над документами Office

Гугл документы (англ. Google Docs) - бесплатный онлайн-офис, включающий в себя текстовый, табличный процессор и сервис для создания презентаций, а также интернет-сервис облачного хранения файлов с функциями файлообмена, разрабатываемый Google. Это веб-ориентированное программное обеспечение, то есть программа, работающая в рамках веб-браузера без инсталляции на компьютер пользователя.

Документы и таблицы, создаваемые пользователем, сохраняются на специальном сервере Google, или могут быть экспортированы в файл. Это одно из ключевых преимуществ программы, так как доступ к введённым данным может осуществляться с любого компьютера, подключенного к интернету (при этом доступ защищён паролем).

В этом уроке мы расскажем о возможностях, которые применимы во всех Google документах: текстовых документах, электронных таблицах, презентациях и пр.

1. Изменение настроек региональных параметров часового пояса

2. Совместная работа с документами

3. Публикация документов

4. Сохранение документов на свой компьютер

5. Как поместить готовый документ с локального компьютера в документы Google

6. Поиск элементов в списке документов

Настройка параметров загрузки

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

В процессе загрузки можно:

преобразовывать документы, презентации, таблицы и рисунки в формат Документов Google. Этот параметр позволяет преобразовывать файлы различных форматов. Например, из документов Open Office можно сделать Документы Google, чтобы редактировать их в Интернете. Если этот параметр не выбран, документ можно будет только читать в средстве просмотра документов Google.
преобразовывать текст из файлов PDF или изображений в формат Документов Google. Этот параметр позволяет преобразовывать графические файлы в формат Документов Google, обеспечивающий совместное редактирование в Интернете. В процессе преобразования используется оптическое распознавание символов

Эти настройки будут применяться ко всем дальнейшим загрузкам, но их можно изменить в любой момент. Для этого нажмите кнопку Загрузить... и выберите Настройки либо откройте раскрывающееся меню Настройки в окне хода загрузки.

6.Поиск документов в Списке документов

Найти файлы и документы в Списке документов можно различными способами.

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

В верхней части Списка документов расположена голубая панель с закладками Документы, Изображения и видео, а также Дополнительные параметры. Нажмите на стрелку раскрывающегося меню рядом с соответствующей вкладкой, чтобы продолжить настраивать фильтр, указывая такие параметры, как файлы PDF, таблицы и изображения. После того как выбран тип файла, в окне поиска появляется соответствующее голубое поле. Введите слово или используйте операторы поиска, чтобы найти элементы в выбранной категории документов.

В Дополнительных параметрах имеются такие параметры, как фильтрация по настройке доступа элемента или по критерию, являетесь ли вы владельцем.

Сортировка результатов поиска, изменение порядка элементов

Список документов автоматически упорядочивается по приоритету на основе нескольких факторов, включая частоту открытия и изменения документа. Можно изменить порядок документов с помощью параметра Сортировать по.., расположенного справа вверху.

Режим отображения подробных сведений: просмотр дополнительной информации об элементах

Если необходимо просмотреть дополнительные сведения о каждом из документов для расширенного управления файлами, выберите пункт Подробные сведения в раскрывающемся меню Вид справа вверху. Строки в режиме отображения подробных сведений содержат следующую информацию:

Владелец документа

Дата последнего изменения документа

Пользователь, изменивший документ последним

Если выбрать фильтр Изображения и видео в раскрывающемся меню Вид появится параметр Уменьшенные изображения.

Левая панель навигации

С помощью ссылок в панели навигации можно легко находить свои документы.

Главная страница. Здесь отображаются все ваши файлы и документы, за исключением элементов, находящихся в корзине. Чтобы не показывать элементы в этом списке, нажмите на нем правой клавишей мыши и отключите параметр Показать на главной странице.

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

Все элементы. В этом представлении отображаются все ваши элементы, включая те, которые были скрыты на главной странице. Но элементы, находящиеся в корзине, здесь не отображаются.

Корзина. Здесь отображаются все элементы, находящиеся в корзине. Обратите внимание, что в корзину можно отправлять только те элементы, владельцем которых вы являетесь. Для элементов, владельцем которых вы не являетесь, можно выбрать Удалить из моего Списка документов в меню Действия.

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

Доступные мне коллекции. Содержит коллекции, к которым вам был предоставлен доступ. (Коллекции, доступ к которым был открыт посредством списка рассылки, здесь не отображаются.)

7. Печать документов

Чтобы получить копию документа на бумаге, его можно распечатать из PDF-файла или загрузить в качестве HTML-файла.

Чтобы распечатать документ непосредственно из PDF-файла, выполните следующее:

Откройте документ, который нужно распечатать, выберите Файл, Печать.

В результате откроется готовый к печати PDF-файл с диалоговым окном параметров печати.

Чтобы перед печатью документа добавить в него номера страниц, выберите пункт Параметры печати...в меню Файл и установите место их отображения. Изменив настройки, нажмите кнопку Печать в нижней части окна. В результате откроется PDF-файл с диалоговым окном печати.

Чтобы загрузить документ в качестве HTML-файла, выполните следующее:

В документе выберите команду Файл, Загрузить как.., HTML (zip-архив).

Найдите загруженный файл на своем компьютере, разархивируйте его, выберите и нажмите кнопку Открыть

Работать с документами приходится практически всем, и зачастую это отнимает очень много времени. Однако существует немало программ и онлайновых сервисов, которые могут упростить и ускорить решение ряда офисных задач. Так, если воспользоваться OCR-системой - отсканировать документ и распознать через нее текст, - это потребует гораздо меньше усилий и времени, нежели ввод соответствующего текста с клавиатуры. Если предварительно конвертировать PDF-документы в форматы Word/Excel, то после копирования фрагментов таких документов в собственные материалы (например, для подтверждения тезисов статистическими и аналитическими данными) уже не придется приводить их к нормальному виду, что потребовалось бы при копировании напрямую из PDF-файлов. Если процесс сравнения разных версий документов на предмет различий поручить компьютеру (а не просматривать тексты вручную), то опять же удастся выиграть немало времени, да и избежать досадных ошибок. И это далеко не всё - подобных примеров оптимизации можно привести множество.

Вопрос лишь в том, чему отдать предпочтение - офлайновым решениям или онлайновым сервисам. Спору нет, функциональность специализированных приложений для работы с документами, как правило, оказывается на порядок выше, чем у онлайновых сервисов, но и освоить их сложнее, да и цена таких приложений обычно впечатляет. В свою очередь, преимущество онлайновых сервисов заключается в простоте применения и, нередко, бесплатности. Кроме того, воспользоваться подобным сервисом можно с любого подключенного к Интернету компьютера, что актуально, ведь многим приходится работать на разных компьютерах (и не на всех нужное ПО установлено). Есть и еще один важный нюанс - сервисы существенно упрощают обмен документами, что важно при совместной работе над ними.

Обмен документами и совместная работа над ними

В современном мире связанные в разных проектах сотрудники (или просто объединенные некой целью друзья) нередко находятся далеко друг от друга (в разных городах и даже странах), что вызывает определенные сложности при необходимости обсуждения и согласования документов. В принципе, существует немало способов быстрого обмена документами в Сети - можно отправлять файлы по электронной почте, хранить их на FTP-серверах, размещать в файлообменниках либо онлайновых хранилищах и пр. Однако все эти варианты, по сути, предполагают одну и ту же технологию работы: одним пользователем создается исходный документ, тем или иным способом он предоставляется второму пользователю, который загружает соответствующее приложение (например, MS Word), вносит правки в режиме рецензирования и тем же способом переправляет документ своему коллеге. Затем всё повторяется по кругу. Разумеется, при серьезных правках со сложным форматированием данный подход оправдан. Однако чаще согласовывать, причем многократно, приходится не элементы форматирования, а какие­то конкретные формулировки текста и цифры. Подобное согласование правок может быть организовано более оперативно: через онлайновые сервисы, предназначенные для совместной работы над документами, например Google Docs (https://docs.google.com/) или Zoho Docs (http://docs.zoho.com/).

Такие сервисы обладают всем необходимым функционалом для организации совместной работы над документами в рамках конкретных проектов. Принцип работы, как правило, следующий - документы хранятся не на локальных компьютерах, а на специальных серверах и доступны только тем пользователям, для которых авторами документов были установлены соответствующие права (на чтение либо редактирование). Для чтения и правки документа нет необходимости загружать соответствующее программное обеспечение - это можно осуществить, используя функционал сервиса. Более того, допускается не только редактирование, но и комментирование различных расчетов, данных, фрагментов таблиц и пр., что часто требуется в ходе совместной работы. При этом работать с документами можно на любом компьютере с доступом к Интернету, что актуально для мобильных пользователей. Кроме того, полностью исключена какая-либо путаница с разными версиями одного и того же документа, ведь всем пользователям доступна одна и та же (всегда последняя) копия документа. В итоге время на совместную работу с документами заметно сокращается.

Сервис Google Docs изначально предназначался исключительно для работы с офисными документами и обеспечивал возможность создания и редактирования текстовых документов, таблиц и презентаций с рисунками (загруженными либо созданными в среде простейшего графического редактора прямо на сервисе). Теперь, помимо офисных документов, разрешается хранить фотографии и видеоматериалы. Документы размещаются в коллекциях (рис. 1) и могут создаваться с нуля либо загружаться уже в готовом виде в популярных файловых форматах, включая DOC, XLS, ODT, ODS, RTF, CSV, PPT и пр. Возможности форматирования создаваемых документов минимальны, но вполне достаточны для согласования материалов.

Рис. 1. Организация документов на Google Docs

Доступ к файлам может быть приватным, по ссылке и публичным в случае их публикации. Для безопасной совместной работы с документами оптимальным является приватный доступ, при котором для избранных пользователей настраиваются права доступа (редактирование или чтение) к конкретным документам либо коллекциям. Наряду с обычным редактированием предусмотрена возможность вставки комментариев (рис. 2). Устанавливать доступ по ссылке имеет смысл при необходимости открытия доступа к информации большой группе пользователей - например преподаватель может таким способом предоставить учебные материалы студентам курса. Публикация открывает доступ к документам всем пользователям без исключения.

Рис. 2. Добавление комментария к документу через Google Docs

Общий объем предоставляемого на сервисе Google Docs пространства ограничен одним гигабайтом - дополнительное пространство оплачивается (20 Гбайт - 5 долл. ежегодно, 80 Гбайт - 20 долл. ежегодно и т.д.).

Сервис Zoho Docs позволяет не только создавать текстовые документы, электронные таблицы и презентации и обмениваться ими, но также может использоваться в качестве онлайнового хранилища, куда можно загрузить фотографии, музыкальные композиции и видео. Спектр разрешенных для закачивания форматов очень широк - можно загружать даже ZIP-архивы с последующей их распаковкой средствами Zoho Docs и импортировать документы, хранимые на сервисе Google Docs. Размещаются документы и прочие материалы по папкам и рабочим областям (workspace). Папки необходимы для эффективной организации персональных документов (рис. 3), а рабочие области предназначены для совместной работы над документами (для удобства ориентации внутри рабочих областей также могут создаваться папки). В плане организации предусмотрена возможность назначения файлам тэгов, что может оказаться полезным для их быстрого поиска в дальнейшем. Что касается форматирования, то возможности здесь куда внушительнее, чем на сервисе Google Docs, хотя, на наш взгляд, это не очень принципиально, поскольку создавать эффектно оформленные документы гораздо удобнее в традиционных программных решениях (в частности, в продуктах MS Office), а онлайновые сервисы разумнее использовать для обмена документами и быстрого их согласования.

Рис. 3. Управление документами в среде Zoho Docs

Любые файлы и папки, хранимые на сервисе Zoho Docs, можно расшаривать для обеспечения совместной работы с документами, причем открывать доступ к ним разрешается не только для конкретных пользователей, но и для целых групп. Последнее очень удобно, когда требуется обеспечить доступ к серии документов сразу нескольким пользователям, совместно работающим в рамках конкретного проекта. Еще удобнее при работе над определенными проектами использовать рабочие области (для каждого проекта свою), открывая доступ к ним группам коллег. В таком случае все пользователи группы будут получать доступ к вновь добавляемым в рабочую область документам автоматически, упрощается и организация доступа к документам для новых участников групп, ведь достаточно будет просто внести нового сотрудника в состав группы. В зависимости от уровня доступа пользователи получают возможность чтения открытых ими документов либо их редактирования, в ходе редактирования возможно внесение комментариев (рис. 4).

Рис. 4. Комментирование документа в среде Zoho

Размер предоставляемого на сервисе Zoho Docs пространства и количество рабочих областей зависят от выбранного тарифа. В случае бесплатного тарифа Free отводится 1 Гбайт пространства и разрешается создать лишь одну рабочую область. В коммерческих тарифах Standard (3 долл. в месяц) и Premium (5 долл. в месяц) бесплатно выделяется всё тот же 1 Гбайт, но количество рабочих областей уже может достигать 10 и 20 соответственно, а кроме того, допускается увеличение предоставляемого пространства под файлы за дополнительную плату.

Распознавание текста

Бывают случаи, когда при подготовке документов в электронном виде приходится вставлять в них фрагменты из бумажных документов - например добавлять обширные цитаты в рефераты, курсовые работы или диссертации, вносить изменения в бумажные документы, не набирая их заново на клавиатуре, и пр. Если под рукой имеется сканер или фотоаппарат, то быстрее (хотя тут всё зависит от объема текста) может оказаться отсканировать (сфотографировать) документ и распознать текст через OCR-систему, воспользовавшись соответствующим онлайновым сервисом. С помощью подобных сервисов можно быстро конвертировать изображения документов (отсканированных или сфотографированных) в редактируемые текстовые форматы.

Онлайновых сервисов, предлагающих соответствующие возможности, в Сети довольно много, включая ресурсы, поддерживающие распознавание русскоязычных текстов. Одни ресурсы полностью бесплатны, но чаще всего имеют определенные ограничения на объем изображений и количество распознанных за фиксированный промежуток времени материалов. В других требуется постраничная оплата - чисто символическая в сравнении со стоимостью офлайновых OCR-систем, в большинстве своем рассчитанных на корпоративных пользователей.

К сожалению, большинство протестированных нами ресурсов с распознаванием русскоязычного текста справлялось плохо, причем даже идеальных с точки зрения исходного качества материалов. В качестве «идеального» документа мы взяли обычный скриншот с текстом, а на роль сложного для распознавания материала выбрали посредственно отсканированное изображение (документ был отсканирован под наклоном и содержал немало «мусора») - рис. 5.

Рис. 5. Исходные документы

Перебрав больше десятка онлайновых сервисов, мы остановились всего на трех ресурсах: Ocr Terminal (https://ocrterminal.com/), Online OCR (http://www.onlineocr.net/) и FineReader Online (http://finereader.abbyyonline.com/ru). Первый из названных сервисов поддерживает 20 языков и позволяет бесплатно распознавать до 20 страниц в месяц - если нужно больше, то придется платить от 4 до 9 центов за страницу (в зависимости от общего количества страниц). Сервис Online OCR понимает 32 языка, полностью бесплатен и позволяет распознавать до 15 документов в час. В FineReader Online поддерживается 37 языков распознавания, но разрешается бесплатно распознать всего три страницы. Все последующие страницы покупаются; расценки определяются общим количеством страниц (20 страниц - 3 долл., 50 страниц - 5 долл. и т.д.).

Технология распознавания текста через онлайновые OCR-сервисы теоретически никаких сложностей не вызывает: требуется загрузить исходный файл, выбрать язык и формат сохранения документа и запустить процесс распознавания (рис. 6).

Рис. 6. Распознавание документа с помощью FineReader Online

Все три названных сервиса хорошо (и в целом на равных) справились с распознаванием скриншота с текстом (рис. 7), а вот более­менее корректно распознать сложный документ удалось только первым двум из них (рис. 8), в то время как результаты FineReader Online оказались неудовлетворительными (рис. 9).

Рис. 7. Результат распознавания простого текста в FineReader Online

Рис. 8. Результат распознавания сложного текста через Ocr Terminal

Рис. 9. Результат распознавания сложного текста с помощью FineReader Online

Справедливости ради нужно отметить, что пользователям уже упоминавшегося онлайнового сервиса Google Docs теперь также предоставляется возможность оптического распознавания файлов, загружаемых на сервис. Распознаваться могут графические файлы (JPG, PNG и GIF) и PDF-документы. Поддержка русскоязычных документов сегодня уже реализована, однако качество распознавания пока оставляет желать лучшего (рис. 10).

Рис. 10. Результат распознавания простого документа через сервис Google Docs

Конвертирование PDF-документов в форматы Word и Excel

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

Поэтому гораздо разумнее вначале обработать файл в PDF-формате специальным конвертором, в частности онлайновым, и получить на выходе вполне читабельный документ в формате MS Word или MS Excel. В качестве примера подобных онлайновых инструментов можно привести сервисы PDFConverter (http://www.freepdfconvert.com/), Pdftoword.com (http://www.pdftoword.com/) и Zamzar.com (http:// www.zamzar.com/). С их помощью осуществить подобное конвертирование проще простого (рис. 11) - достаточно загрузить на сервис интересующий вас PDF-файл, выбрать желаемый формат, указать свой адрес электронной почты и запустить процесс конвертирования. После этого буквально через пару минут пользователю придет почтовое сообщение с конвертированным документом либо ссылкой на него (вариант зависит от сервиса).

Рис. 11. Конвертирование PDF-документа через сервис PDFConverter

PDFConverter умеет преобразовывать PDF-документы в форматы DOC, RTF и XLS, причем результаты конвертирования просто идеальны (рис. 12) - никаких прямоугольных блоков с отдельными фрагментами текста (что нередко получается после работы ряда программ-конверторов) и даже таблицы оказываются редактируемыми.

Рис. 12. Документ в формате DOC, полученный с помощью сервиса PDFConverter

Pdftoword.com умеет преобразовывать PDF-документы в форматы DOC или RTF, очень корректно распознавая текстовые блоки, однако таблицы он преобразует в изображения, что делает невозможным в дальнейшем редактирование табличной информации.

Сервис Zamzar.com может использоваться не только для конвертирования PDF-файлов в форматы DOC или RTF, но и для других направлений конвертирования (скажем, изображений и музыки из одного формата в другой) и поддерживает пакетный режим обработки данных. Однако полученные из PDF-файлов с его помощью Word-документы имеют не столь высокое качество (как в PDFConverter), поскольку могут (хотя далеко не всегда) включать прямоугольные блоки данных. Кроме того, таблицы при обработке документов на сервисе Zamzar.com воспринимаются как текст, дополненный графикой, - в итоге они получаются нередактируемыми, хотя внешний вид таблиц полностью корректен и столбцы со значениями отображаются без каких­либо смещений (рис. 13).

Рис. 13. Вид документа MS Word, созданного сервисом Zamzar.com

Быстрое сравнение документов

Зачастую в процессе работы приходится сравнивать между собой на предмет изменений различные версии документов - например исходную и измененную редакции материалов, подготовленных в Word, рабочую и обновленные версии прайс­листов с изменившимися ценами в Excel, разные версии текстовых документов (в частности, программного кода) и т.п. Сравнивать документы вручную - процесс долгий и утомительный, при этом всегда существует вероятность при просмотре не заметить различия в каких­то важных данных.

Для быстрого решения проблемы можно обратиться к специализированным сервисам быстрого сравнения, которые позволяют сравнивать два блока текста прямо в интернет-браузере. Если речь идет о выявлении различий в текстах англоязычных документов, то подойдет любой сервис - с русскоязычными текстами (из-за проблем с кодировкой) и таблицами (вследствие неудачного отображения итоговых данных) сложнее. Перебрав множество соответствующих ресурсов, мы остановились на трех: Text-Compare (http://text-compare.com/), TextDiff (http:// www.textdiff.com/) и Quick Diff (http://www.quickdiff.com/), с помощью которых можно сравнивать фрагменты текста, таблицы и программный код.

Для сравнения двух фрагментов с помощью упомянутых сервисов достаточно скопировать их в соответствующие окна, а затем запустить процесс сравнения, по окончании которого различающиеся (в том числе отсутствующие в одном из документов) фрагменты текста в сравниваемых документах окажутся выделенными. В случае Text-Compare оба исходных фрагмента после завершения операции вновь выводятся на экран и отличающиеся элементы в них выделяются цветом (рис. 14), при этом в таблицах (рис. 15) и программном коде дополнительно отмечаются строки с отличиями.

Рис. 14. Сравнение текста через сервис Text-Compare

Рис. 15. Сравнение таблиц с помощью сервиса Text-Compare

Результаты отображения процесса сравнения через сервис TextDiff выглядят иначе: на экран выводится только один результирующий фрагмент, в котором зеленым цветом выделяется текст, появившийся во втором фрагменте (то есть отсутствующий в первом), а красным - удаленный текст. При сравнении текстовых блоков это окажется удобным (рис. 16), в случае небольших фрагментов таблиц - приемлемым (рис. 17), однако использовать данный ресурс для сравнения больших таблиц вряд ли оправданно, поскольку найденные различия отображаются построчно в текстовом формате (без номеров строк и сохранения видимости столбцов).

Рис. 16. Сравнение текстов через сервис TextDiff

Рис. 17. Сравнение таблиц с помощью сервиса TextDiff

Принцип представления результатов в Quick Diff точно такой же, как и в TextDiff, за исключением того, что удаленные из второго фрагмента данные не только отображаются другим цветом, но еще и зачеркиваются (рис. 18). При этом к сложностям сравнения больших таблиц (вызванным построчным отображением данных) добавляется еще одна проблема - некорректное распознавание кириллицы.

Рис. 18. Сравнение программного кода через сервис Quick Diff

Таким образом, сервис Text-Compare может использоваться для сравнения текстов, таблиц и программного кода безо всяких ограничений. Сервисы TextDiff и Quick Diff прекрасно сравнивают тексты (в случае Quick Diff не на русском языке) и программный код и могут быть использованы для сравнения небольших табличных фрагментов.

Справедливости ради нужно отметить, что сервис Google Docs теоретически также позволяет выявлять различия в текстах - путем сравнения версий документа (меню File -> See Revision History ). Однако для сравнения документов это неудобно, поскольку соответствующая возможность предназначена не для сравнения, а для возврата к предыдущей версии документа.

Перевод фрагментов текста

В настоящее время нередко приходится иметь дело с документами на иностранных языках. Если речь идет о небольших фрагментах текста, то устанавливать солидную систему машинного перевода необязательно - проще воспользоваться услугами онлайнового переводчика, тем более что на просторах Сети таких переводчиков сегодня довольно много.

В их числе можно назвать сервис перевода Google Translate (http://translate.google.com/), систему машинного перевода Babel Fish (http://babelfish.altavista.com/), онлайн-переводчик PROMT Translate.Ru (http://www.translate.ru/) и др. Для перевода текста в этих системах нужно скопировать в соответствующее окно исходный текст, задать направление перевода и запустить процесс. После этого (обычно в расположенном рядом окне) будет отображен переведенный текст (рис. 19).

Рис. 19. Перевод текста с помощью Google Translate

Заметим, что на онлайновых сервисах могут быть ограничения в отношении объемов переводимых фрагментов - к примеру в онлайн-переводчике ПРОМТ за один раз разрешается переводить тексты объемом не более 3 тыс. символов, включая пробелы и знаки конца параграфа (либо 10 тыс. для зарегистрированных пользователей - регистрация бесплатна).

Кроме того, есть еще один нюанс - результаты машинного перевода, как правило, сразу использовать нельзя (все­таки перевод далек от идеального). В итоге приходится довольно внимательно сопоставлять исходный и переведенный тексты, а это возможно только для сравнительно небольших фрагментов, ведь размеры окон с текстами в интернет-браузере ограниченны.

Создание диаграмм и схем

Gliffy - это сервис для создания разного рода диаграмм и схем: организационных и бизнес-диаграмм, планов-графиков, схем компьютерных сетей и телекоммуникаций, блок-схем, расписания проектов и т.п. Строятся такие диаграммы с чистого листа либо на базе встроенных (рис. 20) или самостоятельно созданных шаблонов из объектов-заготовок путем визуального конструирования (рис. 21). Готовые документы сохраняются на сервере либо экспортируются в графические форматы изображений (JPG, PNG и SVG) с последующим сохранением их на компьютере пользователя. Возможен экспорт в формат MS Visio и вывод на печать с подгонкой диаграммы на один лист либо разбиением на несколько листов. Диаграммы могут быть публичными и приватными, возможна организация совместной работы над диаграммами нескольких пользователей.

Рис. 20. Выбор шаблона организационной диаграммы на сервисе Gliffy

Рис. 21. Визуальное конструирование диаграммы в среде Gliffy

Размер предоставляемого на сервисе Gliffy пространства и количество создаваемых диаграмм зависят от выбранного тарифа. В бесплатном тарифе Basic отводится 2 Мбайт пространства и разрешается создать всего пять публичных диаграмм. В коммерческом тарифе Premium (5 долл. в месяц) объем предоставляемого пространства и количество диаграмм (публичных и приватных) неограниченно.

Сервис DiagramAnywhere также предназначен для создания блок-схем, организационных диаграмм, схем компьютерных сетей и иных типов диаграмм, планов и схем с чистого листа или на базе шаблонов (рис. 22). Принцип построения их такой же, как и на сервисе Gliffy, за исключением одного нюанса: нужный шаблон диаграммы придется предварительно скопировать в свой аккаунт. Готовые документы сохраняются на сервере, выводятся на печать и/или экспортируются в графические форматы изображений (JPG, PNG, TIFF и GIF) либо в формат PDF с сохранением на компьютере пользователя. Созданные на сервисе DiagramAnywhere диаграммы могут быть приватными (тогда они доступны только автору) или публичными (окажутся видимыми другим пользователям по ссылкам). Предусмотрена возможность копирования HTML-кода на диаграмму для вставки его в блог, форум или веб­страницу.

Рис. 22. Создание диаграммы по шаблону с помощью сервиса DiagramAnywhere

На сервисе DiagramAnywhere предусмотрены два тарифа: бесплатный демонстрационный Free (на 30 дней) и коммерческий Premium (30 долл. в год). В случае бесплатного тарифа объем предоставляемого пространства ограничивается 10 Мбайт и разрешается создать всего три диаграммы (публичные или приватные). Тариф Premium позволяет занимать под свои документы до 1 Гбайт пространства и создавать неограниченное количество диаграмм (как публичных, так и приватных).

10 апреля 2010 в 17:19

Dropbox и совместная работа над документами

  • Облачные сервисы

Я работаю в компании, которая занимается разработкой специализированного софта биологической направленности для фармакомпаний. По роду деятельности мне и моим коллегам приходится сталкиваться с написанием научных статей, грантов и прочих документов, над которыми приходится работать сообща.

В настоящее время совместная работа над документами осуществляется через электронную почту. Схема самая примитивная: один автор вносит изменения и после пересылает остальным соавторам, которые в свою очередь читают и вносят свои изменения и дополнения. Подобный «пинг-понг» порождает большое число писем с содержанием типа «Петя, вот это последняя версия документа», и множество версий. И естественно, рано или поздно кто-то запутывается и начинает править уже неактуальную версию. Что бы отловить подобные оплошности, приходится затрачивать дополнительное время. Еще одной причиной почему используется почта, а не какие-то специализированные инструменты типа SharePoint - это простота использования, не нужно учиться работать в новом софте.

Не так давно я открыл для себя Dropbox, в который сразу же стал сбрасывать рабочие файлы для работы дома. При этом не нужно каждый раз посылать файл самому себе по почте, и ведь нужно же еще не забывать отправить назад, опять же самому себе, обновленную версию. А позже пришел к идее, что Dropbox можно использовать для совместной работы.

Шаринг папок

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

Кроме того, чтобы работать только с актуальными версиями документов, нужно иметь возможность отслеживать изменения. Тут Dropbox позволяет, во-первых, просматривать какие изменения в целом происходили в папке: какие файлы были добавлены/удалены/изменены.

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

Конфликтные ситуации

Что будет, если один из соавторов оказался в локации, в которой нет интернета, и ему приходится использовать текущую версию документа, а в это время другой соавтор внес свои изменения и проапдейтил документ (точнее, он апдейтится автоматически)? Когда наш первый автор вернется он-лайн, возникнет конфликтная ситуация: попытка обновить файл, версия которого выше, чем того, который есть на руках. В таких случаях Dropbox сохраняет конфликтный файл как копию, чтобы дальше можно было внести изменения в текущую версию документа, правда уже сторонними средствами.

Итоги

Подводя итог вышесказанному, можно выделить следующие достоинства:
  • Не требуется каких-то специальных знаний, достаточно заполнить регистрационную форму и установить клиент, а все остальное будет происходить автоматически.
  • Не нужно использовать почту или FTP для обмена версиями документа.
  • Все версии документа сохраняются на сервере Dropbox, потому нужный файл будет доступен из любой точки, где есть интернет и можно не бояться удаления файлов
Но есть и недостаки:
  • Нет какой бы то ни было системы разрешения конфликтных ситуаций. Сейчас при возникновении конфликтной ситуации, файлы придется сравнивать вручную, хоть и средствами MS Word.
  • Вопросы безопасности - если взломают аккаунт одного из соавторов, ваша информация будет украдена. Кроме этого, не для всех приемлемо, чтобы статьи и прочие документы, которые по сути описывают новейшие изыскания, хранились на руках третьих лиц.
  • Достаточно примитивная система управления версиями.

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

  • Разработка веб-сайтов
  • Добрый день. Последний год я занимаюсь в проекте «МойОфис» вопросами совместного редактирования (collaboration). Оглядываясь назад, могу констатировать, что это непростая и очень интересная задача. Поэтому я хотел бы подробно рассказать о ней и дать ответы на следующие вопросы:

    1. Какие существуют подходы к обеспечению совместного редактирования?
    2. Насколько они сложны в реализации?
    3. Можно ли взять готовую библиотеку и использовать ее в своем проекте?
    4. Можно ли вести разработку без оглядки на совместное редактирование?

    Для того чтобы подробно и аргументированно ответить на них, необходимо написать довольно много материала, поэтому статей будет несколько, присаживайтесь поудобнее, мы начинаем.

    Как только мы начинаем хранить файлы на сервере (в облаке), возникает естественное желание обеспечить их редактирование несколькими людьми. Особенно это актуально для офисных документов, над которыми работают сразу несколько человек и каждый из них вносит правки.

    Но «нельзя просто так взять и…» предоставить всем доступ для правки одного документа. Необходим механизм, который обеспечит удобное и корректное изменение одного файла несколькими пользователями. Давайте рассмотрим варианты, как это можно сделать.

    Возможные подходы

    Блокировка всего документа при редактировании

    Это самый тривиальный метод. Преимуществами такого решения являются простота реализации и возможность работы со всеми типами данных. На этом преимущества заканчиваются и начинаются сплошные неудобства для пользователя:
    • В один момент времени только один пользователь может вносить правки. Чем больше будет такой документ и чем чаще его будут редактировать, тем более явным становится это неудобство. Представьте себе ТЗ на сотню с лишним страниц, при этом один пользователь вынужден ждать, пока его коллега закончит править раздел в другой части документа.
    • Каждое изменение в документе приводит к необходимости полностью передать его на сервер, а затем скачать всем участникам, что сильно ухудшает скорость работы и увеличивает объем пересылаемых данных.
    • Данное решение не может обеспечить офлайн-работу, ведь чтобы приступить к редактированию документа, требуется заблокировать его на сервере от изменения другими пользователями. А без соединения с сервером сделать это нельзя.
    • Неснятая блокировка. Представим, что один пользователь забыл снять блокировку, да еще и ушел домой или вовсе уехал в отпуск. Всем остальным приходится ждать или искать нерадивого пользователя. Частично от этого можно уйти, контролируя время активности или предоставив администратору возможность принудительно снять блокировку. Впрочем, ни то ни другое не является идеальным решением, так как в первом случае нельзя понять, на основе чего можно отличить пропавший интернет от недисциплинированности пользователя, а во втором нельзя обойтись без вмешательства человека и чьи-то изменения могут быть потеряны.
    Такой вариант можно часто встретить в решениях для корпоративных порталов, ERP, СЭД.

    Блокировка части документа

    Для текстового документа такой единицей деления может стать абзац или таблица. Это улучшает весь процесс работы, а именно:
    • Теперь можно одновременно редактировать один документ, при условии, что правки вносятся в разные его части.
    • Заблокировать документ полностью нельзя. Несмотря на неснятую блокировку, с остальным документом можно продолжать работать.
    Но и этот подход нельзя назвать идеальным:
    • По-прежнему нельзя обеспечить офлайн-работу. Для блокировки любой из частей документа необходимо связаться с сервером.
    • Часть документа, заблокированная при редактировании, может быть значительной. Действительно, абзац может быть довольно большим и содержать несколько сотен или тысяч знаков текста. Еще больше сложностей возникает при работе с таблицами. Без дополнительных ухищрений нельзя одновременно разрешить менять содержимое ячеек и структуру таблицы - вставлять и удалять строки или столбцы. Это означает, что при любом изменении одной из ячеек требуется блокировать всю таблицу. В офисных документах таблицы могут быть разного уровня вложенности или же очень большого размера. Особенно неприятным этот момент становится при работе с табличными документами, где рабочий лист и вовсе состоит из одной таблицы, а значит при любых изменениях надо его блокировать полностью.
    • С точки зрения структуры, документ можно упрощенно представить как последовательность абзацев и таблиц. И когда мы вставляем или удаляем таблицы и абзацы, то мы редактируем эту последовательность. А это значит, что корректность совместного редактирования такой последовательности также необходимо обеспечить (кстати, принципиальной разницы между редактированием списка абзацев или списка букв нет, разве что первое происходит реже). Без введения принципиально другого метода синхронизации это должна быть опять же блокировка, только на этот раз объект блокировки будет один на весь документ.
    Некоторые читатели могут заметить, что задача совместного редактирования успешно решается в системах контроля версий, с последовательной историей (SVN или CVS) или с возможностью ветвлений (GIT, Mercurial). Да, вы правы, но и здесь есть свои нюансы, которые делают невозможным применить в нашем случае тот же принцип:
    • Merge. Во-первых, для пользователей офисных пакетов это понятие как правило незнакомо. Во-вторых, объединение разных версий документа становится принципиально более трудным при переходе от простого текста к документу со сложной (как правило иерархической) структурой, где есть текст, вложенные таблицы, изображения и различные настройки форматирования. Просто представьте себе подобный 3-way merge.
    • Даже при использовании kdiff3 или winmerge случаются ошибки, а ведь они работают с простым текстом.
    • Обычному пользователю офисных приложений будет непросто вникнуть в мир ветвлений и слияний. А вникнув, использовать будет не очень быстро и удобно.

    Взгляд с другой стороны

    Будем исходить из того, что с точки зрения пользователя вся работа с документом должна сводиться лишь к тому, чтобы исправить текст, вставить график, обещанный коллегам, и на этом закончить. Так же, как он это делал раньше с локальными документами. Все сложные процессы по поддержке корректного состояния документа должны быть скрыты от пользователя. При этом важно сохранить отзывчивость и функциональность, сравнимую с редактированием локальных файлов.

    Для нас это диктует дополнительные требования:

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

    Отсюда следует, что состояния документа у клиентов и на сервере могут отличаться. Это формирует следующее требование:

    2. Сходимость (convergence). Когда все пользователи закончат свою работу и все уведомления о правках будут доставлены, как на сервере, так и у клиентов должно быть одно и то же состояние документа.

    Но это еще не все. Первые два требования можно выполнить с помощью простого, но явно не устраивающего пользователей алгоритма. Если на сервер приходят два конкурирующих изменения, то можно просто игнорировать то, что пришло позже, уведомив соответствующим образом клиентов. Этого будет достаточно, чтобы удовлетворить первые два требования, но явно недостаточно, чтобы сделать счастливым того, чьи изменения были выкинуты. А это значит, что нужно задекларировать еще одно требование:

    3. Принцип сохранения намерений (intention preservation). Мы должны обеспечить максимальное сохранение намерений всех пользователей, даже если правки вносятся одновременно и они конкурируют друг с другом.

    Мы декларируем, что каждая правка от каждого из пользователей важна для нас и мы не будем отменять ее без необходимости. Необходимость отменить все же может возникнуть. Например, в таких ситуациях, когда один пользователь отредактировал абзац, который параллельно был удален кем-то другим. В этом случае изменения уже просто нельзя применить, так как абзац более не существует.

    Второй момент, который стоит упомянуть в контексте этого принципа, - формализация. Понятие «намерение» достаточно абстрактно. Представим, что в тексте есть слово «оптека», которое параллельно исправляют два пользователя, причем по-разному: «аптека» и «оптика». Большинство известных алгоритмов (и наш тоже) работают на уровне букв, и в результате получится «аптика», что не соответствует «высокоуровневым» намерениям обоих авторов. Существуют формализации намерений пользователей на уровне слабых порядков букв («хочу вставить букву “и” после буквы “т”, но перед “к”»). Для некоторых алгоритмов сохранение выраженных таким образом намерений является неотъемлемой их частью (об этом можно почитать ).

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

    Выбор неблокирующего алгоритма

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

    Первый. Differential synchronization. Который в итоге нам не подошел

    Алгоритм предполагает постоянный 3-way merge на стороне клиента и сервера, который сопровождается пересылкой патчей в обе стороны. На схеме представлена общая идея.

    Вероятно, вы уже догадались, по какой причине этот алгоритм нам не подходит. Правильно, как уже упоминалось, 3-way merge для документа со сложной структурой нетривиален. При этом необходимо иметь формальную гарантию того, что он даст одинаковые результаты при слияниях в разных порядках и направлениях… Это ставит крест на перспективе применения у нас данного подхода.

    Второй. Operation Transformation (OT)

    Это скорее общий подход, на основе которого разработаны различные алгоритмы.

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

    Что такое Operation Transformation

    Давайте посмотрим на еще одну схему, которая популярна в статьях об OT.

    Операция О2:

    • Пользователю 1 приходит операция О2 del от пользователя 2.
    • Операция О2 трансформируется относительно операции О1, которой не было у пользователя 2 на момент создания О2.
    • В результате получается del, так как перед позицией 2 уже успели вставить один символ и у “с” позиция стала 3.
    Операция О1:
    • Пользователю 2 от пользователя 1 приходит операция О1 ins.
    • O1 трансформируется относительно О2, но на этот раз при трансформации операция не меняется и применяется в таком же виде, как и у автора операции - пользователя 1.
    Здесь используется трансформация включения (в некоторых алгоритмах используется и трансформация исключения). В дальнейшем я буду использовать обозначение Inc(O1, O2) для операции О1 с учетом эффектов операции О2, то есть, если кратко, мы включили О2 в О1.

    Основное требование, которому должны удовлетворять трансформации включения (известное как Transition Property 1), - это:

    Inc(O2, O1) * O1 = Inc(O1, O2) * O2,

    Где * - последовательное применение, справа налево. Для простоты понимания посмотрите на изображение:

    Приведенное выше равенство в применении к этой картинке означает, что, начав с одного состояния документа и двигаясь по правой или левой ветке, мы получим одно и то же итоговое состояние. Принципиальным моментом является то, что начинать «движение» мы должны из одного и того же состояния. Если это условие не соблюдать, то результатом будет рассогласованное состояние документов либо трансформированная операция может просто не иметь смысла. Например, вставка символа в неверную или несуществующую позицию документа.

    Как я указал выше, существует несколько различных алгоритмов на основе ОТ. Их главным отличием является решение ключевого вопроса: как производить трансформации таким образом, чтобы любые операции, участвующие в трансформации, были над одним и тем же состоянием документа, и, если такой возможности нет, то с помощью каких еще преобразований можно изменить порядок применения операций.

    Дело в том, что первые алгоритмы на основе ОТ не предусматривали использования центрального сервера. Все клиенты связывались между собой peer-to-peer. Соответственно, текущее состояние документа у пользователей выражалось последовательностью операций (О1, О2… ОN), при этом в каждый момент времени количество, состав и порядок этих операций у каждого клиента может быть свой. В этом случае нельзя определить единый строгий порядок среди всех генерируемых операций, можно ввести только слабый порядок по happens before критерию. Операции, между которыми нет такого отношения, считаются конкурирующими или параллельными (concurrent).

    Подобный подход также несет с собой определенные сложности:

    • Производительность. Количество трансформаций может быть очень большим, клиентам приходится хранить всю историю, так как в любой момент может прийти сколь угодно «древняя» операция от другого пользователя.
    • Для корректной реализации требования TP-1 уже недостаточно. Приходится требовать еще и как минимум TP-2: Inc(O3, Inc(O1, O2) * O2) = Inc(O3, Inc(O2, O1) * O1). В зависимости от конкретного алгоритма может понадобиться выполнение других требований к трансформациям и обратным операциям (полный список


    Просмотров