Présentation du Collaboration SDK

Découvrez les problèmes résolus par le Univer Collaboration SDK, ses modules, ses points d’extension et les fonctions produit qui restent à la charge de votre application.

Le Univer Collaboration SDK est un SDK de collaboration côté serveur pour le modèle documentaire Univer. Il fournit la transformation opérationnelle (OT1), les révisions2, les instantanés, la synchronisation en temps réel et la persistance pour que plusieurs clients Univer modifient la même Unit faisant autorité.

Les développeurs l’intègrent dans leur application Node.js, raccordent l’identité et les autorisations via les Middleware et ajoutent la journalisation et d’autres traitements via les Middleware ou les Events. Un Database Adapter relie séparément les données de collaboration à la base de l’application.

Ce n’est pas un produit documentaire complet

Le Collaboration SDK fournit le cœur de collaboration. Il ne fournit ni utilisateurs, ni rôles, ni hiérarchie, ni partage, ni espaces de fichiers, ni processus métier. Ces fonctions produit et leurs modèles de données restent à la charge de votre application.

Problèmes résolus

Le Web SDK affiche et modifie les contenus Sheet, Doc, Slide, Board et Base dans le navigateur. L’édition à plusieurs nécessite aussi un serveur faisant autorité pour charger le contenu, confirmer les modifications concurrentes, faire progresser les révisions et rétablir un état cohérent pour les clients déconnectés.

Il convient aux applications qui :

  • utilisent déjà Univer pour leur éditeur et ont besoin d’édition collaborative en temps réel ;
  • souhaitent héberger leurs données de collaboration et choisir leur base de données ;
  • doivent appliquer leurs règles existantes d’identité, d’autorisation ou de locataire aux opérations collaboratives ;
  • ont besoin de History, Thread Comment ou Worktree en complément de la collaboration de base.

Un service de collaboration complet

100%
ModuleResponsabilité principale
Collaboration ClientCharge les Units, soumet les jeux de modifications et maintient l’état collaboratif du navigateur
Node TransportReçoit le trafic HTTP/WebSocket et exécute les middleware d’entrée de l’application
UniverCollabEndpointImplémente le protocole client, les Sessions, Rooms, Presence, ACK et diffusions
UniverCollabServiceGère le cycle de vie des Units, exécute l’OT et confirme des révisions continues
Database AdapterStocke atomiquement les instantanés, jeux de modifications, révisions et états d’idempotence des soumissions

Fonctions fournies par le SDK

Le cœur comprend :

  • la création, le chargement, la suppression et la restauration des Units Sheet, Doc, Slide, Board et Base ;
  • les instantanés, jeux de modifications, révisions, l’OT et l’idempotence des soumissions ;
  • le chargement HTTP du contenu et les Sessions, Rooms, Presence, ACK et diffusions WebSocket ;
  • les Middleware aux frontières Transport, Endpoint et Service ;
  • les Events locaux au processus pour la création des Units, les commits de modifications, la suppression et la restauration ;
  • les contrats des Database Adapters Memory, SQLite et personnalisés ;
  • la mise à l’échelle horizontale par déploiement sur plusieurs nœuds : les nœuds coopèrent via un adaptateur pub/sub et un stockage de session tickets partagé, avec une implémentation Redis fournie.

Une fois le circuit de base fonctionnel, l’application peut ajouter l’historique des versions, les commentaires en fil, les brouillons Worktree et la conversion de fichiers Office côté serveur. Ces fonctions disposent de leurs propres Services, Middleware, Events ou Database Adapters.

Fonctions à la charge de l’application

Collaboration SDKApplication
État collaboratif des UnitsUtilisateurs, locataires, hiérarchie et relations de partage
OT, révisions et instantanésConnexion, Sessions et correspondance des identités
Sessions, Rooms et Presence de collaborationRôles, ACL et politiques produit
Database Adapters de collaborationFichiers, stockage objet et bases de données produit
Points d’extension Middleware et EventJournalisation, audit, métriques et intégrations externes
Endpoints du protocole clientAPI métier et processus tels que la création de documents

Trois points d’extension généraux

Point d’extensionProblèmes résolus
MiddlewareInspecte ou enrichit le Context, refuse une requête ou consigne son traitement pendant une opération
EventObserve les changements d’état confirmés pour mettre à jour un état dérivé local au processus ou lancer des suites non critiques
Database AdapterChoisit le stockage et implémente les contrats d’atomicité, de CAS et d’idempotence

L’identité et les autorisations s’intègrent via les Middleware. Utilisez les Middleware pour valider et restreindre les opérations avant leur exécution, et les Events pour consigner les changements ou lancer des traitements après confirmation de l’état. Les deux peuvent servir à la journalisation, au suivi des requêtes, aux métriques et aux mises à jour d’état dérivé. Consultez Middleware et Events pour leurs frontières d’exécution.

Par où commencer

  1. Exécutez le démarrage rapide pour vérifier le circuit complet dans deux navigateurs.
  2. Lisez Frontières et relations des modules pour comprendre le rôle de chaque paquet.
  3. Poursuivez avec Middleware et Events, Identité et autorisations ou Adaptateurs de base de données, selon votre intégration.
  4. Consultez les modules d’extension de collaboration pour History, les commentaires, Worktree et la conversion de fichiers.

Footnotes

  1. La transformation opérationnelle (OT) adapte les opérations concurrentes créées sur des révisions différentes pour les appliquer de manière cohérente. Elle traite les modifications, sans remplacer tout le document par le dernier instantané reçu. ↩

  2. Une révision identifie une position dans l’historique confirmé d’une Unit. Un changeset contient les opérations d’une soumission ; sa confirmation fait avancer cet historique. Ce n’est ni une version du SDK ni un horodatage. ↩

Que pensez-vous de ce guide ?

© 2026 DreamNum Co., Ltd.