remo · документация
EN

Форматы данных

Бэкап доски, манифест приложения и конверт события: точные поля и проверки.

Статус: доступно обновлено 2026-10-28

Бэкап доски

{
  "manifest": {
    "format": "remo.board.backup",
    "version": 2,
    "boardId": "roadmap-1a2b3c4d",
    "title": "Roadmap",
    "exportedAt": "2026-10-29T12:00:00.000Z",
    "checksum": "sha256:…",
    "counts": { "widgets": 12, "connectors": 3, "assets": 0 },
    "files": ["widgets", "texts", "textDeltas", "kanbans", "meta",
              "groupNames", "tags", "presentation", "comments", "assets"]
  },
  "format": "remo.board",
  "version": 2,
  "board": { "id": "roadmap-1a2b3c4d", "title": "Roadmap" },
  "widgets": {},
  "texts": {},
  "textDeltas": {},
  "kanbans": {},
  "meta": {},
  "groupNames": {},
  "tags": {},
  "presentation": [],
  "comments": [],
  "assets": []
}

Версия 2 добавляет имена групп, словарь тегов, порядок презентации и комментарии. Замок объекта (locked, lockedBy, lockedByName, lockedAt) лежит внутри widgets и восстанавливается вместе с объектом: бэкап возвращает доску как была, а не делает копию.

Проверки при импорте:

  1. manifest.format и manifest.version совпадают с ожидаемыми.
  2. Контрольная сумма checksum сходится с содержимым.
  3. Объекты соответствуют обещанным в counts.

Импорт заменяет доску: объекты, теги, порядок презентации и комментарии берутся из файла. Пустой список комментариев очищает обсуждение. Имена авторов сохраняются, а связь с аккаунтом — нет, потому что в бэкапе нет идентификаторов пользователей. Старые бэкапы версии 1 читаются: отсутствующие поля считаются пустыми.

Формат намеренно доменный: widgets, texts, kanbans — это карты документа, а не таблицы базы. Внутреннее состояние документа в файл не попадает: импорт собирает документ заново.

Манифест приложения

Поле Значение
id идентификатор в реестре, например app.hello
version целое, растёт при изменении
nameKey, descriptionKey ключи словаря интерфейса
capabilities что приложению нужно от доски
panel схема панели: panel, text, button, field
actions действия кнопок и их capabilities

Строки в манифесте — только ключи словаря, не текст: язык и формулировки остаются у продукта.

Конверт события

Поля и подпись — в справочнике событий. Коротко: id, type, orgId, boardId, actor, subject, payload, occurredAt; подпись t=<unix>,v1=<hex> по строке "<t>.<тело>".

Куда дальше

Лимиты — числовые пределы, которые влияют на эти форматы.