ONLYOFFICE DocsとConfluenceを連携させる方法

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

ONLYOFFICEでは、ONLYOFFICE DocsとConfluenceを連携させ、ドキュメントライブラリ内でオフィス文書を編集するための公式コネクタを提供しています。ONLYOFFICE コネクタは [Atlassian Marketplace](https://marketplace.atlassian.com/apps/1218214/onlyoffice-connector-for-confluence) からインストールするか、[GitHub ページ](https://github.com/ONLYOFFICE/onlyoffice-confluence)からダウンロードできます。このアプリケーションは Apache ライセンスで配布されています。

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

### 主な機能

* 新規文書作成オプションを使用したテキスト文書、スプレッドシート、プレゼンテーションの作成。
オンラインフォームの作成と入力
* ONLYOFFICEで編集 "オプションによる文書の編集と表示
* リアルタイムでの文書共同編集：2つの共同編集モード（高速と厳格）、変更履歴、コメント、内蔵チャット
* JWTのサポートにより、適切な権利を持つユーザー以外がドキュメントにアクセスできないように、トラフィックを保護する

### 対応フォーマット

* 作成、編集、閲覧用：docx, pptx, xlsx, docxf
* フォームへの入力用：OFORM
* Office Open XMLへの変換用：odt、doc、odp、ppt、ods、xls
* 閲覧のみ：PDF

## ONLYOFFICE DocsとConfluenceを連携させる方法

### 動作環境

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

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

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

* Confluence Data Center 6.13.〜7.15.0 または Confluence Server 6.13.1〜7.15.0

### Atlassian Marketplace から Confluence 用 ONLYOFFICE コネクタをインストールする

[公式の Atlassian Marketplace](https://marketplace.atlassian.com/apps/1218214/onlyoffice-connector-for-confluence?hosting=server&tab=overview) から最新バージョンのコネクタをダウンロードすることができます。そのためには、以下の手順で行ってください。

1. Confluence インスタンスに管理者としてログインします。
1. admin ドロップダウンボックスをクリックし、**Manage apps** を選択します。「**アプリの管理**」画面が表示されます。
1. ページの左側にある「**Find new apps（新しいアプリを探す）**」をクリックします。
1. 検索で **Confluence 用 ONLYOFFICE コネクタ**を見つけます。結果には、あなたの Confluence インスタンスと互換性のあるアドオンバージョンも含まれます。
1. 「**インストール**」をクリックして、アプリケーションをダウンロードしインストールします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2655664/b607454f-508b-702b-ab5d-731a0f25d6a2.png)

### Confluence 用 ONLYOFFICE コネクタの設定

**Confluenceの管理画面**→**アプリの管理**→**Confluence用ONLYOFFICEコネクタ**→**設定**と進みます。

* **ドキュメントサーバー**：ONLYOFFICE DocsがインストールされているURLアドレスを指定します（例：`https://documentserver`）
* **シクレットキー**：データの署名に使用する JWT シークレットを指定します。詳細は、本記事の「ONLYOFFICEとConfluenceの連携におけるJWTの有効化」の項をご参照ください

#### 高度なサーバー設定

* **ドキュメント編集サービスからの内部リクエスト用サーバーアドレス**：ドキュメント編集サービスから Confluence サーバーにアクセスするために使用されるアドレス
* **サーバからの内部リクエスト用の Document Editing Service アドレス**：Confluence サーバから Document Editing Service にアクセスするために使用されるアドレス

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2655664/fdba31e0-5278-e5af-8bb1-3bdc0ee01b16.png)

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

不正なアクセスからドキュメントを保護するために、ONLYOFFICEエディタはJSON Web Token (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`
```javascript
{
  "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 DocsをインストールせずにConfluence内でONLYOFFICEオンラインエディタをテストしたい場合は、**Confluence管理**→**アプリの管理**→**Confluence 用 ONLYOFFICE コネクタ**→**設定**と進み、**Connect to demo ONLYOFFICE Document Server**（デモもONLYOFFICEドキュメントサーバーに連携する）のチェックボックスにチェックを入れて「**保存**」ボタンをクリックします。

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

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

ファイルを作成する：
1. ファイルを作成する必要のあるページを開きます
1. 「**新しいドキュメント**」ボタンをクリックします
1. 必要なファイルタイプを選択します
1. ファイルタイプのアイコンの近くにあるテキストフィールドにファイル名を入力します
1. ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2655664/1bfeca21-58a9-831e-40d3-8d9fd42415e2.png)保存ボタンをクリックします

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2655664/840b8a30-0c57-ca67-13f7-457e0c4ab33b.png)

ドキュメントを編集または表示する：
1. 必要なファイルを探します
1. 「**ONLYOFFICEで編集**」ボタンをクリックします

ONLYOFFICEエディタでドキュメントが開かれます。
ドキュメントを共同編集するには、権限のあるユーザが同じファイルを一緒に開く必要があります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2655664/2dfebbc6-4ff6-d380-cb78-5b410b9e305b.png)

フォームを作成する：
1. ファイルを作成する必要のあるページを開きます
2. 「**新しいドキュメント**」ボタンをクリックし、「**フォーム**」オプションを選択します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2655664/f811661c-e359-7c4d-990a-6f6adca32f05.png)
2. ファイルタイプのアイコンの近くにあるテキストフィールドにファイル名を入力します
2. このページまたは他のページに添付された.docxファイルを選択するか、「**白紙から作成**」オプションを選択します
2. フォームはONLYOFFICE Docsエディタで開かれます
2. フォームを.docxfとして保存し、将来的に編集、修正、共同作業にアクセスできるようにします

記入欄を作成し、他のユーザーによるファイル編集を制限する：
1. **添付ファイル**に移動します
2. .docxfファイルの右側にある「**ONLYOFFICEを使用してフォームを作成する**」リンクをクリックします。.oformファイルが「**添付ファイル**」セクションに作成されます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2655664/0c311fb1-0942-7017-9acc-b4d23ea294f9.png)

フォームに記入する：
1. **添付ファイル**に移動します
2. .oformファイルの右側にある「**ONLYOFFICEで記入する**」リンクをクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2655664/d63b9389-3a02-8ef3-0fd1-7521177c9aa8.png)
2. フォームはONLYOFFICE Docsエディターで開かれます

フォームについてもっと知りたい方は、フォームの[作成](https://test-helpcenter.onlyoffice.com/onlyoffice-editors/onlyoffice-document-editor/UsageInstructions/CreateFillableForms.aspx)と[記入](https://test-helpcenter.onlyoffice.com/onlyoffice-editors/onlyoffice-document-editor/UsageInstructions/FillingOutForm.aspx)のための対応する記事をご覧ください。

[ONLYOFFICEエディタを今すぐダウンロード](https://www.onlyoffice.com/download-docs.aspx?from=helpcenter)