Reference

Reference documentation

Every OpenDoc architecture, design and specification document published on this site, generated from the repository's own Markdown so a page and its source can never disagree. Documents deliberately not published here are named, with the reason, in webapp/tools/build-doc-pages.mjs.

Architecture

  • Target Architecture

    The system is a headless document engine with host adapters. The DOM, React state, Tauri state, and canvas state are projections.

  • DOCX Package Reader

    Add casual-doc-ooxml with a security-bounded, read-only DOCX package layer. This slice validates ZIP structure and exposes safe on-demand part reads.

  • Import Disposition Taxonomy

    A single value per entry cannot express the outcome the fidelity architecture exists to serve: a construct can be partially mapped into the model and have its unconsumed remainder either retained in the preservation ledger or lost.

  • PDF Export and Print Design

    Absence from a support list is an overstatement by omission, so every family the display list can carry is listed here, including the ones that are not covered.

  • Deployment: container images, compose, and configuration

    The editor is a static, local-first web app that needs no server to function, and the collaboration relay is optional and holds no document.

SDK

  • SDK API Specification

    The broad interfaces below describe the intended v1 facade and are not all implemented.

  • Error Code Registry

    Error codes are never recycled. Message wording may improve without a breaking release, but code meaning may not.

  • Embeddability and the SDK, in three phases

    Embeddability is the product (SKILL.md §1). ONLYOFFICE is AGPL-3.0-only, bills the Developer Edition per concurrent browser tab, and gates host customization in code — LayoutManager._applyCustomization early-returns when !_licensed.

Editor

  • Context Menu and Shared Command Descriptors

    The web editor has a table-only right-click menu assembled from a private array. Prose, selections, links, lists, comments, and suggestions fall through to the browser menu.

Project

  • Project Glossary

    This glossary defines terms used by the OpenDoc runtime, SDK, tests, and documentation. Public API names should use these terms consistently.

  • Contributing

    This repository is building a production-grade document runtime. Contributions should protect correctness, fidelity, security, performance, and maintainability.

  • Security Policy

    Do not open a public issue for a suspected vulnerability, malicious fixture, or confidential document. The project will acknowledge a complete report, assess severity, coordinate a fix and advisory, and credit the reporter when requested.