Drupal
ONLYOFFICEとDrupalの統合について
Drupalは、WebサイトやAPIを構築するために使用されるオープンソースのコンテンツ管理システムです。ONLYOFFICEは、ONLYOFFICE DocsをDrupalと統合し、Drupalのメディアライブラリ内でオフィス文書を編集するための公式モジュールを提供しています。ONLYOFFICE統合モジュールは、Drupal公式サイトで必要なバージョンを選んで入手するか、Composerで追加するか、GitHubページをご参照ください。このモジュールはGNU General Public License v.2.0の下で配布されています。
Drupal用ONLYOFFICEコネクターの動作について詳しくは、APIドキュメントページをご覧ください。
主な機能
- テキスト文書、スプレッドシート、プレゼンテーション、PDFフォームの編集と閲覧。
- リアルタイムでの文書の共同編集:2つの共同編集モード(高速と厳格)、変更履歴モード、コメント、内蔵チャット。
- JWTサポートにより通信を保護し、適切な権限を持つユーザー以外は文書にアクセスできないようにします。
- 公開ページでのファイルのプレビュー。
サポートされている形式
- 編集:DOCX、XLSX、PPTX、PDFフォーム。
- 閲覧のみ:DJVU、DOC、DOCM、DOT、DOTM、DOTX、EPUB、FB2、FODT、HTML、MHT、ODT、OTT、OXPS、PDF、RTF、TXT、XPS、XML、CSV、FODS、ODS、OTS、XLS、XLSM、XLT、XLTM、XLTX、FODP、ODP、OTP、POT、POTM、POTX、PPS、PPSM、PPSX、PPT、PPTM。
ONLYOFFICE DocsとDrupalの接続
要件
-
ONLYOFFICE Docs(Document Server)v7.1以降。
Drupalとすべてのエンドクライアントの両方から名前解決および接続可能なONLYOFFICE Docsのインスタンスが必要です。Drupalに直接POSTできる必要があります。
注記ONLYOFFICE Docsのインストールについて詳しくは、公式のドキュメントページをご参照ください。
-
Drupalコアモジュール10以上。
-
firebase/php-jwt: 6.0.0以上。
Drupal用ONLYOFFICE統合モジュールのインストール
Drupal用ONLYOFFICE統合モジュールをインストールするには、Drupalのユーザーインターフェースを使用する方法と、Composerを使用する方法の2つがあります。
Drupalのユーザーインターフェースによるインストール
-
drupal.orgのAdminツールバーのプロジェクトページで、ページ下部のReleases(リリース)セクションまでスクロールします。View all releases(すべてのリリースを表示)リンクをクリックします。
-
一覧から必要なバージョンを選択します。
-
tar.gzリンクのアドレスをコピーします。お使いのデバイスやブラウザーによっては、右クリックしてCopy link address(リンクのアドレスをコピー)を選択することでコピーできます。
-
Manage(管理)メニューで、Extend(拡張)(admin/modules)に移動します。Extend(拡張)ページが表示されます。
-
Add new module(新しいモジュールを追加)ボタンをクリックします。Add new module(新しいモジュールを追加)ページが表示されます。

-
コピーしたダウンロードリンクをAdd from a URL(URLから追加)フィールドに貼り付けます。

-
Install(インストール)をクリックして、新しいモジュールをサーバーにアップロードして展開します。ファイルはモジュールのディレクトリにダウンロードされます。
-
ローカライズ設定を適用するには、次のコマンドを実行します:
drush locale-checkdrush locale-update
新しいモジュールを、Drupalのウェブインターフェースからアップロードすることはできなくなりました。Drupalへのモジュールのアップロードについては、こちらの手順をご参照ください。
Composerによるインストール
Drupalサイトのルートで次のコマンドを入力します:
composer require onlyoffice/onlyoffice-drupal
インストールディレクトリがweb/modules/contrib/drupalの場合は、ローカライズ設定を適用するために次のコマンドを実行します:
drush locale-check
drush locale-update
Drupal用ONLYOFFICE統合モジュールの有効化
Drupal用ONLYOFFICE統合モジュールを有効にするには、Drupalのユーザーインターフェースを使用する方法と、コマンドラインを使用する方法の2つがあります。
DrupalのユーザーインターフェースによるONLYOFFICE統合モジュールの有効化
-
Manage(管理)メニューからExtend(拡張)ページ(admin/modules)を開きます。
-
ONLYOFFICE Connector moduleを探し、対応するチェックボックスをオンにします。

-
Install(インストール)をクリックして、モジュールを有効にします。
コマンドラインによるONLYOFFICE統合モジュールの有効化
-
プロジェクト名をパラメーターとして指定して、次のDrushコマンドを実行します:
drush pm:enable onlyoffice -
ウィザードの指示に従います。
Drupal用ONLYOFFICE統合モジュールの設定
Drupalで、ONLYOFFICEセクションの管理設定がある~/config/system/onlyoffice-settingsページを開きます。または、次の手順に従います。
-
Manage(管理)メニューからExtend(拡張)ページ(admin/modules)を開きます。
-
ONLYOFFICE Connector moduleの説明にある矢印をクリックして、ドロップダウンリストを開きます。
-
Configure(設定)オプションを選択します。
-
ONLYOFFICE Document Serverに接続するため、Document Editing Service address(ドキュメント編集サービスのアドレス)フィールドにアドレスを入力します:
https://documentserver/

ここでdocumentserverは、ONLYOFFICE Document Serverがインストールされているサーバーの名前です。このアドレスは、ユーザーのブラウザーとDrupalサーバーからアクセス可能である必要があります。正しく動作させるため、DrupalサーバーのアドレスもONLYOFFICE Document Serverからアクセス可能である必要があります。
ONLYOFFICE Document Serverへのアクセスを制限し、セキュリティとデータの整合性を確保するために、暗号化された署名が使用されます。Drupal管理設定でシークレットキーを指定します。ONLYOFFICE Document Serverの設定ファイルにも同じシークレットキーを指定し、検証を有効にします。
仕組み
ユーザーとドキュメントのやり取りは、クライアント側とサーバー側の両方で行われます。
現在のドキュメント全体で使用される主な概念は以下の通りです。
クライアント側には以下が含まれます:
- ドキュメントマネージャー - ユーザーのブラウザに表示されるドキュメントのリストで、ユーザーは必要なドキュメントを選択し、いくつかの操作を行うことができます(付与された権限に応じて、ユーザーはドキュメントを開いて閲覧または編集したり、他のユーザーと共有したりできます)。
- ドキュメントエディター - ドキュメントの閲覧と編集のインターフェースで、最もよく知られたドキュメント編集機能が利用可能で、ユーザーとドキュメント編集サービスの間の媒体として使用されます。
サーバー側には以下が含まれます:
- ドキュメントストレージサービス - 適切なアクセス権を持つユーザーが利用可能なすべてのドキュメントを保存するサーバーサービスです。ユーザーがブラウザで見るドキュメントマネージャーに、ドキュメントIDとそれらのドキュメントへのリンクを提供します。
- ドキュメント編集サービス - ユーザーが適切な権限を持っている場合に、ドキュメントの閲覧と編集を行うことができるサーバーサービスです。ドキュメントエディターインターフェースは、ドキュメント編集サービスのすべての機能にアクセスするために使用されます。
- ドキュメントコマンドサービス - ドキュメント編集サービスで追加のコマンドを実行することを可能にするサーバーサービスです。
- ドキュメント変換サービス - ドキュメントファイルを適切なOffice Open XML形式(テキストドキュメントの場合はdocx、スプレッドシートの場合はxlsx、プレゼンテーションの場合はpptx)に変換して、編集やダウンロードを可能にするサーバーサービスです。
- ドキュメントビルダーサービス - 実際にドキュメント処理エディターを実行することなく、簡単にドキュメントを構築することを可能にするサーバーサービスです。
ONLYOFFICE Document Serverには、ドキュメントエディター、ドキュメント編集サービス、ドキュメントコマンドサービス、ドキュメント変換サービス、ドキュメントビルダーサービスが含まれることにご注意ください。ドキュメントマネージャーとドキュメントストレージサービスは、Community Serverに含まれているか、自社サーバーでONLYOFFICE Document Serverを使用するソフトウェアインテグレーターが実装する必要があります。
ONLYOFFICEとDrupalの統合でJWTを有効にする
JWTまたはJSON Web Tokenは、クライアントの正当性を検証するためにHTTPリクエスト内でクライアントからサーバーに送信される文字列です。JWTはクライアント側にのみ保存されるため、当事者間の送信は保護され、デジタル署名されます。
トークンはJWT(JSON Web Tokens)標準を使用して生成されます。トークンはサーバーのキーで署名されているため、クライアントはトークンが正当であることを確認できます。
ONLYOFFICE Docsはトークンを検証します。ペイロードからのデータは有効と見なされ、メインパラメータからの対応するデータの代わりに使用されます。トークンが無効な場合、コマンドは実行されません。詳細については、APIセキュリティガイドをお読みください。
DrupalでJWTを使用して文書を保護するには、ONLYOFFICEセクションの管理設定がある~/config/system/onlyoffice-settingsページを開きます。または、次の手順に従います。
-
Manage(管理)メニューからExtend(拡張)ページ(admin/modules)を開きます。
-
ONLYOFFICE Connector moduleの説明にある矢印をクリックして、ドロップダウンリストを開きます。
-
Configure(設定)オプションを選択します。
-
Secret key(シークレットキー)フィールドにシークレットキーを入力します。

-
ONLYOFFICE Document Serverの設定ファイルに同じシークレットキーを指定し、検証を有効にします。
Drupal内でONLYOFFICE Docsを使い始める
Drupalのオフィス文書をONLYOFFICE Docsで編集するには、ファイルをDrupalにアップロードします。
Drupalへのファイルのアップロード
- Manage(管理)> Content(コンテンツ)に移動します。
- Add content(コンテンツを追加)ボタンをクリックします。
- 必要なコンテンツタイプをクリックします。
- タイトル、言語、本文を入力し、テキスト形式を設定します。
- Add a new file(新しいファイルを追加)フィールドでBrowse(参照)ボタンをクリックし、お使いのPCのハードディスクからファイルを選択します。
- 好みに応じて、Published(公開)チェックボックスをオンまたはオフにします。
- Save(保存)ボタンをクリックします。
Drupalでのファイルの閲覧、編集、管理
-
Manage(管理)> Content(コンテンツ)に移動します。
-
画面上部のMedia(メディア)タブに切り替えます。
-
一覧から必要なファイルを探すか、上部の検索フィールドを使用します。
-
Operations(操作)列の矢印をクリックして、ファイルのプロパティをEdit(編集)するか、Edit in ONLYOFFICE(ONLYOFFICEで編集)するか、ファイルをDelete(削除)するかを選択します。

投稿へのファイルの追加
投稿を作成するときに、新しいONLYOFFICE要素を追加できます。
-
Structure(構造)> Content types(コンテンツタイプ)に移動し、必要なコンテンツフィールドの横にあるManage fields(フィールドを管理)をクリックします。開いたページでAdd field(フィールドを追加)をクリックします。General、Number、Reference、Textのいずれかの新しいフィールドを追加します。ラベルを設定して保存します。

-
追加したFile(ファイル)フィールドに、ファイル拡張子を指定します。Structure(構造)> Content types(コンテンツタイプ)> Manage fields(フィールドを管理)に移動するか、開いているページのままにします。Allowed file extensions(許可されるファイル拡張子)フィールドに、エディターで表示されるファイル形式(docx、xlsx、pptx)を指定します。

-
追加したMedia(メディア)フィールドで、Document(ドキュメント)チェックボックスをクリックします。

-
Structure(構造)> Media types(メディアタイプ)> Document(ドキュメント)に移動し、ドロップダウンリストを開いてManage display(表示を管理)オプションを選択します。

-
Document(ドキュメント)フィールドに、ONLYOFFICE Preview(ONLYOFFICEプレビュー)形式を指定します。歯車のアイコンをクリックすると、埋め込みエディターのウィンドウのサイズを指定できます。

事前設定が完了したら、Content(コンテンツ)タブで投稿を作成できます。Add content(コンテンツを追加)ボタンをクリックし、作成したコンテンツを選択します。

その後:
- タイトルを指定し、ファイルを選択します(コンテンツにFile(ファイル)フィールドが含まれる場合)。
- Media(メディア)セクションに、以前にアップロードしたファイルの名前を指定します。
- サイトの訪問者も、作成したページを閲覧できます(People(ユーザー)> Permissions(権限)> View published content(公開コンテンツを閲覧))。
PDFフォームの操作
PDFフォームの作成とアップロード
- Manage(管理)→ Content(コンテンツ)→ ONLYOFFICE form(ONLYOFFICEフォーム)に移動します。
- Create&Upload(作成とアップロード)ボタンをクリックします。
- Create form from(フォームの作成元)ドロップダウンメニューからBlank(空白)オプションを選択し、対応するフィールドにファイルの名前を入力して、新しいファイルを作成します。
- 既存のPDFファイルをアップロードするには、Create form from(フォームの作成元)ドロップダウンメニューからUpload(アップロード)オプションを選択します。
- これでファイルはPDF Forms(PDFフォーム)ページで利用できます。
PDFフォームの公開
事前設定
- Manage(管理)→ Structure(構造)→ Content type(コンテンツタイプ)に移動します。
- 必要なコンテンツタイプの横にあるManage fields(フィールドを管理)オプションを選択します。
- 新しく開いたManage fields(フィールドを管理)ページの左上隅にあるCreate a new field(新しいフィールドを作成)ボタンをクリックします。
- ONLYOFFICE form(ONLYOFFICEフォーム)オプションを選択します。
- Label(ラベル)フィールドに必要な名前を入力します。
- 手順2で選択したコンテンツタイプに、ONLYOFFICEフォームタイプが割り当てられました。
公開
- Manage(管理)→ Content(コンテンツ)→ Content(コンテンツ)に移動します。
- 左上隅のAdd content(コンテンツを追加)ボタンをクリックします。
- 以前にONLYOFFICE formタイプを割り当てたコンテンツタイプを選択します。
- ONLYOFFICE form(ONLYOFFICEフォーム)フィールドに、作成したフォームの名前を入力します。以前に作成したフォームがない場合は、Create new ONLYOFFICE form(新しいONLYOFFICEフォームを作成)ボタンをクリックします。
- Save(保存)ボタンをクリックして、Drupalにフォームページを作成します。
PDFフォームへの記入
- フォームのフィールドに記入します。
- 上部のツールバーのComplete&Submit(完了して送信)ボタンをクリックします。
- 記入済みフォームのコピーをダウンロードできます。右上隅の ⋮ ボタンをクリックし、.docxファイルと.pdfファイルのどちらでダウンロードするかを選択します。
フォームへの記入について詳しくは、次のガイドをご参照ください。
記入済みフォームの操作
- Manage(管理)→ Content(コンテンツ)→ ONLYOFFICE form(ONLYOFFICEフォーム)→ Submitted forms(送信済みフォーム)に移動します。
- 記入済みのフォームはすべて、テンプレート名ごとにグループ化されます。テンプレート名をクリックすると、関連するすべてのフォームが表示されます。
- どのフォームも、閲覧、ダウンロード、削除ができます。
最も一般的な問題とその解決方法について詳しくは、トラブルシューティングガイドをご覧ください。