Collabora CODEのツールバーをソースコードを編集せずにカスタマイズする方法
Collabora CODEをコンパクトモードまたはタブモードとWOPI PostMessageコントロールで簡素化し、選択したボタン、コマンド、タブを安全に非表示にできます。
Collabora Online Development Edition (CODE) エディタを簡素化するには、全体のレイアウトを「コンパクト」または「タブ付き」に設定し、WOPI ホストの PostMessage 統合機能を使用して個々のコマンド、ボタン、または Notebookbar タブを非表示にします。ツールバーを折りたたむのは便利な表示変更ですが、各編集セッションで一貫したインターフェースが必要な場合は、ホスト経由でコントロールを非表示にする方が適切です。
CODE には、従来のメニューとツールバーを備えたコンパクト レイアウトと、ノートブック バーを備えたタブ レイアウトがあります。まず、ユーザーがどちらのレイアウトを見ているかを確認してください。ツールバー ボタン ID とノートブック バー タブ ID は互換性がありません。Collabora のサポート ガイダンスによると、古い名前classicと は、21.11 シリーズ以降、 と に置き換えられ、notebookbar非推奨になりました。Collaboraインターフェイス構成ガイダンスを参照してください。compacttabbed


サーバーのデフォルト設定を変更するのは、ほとんどのユーザーが同じレイアウトから始める必要がある場合に限ります。セルフマネージドインストールでは、user_interface.mode設定で、、 または がcoolwsd.xml受け入れられます。設定をバックアップしてから、別の XML 要素を追加するのではなく、既存の値を変更してください。defaultcompacttabbedmode
<user_interface>
<mode>tabbed</mode>
</user_interface>この簡略化された XML は設定を示すものであり、構成セクション全体を置き換えるものではありません。変更は、デプロイメントの通常の構成とサービス再起動プロセスを通じて適用し、その後ドキュメントを再度開いてください。コンテナデプロイメントでは、--o:user_interface.mode=tabbed既存の CODE 起動オーバーライドを渡すこともできます。埋め込みアプリケーションは、WOPI 値を通じて起動モードに影響を与えることもできますui_defaults。サーバーが を使用する場合、ホストの優先順位が重要になる可能性があるdefaultため、サーバーの編集によって統合固有の選択が上書きされると想定しないでください。
読書スペースを広げるために、現在選択されているタブをクリックするとノートブックバーが折りたたまれ、もう一度クリックすると展開されます。Collaboraはこの動作について公式のノートブックバー紹介で説明しています。PostMessage APIにもCollapse_Notebookbar、ノートブックバーのボタンまたはコンパクトボタンストリップを非表示にする機能が記載されています。これは可逆的な表示状態であり、永続的な管理者ポリシーではありません。
より詳細な制御を行うには、要素に一致する PostMessage アクションを選択してください。Collabora Online SDK マニュアルには、以下のマッピングが記載されています。
| 何を非表示にするか | PostMessageアクション | ID形式 |
|---|---|---|
| ツールバーボタンが1つあります | Hide_Button | ボタンID |
| メニューとツールバーを横断するコマンド | Hide_Command | UNOコマンド、例えば.uno:ThemeDialog |
| タブ付きレイアウトのタブが1つ | Hide_NotebookTab | タブID、例:Help |
| コンパクトメニュー項目 | Hide_Menu_Item | メニュー項目ID |
タブ固有のアクションについては、バージョン24.04.11.1以降でドキュメント化されています。また、SDKでは、バージョン24.04.11.2Hide_Commandでコンテキストメニューの対応範囲が拡大されたことも記載されています。いずれの動作も利用する前に、デプロイ済みのCODEビルドを確認してください。
これらのアクションは、CODE を iframe に埋め込むアプリケーションによって送信されるものであり、CODE の設定ダイアログに直接入力するものではありません。ホスト統合の制御、正常に機能する WOPICheckFileInfoレスポンス、およびPostMessageOriginホスト Web アプリケーションのオリジンと一致する値が必要です。パッケージ化された Nextcloud または ownCloud 統合を使用している場合、任意のカスタム PostMessage フックが公開されない可能性があります。その場合は、統合自体で変更を行うか、サポートされている設定を使用してください。
ホストページでメッセージリスナーを登録します。送信ウィンドウと送信元の両方を確認します。CODE がApp_LoadingStatusを報告した場合はStatus: Document_Loaded、Host_PostmessageReadyカスタマイズメッセージの前に を送信します。このハンドシェイクがないと、CODE はホストコマンドを無視する可能性があります。この問題については、 Collabora の問題 #13224で説明されています。
以下のホスト側JavaScriptは、ページにIDを持つiframeが既に存在することを前提としていますcollabora-frame。CODEeditorOriginエディタにサービスを提供しているHTTPSオリジンをWOPIストレージサーバーではなく、正確に設定してください。実際のアプリケーションでは、ドキュメントの初期化前にリスナーを登録してください。
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' });
});
ここにHelpNotebookbarタブのターゲットを示します。一方、は.uno:ThemeDialogLibreOffice UNOコマンドを識別します。Collaboraの開発者は、 UNO要素を非表示にするためのガイダンスの中で、後者のIDについて具体的に説明しています。代わりに特定のCompactツールバーボタンを非表示にするには、アクションをに置き換えHide_Button、検証済みのボタンIDを指定します。表示されているキャプションからIDを推測しないでください。インストールされているCODEソースまたはSDKのツールバーIDガイダンスを確認してください。
CODE ファイルを変更する前に、ブラウザのコンソールとネットワークアクティビティを確認してください。最も一般的な原因は、Host_PostmessageReadyハンドシェイクの欠落、不一致PostMessageOrigin、メッセージの送信Document_Loaded、またはエディタがタブモードのときにコンパクトメニュー項目をターゲットにしていることです。ファイルを再度開くと新しいセッションが開始されるため、毎回メッセージを非表示にしてください。
バージョン固有の不具合も存在します。例えば、Collaboraの課題#15910では、CODE 25.04.9.4で発生するJavaScriptエラーについて説明されておりHide_NotebookTab、これは2026年6月に報告されました。この課題はクローズ済みとされていますが、それだけではどのビルドに修正が含まれているかは分かりません。報告されたエラーが発生した場合は、ご使用のバージョンとリリースノートをご確認ください。
最後に、非表示にすることはアクセス制御ではありません。非表示の印刷ボタンやダウンロードボタンは、同等のAPIやその他のパスへのアクセスを妨げない可能性があります。これらの操作を禁止することが目的であれば、またはに依存するのではなく、DisablePrintドキュメントに記載されているWOPIDisableExportフラグを使用してストレージ権限を適切に適用してください。Hide_ButtonHide_Command
目的のレイアウトで新規ドキュメントを開きます。Helpタブモードでタブが表示されないこと、および以前表示されていた場所にテーマコマンドが表示されていないことを確認します。次に、テストドキュメントを編集して保存し、通常のオーサリングが正常に動作することを確認します。ホストがセッション固有の非表示コマンドを再適用する必要があるため、別のドキュメントタイプでページを再読み込みした後、再度確認してください。

Collabora CODEをコンパクトモードまたはタブモードとWOPI PostMessageコントロールで簡素化し、選択したボタン、コマンド、タブを安全に非表示にできます。
Collabora CODEコンテナのHTTPSをNginxに任せ、WebSocketのフォワード編集を正しく行い、ポート9980を公開せずにパブリックエンドポイントを検証します。
Collabora Onlineでモバイルブラウザのキーボードがテキストを覆い隠してしまう問題のトラブルシューティング。ブラウザ、埋め込みWebView、ホストページそれぞれについて、迅速な回避策と個別のチェック方法を紹介します。
ONLYOFFICEリンク、会議室メンバー、またはDocs APIセッションに対して印刷とダウンロードの制限を設定し、受信者アカウントから制限内容を確認します。
ONLYOFFICE Workspaceでバックアップ先、スケジュール、メールのカバー範囲、および保持期間を設定し、アーカイブが復元できる状態になっていることを確認してください。
Enterprise Docker Composeスタックを起動し、ライセンスとデータを永続化し、JWTを安全に設定し、エディターが統合準備完了であることを確認します。
ONLYOFFICEのJavaScriptマクロを使用して、指定したスプレッドシート範囲から印刷されない文字を削除し、余分なスペースをトリミングします。安全なレビューワークフローも利用可能です。
ポータルデータをディスクデフォルトからサポートされているクラウドストレージプロバイダーに移動するか、ホストボリュームマッピングを変更してDockerデータを安全に移動します。
ドキュメントサーバーがLinuxパッケージを使用しているかDockerを使用しているかを特定し、そのコンポーネントのみを削除し、共有サービスを誤って削除することなく残りのデータを確認します。
共同編集の速度低下の原因を、Dockerリソースの負荷、プロキシ接続、またはドキュメントの読み込み状況から特定し、測定結果に合致する解決策を選択してください。