Готовность и границы
Граница между реализованным и пилотным, список договорённостей до старта и готовая формулировка ответа внешней команде.
Ниже — граница между тем, что работает сегодня, и тем, что фиксируется контрактом пилота. Что продукт делает с документом по задачам — колонтитулы, оглавления, сравнение версий, печать — собрано в карте возможностей.
Что доступно сейчас, а что входит в пилот
Заголовок раздела «Что доступно сейчас, а что входит в пилот»| Возможность | Состояние | Как использовать или при каком условии |
|---|---|---|
| Смысловая структура | Доступно | команда model в сеансе или model-docx отдельным вызовом |
| Вёрстка, страницы, сцена | Доступно | compose, paginate, print, print-window, print-delta |
| Рецензирование и стили | Доступно | проекции review и style |
| Правка текста | Доступно | mutate или apply-text-transaction |
| Выделение, история, сохранение | Доступно | set-selection, отмена и повтор, save и контрольные точки |
| Отдельный поиск попадания | В описанных границах | Строка основного текста, её край и позиция курсора; остальные типы объектов добавляются постепенно |
| Поиск попадания в текст и таблицы внутри приложения | Работает, но контрактом не является | Не обращаться напрямую: маршрут внутренний и меняется без предупреждения |
| Контекстные меню текста и таблиц | Работает, но контрактом не является | Внутри продукта работает; способ подключить своё меню ещё не зафиксирован |
| События Surface Host | Доступно в описанном наборе | ready, dirty, saved, error, unmounted |
| События выделения, содержимого и команд | Фиксируется в пилоте | Нужно договориться о составе, порядке доставки, повторах и жизненном цикле |
| Своё контекстное меню | Фиксируется в пилоте | Описательный список пунктов и типизированная отправка команд |
| Прямая правка разметки страницы или файла | Запрещено | Только через команды сеанса и запись файла ядром |
Что подтверждает реализуемость
Заголовок раздела «Что подтверждает реализуемость»-
Попадание в текст. По координате щелчка возвращается страница, строка, позиция в строке и сам текст.
-
Попадание в ячейку таблицы. Возвращается страница, блок, строка и колонка, включая вложенные таблицы.
-
Контекстные меню. Отдельные маршруты обслуживают текст и таблицы.
-
Двойной щелчок. Обслуживаются текст, таблицы, границы и автоподбор ширины.
Что зафиксировать до начала интеграции
Заголовок раздела «Что зафиксировать до начала интеграции»Профиль возможностей
Заголовок раздела «Профиль возможностей»| Решение | Что зафиксировать |
|---|---|
| Какие объекты адресуются | Абзац, участок форматирования, таблица, ячейка, изображение, примечание, поле и ваши собственные объекты |
| События | Щелчок, двойной щелчок, вызов контекстного меню, активация с клавиатуры; порядок доставки и возможность отменить |
| Контракт меню | Сколько ждать ответа вашей стороны, в каком порядке объединяются пункты, какие идентификаторы зарезервированы, перевод, значки и разделители |
| Контракт команд | Ожидаемая ревизия, ключ защиты от повторного применения, неделимый пакет команд, состав подтверждения и перечень ошибок |
| Сохранение | Куда сохранять, контрольные точки, что делать при конфликте, приёмка по кругу «сохранил — открыл заново» |
| Безопасность | Токен локального доступа, выдача возможностей, что пишется в журнал и что из него вырезается, отсутствие обходных путей мимо контракта |
| Версионирование | Версии схем, срок совместимости, порядок снятия возможностей с поддержки |
| Платформы | Какой профиль принимается в первом пилоте: настольный, внутри окна WebView, серверный или мобильный |
Минимальный набор приёмочных проверок
Заголовок раздела «Минимальный набор приёмочных проверок»-
Открыть реальный документ и получить смысловой снимок, не потеряв те части файла, которые редактор не разбирает: разметка Word (OOXML) переносится в новый файл как есть.
-
Щелчок по тексту и по ячейке даёт правильный объект документа и выделение.
-
Двойной щелчок выполняет согласованное действие один раз и не меняет документ сам по себе.
-
Контекстное меню меняется в зависимости от объекта и доступных возможностей и открывается с клавиатуры.
-
Команда с актуальной ревизией применяется; команда с устаревшей ревизией отклоняется с сообщением вида «stale revision: expected 5, received 3».
-
Отмена и повтор восстанавливают результат; сохранение и повторное открытие подтверждают, что изменения дошли до файла.
-
Закрытие освобождает слушателей, соединение WebSocket и процесс ядра — зависших процессов не остаётся.
Что понадобится с вашей стороны
Заголовок раздела «Что понадобится с вашей стороны»-
5–10 реальных документов и перечень элементов, по которым нужны действия.
-
Таблицу «тип элемента → щелчок → двойной щелчок → пункты меню → команда документа».
-
Требования к настольной, серверной и встраиваемой работе, к работе без сети, к хранилищу, учётным записям и аудиту.
-
Список ваших объектов и способ связать их с узлами документа — без второй модели файла на вашей стороне.