Мы разработали собственную CMS. Мы хотим иметь возможность редактировать документ из нашей CMS в офисе онлайн, а после редактирования загрузить его из облака обратно в нашу CMS. Для этого рабочий процесс выглядит следующим образом:
- Пользователь нажимает кнопку редактирования документа в нашей cms
- Наш веб-сервис загружает документ в нашу библиотеку документов sharepoint и возвращает URL редактирования
- URL-адрес редактирования открывается в новом окне, и пользователь может начать редактирование документа
- После изменения документа пользователем, в офисе онлайн будет отображаться «Сохранение» в верхней части экрана, и в определенный момент времени будет отображаться «Сохранено».
- Между тем, в браузере запущен интервальный таймер, который будет вызывать наш веб-сервис, который будет использовать API графа для получения метаданных документа, а точнее: последний измененный штамп времени
- Когда мы обнаруживаем, что документ был изменен онлайн, мы хотим загрузить его обратно в нашу CMS.
То, что мы видим, это то, что для обновления последней измененной отметки времени после «сохраненного» сообщения в офисе онлайн требуется произвольный период времени. Этот период может быть в диапазоне 2-60 секунд, что очень плохо для нашего интерфейса: пользователю не может быть сказано, пока мы не обнаружили изменение, и из-за этого пользователь может начать сомневаться, все ли в порядке.
Кроме того, мы видим, и это еще хуже, что в течение неопределенного периода времени (скажем, 2 минуты) последняя измененная временная метка обновляется случайным образом пару раз! Когда мы загружали документ с первым последним измененным обновлением, мы не получали актуальную последнюю версию документа, поэтому кажется, что в офисе не удалось сохранить или синхронизировать все-таки.
Таким образом, вопрос в том, есть ли способ узнать, когда офисный онлайн-режим на самом деле завершил сохранение / синхронизацию, чтобы мы могли наконец начать загрузку из облака на наш cms и убедиться, что это последняя версия?
Я также пытался получить метаданные с помощью REST API sharepoint, но у него те же проблемы.
Thx!
Luxifur
редактирование:. Форматирование