ONLYOFFICE DocsをAlfrescoにインストールする方法

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

ONLYOFFICEでは、ONLYOFFICE DocsとAlfrescoを連携させ、ドキュメントライブラリ内でオフィス文書の作成・編集・変換を行うための公式コネクタを提供しています。ONLYOFFICEコネクタは、公式[Alfresco Add-onsディレクトリ](https://hub.alfresco.com/t5/alfresco-content-services-add/onlyoffice-connector-for-alfresco/m-p/291397)または[ONLYOFFICE GitHubページ](https://github.com/ONLYOFFICE/onlyoffice-alfresco)からダウンロードができます。

:::note warn
ONLYOFFICEとAlfrescoのモジュールの詳細や動作については、[APIドキュメント](https://api.onlyoffice.com/editors/alfresco)をご覧ください
:::

**主な機能**
* テキスト文書、表計算、スライドの作成、編集、閲覧
* ファイルの変換
* リアルタイムでのドキュメント共同編集：2つの共同編集モード（高速および厳格）、変更履歴モード、コメント、内蔵チャット
* **JWTのサポート**により、適切な権限を持つユーザーを除いて、誰もあなたのドキュメントにアクセスできないように、トラフィックを保護すること


**対応フォーマット**

*　作成、編集、閲覧用：docx、pptx、xlsx
*　変換用：ODT、ODP、ODS、DOC、XLS、PPT
*　OOXMLに変換して編集する場合：csv、odp、ods、odt、rtf、txt
*　閲覧のみ：PDF

## ONLYOFFICE DocsとAlfresco Shareを連携させる

**必要条件**
* ONLYOFFICE ドキュメントサーバー v3.0以上
 Alfrescoとエンドクライアントの両方から解決可能で接続可能なONLYOFFICE Docsのインスタンスが必要です。また、Alfrescoに直接POSTできる必要があります。
:::note warn
ONLYOFFICE Docsのインストール方法については、
[公式ドキュメントページ](https://helpcenter.onlyoffice.com/installation/docs-index.aspx)をご参照ください
:::
* Alfresco v.5.2-6.1
* ONLYOFFICEのAlfresco用 コネクタ 5.0.0

### ONLYOFFICEとAlfrescoのモジュールパッケージのインストール

最新のコンパイル済みパッケージファイルは、[GitHub](https://github.com/onlyoffice/onlyoffice-alfresco/releases)で公開されています。onlyoffice-integration-repo.jar と onlyoffice-integration-share.jar ファイルが必要です。何らかの理由でONLYOFFICEとAlfrescoのモジュールパッケージを自分でコンパイルする予定（ソースコードを編集して後からコンパイルするなど）の場合は、[開発者の説明書](https://api.onlyoffice.com/editors/alfresco)をご覧ください。

１．*repo*と*share*のディレクトリーからコンパイルしたパッケージをダウンロードします。
```
cd onlyoffice-alfresco/
mvn clean install
```
２．コンパイルした ***.jar** パッケージを、Alfresco のインストール先に応じたディレクトリにアップロードしてください。
* Alfrescoレポジトリの場合：`onlyoffice-alfresco/repo/target/` から `/webapps/alfresco/WEB-INF/lib/`にアップロードしてください。
* Shareの場合：`onlyoffice-alfresco/share/target/` から `/webapps/share/WEB-INF/lib/`にアップロードしてください。

３．必要に応じて、 `alfresco-global.properties`ファイルを編集し、alfrescoとshareが2つの独立したサービスとして展開されているため、正しいホスト名、オープンポート、プロトコルを指定します。
```
alfresco.host=<hostname>
alfresco.port=443
alfresco.protocol=https

share.host=<hostname>
share.port=443
share.protocol=https
```
４．Alfrescoを再起動します。
```
sudo ./alfresco.sh stop
sudo ./alfresco.sh start
```
５．`/share/page/console/admin-console/module-package`というモジュールがあるかどうか確認します。

#### ONLYOFFICEとAlfrescoのモジュールパッケージの設定

**Alfresco Administration Console**にアクセスします。`http://<alfrescohost>/alfresco/s/onlyoffice/onlyoffice-config`を開き、以下のパラメータを指定します。

ドキュメントサーバーの設定：
* **Document Editing Service address** - Document Editing Service がインストールされている URL アドレスを指定します。
* **Secret Key** - データに署名するために使用するシークレットキーを指定します。詳細は、[ONLYOFFICEとAlfrescoの連携におけるJWTの有効化](https://helpcenter.onlyoffice.com/integration/gettingstarted-alfresco.aspx#JWT_block)をご覧ください。

サーバーの詳細設定：
* **Alfrescoサーバーからの内部リクエストのためのドキュメント編集サービスアドレス** - Alfrescoサーバーからドキュメント編集サービスにアクセスするために使用されるアドレスを指定します。
* **ドキュメント編集サービスからの内部リクエストのためのAlfrescoサーバーアドレス** - ドキュメント編集サービスからAlfrescoサーバーへのアクセスに使用されるアドレスを指定します。

一般的な設定：
* **SSL Certificateを無視** - SSLをオフにします。
* **強制保存を有効にする** - 保存ボタンをクリックすると、ドキュメントの変更を直接Alfrescoストレージに保存することを有効にします（無効の場合、ドキュメントを閉じるまでドキュメントエディタのキャッシュに保存されます）。
* **docx, xlsx, pptxを変換後、元のファイルの新しいバージョンとして保存** - 無効の場合、別のファイルが作成され、同じフォルダに配置されます。
* **編集用にファイルを開く** - 管理者がOOXML形式への変換を介して編集するドキュメント形式を選択できるようにします。
![изображение.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2655664/3d924a41-ccf3-3548-bab6-b6183d89c879.png)

#### ONLYOFFICEとAlfrescoの連携でJWTを有効にする

不正アクセスからドキュメントを保護するために、ONLYOFFICEエディタはJSONウェブトークン（JWT）を使用します。**トークン**は、ドキュメントエディタの初期化時およびONLYOFFICE Docsの内部サービス間のコマンド交換時に、設定に追加されます。**シクレっとキー**は、ONLYOFFICE Docsへのリクエスト時に、JSONウェブトークンに署名し、トークンを検証するために使用されます。

ドキュメントを保護するためには、トークン検証を有効にし、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` を開いてください。

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

３．シクレっとキーを指定するには、シクレっと値を3分割して独自の文字列に置き換えてください。シクレっとキーは同一である必要があります。
* `services.CoAuthoring.secret.inbox.string`
* `services.CoAuthoring.secret.outbox.string`
* `services.CoAuthoring.secret.session.string`

```java
{
  "services": {
    "CoAuthoring": {
      "token": {
        "enable": {
          "request": {
            "inbox": true,
            "outbox": true
          },
          "browser": true
        }
      },
      "secret": {
        "inbox": {
          "string": "yoursecret"
        },
        "outbox": {
          "string": "yoursecret"
        },
        "session": {
          "string": "yoursecret"
        }
      }
    }
  }
}
```
４．変更内容を保存します。
５．設定変更を有効にするために、サービスを再起動します。
```
supervisorctl restart all
```
##### ステップ2：コネクタの設定で同じシークレットキーを指定する

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

##### ONLYOFFICE Docsのデモに接続する

[ONLYOFFICEコネクタバージョン5.0.0](https://github.com/ONLYOFFICE/onlyoffice-alfresco/releases/tag/v5.0.0)から、ONLYOFFICE Docsをインストールせずに、Alfresco内でONLYOFFICEオンラインエディタを試すことができるようになりました。

接続をONにするには、**Connect to demo ONLYOFFICE Document Server** チェックボックスをクリックし、**Save**ボタンをクリックします。

:::note warn
これは、30日間利用可能な公開テストサーバーです。機密データを共有しないでください
:::