De Collabora CODE-werkbalken aanpassen zonder de broncode te bewerken

Om de Collabora Online Development Edition (CODE)-editor te vereenvoudigen, kiest u Compact of Tabbed voor de algehele lay-out en gebruikt u vervolgens de PostMessage-integratie van de WOPI-host om afzonderlijke opdrachten, knoppen of tabbladen van de Notebookbar te verbergen. Het inklappen van een werkbalk is een handige manier om de weergave aan te passen; het verbergen van een besturingselement via de host is geschikter wanneer u een consistente interface wilt voor elke bewerkingssessie.

Welke CODE-interface moet u aanpassen?

CODE biedt een compacte lay-out met traditionele menu's en toolbars, en een lay-out met tabbladen en een notitieboekbalk. Begin met te bepalen welke lay-out uw gebruikers zien: een ID van een toolbarknop en een ID van een notitieboektabblad zijn niet uitwisselbaar. Volgens de ondersteuningsrichtlijnen van Collabora zijn de oudere namen classicen notebookbarafgeschaft ten gunste van compacten tabbedvanaf de 21.11-serie. Zie de configuratierichtlijnen voor de Collabora-interface .

Collabora CODE is een interface met tabbladen zoals Bestand, Start, Invoegen, Indeling, Weergave en Help boven een Writer-document.
De tabbladindeling groepeert bewerkingshulpmiddelen onder benoemde tabbladen; het tabblad Help is een mogelijk doelwit voor Hide_NotebookTab.
Collabora CODE Compact-interface met de menu's Bestand, Bewerken, Weergave, Invoegen, Opmaak, Hulpmiddelen en Help boven een smalle werkbalk.
De compacte lay-out maakt gebruik van een aparte menubalk en een kleinere knoppenstrook, waardoor menu- en knopbedieningselementen verschillende identificaties nodig hebben.

Moet je een serverstandaard of een gebruikerssessie wijzigen?

Wijzig de standaardinstellingen van de server alleen wanneer de meeste gebruikers met dezelfde lay-out moeten beginnen. Bij zelfbeheerde installaties accepteert de user_interface.modeinstelling , , of . Maak een back-up van de configuratie en wijzig vervolgens de bestaande waarde in plaats van een nieuw XML-element toe te voegen:coolwsd.xmldefaultcompacttabbedmode

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

Deze verkorte XML toont de instelling, niet de volledige configuratiesectie. Voer de wijziging door via het normale configuratie- en serviceherstartproces van uw implementatie en open vervolgens een document opnieuw. Containerimplementaties kunnen in plaats daarvan --o:user_interface.mode=tabbedhun bestaande CODE-opstartoverrides doorgeven. Een ingebedde applicatie kan de opstartmodus ook beïnvloeden via de WOPI- ui_defaultswaarde. De voorkeur van de host kan van belang zijn wanneer de server deze modus gebruikt default, dus ga er niet vanuit dat een serverbewerking een integratiespecifieke keuze overschrijft.

Kun je een complete werkbalk verbergen zonder de broncode te bewerken?

Voor meer leesruimte kunt u de notitiebalk inklappen door op het geselecteerde tabblad te klikken; door er nogmaals op te klikken, klapt deze weer uit. Collabora beschrijft dit gedrag in de officiële introductie van de notitiebalk . De PostMessage API documenteert ook Collapse_Notebookbarde mogelijkheid om de knoppen van de notitiebalk of de compacte knoppenbalk te verbergen. Dit is een omkeerbare weergavestatus, geen permanent beheerdersbeleid.

Voor meer controle kunt u de PostMessage-actie kiezen die overeenkomt met het element. De volgende toewijzingen staan ​​vermeld in de handleiding van de Collabora Online SDK :

Wat te verbergenPostMessage-actieID-formaat
Een knop in de werkbalkHide_ButtonKnop-ID
Een opdracht die in alle menu's en werkbalken beschikbaar is.Hide_CommandUNO-commando, zoals.uno:ThemeDialog
Eén tabblad in de tabbladindelingHide_NotebookTabTab-ID, bijvoorbeeldHelp
Een compact menu-itemHide_Menu_ItemMenu-item-ID

De tabspecifieke actie is gedocumenteerd vanaf versie 24.04.11.1 . De SDK vermeldt ook een uitgebreidere dekking voor contextmenu's Hide_Commandin versie 24.04.11.2 . Controleer uw geïmplementeerde CODE-build voordat u op een van beide gedragingen vertrouwt.

Hoe verstuur je de hide-commando's vanaf de WOPI-host?

Deze acties worden verzonden door de applicatie die CODE in een iframe insluit – ze worden niet ingevoerd in een dialoogvenster met CODE-instellingen. U hebt controle over die hostintegratie nodig, een functionerende WOPI- CheckFileInforespons en een PostMessageOriginwaarde die overeenkomt met de oorsprong van uw hostwebapplicatie. Als u een kant-en-klare Nextcloud- of ownCloud-integratie gebruikt, biedt deze mogelijk geen willekeurige aangepaste PostMessage-hooks; in dat geval moet u de wijziging in de integratie zelf doorvoeren of de ondersteunde instellingen gebruiken.

1. Wacht tot CODE klaar is met laden.

Registreer een berichtlistener op de hostpagina. Controleer zowel het afzendervenster als de oorsprong. Wanneer CODE rapporteert App_LoadingStatusmet Status: Document_Loaded, verstuur Host_PostmessageReadydan vóór de aanpassingsberichten. Zonder die handshake kan CODE hostopdrachten negeren – een fout die wordt uitgelegd in Collabora-probleem #13224 .

2. Een tabblad en een opmaakopdracht verbergen

De volgende JavaScript-code aan de hostzijde gaat ervan uit dat uw pagina al een iframe met ID . heeft collabora-frame. Stel deze editorOriginin op de exacte HTTPS-origin die uw CODE-editor bedient, niet op de WOPI-opslagserver. Registreer de listener vóór de documentinitialisatie in uw daadwerkelijke applicatie:

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' });
});
In de ontwikkelaarstools van de browser wordt het paneel 'Bronnen' weergegeven, met een berichtlistener aan de hostzijde en een Hide_NotebookTab-aanroep gericht op Help.
In het broncodevenster van de hostapplicatie kunt u de postMessage-conversie bekijken. Gebruik hiervoor het volledige codevoorbeeld in het artikel, niet de verkorte tekst die in dit venster wordt weergegeven.

Hier Helpziet u het doel van het tabblad Notebookbar, terwijl dit .uno:ThemeDialogeen LibreOffice UNO-opdracht identificeert. De ontwikkelaars van Collabora beschrijven deze laatste ID specifiek in hun handleiding voor het verbergen van UNO-elementen . Om in plaats daarvan een specifieke knop in de Compact-werkbalk te verbergen, vervangt u de actie door Hide_Buttonen geeft u de geverifieerde knop-ID op. Raad de ID niet aan de hand van het zichtbare onderschrift; raadpleeg uw geïnstalleerde CODE-broncode of de handleiding voor werkbalk-ID's van de SDK.

Wat als het tabblad of de werkbalk niet verdwijnt?

Controleer de browserconsole en netwerkactiviteit voordat u CODE-bestanden wijzigt. De meest voorkomende oorzaken zijn een ontbrekende Host_PostmessageReadyhandshake, een onjuiste configuratie PostMessageOrigin, het verzenden van berichten vóór de bewerking Document_Loaded, of het selecteren van een compact menu-item terwijl de editor in de tabbladmodus staat. Het opnieuw openen van het bestand start een nieuwe sessie, dus pas de optie 'berichten verbergen' elke keer opnieuw toe.

Er bestaan ​​ook versie-specifieke defecten. Zo beschrijft Collabora-issue #15910Hide_NotebookTab een JavaScript-fout in CODE 25.04.9.4, die in juni 2026 werd gemeld; het issue is weliswaar gesloten, maar dat bewijst niet welke uitgebrachte builds een oplossing bevatten. Controleer uw exacte versie en de bijbehorende release-opmerkingen als u de gemelde fout tegenkomt.

Tot slot is verbergen geen toegangscontrole. Een verborgen knop voor afdrukken of downloaden kan ervoor zorgen dat er nog steeds equivalente API's of andere paden beschikbaar zijn. Als het doel is om die bewerkingen te verbieden, gebruik dan de gedocumenteerde WOPI- DisablePrintof DisableExportflags en handhaaf uw opslagrechten naar behoren, in plaats van te vertrouwen op Hide_Buttonof Hide_Command.

Hoe kunt u controleren of de aanpassing gelukt is?

Open een nieuw document in de gewenste lay-out. Controleer of het Helptabblad ontbreekt in de tabbladmodus en of de thema-opdracht niet langer wordt aangeboden waar deze voorheen wel zichtbaar was. Bewerk en sla vervolgens een testdocument op om te controleren of normaal bewerken nog steeds werkt. Herhaal de controle met een ander documenttype en na het opnieuw laden van de pagina, omdat de host de sessiespecifieke verbergopdrachten opnieuw moet toepassen.

Collabora CODE is een interface met tabbladen voor Bestand, Start, Invoegen, Indeling en Weergave, waarbij de Help-functie is verwijderd en een Writer-document bewerkbaar blijft.
Nadat het tabblad Help is verborgen, blijven de andere bewerkingstabbladen en het documentcanvas beschikbaar voor een functionele controle.

Laat een reactie achter

Verhoog de geheugenlimiet van de CODE-container zonder te gokken.

Verhoog de geheugenlimiet van de CODE-container zonder te gokken.

Controleer of Docker de Collabora CODE-limiet heeft ingesteld, verhoog de Compose-geheugenlimiet op een veilige manier en bevestig dat de actieve container de nieuwe limiet heeft ontvangen.

De Collabora CODE-werkbalken aanpassen zonder de broncode te bewerken

De Collabora CODE-werkbalken aanpassen zonder de broncode te bewerken

Vereenvoudig Collabora CODE met de compacte modus of de modus met tabbladen en de WOPI PostMessage-besturingselementen om geselecteerde knoppen, opdrachten en tabbladen veilig te verbergen.

Voer Collabora CODE Behind Nginx uit met TLS-terminatie.

Voer Collabora CODE Behind Nginx uit met TLS-terminatie.

Zorg ervoor dat Nginx de HTTPS-service voor een Collabora CODE-container beheert, stuur WebSockets voor bewerkingen correct door en verifieer het openbare eindpunt zonder poort 9980 bloot te stellen.

Zorg ervoor dat de tekst zichtbaar blijft wanneer het Collabora Mobile-toetsenbord wordt geopend.

Zorg ervoor dat de tekst zichtbaar blijft wanneer het Collabora Mobile-toetsenbord wordt geopend.

Los problemen op waarbij het toetsenbord van een mobiele browser tekst bedekt in Collabora Online, met snelle oplossingen en aparte controles voor browsers, ingebedde WebViews en hostpagina's.

Stop ongewenste afdrukken en downloads in OnlyOffice.

Stop ongewenste afdrukken en downloads in OnlyOffice.

Stel limieten in voor afdrukken en downloaden voor ONLYOFFICE-links, leden van vergaderruimtes of Docs API-sessies en controleer vervolgens de beperkingen vanuit een ontvangeraccount.

Plan betrouwbare back-ups voor ONLYOFFICE Workspace

Plan betrouwbare back-ups voor ONLYOFFICE Workspace

Stel in ONLYOFFICE Workspace een back-upbestemming, -schema, e-maildekking en bewaartermijn in en controleer vervolgens of het archief gereed is voor herstel.

Implementeer ONLYOFFICE Docs Enterprise met het officiële opstelbestand.

Implementeer ONLYOFFICE Docs Enterprise met het officiële opstelbestand.

Start de Enterprise Docker Compose-stack, bewaar de licentie en gegevens, configureer JWT op een veilige manier en controleer of de editors klaar zijn voor integratie.

Tekst in spreadsheets opschonen met een herbruikbare ONLYOFFICE-macro

Tekst in spreadsheets opschonen met een herbruikbare ONLYOFFICE-macro

Gebruik een ONLYOFFICE JavaScript-macro om niet-afdrukbare tekens te verwijderen en overtollige spaties te verwijderen uit een gedefinieerd bereik in een spreadsheet, met een veilige controleworkflow.

De standaard opslaglocatie van ONLYOFFICE Workspace wijzigen

De standaard opslaglocatie van ONLYOFFICE Workspace wijzigen

Verplaats portalgegevens van Disk Default naar een ondersteunde cloudopslagprovider, of verplaats Docker-gegevens veilig door de hostvolumetoewijzing te wijzigen.

Verwijder ONLYOFFICE Document Server volledig van Linux.

Verwijder ONLYOFFICE Document Server volledig van Linux.

Bepaal of de documentenserver gebruikmaakt van een Linux-pakket of Docker, verwijder alleen de componenten ervan en controleer de resterende gegevens zonder per ongeluk gedeelde services te verwijderen.