Home
» Come fare
»
Personalizza le barre degli strumenti di Collabora CODE senza modificare il codice sorgente
Personalizza le barre degli strumenti di Collabora CODE senza modificare il codice sorgente
Per semplificare l'editor di Collabora Online Development Edition (CODE), scegli il layout Compatto o a schede , quindi utilizza l'integrazione PostMessage dell'host WOPI per nascondere singoli comandi, pulsanti o schede della Notebookbar. Comprimere una barra degli strumenti è una comoda modifica della visualizzazione; nascondere un controllo tramite l'host è più appropriato quando si desidera un'interfaccia coerente per ogni sessione di modifica.
Quale interfaccia CODE dovresti personalizzare?
CODE offre un layout compatto con menu e barre degli strumenti tradizionali e un layout a schede con Notebookbar. Inizia identificando quale layout vedono i tuoi utenti: l'ID di un pulsante della barra degli strumenti e l'ID di una scheda Notebookbar non sono intercambiabili. La guida di supporto di Collabora afferma che i nomi precedenti classicsono notebookbarstati deprecati a favore di compacte tabbeda partire dalla serie 21.11. Consulta la guida alla configurazione dell'interfaccia di Collabora .
Il layout a schede raggruppa gli strumenti di modifica sotto schede denominate; la scheda Guida è un possibile obiettivo per Hide_NotebookTab.Il layout compatto utilizza una riga di menu separata e una striscia di pulsanti più piccola, pertanto i controlli del menu e dei pulsanti necessitano di identificatori diversi.
È opportuno modificare le impostazioni predefinite del server o quelle della sessione utente?
Modifica l'impostazione predefinita del server solo quando la maggior parte degli utenti dovrebbe iniziare con lo stesso layout. Nelle installazioni autogestite, l' user_interface.modeimpostazione coolwsd.xmlaccetta default, compact, o tabbed. Esegui un backup della configurazione, quindi modifica il modevalore esistente anziché aggiungere un altro elemento XML:
Questo XML abbreviato mostra l'impostazione, non sostituisce l'intera sezione di configurazione. Applica la modifica tramite la normale procedura di configurazione e riavvio del servizio della tua distribuzione, quindi riapri il documento. Le distribuzioni container possono invece passare --o:user_interface.mode=tabbedle proprie impostazioni di avvio CODE esistenti. Un'applicazione incorporata può anche influenzare la modalità di avvio tramite il suo ui_defaultsvalore WOPI. La preferenza dell'host può essere rilevante quando il server utilizza default, quindi non dare per scontato che una modifica del server sovrascriva una scelta specifica dell'integrazione.
È possibile nascondere un'intera barra degli strumenti senza modificare il codice sorgente?
Per avere più spazio durante la lettura, cliccando sulla scheda attualmente selezionata è possibile comprimere la Notebookbar; cliccando di nuovo la si espande. Collabora descrive questo comportamento nella sua introduzione ufficiale alla Notebookbar . L'API PostMessage documenta anche Collapse_Notebookbarla possibilità di nascondere i pulsanti della Notebookbar o la barra dei pulsanti Compact. Si tratta di uno stato di visualizzazione reversibile, non di una policy di amministrazione permanente.
Per un controllo più preciso, scegli l'azione PostMessage corrispondente all'elemento. Le seguenti mappature sono elencate nel manuale dell'SDK di Collabora Online :
Cosa nascondere
Azione PostMessage
Formato ID
Un pulsante della barra degli strumenti
Hide_Button
ID pulsante
Un comando che attraversa menu e barre degli strumenti
Hide_Command
comando UNO, come ad esempio.uno:ThemeDialog
Una scheda nel layout a schede
Hide_NotebookTab
ID scheda, comeHelp
Una voce di menu compatta
Hide_Menu_Item
ID della voce di menu
L'azione specifica per la scheda è documentata a partire dalla versione 24.04.11.1 . L'SDK segnala anche una copertura estesa dei menu contestuali Hide_Commandnella versione 24.04.11.2 . Verifica la build CODE distribuita prima di fare affidamento su uno di questi comportamenti.
Come si inviano i comandi di nascondimento dall'host WOPI?
Queste azioni vengono inviate dall'applicazione che incorpora CODE in un iframe, non digitate in una finestra di dialogo delle impostazioni di CODE. È necessario avere il controllo di tale integrazione host, una CheckFileInforisposta WOPI funzionante e un PostMessageOriginvalore che corrisponda all'origine dell'applicazione web host. Se si utilizza un'integrazione Nextcloud o ownCloud preconfigurata, potrebbe non esporre hook PostMessage personalizzati; in tal caso, apportare la modifica nell'integrazione stessa o utilizzare le impostazioni supportate.
1. Attendi che il codice termini il caricamento
Registra un listener di messaggi nella pagina host. Verifica sia la finestra del mittente che l'origine. Quando CODE segnala App_LoadingStatuscon Status: Document_Loaded, invia Host_PostmessageReadyprima dei messaggi di personalizzazione. Senza questo handshake, CODE può ignorare i comandi host, un errore spiegato nel problema Collabora n. 13224 .
2. Nascondere una tabulazione e un comando di formattazione
Il seguente codice JavaScript lato host presuppone che la tua pagina abbia già un iframe con ID collabora-frame. Impostalo editorOriginsull'origine HTTPS esatta che serve il tuo editor CODE, non sul server di archiviazione WOPI. Registra il listener prima dell'inizializzazione del documento nella tua applicazione reale:
Il pannello del codice sorgente dell'applicazione host è il luogo in cui è possibile esaminare il collegamento di postMessage. Utilizzare l'esempio di codice completo presente nell'articolo, non il testo abbreviato mostrato in questo pannello.
Ecco Helpla scheda di destinazione Notebookbar, mentre .uno:ThemeDialogidentifica un comando di LibreOffice UNO. Gli sviluppatori di Collabora descrivono specificamente quest'ultimo ID nelle loro linee guida su come nascondere gli elementi di UNO . Per nascondere invece uno specifico pulsante della barra degli strumenti Compact, sostituisci l'azione con Hide_Buttone fornisci l'ID del pulsante verificato. Non cercare di indovinare l'ID dalla didascalia visibile; controlla il codice sorgente installato o le linee guida dell'SDK sull'ID della barra degli strumenti.
Cosa succede se la scheda o la barra degli strumenti non scompaiono?
Controlla la console del browser e l'attività di rete prima di modificare i file CODE. Le cause più comuni sono un Host_PostmessageReadyhandshake assente, un valore non corrispondente PostMessageOrigin, l'invio di messaggi prima di un altro Document_Loadedo l'utilizzo di una voce di menu Compatta mentre l'editor è in modalità a schede. Riaprire il file avvia una nuova sessione, quindi applica la funzione di occultamento dei messaggi ogni volta.
Esistono anche difetti specifici di una versione. Ad esempio, il problema Collabora n. 15910 descrive un Hide_NotebookTaberrore JavaScript nella versione CODE 25.04.9.4, segnalato a giugno 2026; il problema è stato contrassegnato come risolto, ma questo da solo non stabilisce quali build distribuite contengono la correzione. Verifica la tua versione esatta e le relative note di rilascio se riscontri l'errore segnalato.
Infine, nascondere non equivale a controllare gli accessi. Un pulsante Stampa o Scarica nascosto potrebbe lasciare disponibili API equivalenti o altri percorsi. Se l'obiettivo è quello di impedire tali operazioni, utilizzare i flag WOPI DisablePrinto WOPI documentati DisableExporte applicare le autorizzazioni di archiviazione in modo appropriato, anziché affidarsi a Hide_Buttono Hide_Command.
Come si può verificare che la personalizzazione abbia funzionato correttamente?
Apri un nuovo documento con il layout desiderato. Verifica che la Helpscheda sia assente in modalità a schede e che il comando Tema non sia più disponibile dove era precedentemente visibile. Quindi modifica e salva un documento di prova per confermare che la normale modifica funzioni ancora. Ripeti il controllo con un altro tipo di documento e dopo aver ricaricato la pagina, poiché il server deve riapplicare i comandi di nascondimento specifici della sessione.
Dopo aver nascosto la scheda Guida, le altre schede di modifica e l'area di lavoro del documento rimangono disponibili per una verifica funzionale.