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 .

Interfaccia a schede di Collabora CODE con le schede File, Home, Inserisci, Layout, Visualizza e Guida posizionate sopra un documento Writer.
Il layout a schede raggruppa gli strumenti di modifica sotto schede denominate; la scheda Guida è un possibile obiettivo per Hide_NotebookTab.
L'interfaccia di Collabora CODE Compact mostra i menu File, Modifica, Visualizza, Inserisci, Formato, Strumenti e Guida sopra una barra degli strumenti stretta.
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:

<user_interface>
  <mode>tabbed</mode>
</user_interface>

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 nascondereAzione PostMessageFormato ID
Un pulsante della barra degli strumentiHide_ButtonID pulsante
Un comando che attraversa menu e barre degli strumentiHide_Commandcomando UNO, come ad esempio.uno:ThemeDialog
Una scheda nel layout a schedeHide_NotebookTabID scheda, comeHelp
Una voce di menu compattaHide_Menu_ItemID 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:

const frame = document.getElementById('collabora-frame');
const editorOrigin = 'https://office.example.com';

function sendToCode(MessageId, Values = {}) {
  frame.contentWindow.postMessage(JSON.stringify({
    MessageId, SendTime: Date.now(), Values
  }), editorOrigin);
}

window.addEventListener('message', (event) => {
  if (event.source !== frame.contentWindow ||
      event.origin !== editorOrigin) return;
  let message;
  try {
    message = typeof event.data === 'string'
      ? JSON.parse(event.data) : event.data;
  } catch { return; }
  if (message?.MessageId !== 'App_LoadingStatus' ||
      message?.Values?.Status !== 'Document_Loaded') return;

  sendToCode('Host_PostmessageReady');
  sendToCode('Hide_NotebookTab', { id: 'Help' });
  sendToCode('Hide_Command', { id: '.uno:ThemeDialog' });
});
Il pannello Sorgenti degli strumenti per sviluppatori del browser mostra un listener di messaggi lato host e una chiamata Hide_NotebookTab indirizzata alla Guida.
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.

Interfaccia a schede di Collabora CODE con le schede File, Home, Inserisci, Layout e Visualizza, con la Guida rimossa ma un documento Writer che rimane modificabile.
Dopo aver nascosto la scheda Guida, le altre schede di modifica e l'area di lavoro del documento rimangono disponibili per una verifica funzionale.

Lascia un commento

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

Semplifica Collabora CODE con la modalità Compatta o a schede e i controlli WOPI PostMessage per nascondere in modo sicuro pulsanti, comandi e schede selezionati.

Esegui Collabora CODE dietro Nginx con terminazione TLS

Esegui Collabora CODE dietro Nginx con terminazione TLS

Configura Nginx per la gestione di HTTPS in un container Collabora CODE, inoltra correttamente i WebSocket e verifica l'endpoint pubblico senza esporre la porta 9980.

Mantieni il testo visibile quando si apre la tastiera Collabora Mobile.

Mantieni il testo visibile quando si apre la tastiera Collabora Mobile.

Risolvere i problemi relativi alla tastiera del browser mobile che copre il testo in Collabora Online, con soluzioni rapide e controlli separati per browser, WebView incorporate e pagine host.

Blocca stampe e download indesiderati in ONLYOFFICE

Blocca stampe e download indesiderati in ONLYOFFICE

Imposta i limiti di stampa e download per i link ONLYOFFICE, i membri della stanza o le sessioni API di Documenti, quindi verifica le restrizioni dall'account del destinatario.

Pianifica backup affidabili per ONLYOFFICE Workspace

Pianifica backup affidabili per ONLYOFFICE Workspace

Imposta la destinazione del backup, la pianificazione, la copertura della posta e il limite di conservazione in ONLYOFFICE Workspace, quindi verifica che l'archivio sia pronto per il ripristino.

Distribuisci ONLYOFFICE Docs Enterprise con il suo file di composizione ufficiale

Distribuisci ONLYOFFICE Docs Enterprise con il suo file di composizione ufficiale

Avvia lo stack Docker Compose Enterprise, salva la licenza e i dati, configura JWT in modo sicuro e verifica che gli editor siano pronti per l'integrazione.

Pulisci il testo del foglio di calcolo con una macro ONLYOFFICE riutilizzabile

Pulisci il testo del foglio di calcolo con una macro ONLYOFFICE riutilizzabile

Utilizza una macro JavaScript di ONLYOFFICE per rimuovere i caratteri non stampabili e gli spazi superflui da un intervallo definito del foglio di calcolo, con un flusso di lavoro di revisione sicuro.

Modifica la posizione di archiviazione predefinita dell'area di lavoro ONLYOFFICE

Modifica la posizione di archiviazione predefinita dell'area di lavoro ONLYOFFICE

Sposta i dati del portale da Disco predefinito a un provider di archiviazione cloud supportato oppure sposta i dati Docker in modo sicuro modificando la mappatura del volume host.

Rimuovere completamente ONLYOFFICE Document Server da Linux

Rimuovere completamente ONLYOFFICE Document Server da Linux

Verifica se Document Server utilizza un pacchetto Linux o Docker, rimuovi solo i relativi componenti e controlla i dati rimanenti evitando di eliminare per errore i servizi condivisi.

Elimina i ritardi nella modifica collaborativa di ONLYOFFICE individuando il collo di bottiglia

Elimina i ritardi nella modifica collaborativa di ONLYOFFICE individuando il collo di bottiglia

Individua le cause di rallentamento della modifica collaborativa, come la pressione sulle risorse di Docker, le connessioni proxy o il caricamento dei documenti, quindi scegli la soluzione più adatta ai tuoi dati.