HumHub
ONLYOFFICEとHumHubの統合について
ONLYOFFICEは、ONLYOFFICE DocsをHumHubと統合し、ソーシャルネットワーク内でオフィス文書を編集するための公式コネクタを提供しています。ONLYOFFICEコネクタは、公式のHumHubマーケットプレイスまたはONLYOFFICEのGitHubページからダウンロードできます。
HumHub用ONLYOFFICEコネクタの動作について詳しく知りたい場合は、APIドキュメントをご覧ください。
主な機能
- テキスト文書、スプレッドシート、プレゼンテーションの作成、編集、表示。
- リアルタイムでの共同編集:2つの共同編集モード(高速モードと厳格モード)、変更履歴モード、コメント、内蔵チャット。
- JWTサポートにより、適切な権限を持つユーザー以外が文書にアクセスできないようにトラフィックを保護します。
サポートされているフォーマット
- 開いて編集可能:DOCX、XLSX、PPTX、PDFフォーム
- Office Open XMLへの変換用:ODT、ODS、ODP、DOC、XLS、PPT、TXT、CSV
- 表示のみ:ODT、ODS、ODP、DOC、XLS、PPT、TXT、PDF
バージョン3.2.0の新機能
追加された機能
- デフォルトの空のテンプレート
- ar-SA、eu-ES、fi-FI、he-IL、nb-NO、sl-SL、sr-Cyrl-RSの空のファイルテンプレートを追加
- JWTの有効期限の設定
変更された点
- PDFフォームの作成と編集
- サポートされているフォーマットのリストを更新
- デモサーバーのアドレスを変更
完全な変更ログはこちらで確認できます。
ONLYOFFICE DocsをHumHubに接続する
要件
-
ONLYOFFICE Document Server v6.1.0(サーバーまたはクラウドバージョン)以降
ONLYOFFICE Docsのインスタンスが、HumHubおよびすべてのエンドクライアントから解決可能で接続可能である必要があります。HumHubに直接POSTできる必要があります。
注記ONLYOFFICE Docsのインストールについて詳しくは、公式のドキュメントページをご覧ください。
-
HumHub 1.8以降
HumHub用ONLYOFFICEコネクタのインストール
最新のコネクタバージョンは公式HumHubマーケットプレイスからダウンロードして設定できます。以下の手順に従ってください:
-
管理者としてHumHubインスタンスにログインします。
-
プロフィールのドロップダウンボックスをクリックし、管理オプションを選択します。ユーザー管理画面が表示されます。
-
ページの左側にあるモジュールセクションをクリックします。
-
オンラインで閲覧セクションに入り、検索でONLYOFFICEコネクタを見つけます。結果には、HumHubインスタンスと互換性のあるバージョンが含まれます。
-
インストールボタンをクリックして、ONLYOFFICEモジュールをダウンロードしてインストールします。
-
モジュールがインストールされたら、有効化ボタンをクリックします。

または、moduleAutoloadPathsパラメータで指定されたフォルダーの1つにリポジトリをクローンするだけです。詳細についてはHumHubドキュメントをご覧ください。
HumHub用ONLYOFFICEコネクタの設定
-
管理 -> モジュール -> インストール済みに移動します。
-
HumHub用ONLYOFFICEコネクタモジュールを見つけます。
-
設定ボタンをクリックします。
-
次のパラメータを指定します:
-
ホスト名 - 文書編集サービスがインストールされているURLアドレスを指定します(ONLYOFFICE Docsはデフォルトでポート80にインストールされます)。
重要ONLYOFFICE DocsのアドレスはHumHubからアクセス可能である必要があり、HumHubのアドレスもONLYOFFICE Docsからアクセス可能である必要があります。
-
JWTシークレット - データの署名に使用されるシークレットを指定します。
注記ONLYOFFICE Docs v7.2以降、JWTはデフォルトで有効化されており、シークレットキーは自動的に生成されます。HumHub側でも有効にする必要があります:ONLYOFFICE Docs設定ファイルでシークレットキーを見つけ、コネクタ設定で同じシークレットキーを指定します。詳細については、この記事のONLYOFFICEとHumHubの統合用JWTの有効化セクションをご覧ください。
-
-
サーバーからの内部リクエスト用ONLYOFFICE Docsアドレス - HumHubから文書編集サービスにアクセスするために使用されるアドレスを指定します。
-
ONLYOFFICE Docsからの内部リクエスト用サーバーアドレス - 文書編集サービスからHumHubにアクセスするために使用されるアドレスを指定します。

統合アプリケーションを設定した後、送信ボタンをクリックして変更を保存します。
動作の仕組み
ONLYOFFICEの統合は、こちらで文書化されたAPIに従います。
-
新しいファイルを作成する際、ユーザーは文書、スプレッドシート、またはプレゼンテーションのオプションを文書を作成メニューで提供されます。
-
ブラウザは、/controllers/CreateController.phpコントローラのindexメソッドを呼び出します。
-
または、既存のファイルを開く際、ユーザーは拡張子に応じて文書を表示または文書を編集オプションを提供されます。
-
ポップアップが開き、/controllers/OpenController.phpコントローラのindexメソッドが呼び出されます。
-
アプリは次のプロパティを持つJSONオブジェクトを準備します:
- url - ONLYOFFICE Docsが文書をダウンロードするために使用するURL;
- callbackUrl - ONLYOFFICE Docsが文書編集のステータスを通知するために使用するURL;
- key - ONLYOFFICE Docsが文書を再度ダウンロードするかどうかを指示するランダムなMD5ハッシュ;
- title - 文書のタイトル(名前);
- id - ユーザー識別;
- name - ユーザー名。
-
HumHubはこのオブジェクトを受け取り、views/open/index.phpテンプレートからページを構築し、クライアントブラウザがエディターを読み込めるようにすべての値を埋め込みます。
-
クライアントブラウザはONLYOFFICE DocsのJavaScriptライブラリにリクエストを行い、上記のプロパティを持つDocEditor設定をONLYOFFICE Docsに送信します。
-
その後、ONLYOFFICE DocsはHumHubから文書をダウンロードし、ユーザーは編集を開始します。
-
ONLYOFFICE Docsは、ユーザーが文書を編集していることを知らせるためにcallbackUrlにPOSTリクエストを送信します。
-
すべてのユーザーとクライアントブラウザが編集を終了し、編集ウィンドウを閉じます。
-
10秒の非アクティブ状態の後、ONLYOFFICE Docsはクライアントが文書の編集を終了し、閉じたことを知らせるためにcallbackUrlにPOSTを送信します。
-
HumHubは文書の新しいバージョンをダウンロードし、古いものを置き換えます。
ONLYOFFICEとHumHubの統合用JWTの有効化
文書を不正アクセスから保護するために、ONLYOFFICEエディターはJSON Web Token(JWT)を使用します。トークンは、文書エディターが初期化される際と、内部ONLYOFFICE Docsサービス間でのコマンド交換時に設定に追加されます。シークレットキーは、JSON Web Tokenの署名とONLYOFFICE Docsへのリクエスト時のトークンの検証に使用されます。
ONLYOFFICE Docs v7.2以降、JWTはデフォルトで有効化されており、シークレットキーは自動的に生成されます。ONLYOFFICE Docs設定ファイルでシークレットキーを見つけ、コネクタ設定で同じシークレットキーを指定する必要があります。
ステップ1: ONLYOFFICE Docs設定ファイルでシークレットキーを見つける
-
任意のテキストエディターでlocal.jsonファイルを開きます。
-
Linuxの場合 -
/etc/onlyoffice/documentserver/local.json -
Windowsの場合 -
%ProgramFiles%\ONLYOFFICE\DocumentServer\config\local.json -
Dockerの場合 –
docker exec -it <containerID> bashコマンドを使用してONLYOFFICE Docsコンテナに入り、/etc/onlyoffice/documentserver/local.jsonを開きます。または、local.jsonを開かずにデフォルトのシークレットキーを見つけるために、次のコマンドを使用できます:
sudo docker exec <containerID> /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json 'services.CoAuthoring.secret.session.string'
local.jsonファイルは次のようになります:
{"services": {"CoAuthoring": {"token": {"enable": {"request": {"inbox": true,"outbox": true},"browser": true}},"secret": {"inbox": {"string": "yoursecret"},"outbox": {"string": "yoursecret"},"session": {"string": "yoursecret"}}}}} -
-
trueの値は3つのセクションで指定されています。これは、トークン検証が有効であることを意味します。services.CoAuthoring.token.enable.browserservices.CoAuthoring.token.enable.request.inboxservices.CoAuthoring.token.enable.request.outbox
-
自動生成されたシークレットキーは3つのセクションで指定されています。デフォルトのシークレット値を独自のシークレットキーに置き換えることができます。シークレットキーは3つのセクションで同じでなければなりません。
services.CoAuthoring.secret.inbox.stringservices.CoAuthoring.secret.outbox.stringservices.CoAuthoring.secret.session.string
-
変更を加えた場合、それらを保存し、設定変更を反映させるためにサービスを再起動します。
supervisorctl restart all
ステップ2: コネクタ設定で同じシークレットキーを指定する
コネクタ設定で、シークレットキーフィールドに同じシークレットを指定し、設定を保存します。
HumHub内でONLYOFFICE Docsを使用開始
文書を作成するには:
-
ファイルタブを開きます。
-
ファイルを追加ボタンをクリックします。
-
文書を作成オプションをクリックします。

-
開いたウィンドウで、ファイルタイプを選択します:文書、スプレッドシート、またはプレゼンテーション。

-
ファイル名を指定します。
-
次のステップで新しい文書を開くチェックボックスを選択して、文書の作業を開始します。
-
保存ボタンをクリックします。

文書を表示/編集するには:
-
ファイルタブを開きます。
-
必要なファイルをクリックします。
-
開いたウィンドウで、文書を編集ボタンをクリックします。
