В "Первой Форме" реализованы следующие возможности для совместной работы с документами:
1. Совместное редактирование. Пока задача находится на согласовании, все документы в задаче доступны для совместного редактирования через SharePoint. Вносимые изменения станут видны другим соавторам только после их сохранения автором и обновления документа остальными пользователями.
2. Redline (файл накопления изменений). По каждому документу формируется история правок на основе механизмов сравнения и правок Word.
Данный функционал не кроссплатформенный! Не работает в Linux |
---|
3. Пользователи могут одновременно работать с двумя документами или версиями документа в двух окнах — для просмотра, принятия или отклонения правок.
Технические требования описаны здесь.
Настройки для совместной работы с документами
Для совместной работы с документами необходимо выполнить следующие настройки:
Для совместного редактирования в SharePoint
Выгрузка файлов в SharePoint настраивается для каждой категории или для каждого ДП отдельно.
В настройках категории, на вкладке "Основные настройки", в блоке "Работа с файлами Word", параметр "Выгружать вложенные docx файлы в SharePoint при согласовании". При включенной настройке если запрошена хоть одна подпись в задаче категории, то все документы, вложенные непосредственно в задачу, выгружаются в SharePoint. Когда последняя подпись в задаче отклонена или принята, файлы загружаются обратно из SharePoint в "Первую Форму".
Для ДП "Файл" и колонок "Файл" в ДП "Таблица" существует аналогичная настройка "Выгружать вложенные docx файлы в SharePoint при согласовании". Она позволяет настроить вышеуказанное поведение отдельно для каждого ДП.
Для просмотра истории изменений Redline
Данный функционал не кроссплатформенный! Не работает в Linux |
---|
Для генерации файлов Redline необходимо включить в настройках категории, на вкладке "Основные настройки", в блоке "Работа с файлами Word", параметр "Генерировать файл накопления изменений (Redline)". Кроме того, для работы ДП "Файл" необходимо для каждого из этих ДП отключить настройку "Добавить версию к имени файла".
Для работы в режиме "два окна"
По адресу /admin/ResVerMsWord.aspx необходимо указать версии Word, с которыми будет разрешено использование функционала "двух окон".
В настройках категории на вкладке "Основные настройки" в параметре "Показывать кнопку сравнения для файлов Word" необходимо выбрать смарт-фильтр. Аналогично необходимо указать смарт-фильтр в настройках ДП "Файл". Когда условия смарт-фильтра выполняются, по клику на файл отображаются два окна – актуальная версия документа и результат сравнения текущей версии и версии с последнего согласования (или первоначальной версии для первого этапа согласования).
Если во втором окне необходимо показывать не правки с прошлого согласования, а результат сравнения с первоначальной версией документа, за нужно указать соответствующий параметр "Смарт — фильтр для сравнения с первой версией" (например. смарт-фильтр, всегда возвращающий результат True). Когда условия смарт-фильтра выполняются, будет отображаться результат сравнения с первоначальной версией.
В категории, где ведется совместная работа с файлами, должна быть включена настройка "Запретить вкладывать файлы с паролем", а у подписей, которые запрашиваются при согласовании, должна быть включена настройка "Запрещен акцепт и отправка файлов на согласование с непринятыми правками". |
---|
Работа пользователей
Действия автора документа
Автор вкладывает документ в задачу или ДП "Файл" и запускает процесс согласования. Если согласование прошло успешно, других действий от автора не требуется. Если согласование было отклонено на любом из этапов, автору возвращается документ с правками каждого согласующего. Автор должен принять или отклонить эти правки, скорректировать текст документа и снова отправить документ на согласование.
Действия участника согласования (согласующего)
Когда документ приходит на согласование первый раз, согласующий открывает его в режиме совместного редактирования. Если согласующий принимает документ и ставит свою подпись, то на этом работа с документом для него заканчивается. Если подпись была отклонена, то на следующем цикле согласования согласующий увидит документ в двух окнах Word: в одном окне будет отображена актуальная версия документа из SharePoint, а в другом – изменения относительно версии документа, отправленной ранее на доработку.
Описание механизмов
Redline
Данный функционал не кроссплатформенный! Не работает в Linux |
---|
Для каждого документа с уникальным именем в задачах с включенной настройкой Redline формируется документ с накоплением изменений. В рамках задачи документы с одним и тем же именем считаются версиями одного документа. При вложении нового документа с другим именем в ДП "Файл" история изменений для данного ДП сбрасывается.
При вложении в задачу или ДП "Файл" очередной версии документа или при редактировании документа запускается механизм формирования Redline. Для первой версии документа, когда файл Redline только создается, в него записывается новый документ. Для последующих версий на сервере в интерактивном режиме запускается приложение Word, в котором происходит объединение текущего файла Redline и нового документа. Перед объединением в документах принимаются все правки.
В файле Redline правки могут отображаться от имени пользователей, которые на самом деле их не вносили. Обычно это бывает на последних этапах согласования, и правки отображаются от имени акцептантов. Иногда правки дублируются — одна и та же правка повторяется от имени разных пользователей. Такое поведение обусловлено особенностями работы "Первой Формы" и Word и объясняется следующим образом: если в момент выгрузки из SharePoint в файле Word есть непринятые правки, то согласование отменяется. Из-за этого в момент выгрузки файла из SharePoint в нем уже нет информации о том, кто вносил правки. При генерации файла Redline система присваивает все эти правки текущему пользователю, т.е. акцептанту. Если ранее такая же правка была внесена другим пользователем, Word считает это другой правкой и в файл Redline включает две одинаковые правки от имени разных пользователей. |
---|
Совместное редактирование в SharePoint
Работа с SharePoint происходит только в задачах, находящихся в статусе согласования, т.е. имеющих количество активных запрошенных подписей больше нуля.
При запросе первой подписи в задаче все документы асинхронно отправляются из "Первой Формы" в SharePoint.
1. Назначение прав
В SharePoint в библиотеке документов создается папка категории с именем Subcat<ID>
В папке категории создаётся папка для хранения документов задачи с именем Task<ID>
Для папки задачи отключается наследование прав и очищаются все уникальные разрешения.
Для каждого из пользователей, имеющих право на документ, проверяется существование аккаунта на SharePoint по доменному имени (логину из "Первой Формы") и если аккаунта нет, то он создается. Уволенные пользователи не обрабатываются.
Для каждого из пользователей, имеющих право на документ, создается группа с именем User<ID>, в которую входит сам пользователь (основной) и его заместители. На группу выдаются следующие права, в зависимости от основного пользователя группы:
•Если пользователь исполнитель задачи – выдаются права только на чтение документа.
•Если пользователь подписчик – выдаются права на чтение и редактирование документа.
•Если пользователь имеет в соответствующей категории право на просмотр всех задач — выдается право на чтение и редактирование документа, кроме шифрованных задач.
•Если пользователь имеет в соответствующей категории право на просмотр всех задач и просмотр зашифрованных задач — выдается право на чтение и редактирование документа для всех задачи в категории.
Если в процессе назначения прав в группах User<ID> находятся пользователи, не являющиеся заместителями основного пользователя, они удаляются из групп.
При удалении подписчика в задаче, в которой хотя бы один файл находится в SharePoint, происходит обновление прав:
•Для каждого из пользователей, имеющих право на документ, проверяется существование аккаунта на SharePoint по доменному имени (логину из "Первой Формы"), и если аккаунта нет, то он создается. Уволенные пользователи не обрабатываются.
•Для каждого из пользователей, имеющих право на документ, создается группа с именем User<ID>, в которую входит сам пользователь (основной) и его заместители.
При добавлении подписчика для него создается группа с именем User<ID>, в которую входит сам пользователь (основной) и его заместители.
При назначении заместителя он добавляется в группу замещаемого им пользователя, а по окончании времени замещения — удаляется из группы (с помощью задания по таймеру).
2. Отправка документов
В SharePoint отправляются все документы из задачи, которых еще там нет.
Для отправки в SharePoint все названия документов транслитерируются. В "Первой Форме" остаются оригинальные названия файлов.
Всем документам устанавливается режим Word "Отслеживание изменений" (Tracked Changes) с защитой от отключения случайно сгенерированным паролем. Таким образом, любые изменения документа в SharePoint будут отображены в виде правок Word.
После окончания асинхронной загрузки пишется комментарий. Браузер по таймеру опрашивает сервер на наличие новых комментариев и при получении комментария нужного типа (либо после перезагрузки карточки задачи) обновляет ссылки в задаче.
3. Получение документов обратно в "Первую Форму"
Когда обработана (подписана или отклонена) последняя запрошенная в задаче подпись, документы асинхронно выгружаются из SharePoint в "Первую Форму".
У документов отключается вся защита документов на уровне Word (чтобы убрать режим отслеживания изменений).
После окончания асинхронной загрузки пишется комментарий. Браузер по таймеру опрашивает сервер на наличие новых комментариев и при получении комментария нужного типа (либо после перезагрузки карточки задачи) обновляет ссылки в задаче.
Работа по совместному редактированию полностью поддерживается средствами SharePoint, изменения в программный код SharePoint не вносятся. |
---|
"Два окна"
Для отображения второго окна в момент запроса первой подписи в задаче (аналогично SharePoint) генерируются временные файлы сравнения, в системе они также именуются Redline и хранятся в той же таблице, но имеют другой "тип" — "за один этап". Для каждого акцептанта формируется свой экземпляр такого файла с правками.
Алгоритм формирования файла с правками:
1.Из актуального документа удаляются все правки.
2.Из базы получается версия документа, вернувшаяся с прошлого согласования (просматриваются все версии от актуальной версии «назад», находится версия в SharePoint и берется следующая после нее. Если такой нет, то значит "два окна" не нужны).
3.Из версии с прошлого согласования подбираются все пользователи, внесшие правки. Они будут акцептантами на текущем этапе согласования.
4.В найденной версии удаляются все правки, кроме правок текущего акцептанта.
5.В актуальной версии удаляются все правки.
6.Найденная версия объединяется средствами Word с актуальным документом и записывается в базу. Перед объединением принимаются все правки, которые были в обоих документах.
7.В момент отображения карточки задачи составляется ссылка для компоненты ActiveX, которая отобразит сформированный Redline-файл для текущего акцептанта в одном окне (с доступом только на чтение) и актуальный документ в другом.
Если в категории настроен параметр "смарт-фильтр для сравнения с первой версией", то алгоритм формирования видоизменяется:
1.Из базы получается первая версия документа
2.Эта версия объединяется при помощи Word с актуальным документом и записывается в базу. Перед объединением принимаются все правки, которые были в обоих документах.
Логирование
Ошибки, происходящие на сервере "Первой Формы", записываются в обычный журнал ошибок.
Ошибки на стороне SharePoint записываются в журнале SharePoint, который по умолчанию расположен в папке C:\Program files\Common Files\Microsoft Shared\Web Server Extensions\14\LOGS.
Этот журнал удобно просматривать при помощи программы UlsViewer.exe.
Ошибки в клиентской компоненте для сравнения в "двух окнах" записываются на компьютере пользователя в файл ..\%AppData%\Temp\WordActiveXLog.txt.
Ограничения для имен файлов
Для имен файлов, с которыми работает Sharepoint, действует ряд ограничений. Поэтому при загрузке файла в Sharepoint служебные символы удаляются из имени файла, а для обеспечения уникальности имен получившаяся строка дополняется в конце идентификатором или частью идентификатора файла (GUID).
1. Следующие символы нельзя использовать в любом месте имени файла:
~ |
тильда |
---|---|
# |
номер |
% |
процент |
& |
амперсанд |
* |
звездочка |
{} |
фигурные скобки |
\ |
обратная косая черта |
: |
двоеточие |
<> |
угловые скобки |
? |
вопросительный знак |
/ |
косая черта |
" |
кавычки |
| |
вертикальная черта |
+ |
плюс |
2. Нельзя использовать символ точки несколько раз подряд в середине имени файла.
3. Нельзя использовать символ точки в конце имени файла.
4. Имя файла не может начинаться с точки.
5. Имя файла не может заканчиваться символами:
.Files |
_files |
-Dateien |
_fichiers |
_bestanden |
_file |
_archivos |
-filer |
_tiedostot |
_pliki |
_soubory |
_elemei |
_ficheiros |
_arquivos |
_dosyalar |
_datoteke |
_fitxers |
_failid |
_fails |
_bylos |
_fajlovi |
_fitxategiak |
Решение проблем
Для корректной работы режима сравнения "два окна" в настройках Word необходимо снять запрет на сохранение персональных данных для текущего документа. |
---|
Проверить настройку можно на странице сведений о документе (пункт меню "Файл" -> "Сведения") — если настройка включена, то будет отображаться сообщение об автоматическом удалении свойств и персональных данных (1). Если такое сообщение есть, то настройку необходимо отключить. Для этого кликнуте на ссылку "Разрешить сохранение этих сведений в файле" (2).
Сведения о документе
Если ссылка не отображается, то в меню "Файл" выберите пункт "Параметры" -> вкладка "Центр управления безопасностью" -> кнопка "Параметры центра управления безопасностью" -> вкладка "Параметры конфиденциальности" -> раздел "Параметры для конкретного документа" и отключите настройку "Удалять персональные данные из свойств файла при сохранении".
Отключение запрета на сохранение персональных данных в документе
Полезные ссылки