Рисунок и приведенные ниже шаги объясняют процесс упоминания пользователей в комментариях в Р7 Document Server.

  1. Пользователь отправляет запрос на получение списка пользователей для упоминания, набрав знак + в поле комментария в редакторе документа.
  2. Редактор документа информирует менеджера документа о запросе.
  3. Менеджер документов отправляет список пользователей в редактор документов, где этот список будет отображаться под полем комментария.
  4. Пользователь вводит комментарий в поле комментария в редакторе документа, и комментарий добавляется в документ.
  5. Редактор документов отправляет сообщение, список электронных писем и действий ссылки в документе менеджеру документов.
  1. Создайте пустой HTML-файл, чтобы открыть документ.
  2. Укажите обработчик события, чтобы подсказка об упоминании пользователей в комментариях отображалась в скрипте конфигурации для инициализации Редактора документов. Когда пользователь набирает знак +, вызывается событие onRequestUsers, и комментатор может выбрать других пользователей для упоминания в комментариях.
    var onRequestUsers = function(){
        ...
    };
    
    var docEditor = new DocsAPI.DocEditor("placeholder", {
        "events": {
            "onRequestUsers": onRequestUsers,
            ...
        },
        ...
    });
  3. Чтобы установить список пользователей под полем комментария, необходимо вызвать метод setUsers:
    docEditor.setUsers({
        "users": [
            {
                "email": "john@example.com",
                "name": "John Smith"
            },
            {
                "email": "kate@example.com",
                "name": "Kate Cage"
            },
            ...
        ]
    });
    

    Где example.com — это имя сервера, на котором установлены менеджер документов и служба хранения документов. Дополнительные сведения о взаимодействии клиент-сервер службы Сервера документов см. в разделе как это работает

    Параметр Описание Тип Наличие
    users Определяет список пользователей. массив строк необязательно
    users.email Определяет адрес электронной почты пользователя. строковый обязательно
    users.name Определяет полное имя пользователя. строковый обязательно

  1. Пользователь переходит по ссылке в менеджер документов.
  2. Менеджер документов отправляет файл editorConfig инициализации редактору документов.
  3. Редактор документов прокручивает документ до комментария

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

В версии 5.4 событие onRequestSendNotify можно использовать, только если установлено событие onRequestUsers. Начиная с версии 5.5 такой зависимости между onRequestSendNotify и onRequestUsers нет — оба можно устанавливать независимо.

var onRequestSendNotify = function(event) {
    var ACTION_DATA = event.data.actionLink;
    var comment = event.data.message;
    var emails = event.data.emails;
    ...
};

var docEditor = new DocsAPI.DocEditor("placeholder", {
    "events": {
        "onRequestSendNotify": onRequestSendNotify,
        ...
    },
    ...
});

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

В случае, когда при инициализации документа используется поле document.info.sharingSettings, но список пользователей из события onRequestSendNotify другой, необходимо вызвать метод setSharingSettings.

 

docEditor.setSharingSettings({
    "sharingSettings": [
        {
            "permissions": "Full Access",
            "user": "John Smith"
        },
        {
            "isLink": true,
            "permissions": "Read Only",
            "user": "External link"
        }
    ]
});
Параметр Описание Тип Наличие
sharingSettings Определяет настройки, позволяющие делиться документом с другими пользователями. массив объектов необязательно
sharingSettings.permissions Определяет права доступа для пользователя с указанным выше именем. строковый необязательно
sharingSettings.user Определяет имя пользователя, которому будет предоставлен общий доступ к документу. строковый необязательно
В случае, когда событие onRequestSendNotify не предоставляет доступ к файлу, mentionShare в разделе настройки конфигурации редактора необходимо присвоить значение false.

Обратите внимание, что он будет доступен только для комментариев, если установлено событие onRequestSendNotify.