Перейти к содержимому
FastOffice

Глоссарий

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

Термины, которые встречаются во всех разделах документации.

Термин Значение
Ядро A4, ядро на Rust Часть на Rust, которая владеет документом: разбирает файл DOCX, держит модель документа, считает вёрстку и записывает изменения обратно в файл.
Ядро F1, ядро на Rust Часть на Rust, которая владеет книгой: формулы, разрежённое хранение ячеек, история изменений и запись файла. Второго владельца нет — интерфейс только показывает и просит.
Поверхность редактора, Web Surface Готовый пользовательский интерфейс, который размещают в окне браузера, в окне просмотра веб-страниц внутри приложения или в своём контейнере. На страницах A4 встречается под обоими именами: заголовки разделов называют его Web Surface, текст — поверхностью.
Surface Host, служба поверхности Небольшая программа, которая отдаёт файлы этой поверхности и держит один сеанс документа. Слушает только локальный адрес — снаружи к ней не подключиться. Запускается на той же машине, где открыт документ.
fastdoc, fastsheet в именах Внутренние имена движков: fastdoc — документного, fastsheet — табличного. Встречаются в названиях схем и событий, в переменных оформления и в имени объекта в окне браузера. Это не отдельные продукты: так назывались A4 и F1 до переименования, а имена в коде остались прежними — их смена сломала бы совместимость у тех, кто уже встроил редактор.
Ваше приложение, приложение-хост Приложение, в которое встраивается редактор. Ему принадлежат бренд, пользовательский путь, вход, хранилище и рабочие процессы.
Адаптер к приложению Ваш код между вашим приложением и редактором: запускает процесс ядра, читает параметры подключения, передаёт команды и разбирает ответы. Пишется под ваш язык и вашу среду; разметку документа он не разбирает и своей копии файла не держит.
Evaluation Kit, комплект для оценки Собранный набор для первой пробы: примеры, образцы документов, сквозной путь на настоящем файле и заранее известный правильный результат каждого шага. Даётся, чтобы ваш инженер открыл свой документ за час, не собирая ничего сам.
Мэшап, mashup Набор запросов Power Query, который хранится внутри книги: сами запросы, их группы, подключения к источникам и связи с листами. «Чужим» он называется, когда собран не в F1, а в Excel: такой набор F1 читает, обновляет и записывает обратно, не теряя того, чего не понимает.
DTO, объект передачи данных Описание того, из каких полей состоит запрос или ответ: какие поля есть, какого они типа и какие обязательны. Не команда и не действие, а форма сообщения — по ней ваш код собирает запрос и разбирает ответ.
OEM, встраивание под своей маркой Поставка, при которой ваш продукт включает чужой редактор как свою часть: пользователь видит ваш интерфейс и ваше имя, а не наше. Отсюда «OEM-профиль» — набор событий и настроек, нужный именно такой поставке.
Дымовой прогон Короткая автоматическая проверка, что собранная программа вообще запускается и открывает документ. Она не проверяет функции по отдельности — только что дым не пошёл. В справочнике такие маршруты помечены отдельно: во встраивании они не нужны.
LTS, длительная поддержка Версия, которую поддерживают дольше обычного: для неё выпускают исправления и обновления безопасности оговорённый срок, а не до следующего выпуска.
Единый вход, SSO Вход в редактор той же учётной записью, которой пользователь уже вошёл в ваш продукт: отдельной пары имени и пароля у редактора нет. Проверяет пользователя ваша система, редактор получает от неё только проекцию учётной записи — кто это, какая роль и что ему разрешено.
Контракт сеанса, Rust Session Protocol Узкая граница между вашим приложением и редактором: какие команды можно отправлять, какие события приходят, как живёт сеанс и что вообще доступно. У неё есть версия, и она меняется не молча. Все 28 команд перечислены в справочнике.
Сеанс JSONL Самый простой способ обратиться к ядру: процессор запускается и обменивается с вашей программой строками — один запрос JSON в строке, один ответ JSON в строке. Буква L в названии и значит «строка»: каждая строка — законченный JSON, а не кусок общего.
Стандартный ввод и вывод, stdin и stdout Два потока, через которые запущенная программа получает данные и отвечает. Ими и пользуется сеанс JSONL: своего сетевого порта ему не нужно.
Пропуск, токен Случайная строка, которую процессор создаёт при запуске и без которой к его порту не подключиться: соединение без пропуска или с чужим отклоняется. Живёт, пока работает процесс, и на следующем запуске будет другой. В адресах и в полях запроса он называется token — на страницах это тот же пропуск.
Локальный адрес, 127.0.0.1 Адрес самой машины. Соединение по нему не выходит за её пределы: снаружи, даже из своей сети, к такому порту подключиться нельзя.
Точка применения политик Заранее известный момент, в который редактор спрашивает ваше приложение, можно ли продолжать: перед выполнением команды, перед сохранением, перед выдачей данных наружу. Правила остаются вашими — редактор не хранит их у себя, а только даёт место, где ваш ответ будет учтён.
Агент Программа, которая работает с документом вместо человека: сама читает его, предлагает правку и применяет её. От макроса отличается дорогой: агент ходит тем же контрактом, что и интерфейс, поэтому его действия видны, проверяемы и отменяемы. Щёлкать по кнопкам и править файл в обход редактора он не может.
Контракт операций, Compute Contract Типизированная граница F1: через неё к ядру обращаются и интерфейс, и автоматизация, и адаптеры к чужим приложениям. Другого пути к книге нет. Все 203 операции — в справочнике.
Профиль возможностей Именованный набор того, что входит в конкретную поставку: функции, платформы, форматы, операции и ограничения. Именно он, а не общие слова, определяет обещание.
Матрица возможностей Таблица, где каждая возможность проверена по клеткам: формат, среда выполнения, действие, сохранность разметки и ограничения. Профиль отвечает на вопрос «что входит в поставку», матрица — «что из этого проверено и на чём».
Явный отказ Отказ с кодом и причиной, приходящий до того, как документ изменится. Противоположность двум худшим исходам: когда операция молча не сработала и когда файл изменился наполовину. Где искать этот код, зависит от вызова: у правки документа он приходит полем ответа, а не признаком успеха в конверте — как читать ответ.
Сохранность неподдержанного Части файла, которые редактор не понимает, переносятся в сохранённый файл без изменений — либо честно помечаются. Именно это отличает редактор от преобразователя, который теряет всё незнакомое.
Поставка под своим брендом Редактор выходит под вашим названием, в вашем интерфейсе и внутри ваших процессов. Ядро при этом не раздваивается: настраивается оболочка, а не смысл документа.
В описанных границах Перечислено ровно то, что сделано и проверено; остальное не обещается. За границей возможность отказывает предсказуемо — с понятной причиной, а не ломается.
Сеанс книги, subset, subsetId Сеанс работы с книгой в F1. Открывается операцией open_workbook_subset и возвращает subsetId — идентификатор, который передают все последующие операции над этой книгой. Ядро держит в памяти не весь файл, а то, что нужно для текущего окна просмотра, отсюда и название. Закрывается операцией close_workbook_subset.
Viewport, окно просмотра Прямоугольное окно листа, для которого ядро отдаёт данные: левый верхний угол (top, left) и размер в строках и столбцах (rows, cols). Индексы нулевые: первая строка — 0. Окно можно сдвинуть операцией synchronize_workbook_viewport, это не правка и в историю не попадает.
Ревизия, revision, expectedRevision Номер состояния книги. Он растёт с каждой правкой, и вызывающий может передать в запросе тот номер, который видел последним. Если книга с тех пор изменилась, запрос отклоняется до того, как книга изменится, а не наполовину. Это защита от гонки, когда книгу правят из двух мест одновременно. В F1 поле необязательное: без него правка применяется безусловно — см. Как устроен сеанс API.
Power Query, M-выражение Механизм получения и преобразования данных из внешних источников: запрос описывается на языке формул M и состоит из применённых шагов (applied steps), каждый из которых преобразует результат предыдущего. Совместим с одноимённым механизмом Microsoft Excel.
Mashup, набор запросов Описание запросов Power Query в формате Microsoft, хранящееся внутри файла книги. «Внешним» (foreign) оно называется, когда создано не продуктом, а сторонним приложением: такие описания F1 читает, обновляет и записывает обратно, сохраняя то, что не понимает.
Writeback, обратная запись Перенос изменений из внутренней модели документа обратно в файл формата — DOCX или XLSX. Части файла, которых правка не касалась, переносятся без изменений; за это отвечает preservation. Обратная запись принадлежит ядру: интерфейс не правит файл напрямую.
Projection, проекция Ограниченный срез состояния, который ядро отдаёт интерфейсу: не весь документ или книга, а ровно то, что нужно для текущего окна просмотра или запроса. Благодаря этому большой файл не обязан целиком превращаться в DOM или объекты JavaScript.
Sparse workbook state, разрежённое хранение Разрежённое хранение книги: в памяти держатся только заполненные ячейки и заданные форматы, а не полная матрица листа. Лист с миллионом строк не занимает память под пустые строки. Открытие тоже разрежённое — сначала загружается активный лист.
Headless, работа без интерфейса Режим работы ядра без пользовательского интерфейса: команды приходят по контракту, ответом становятся данные или готовый файл. Так ядро используют на сервере и в пакетной обработке.
Dirty, есть несохранённые изменения Состояние сеанса, когда в документе есть изменения, которых нет в сохранённом файле. В A4 признак вычисляется сравнением: хеш текущей модели отличается от хеша последнего сохранённого состояния. Хост обычно показывает это пользователю и спрашивает подтверждение перед закрытием окна.
Cold reopen, повторное открытие с нуля Повторное открытие сохранённого файла заново — как правило, новым процессом, без опоры на состояние в памяти. Так проверяют, что в файл действительно попало то, что показывал редактор: правка, история, форматирование и неподдерживаемые части документа.
Acceptance, приёмка Заранее согласованный набор документов и действий, на котором проверяется работа интеграции. Смысл в том, чтобы обещание совместимости было проверяемым: не «поддерживаем DOCX», а «на этих файлах эти операции дают такой результат».
Privacy level, уровень приватности Уровень приватности источника данных в Power Query. Он ограничивает, данные каких источников можно смешивать в одном запросе, чтобы значения из закрытого источника не утекли в запрос к внешнему.

Ассистент документации

Ответ собран из документации и может быть неточным — сверяйтесь с источниками.