Liferay
ONLYOFFICE と Liferay の統合について
ONLYOFFICE は、ONLYOFFICE Docs を Liferay と統合し、Liferay のドキュメントとメディアのライブラリ内でオフィス文書を編集するための公式コネクタを提供しています。ONLYOFFICE コネクタは、Liferay Marketplace または GitHub ページからダウンロードできます。このコネクタは Apache ライセンスの下で配布されています。
Liferay 用 ONLYOFFICE コネクタの動作の詳細については、API ドキュメントページをご覧ください。
主な機能
- Create with ONLYOFFICE(ONLYOFFICE で作成)メニューオプションを使用したファイルの作成。
- オンラインフォームの作成と入力。
- Documents and Media(ドキュメントとメディア)セクションの ONLYOFFICE Edit/View(ONLYOFFICE で編集/表示)メニューオプションを使用した、既存のテキスト文書、スプレッドシート、プレゼンテーションの表示と編集。
- 文書のリアルタイム共同編集:2 つの共同編集モード(高速と厳格)、変更履歴の記録、コメント、内蔵チャット。
- JWT のサポート:適切な権限を持つユーザー以外が文書にアクセスできないよう、通信を保護します。
サポートされている形式
- 表示用:
- WORD:DOC、DOCM、DOCX、DOT、DOTM、DOTX、EPUB、FB2、FODT、HTM、HTML、HWP、HWPX、MD、MHT、MHTML、ODT、OTT、PAGES、RTF、STW、SXW、TXT、WPS、WPT、XML
- CELL:CSV、ET、ETT、FODS、NUMBERS、ODS、OTS、SXC、XLS、XLSM、XLSX、XLT、XLTM、XLTX
- SLIDE:DPS、DPT、FODP、KEY、ODG、ODP、OTP、POT、POTM、POTX、PPS、PPSM、PPSX、PPT、PPTM、PPTX、SXI
- PDF:DJVU、DOCXF、OFORM、OXPS、PDF、XPS
- DIAGRAM:VSDM、VSDX、VSSM、VSSX、VSTM、VSTX
- 編集用:
- WORD:DOCM、DOCX、DOTM、DOTX
- CELL:XLSB、XLSM、XLSX、XLTM、XLTX
- SLIDE:POTM、POTX、PPSM、PPSX、PPTM、PPTX
- PDF:PDF
- Office Open XML 形式への変換用:
- WORD:DOC、DOCM、DOCX、DOT、DOTM、DOTX、EPUB、FB2、FODT、HTM、HTML、HWP、HWPX、MD、MHT、MHT、MHTML、ODT、OTT、PAGES、RTF、STW、SXW、TXT、WPS、WPT、XML
- CELL:CSV、ET、ETT、FODS、NUMBERS、ODS、OTS、SXC、XLS、XLSB、XLSM、XLSX、XLT、XLTM、XLTX
- SLIDE:DPS、DPT、FODP、KEY、ODG、ODP、OTP、POT、POTM、POTX、PPS、PPSM、PPSX、PPT、PPTM、PPTX、SXI
- PDF:DOCXF、OXPS、PDF、XPS
バージョン 3.1.0 の新機能
追加
- ONLYOFFICE Docs v9.1.0 のサポート
変更
- com.onlyoffice:docs-integration-sdk のバージョンを更新
- 新たにサポートされる形式:.vsdx、.md、.odg、.xlsb、Apple iWork、.hwp、.hwpx、.mht
- 新しい文書の種類 DIAGRAM を追加
- 空ファイルのテンプレートを拡張
完全な変更履歴はこちらでご覧いただけます。
ONLYOFFICE Docs を Liferay に接続する
要件
-
ONLYOFFICE Document Server v6.1.0 以降(サーバー版またはクラウド版)。
Liferay とすべてのエンドクライアントの両方から名前解決および接続が可能な ONLYOFFICE Docs のインスタンスが必要です。Liferay に直接 POST できる必要があります。
注記ONLYOFFICE Docs のインストールの詳細については、公式のドキュメントページをご覧ください。
-
Liferay CE Portal 7.2 GA1+、Liferay DXP 7.2 GA1+、Liferay CE Portal 7.3 GA1+、Liferay DXP 7.3 GA1+、Liferay CE Portal 7.4 GA1+、Liferay CE 7.4 GA44 - GA73、Liferay DXP 7.4 U44 - U73。
-
Liferay 用 ONLYOFFICE コネクタ v2.2.0。
Liferay 用 ONLYOFFICE コネクタのインストール
ONLYOFFICE コネクタは App Manager を使用してインストールできます。
App Manager を使用してインストールするには:
- Control Panel > System > App Manager に移動します。
Options(オプション)ボタンをクリックします。
- Upload(アップロード)ボタンをクリックします。
- 開いたウィンドウで、ONLYOFFICE アプリケーションファイルを選択します。
インストールが完了すると、アプリケーションを使用できるようになります。
コネクタを自分でビルドする場合は、build\libs フォルダーにあるコンパイル済みの .jar ファイルを /opt/liferay/deploy に置くだけです。Liferay が自動的にインストールします。
Marketplace からダウンロードしたファイルは .lpkg 形式で提供されます。.lpkg パッケージを展開すると、対応する .jar ファイルを取得できます。展開した .jar は App Manager からデプロイできます。
Liferay 用 ONLYOFFICE コネクタのコンパイル
gradle build を実行するだけです。出力される .jar は build/libs ディレクトリに配置されます。
Liferay 用 ONLYOFFICE コネクタの設定
Control Panel > Configuration > System Settings に移動します。Platform セクションで Connectors カテゴリを選択し、ONLYOFFICE を選択します。
ここでは、次の設定を行えます。
-
ONLYOFFICE Docs address(ONLYOFFICE Docs のアドレス)- Document Editing Service がインストールされている URL アドレスを指定します。
注記ONLYOFFICE Docs のアドレスは Liferay からアクセス可能であり、同様に Liferay のアドレスも ONLYOFFICE Docs からアクセス可能である必要があります。
-
ONLYOFFICE Docs address for internal requests from the server(サーバーからの内部リクエスト用 ONLYOFFICE Docs アドレス)- Liferay から Document Editing Service にアクセスするために使用するアドレスを指定します。
-
Server address for internal requests from ONLYOFFICE Docs(ONLYOFFICE Docs からの内部リクエスト用サーバーアドレス)- Document Editing Service から Liferay にアクセスするために使用するアドレスを指定します。
-
Secret key(シークレットキー)- データの署名に使用するシークレットを指定します。
注記ONLYOFFICE Docs v7.2 以降では、JWT はデフォルトで有効になり、シークレットキーは自動的に生成されます。Liferay 側でも有効にする必要があります。ONLYOFFICE Docs の設定ファイルでシークレットキーを確認し、コネクタの設定に同じシークレットキーを指定してください。詳細については、この記事の「ONLYOFFICE と Liferay の統合で JWT を有効にする」セクションをご覧ください。
-
Authorization header(認証ヘッダー)(デフォルトのヘッダーを使用する場合は空白のままにします)- ONLYOFFICE で使用される認証用 JWT ヘッダーは Authorization です。このヘッダーがお使いの環境と競合する場合は、カスタムのものに変更できます。
-
Enable Force Save(強制保存を有効にする)- 編集時に文書の中間バージョンを保持するには、このチェックボックスをオンにします。
-
Enable ONLYOFFICE Web Preview(ONLYOFFICE Web プレビューを有効にする)- ファイルのプレビューを有効にするには、このチェックボックスをオンにします。

統合アプリケーションの設定が完了したら、Save(保存)ボタンをクリックして変更を適用します。
仕組み
ONLYOFFICE の統合は、こちらに記載されている API に従っています。
- ユーザーが Liferay の Documents and Media セクションに移動し、Edit in ONLYOFFICE アクションを選択します。
- Liferay が Document Server 用に、次のプロパティを持つ JSON オブジェクトを準備します。
- url:ONLYOFFICE Docs が文書のダウンロードに使用する URL。
- callbackUrl:ONLYOFFICE Docs が文書の編集状況を通知するために使用する URL。
- key:ONLYOFFICE Docs に文書を再度ダウンロードするかどうかを指示する fileVersionId。
- title:文書のタイトル(名前)。
- クライアントのブラウザーが ONLYOFFICE Docs の JavaScript ライブラリにリクエストを送信し、上記のプロパティを含む DocEditor の設定を ONLYOFFICE Docs に送信します。
- 続いて ONLYOFFICE Docs が Liferay から文書をダウンロードし、ユーザーが編集を開始します。
- ONLYOFFICE Docs が callbackUrl に POST リクエストを送信し、ユーザーが文書を編集中であることを Liferay に知らせます。
- Liferay は文書をロックしますが、Action(アクション)を残すことで、書き込み権限を持つ他のユーザーが ONLYOFFICE Docs でリアルタイムに共同作業できるようにします。
- すべてのユーザーとクライアントのブラウザーが編集を終了すると、編集ウィンドウを閉じます。
- 10 秒間操作がないと、ONLYOFFICE Docs は callbackUrl に POST を送信し、クライアントが文書の編集を終えて閉じたことを Liferay に知らせます。
- Liferay は文書の新しいバージョンをダウンロードし、古いバージョンを置き換えます。
ONLYOFFICE と Liferay の統合で JWT を有効にする
文書を不正アクセスから保護するために、ONLYOFFICE エディターは JSON Web Token(JWT)を使用します。トークンは、ドキュメントエディターの初期化時と、ONLYOFFICE Docs の内部サービス間でのコマンド交換時に、設定に追加されます。シークレットキーは、JSON Web トークンの署名と、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
-
変更を加えた場合は、保存してサービスを再起動し、設定の変更を反映させます。
-
Linux の場合:
sudo supervisorctl restart all -
Docker の場合:
docker exec <containerID> supervisorctl restart allまたはコンテナー全体を再起動します。
docker restart <containerID>
-
手順 2:コネクタの設定に同じシークレットキーを指定する
コネクタの設定の Secret key(シークレットキー)フィールドに同じシークレットキーを指定し、設定を保存します。
Liferay で ONLYOFFICE Docs を使い始める
ファイルを作成するには:
-
Documents and Media セクションに移動します。
-
Add File(ファイルを追加)ボタンをクリックします。
-
開いたメニューで、Create with ONLYOFFICE ボタンをクリックします。

-
開いたページで、ファイルの種類を選択し、(任意で)タイトルと説明を指定します。
-
Save(保存)ボタンをクリックします。

ファイルを編集するには:
-
Documents and Media セクションで、目的のファイルを探します。
-
文書をクリックします。
-
開いたメニューで、Edit in ONLYOFFICE ボタンをクリックします。

PDF フォームを作成するには:
-
Documents and Media セクションに移動します。
-
Add File(ファイルを追加)ボタンをクリックします。
-
開いたメニューで、Create with ONLYOFFICE ボタンをクリックします。

-
開いたページで、PDF form(PDF フォーム)のファイルの種類を選択します。
-
Save(保存)ボタンをクリックします。
フォームの詳細については、フォームの作成に関する記事をご覧ください。
最もよくある問題とその解決方法の詳細については、トラブルシューティングガイドをご覧ください。