Showing posts with label integration. Show all posts
Showing posts with label integration. Show all posts

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.AllとFiles.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をお使いであれば是非お試しください。

Friday, August 7, 2020

Liferay 7とGoogle Drive / Google Docsを連携させる

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

昨今のクラウドサービスの浸透に加えてコロナ禍もあり、オンラインストレージサービスやオンラインオフィスソフトウェアも一般的と言っていいまでに普及しているかと思います。今回は、これらのサービスの代表格であるGoogle Drive / Google DocsとLiferayの連携について紹介します。

Liferayはドキュメントライブラリと呼ばれるファイル管理の機能を持っています。Google Drive / Google Docs連携はドキュメントライブラリとの連携を行うもので、以下の2種類の連携があります。
  • ドキュメントライブラリ上にGoogle Driveのファイルのリンクを作成する
  • ドキュメントライブラリ上のファイルをGoogle Docsを使ってブラウザ上で編集する(=オンライン編集)
1つ目の連携はLiferay MarketplaceのアプリLiferay Plugin for Google Driveで実現できます。詳しい説明はGoogle Driveへのリンクを参照してください。

2つ目の連携はLiferay DXP 7.2で追加された新機能になります。本記事ではこちらの機能の詳細と設定方法を説明します。なお、同様の機能を提供するOffice 365連携も新機能として追加されましたが、こちらは別の機会に紹介したいと思います。

新しいGoogle Drive/Google Docs連携機能の紹介


前述のとおり、ドキュメントライブラリ上のファイルをGoogle Docsを使ってブラウザ上で編集することができます。具体的にできることは以下のとおりです。
  • Google Docsを使い、新規ファイル(Doc, Slide, Sheet)をブラウザ上で作成する
  • 作成したファイルをMS Office形式(Word, PowerPoint, Excel)でドキュメントライブラリに保存する
  • ドキュメントライブラリ上のMS Office形式のファイルをGoogle Docsを使ってブラウザ上で編集する
なお、Google Docsでファイル編集を開始するとGoogle Drive上にファイルがコピーされ、Google Docsでの編集を終えてファイルをLiferayに保存するとGoogle Drive上のファイルは削除されます。詳しい説明はLiferayヘルプセンターのこちらの記事やこちらの記事を参照してください。

Google Cloud Platformの連携設定を行う


次に、設定方法を紹介します。Google側とLiferay側の両方に設定が必要ですが、まずはGoogle側の設定を行います。具体的には、Google Drive APIをLiferayが利用できるように有効化し、Liferay向けにOAuth2.0クライアントIDを発行します。

1. Google Cloud Platform Consoleにアクセスし、管理ユーザでログインする
2. 適当なプロジェクトを選択する。もしくは新しいプロジェクトを作成する
3. 「APIとサービス」に移動し、「APIとサービスの有効化」をクリックする


4. Google Drive APIを検索し、「有効にする」をクリックして有効化する


5. 「APIとサービス」の「OAuth同意画面」に移動して同意画面を設定する(最低限アプリケーション名を入力すればOK)
6. 「APIとサービス」の「認証情報」に移動する
7. 「認証情報を作成」の「OAuthクライアントID」をクリックする


8. 以下のとおり入力して「作成」をクリックする
  • アプリケーションの種類 : ウェブアプリケーション
  • 名前 : アプリケーション名を入力する(認証時に表示されます)
  • 承認済みの JavaScript 生成元URI : LiferayサーバのURL(http://<host or IP>:<port>)
  • 承認済みのリダイレクトURI : http(s)://<host or IP>:<port>/o/document_library/google/oauth2


9. クライアントIDとクライアントシークレットが表示されるので、それらを手元に控える

以上でGoogle側の設定は完了です。

Liferayの設定を行う


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

1. Liferay DXP 7.2に管理者でログインする
2. 「Control Panel」->「Configuration」->「Instance Settings」->「Documents and Media」をクリックする(この場合、インスタンス毎の設定になります。グローバルに設定する場合は「System Settings」->「Documents and Media」をクリックします)


3. 「Google Drive」を選択し、Client IDとClient Secretに先ほど控えたクライアントIDとクライアントシークレットを入力して「Save」をクリックする



以上です。とても簡単ですね!

動作確認してみよう


では早速動作確認してみましょう。ドキュメントとメディア(管理者向けでもページ上に配置されたユーザ向けポートレットでもOK)で新規作成メニューをクリックすると、Google Doc、Google Slide、Google Sheetが表示されるようになります。


これらをクリックするとGoogleアカウントの認証画面に遷移するので認証情報を入力します。初回はアクセス許可を行う必要があり、それが完了するとLiferayユーザとGoogleアカウントが紐づき、次回からは聞かれないようになります。そして、Google Drive上にファイルが生成されGoogle Docsでオンライン編集できるようになります。


「Save and Return to Liferay DXP」をクリックするとGoogle Drive上のファイルをLiferayに保存し、Liferayの画面に戻ります(この時Google Drive上のファイルは削除されます)。アクションメニューの「Edit in Google Docs」をクリックすると、Google DriveにファイルをコピーしてGoogle Docsでのオンライン編集が始まります。



今回の紹介は以上です。簡単な設定でGoogle Drive / Google Docsを使ったファイルのオンライン編集が実現できますので、是非みなさまも試してみてください。