Monday, September 7, 2020

Liferay 7とMicrosoft365(Office365)を連携させてOfficeファイルをオンライン編集する

こんにちは。おおたにです。

今も昔も仕事でMicrosoft Officeを利用しているユーザは多いと思いますが、今やその月額/年額サブスクリプションサービスであるMicrosoft 365(旧Office 365)をご利用の会社も多いかと思います。今回はそのMicrosoft 365(旧Office 365)とLiferayのドキュメントライブラリ(ファイル管理機能)の連携機能について紹介したいと思います。
なお、この機能はLiferay DXP 7.2で新しく追加された機能になります。実際に試してみたい方はLiferayDXP 7.2以降でお試しください。

また、LiferayはGoogle Drive/Google Docsとの連携機能も備えており、これらのサービスを用いてOfficeファイルをオンライン編集することもできます。具体的な設定方法については別の記事「Liferay 7とGoogle Drive / Google Docsを連携させる」を参考にしてください。

Microsoft 365(Office365)連携機能で実現できること


LiferayのドキュメントライブラリとMicrosoft 365を連携すると、ドキュメントライブラリ上のOfficeファイルをMicrosoft 365を利用してオンライン編集できるようになります。具体的には以下のことができます。
  • Microsoft 365を使い、新規Wordファイル(.docx)、新規Excelファイル(.xlsx)、新規PowerPointファイル(.pptx)をブラウザ上で作成する
  • 作成したファイルをドキュメントライブラリに保存する
  • ドキュメントライブラリ上の以下の形式のファイルをMicrosoft 365を使ってブラウザ上で編集する。
    • Word/テキスト系ファイル(.doc, .docx, .docm, .dot, .dotx, .dotm, .html, .txt, .rtf, .odt)
    • PowerPoint/スライド系ファイル(.ppt, .pptx, .pptm, .pps, .ppsx, .ppsm, .pot, .potx, .potm)
    • Excel/シート系ファイル(.xls, .xlsx, .xlsm, .xlt, .xltx, .xltm, .ods, .csv, .tsv, .txt, .tab)
なお、Microsoft 365でファイル編集を開始するとOneDrive上にファイルがコピーされ、Microsoft 365でファイル編集を終えるとOneDrive上のファイルは削除されます。詳しい説明はLiferayヘルプセンターのこの記事この記事をご参照ください。

Azure PortalでMicrosoft 365の連携設定を行う


では早速設定方法を見ていきましょう。まずはAzure PortalでMicrosoft 365側の設定を行います。具体的には、Microsoft Graph APIをLiferayが利用できるように公開し、Liferay向けにOAuth2.0クライアントIDを発行します。

1. Azure Portalに管理者アカウントでログインする
2. Azure Active Directoryをクリックし、「アプリの登録」->「新規登録」をクリックする 
3. 「名前」にアプリケーション名を入力し(認証時に表示されます)、「アカウントの種類」を適宜選択して「登録」をクリックする
4. 作成が完了すると以下のような画面が表示されるので、「アプリケーション(クライアント)ID」「ディレクトリ(テナント)ID」の値をコピーし、「リダイレクトURIを追加する」をクリックする
5. 「プラットフォームを追加」をクリックして「Web」を選択する
6. 「リダイレクト URI」にhttp(s)://<host or IP>:<port>/o/document_library/onedrive/oauth2と入力して「構成」をクリックする
7. 「証明書とシークレット」->「新しいクライアントシークレット」をクリックし、「説明」と「有効期限」を適宜入力して「追加」をクリックする

8. クライアントシークレットが登録されたら「値」欄に表示されたクライアントシークレットをコピーする
9. 続いて「APIのアクセス許可」->「アクセス許可の追加」をクリックする
10. 「Microsoft Graph API」をクリックする
11. 「委任されたアクセス許可」を選択し、Files.Read.AllFiles.ReadWrite.Allにチェックを入れて「アクセス許可の追加」をクリックする
以上でMicrosoft 365側の設定は終わりです。

Liferayの設定を行う


続いて、Liferay側の設定を行います。

1. Liferay DXP 7.2に管理者でログインする
2. 「Control Panel」->「Configuration」->「Instance Settings」->「Documents and Media」をクリックする(この場合、インスタンス毎の設定になります。グローバルに設定する場合は「System Settings」->「Documents and Media」をクリックします)
3. 「OneDrive」を選択し、Client IDに「アプリケーション(クライアント)ID」、Client Secretに「クライアントシークレット」、Tenantに「ディレクトリ(テナント)ID」を入力して「Save」をクリックする


以上で設定完了です。Liferay側の設定はとても簡単です。

動作確認してみよう


では動作確認してみましょう。ドキュメントとメディアの新規作成メニューをクリックすると、Word、PowerPoint、Excelが表示されるようになります。


これらをクリックしてファイル名を入力すると、Microsoft 365のログイン画面が表示されるので認証情報を入力します。初回はアクセス許可の画面が表示されるので許可します(2回目以降は表示されません)。すると、OneDrive上にファイルが生成されオンラインのOfficeアプリでファイルが編集できるようになります。ファイルを保存すると、OneDrive上のファイルをLiferayに保存し、OneDrive上のファイルは削除されます。

また、アクションメニューの「Edit in Office 365」をクリックすると、OneDrive上にファイルをコピーしてOfficeアプリでのオンライン編集が始まります。

今回の紹介は以上です。Officeファイルをオンライン編集できるメリットは大きいと思いますので、組織でMicrosoft 365をお使いであれば是非お試しください。

No comments: