Vue d’ensemble des paquets
Comprendre les paquets publics de Core, History, Thread Comment, Worktree et Office Exchange.
Cette page guide le choix des paquets. Composez d’abord Core Collaboration, puis ajoutez les extensions nécessaires. Il n’est pas nécessaire de tout installer.
Core Collaboration
Core Collaboration fournit le circuit principal : collaboration navigateur, protocole serveur, OT, révisions et persistance.
| Environnement | Paquet | Responsabilité principale |
|---|---|---|
| Navigateur | @univerjs-pro/collaboration | Enregistre les capacités collaboratives de base du navigateur |
| Navigateur | @univerjs-pro/collaboration-client | Charge les Units, envoie les changements et maintient la synchronisation |
| Navigateur | @univerjs-pro/collaboration-client-ui | Fournit l’UI et les styles d’état collaboratif |
| Server | @univerjs-pro/collaboration-transport-node | Reçoit le trafic HTTP et WebSocket Node.js |
| Server | @univerjs-pro/collaboration-endpoint | Implémente protocole Client, Sessions, Rooms et Presence |
| Server | @univerjs-pro/collaboration-service | Gère Units, OT, révisions et API du Service central |
| Base de données | @univerjs-pro/collaboration-database-memory | Stockage en processus pour tests, exemples et développement temporaire |
| Base de données | @univerjs-pro/collaboration-database-sqlite | Persistance SQLite pour développement, tests, usage local et petite échelle |
| Multi-node | @univerjs-pro/collaboration-cluster-redis | Adaptateur pub/sub et stockage des session tickets sur Redis pour le déploiement sur plusieurs nœuds |
Un Core Server nécessite Transport, Endpoint, Service et un Database Adapter. Memory et SQLite implémentent le même contrat ; choisissez normalement l’un des deux. Un déploiement sur plusieurs nœuds nécessite aussi un adaptateur pub/sub et un stockage de session tickets partagé. L’Endpoint définit les deux contrats (IPubSubAdapter, ISessionTicketStore) ; le SDK fournit une implémentation sur Redis.
History
History construit un index de versions depuis les événements de création d’Unit et de commit du Core.
| Environnement | Paquet | Responsabilité principale |
|---|---|---|
| Navigateur | Réutilise Core Client/UI | Affiche et lit les entrées d’historique |
| Server | @univerjs-pro/collaboration-history-service | Construit et interroge l’index d’historique |
| Server | @univerjs-pro/collaboration-history-endpoint | Expose le protocole History au Client |
| Base de données | @univerjs-pro/collaboration-history-database-sqlite | Stocke l’index History dérivé |
L’historique est un index dérivé reconstructible. Les changements Core restent la référence du contenu.
Thread Comment
Thread Comment gère les textes, réponses et états résolus des commentaires Sheets et Docs.
| Environnement | Paquet | Responsabilité principale |
|---|---|---|
| Navigateur | Réutilise les paquets Core Collaboration | Utilise Comment Client et l’UI |
| Server | @univerjs-pro/collaboration-comment-service | Gère les commentaires et l’événement commentCommitted |
| Server | @univerjs-pro/collaboration-comment-endpoint | Fournit le protocole et publie les mises à jour via les Unit Rooms |
| Base de données | @univerjs-pro/collaboration-comment-database-memory | Stockage des commentaires en processus |
| Base de données | @univerjs-pro/collaboration-comment-database-sqlite | Persistance SQLite des commentaires |
Comment Adapter stocke les commentaires. Les ancres mobiles avec le contenu restent dans les instantanés et changements Core.
Worktree
Worktree fournit brouillons isolés, transitions d’état et fusion par Unit.
| Environnement | Paquet | Responsabilité principale |
|---|---|---|
| Navigateur | @univerjs-pro/collaboration-worktree-client | Connecte brouillons, états et fusion Worktree |
| Server | @univerjs-pro/collaboration-worktree-service | Gère changements du brouillon, états et fusion |
| Server | @univerjs-pro/collaboration-worktree-endpoint | Fournit le protocole au Worktree Client |
| Base de données | @univerjs-pro/collaboration-worktree-database-memory | Stockage Worktree en processus |
| Base de données | @univerjs-pro/collaboration-worktree-database-sqlite | Persistance SQLite de Worktree |
Worktree Service fusionne via Core Service dans le trunk ; configurez donc les Middleware aux deux frontières.
Office Exchange
Office Exchange combine conversion de fichiers et Collaboration Service dans un parcours applicatif, sans Database Adapter collaboratif indépendant.
| Environnement | Paquet | Responsabilité principale |
|---|---|---|
| Navigateur | @univerjs-pro/exchange-client | Fournit l’échange de fichiers de base du navigateur |
| Navigateur | @univerjs-pro/sheets-exchange-client | Fournit l’import-export Sheet |
| Server | @univerjs-pro/exchange-node | Convertit Office et données Univer dans Node.js |
À l’import, les données converties vont à createUnitFromSnapshot(). À l’export, une révision confirmée est lue via Core Service. Fichiers, tâches et API métier restent applicatifs.
Règles de sélection
- Commencez par les paquets Core du démarrage rapide.
- Choisissez un Core Database Adapter : Memory, SQLite ou personnalisé.
- Pour un déploiement sur plusieurs nœuds, ajoutez l’adaptateur pub/sub et le stockage de session tickets sur Redis.
- Installez seulement les extensions utilisées.
- Créez un Adapter distinct par module, même avec un fichier SQLite partagé.
Consultez les extensions collaboratives pour les relations et les exemples pour les assemblages exécutables.
Que pensez-vous de ce guide ?