Liferay
ONLYOFFICEとLiferayの統合について
ONLYOFFICEは、ONLYOFFICE DocsをLiferayと統合し、Liferayのドキュメントおよびメディアライブラリ内でオフィス文書を編集するための公式コネクタを提供しています。ONLYOFFICEコネクタは、Liferay MarketplaceまたはGitHubページからダウンロードできます。このコネクタはApacheライセンスの下で配布されています。
主な機能
- ONLYOFFICEで作成メニューオプションを使用してファイルを作成。
- オンラインフォームの作成と記入。
- 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 Connector v2.2.0。
Liferay用ONLYOFFICE Connectorのインストール
App Managerを使用してONLYOFFICEコネクタをインストールできます。
App Managerを使用してインストールするには:
- コントロールパネル > システム > App Managerに移動します。
オプションボタンをクリックします。- アップロードボタンをクリックします。
- 開いたウィンドウでONLYOFFICEアプリケーションファイルを選択します。
インストールが完了すると、アプリケーションは使用可能になります。
コネクタを自分でビルドする場合は、コンパイルされた.jarファイルをbuild\libsフォルダーから/opt/liferay/deployに配置するだけです。Liferayが自動的にインストールします。
.lpkg形式で提供されます。.lpkgパッケージを解凍して対応する.jarファイルを取得できます。抽出した.jarはApp Managerを通じてデプロイできます。Liferay用ONLYOFFICE Connectorのコンパイル
gradle buildを実行するだけです。出力された.jarはbuild/libsディレクトリ内に配置されます。
Liferay用ONLYOFFICEコネクタの設定
コントロールパネル > 設定 > システム設定に移動します。プラットフォームセクションでコネクタカテゴリを選択し、ONLYOFFICEを選択します。


ここで次の設定を構成できます:
- ONLYOFFICE Docsアドレス - ドキュメント編集サービスがインストールされているURLアドレスを指定します。
ONLYOFFICE DocsのアドレスはLiferayからアクセス可能である必要があり、LiferayのアドレスもONLYOFFICE Docsからアクセス可能である必要があります。
- サーバーからの内部リクエスト用ONLYOFFICE Docsアドレス - Liferayからドキュメント編集サービスにアクセスするために使用されるアドレスを指定します。
- ONLYOFFICE Docsからの内部リクエスト用サーバーアドレス - ドキュメント編集サービスからLiferayにアクセスするために使用されるアドレスを指定します。
- シークレットキー - データを署名するために使用されるシークレットを指定します。
ONLYOFFICE Docs v7.2以降、JWTはデフォルトで有効になっており、シークレットキーは自動的に生成されます。Liferay側でも有効にする必要があります:ONLYOFFICE Docs設定ファイルでシークレットキーを見つけ、コネクタ設定で同じシークレットキーを指定します。詳細については、この記事のONLYOFFICEとLiferayの統合のためのJWTの有効化セクションを参照してください。
- 認証ヘッダー(デフォルトのヘッダーを使用するには空白のままにします) - ONLYOFFICEで使用される認証JWTヘッダーはAuthorizationです。このヘッダーが設定と競合する場合は、カスタムヘッダーに変更できます。
- 強制保存を有効にする - 編集中に中間ドキュメントバージョンを保持するためにチェックボックスをアクティブにします。
- ONLYOFFICE Webプレビューを有効にする - ファイルプレビューを有効にするためにチェックボックスをアクティブにします。
統合アプリケーションの設定が完了したら、保存ボタンをクリックして変更を適用します。
動作の仕組み
ONLYOFFICEの統合は、こちらに記載されているAPIに従います。
- ユーザーはLiferay内のドキュメントとメディアセクションに移動し、ONLYOFFICEで編集アクションを選択します。
- Liferayは次のプロパティを持つDocument Server用のJSONオブジェクトを準備します:
- url: ONLYOFFICE Docsが文書をダウンロードするために使用するURL;
- callbackUrl: ONLYOFFICE Docsが文書編集のステータスを通知するために使用するURL;
- key: fileVersionIdを使用してONLYOFFICE Docsが文書を再ダウンロードするかどうかを指示;
- title: 文書のタイトル(名前)。
- クライアントブラウザはONLYOFFICE DocsからJavaScriptライブラリへのリクエストを行い、上記のプロパティを持つDocEditor設定をONLYOFFICE Docsに送信します。
- その後、ONLYOFFICE DocsはLiferayから文書をダウンロードし、ユーザーは編集を開始します。
- ONLYOFFICE Docsは、ユーザーが文書を編集していることを通知するためにcallbackUrlにPOSTリクエストを送信します。
- Liferayは文書をロックしますが、書き込みアクセスを持つ他のユーザーが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"}}}}} - Linuxの場合 -
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 alldocker restart <containerID>
-
Linuxの場合:
ステップ2: コネクタ設定で同じシークレットキーを指定する
コネクタ設定で、シークレットキーフィールドに同じシークレットを指定し、設定を保存します。
Liferay内でONLYOFFICE Docsを使用開始する
ファイルを作成するには:
- ドキュメントとメディアセクションに移動します。
ファイルを追加ボタンをクリックします。-
開いたメニューでONLYOFFICEで作成ボタンをクリックします。


- 開いたページでファイルタイプを選択し、タイトルと説明を指定します(オプション)。
- 保存ボタンをクリックします。


ファイルを編集するには:
- ドキュメントとメディアセクションで必要なファイルを見つけます。
- 文書をクリックします。
- 開いたメニューでONLYOFFICEで編集ボタンをクリックします。


PDFフォームを作成するには:
- ドキュメントとメディアセクションに移動します。
ファイルを追加ボタンをクリックします。-
開いたメニューでONLYOFFICEで作成ボタンをクリックします。


- 開いたページでPDFフォームファイルタイプを選択します。
- 保存ボタンをクリックします。