ONLYOFFICE DocsとChamiloの連携方法

## ONLYOFFICEとChamiloの連携について

ONLYOFFICEでは、ONLYOFFICE DocsとChamiloを連携させ、ドキュメントライブラリ内でオフィス文書を編集するための公式コネクタを提供しています。ONLYOFFICEのコネクタは[GitHubのページ](https://github.com/ONLYOFFICE/onlyoffice-chamilo)からダウンロードすることができます。

:::note warn
Chamilo用ONLYOFFICEコネクタの動作については、[APIドキュメント](https://api.onlyoffice.com/editors/chamilo)をご覧ください。
:::

### 主な機能

* テキストドキュメント、スプレッドシート、プレゼンテーションの編集と閲覧
* リアルタイムでのドキュメントの共同編集：2つの共同編集モード（高速と厳格）、変更履歴モード、コメント、そしてビルトインチャット
* **JWTのサポート**により、適切な権限を持つユーザーを除いて、誰もドキュメントにアクセスできないように、トラフィック保護

### サポートされるフォーマット

* 編集・閲覧用：DOCX, PPTX, XLSX

### バージョン1.1.2での新機能

追加された機能：

* セキュリティのフィルタリング
* DOCX、XLSX、PPTX形式の閲覧オプションを追加
* JWTに対応

変更点：

* ドキュメントスタイルの変更
* コードスタイルのマイナーチェンジ

全ての変更履歴は[こちら](https://github.com/ONLYOFFICE/onlyoffice-chamilo/blob/master/CHANGELOG.md)でご覧いただけます。

## ONLYOFFICE DocsとChamiloの接続について

### 必要条件

* ONLYOFFICE Docs（ドキュメントサーバ）6.2以降

Chamiloからもエンドクライアントからも解決・接続可能なONLYOFFICE Docsのインスタンスが必要です。また、Chamiloに直接POSTできる必要があります。

:::note warn
ONLYOFFICE Docsのインストールについては、[公式ドキュメントのページ](https://helpcenter.onlyoffice.com/installation/docs-index.aspx)をご参照ください。
:::

* Chamilo v1.11.14 以降

:::note warn
ONLYOFFICE DocsとChamiloは、別々のコンピュータにインストールすることも、同じマシンにインストールすることも可能です。その場合、デフォルトではONLYOFFICE DocsもChamiloも80番ポートで動作するため、ONLYOFFICE Docsのためのカスタムポートを設定する必要があります。[Docker](https://helpcenter.onlyoffice.com/installation/docs-community-install-docker.aspx#Installing)、[Ubuntu](https://helpcenter.onlyoffice.com/installation/docs-community-install-ubuntu.aspx#InstallingDebian)、[CentOS](https://helpcenter.onlyoffice.com/installation/docs-community-install-centos.aspx#ChangingPort)、[Windows](https://helpcenter.onlyoffice.com/installation/docs-community-install-windows.aspx#InstallingDocumentServer)に対応する手順をご参照ください。
:::

### ONLYOFFICEコネクタ for Chamiloのインストール

Chamilo **v1.11.16**から、ONLYOFFICEコネクタがプリインストールされています。有効にするには、以下の手順を実行します。

１．Chamiloの**管理ページ**に移動し、**ポータル**の**プラグイン**セクションを選択します。
２．プラグインリストで、ONLYOFFICEプラグインを選択し、「**選択したプラグインを有効にする**」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2655664/ba353e67-9343-e6a9-7dfa-cecbacb20071.png)

:::note warn
Chamiloのバージョンが1.11.16より低い場合、以下の手順でONLYOFFICEコネクタをインストールしてください。
1. [GitHubページ](https://github.com/ONLYOFFICE/onlyoffice-chamilo/releases)からコネクタをダウンロードします。
2. Chamilo 管理画面に移動し、「**Plugins**（プラグイン）」を選択し、「**Upload plugin**（プラグインをアップロードする）」ボタンをクリックします。
3. onlyoffice.zipファイルをアップロードしてください。プラグインリストが表示されます。
4. Chamiloのルートフォルダからターミナルを使用して**composer install**を起動します。
5. プラグインリストに戻り、ONLYOFFICEプラグインを選択し、「**Enable**（有効にする）」をクリックします。
:::

### ONLYOFFICEコネクター for Chamiloのアップデート

コネクタを最新版にアップデートするためには、あらかじめインストールされているデフォルトのプラグインフォルダを、新たに収集したプラグインと入れ替える必要があります。

**ステップ1**：新バージョンのコネクタが入ったフォルダを用意します。

* [GitHubページ](https://github.com/ONLYOFFICE/onlyoffice-chamilo/releases)からダウンロードし、**アーカイブを解凍**してください。

```
cd /tmp && wget https://github.com/ONLYOFFICE/onlyoffice-chamilo/releases/download/vX.X.X/onlyoffice.zip
```

ここで、`vX.X.X`は必要なコネクタのバージョンです。

```
unzip onlyoffice.zip
```

* または、[コネクタを収集する](https://github.com/ONLYOFFICE/onlyoffice-chamilo#collect-chamilo-onlyoffice-integration-plugin)こともできます。

１．コマンドを実行して、このリポジトリの最新バージョンを取得します。

```
git clone https://github.com/ONLYOFFICE/onlyoffice-chamilo
cd onlyoffice-chamilo
```

２．サブモジュールを取得します。

```
git submodule update --init --recursive
```

３．すべてのファイルを収集します。

```
mkdir /tmp/onlyoffice-deploy
mkdir /tmp/onlyoffice-deploy/onlyoffice
cp -r ./ /tmp/onlyoffice-deploy/onlyoffice
cd /tmp/onlyoffice-deploy/onlyoffice
rm -rf ./.git*
rm -rf */.git*
```

**ステップ2**：古いコネクタフォルダを削除します。

１．ルートフォルダでターミナルを開きます。
２．以下のコマンドでフォルダを削除してください。

```
rm -rf /var/www/html/chamilo-x.x.x/plugin/onlyoffice
```

`chamilo-x.x.x`はお使いのChamiloのバージョンです。

**ステップ3**：新しいコネクタフォルダをchamilo-x.x.x/plugin/ディレクトリに移動します。

１．ルートフォルダでターミナルを開きます。
２．以下のコマンドでフォルダを移動します。

```
cp -r /tmp/onlyoffice-deploy/onlyoffice /var/www/html/chamilo-x.x.x/plugin/
```

`chamilo-x.x.x`はお使いのChamiloのバージョンです。

## ONLYOFFICEコネクタをChamiloに設定する

**プラグイン**ページでONLYOFFICEを探し、**Configure**をクリックします。**設定ページ**が表示され、以下のパラメータを設定することができます。

* **文書編集サービス**のアドレスに、Chamiloから文書編集サービスにアクセスする際に使用するアドレスを入力します。
* シクレットキーフィールドに、データの署名に使用する秘密鍵を指定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2655664/5f92b34a-8aa7-2a92-9028-fd0399927eec.png)

### ONLYOFFICEとChamiloの連携でJWTを有効化する

不正なアクセスからドキュメントを保護するために、ONLYOFFICEエディタはJSON Web Token (JWT)を使用します。このトークンは、ドキュメントエディタが初期化されたとき、および内部のONLYOFFICE Docsサービス間のコマンドの交換の間に、構成に追加されます。秘密鍵は、ONLYOFFICE Docsへのリクエスト時に、JSONウェブトークンに署名し、トークンを検証するために使用されます。

ドキュメントを保護するために、トークン検証を有効にし、ONLYOFFICE Docs設定ファイルで独自の秘密鍵を指定し、コネクタ設定でも同じ秘密鍵を指定する必要があります。

**ステップ１**：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`を開いてください。

２．3つのセクションで`false`の値を`true`に変更して、トークン検証を有効にします。
* `services.CoAuthoring.token.enable.browser`
* `services.CoAuthoring.token.enable.request.inbox`
* `services.CoAuthoring.token.enable.request.outbox`

３．3つのセクションのsecret valueを独自のテキスト文字列に置き換えて、独自のシークレットキーを指定します。秘密鍵は同一である必要があります。

* `services.CoAuthoring.secret.inbox.string`
* `services.CoAuthoring.secret.outbox.string`
* `services.CoAuthoring.secret.session.string`

```
{
  "services": {
    "CoAuthoring": {
      "token": {
        "enable": {
          "request": {
            "inbox": true,
            "outbox": true
          },
          "browser": true
        }
      },
      "secret": {
        "inbox": {
          "string": "yoursecret"
        },
        "outbox": {
          "string": "yoursecret"
        },
        "session": {
          "string": "yoursecret"
        }
      }
    }
  }
}
```

４．変更内容を保存します。
５．設定変更を有効にするために、サービスを再起動します。

```
supervisorctl restart all
```

**ステップ２**：コネクタの設定で同じシークレットキーを指定する

コネクタの設定で、シークレットキーの欄に同じシークレットを指定し、設定を保存してください。

### Chamilo用ONLYOFFICEコネクタの無効化

ONLYOFFICEコネクタを無効化する必要がある場合は：

１．プラグインページで、ONLYOFFICEを探し、設定をクリックします。
２．「有効化」セクションの「いいえ」チェックボックスにチェックを入れてください。

## Chamilo内でONLYOFFICE Docsの利用を開始する

ONLYOFFICE Docsのエディタで編集するドキュメントを開くには：

１．必要なファイルがあるフォルダを開く。
２．ONLYOFFICEで編集アイコンをクリックし、ファイルを編集用にエディタで開く。

ONLYOFFICE Docsのエディタでドキュメントが開かれます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2655664/cb93e982-28a8-92e1-e474-30a2377e8c61.png)

ドキュメントのアクセス権を読み取り専用に変更するには：

１．必要なドキュメントを探す。
２．編集アイコンをクリックする。
３．開いたページで、「読み取り専用」チェックボックスを選択する。
４．「文書を保存する」ボタンをクリックする。

[**今すぐダウンロード**](https://www.onlyoffice.com/download-docs.aspx?from=qiita)