Mattermost
ONLYOFFICEとMattermostの統合について
ONLYOFFICEは、ONLYOFFICE DocsをMattermostと統合する公式コネクタを提供しており、プライベートまたはグループチャットで送信されたオフィスドキュメントを共同編集できます。公式ウェブサイトまたはGitHubからダウンロードできます。このアプリケーションはApacheライセンスの下で配布されています。
動作の仕組みやONLYOFFICEコネクタをMattermost用にコンパイルする方法については、APIドキュメントをご覧ください。
主な機能
- ONLYOFFICEで開くオプションを使用して、テキストドキュメント、スプレッドシート、プレゼンテーションを表示および編集します。
- コンテキストメニューのアクセス権を変更オプションでアクセス権(編集または読み取り)を管理します。
- リアルタイムでの共同編集:2つの共同編集モード(高速と厳格)。
- Live Viewer:読み取り専用アクセス権を持つユーザーは、他の編集者によるドキュメントのリアルタイムの変更を、カーソルを含めて確認できます。サーバーインストールでのみ利用可能で、デフォルトで有効です。
- ファイルの変更履歴を表示します。
- エディター用のモダンなライトおよびダークインターフェーステーマ。
- ONLYOFFICEエディターが利用できなくなったときの管理者への通知(システムコンソールのヘルス通知を有効にする)。
- 接続が復旧したときのエディターの自動再読み込み。
- 適切な権限を持つユーザー以外がドキュメントにアクセスできないようにするためのJWTサポート。
対応フォーマット
- 編集用:
- WORD:DOCM、DOCX、DOTM、DOTX
- CELL:XLSB、XLSM、XLSX、XLTM、XLTX
- SLIDE:POTM、POTX、PPSM、PPSX、PPTM、PPTX
- PDF:PDF
- 表示用:
- WORD:DOC、DOCM、DOCX、DOT、DOTM、DOTX、EPUB、FB2、FODT、HML、HTM、HTML、HWP、HWPX、MD、MHT、MHTML、ODT、OTT、PAGES、RTF、STW、SXW、TXT、WPS、WPT、XML
- CELL:CSV、ET、ETT、FODS、NUMBERS、ODS、OTS、SXC、TSV、XLS、XLSB、XLSM、XLSX、XLT、XLTM、XLTX
- SLIDE:DPS、DPT、FODP、KEY、ODG、ODP、OTP、POT、POTM、POTX、PPS、PPSM、PPSX、PPT、PPTM、PPTX、SXI
- PDF:DJVU、OXPS、PDF、XPS
- DIAGRAM:VSDM、VSDX、VSSM、VSSX、VSTM、VSTX
バージョン2.3.0の新機能
追加
- Live Viewer:読み取り専用アクセス権を持つユーザーが、他の編集者によるリアルタイムの変更をカーソルを含めて確認できるようになりました。サーバーインストールでのみ利用可能で、追加の設定は不要です。
- モダンライトおよびモダンダークインターフェーステーマのサポート(表示タブ → インターフェイスのテーマ → モダンライト / モダンダーク)。
- システムコンソールのヘルス通知を有効にするオプションによる、エディターの切断時の管理者への通知。
- 接続が復旧したときのエディターの自動再読み込み。
完全な変更ログはこちらで確認できます。
ONLYOFFICE DocsをMattermostに接続する
要件
-
ONLYOFFICE Document Server v6.4.0(サーバーまたはクラウド版)以降
Mattermostおよびエンドクライアントから解決可能で接続可能なONLYOFFICE Docsのインスタンスが必要です。直接MattermostにPOSTできる必要があります。
注記ONLYOFFICE Docsのインストールについて詳しくは、公式のドキュメントページをご覧ください。
ONLYOFFICE DocsとMattermostは、異なるコンピュータにインストールすることも、同じマシンにインストールすることもできます。同じマシンを使用する場合は、Document Serverのカスタムポートを設定してください。
-
Mattermost v. 10.11.0以降
-
Mattermost用ONLYOFFICE Connector v2.3.0
Mattermost用ONLYOFFICEコネクタのインストール
Mattermostを接続するには、次の手順に従ってください:
-
Node.jsをインストールします。詳細については、インストールドキュメントを参照してください。
-
Goをインストールします。詳細については、インストールドキュメントを参照してください。インストール手順はOSによって異なります。
-
makeをインストールします:
sudo apt install make -
プラグインのブランチをクローンします:
git clone https://github.com/ONLYOFFICE/onlyoffice-mattermost.git -
プロジェクトのルートに移動し、gitサブモジュールを取得します:
cd onlyoffice-mattermost/git submodule update --init --recursive -
ビルドを開始します:
make
Mattermost用ONLYOFFICEコネクタの設定
システムコンソールに移動し、検索でONLYOFFICEプラグインを見つけて設定を行います。対応するフィールドでプラグインを有効にし、次のパラメータを指定します:
-
ONLYOFFICE Docsのアドレス - ONLYOFFICE DocsがインストールされているURLアドレスを入力します(例:
https://documentserver)。注記ONLYOFFICE DocsのアドレスはMattermostからアクセス可能である必要があり、MattermostのアドレスもONLYOFFICE Docsからアクセス可能である必要があります。
-
Document Server JWTシークレット - データを署名するために使用されるドキュメントサーバーのJWTシークレット。
注記ONLYOFFICE Docs v7.2以降、JWTはデフォルトで有効になっており、シークレットキーは自動的に生成されます。Mattermost側でも有効にする必要があります:ONLYOFFICE Docs設定ファイルでシークレットキーを見つけ、コネクタ設定で同じシークレットキーを指定してください。詳細については、この記事のONLYOFFICEとMattermostの統合でJWTを有効にするセクションを参照してください。
-
JWTヘッダー - JWTヘッダーを指定します。
注記JWT保護が有効な場合、Mattermostのセキュリティポリシーが外部の 'Authorization' ヘッダーをブロックするため、カスタムヘッダー名を指定する必要があります。このヘッダーはONLYOFFICE Docsの署名設定でも指定する必要があります(詳細はこちらをご覧ください)。
-
JWTプレフィックス - JWTプレフィックスを指定します。
-
ONLYOFFICE Docsデモサーバーへの接続を有効にするボックスをオンにすると、ONLYOFFICE Docsのパブリックテストサーバーに1か月間接続することもできます。
-
フォーマット - ONLYOFFICE Docsで開くファイル形式を選択します。デフォルトではすべての形式が有効です。形式のチェックを外すと無効になります。
-
所有者のみによるファイル保護 - 有効にすると、ファイルの所有者のみが保護タブからファイルを保護/保護解除できます。無効にすると、ファイル保護はすべてのユーザーが利用できます。
-
ONLYOFFICEプラグインを有効にする - 有効にすると、ユーザーはエディターでプラグインを利用できます。無効にすると、プラグインは非表示になります。
-
マクロを有効にする - 有効にすると、ユーザーはエディターでマクロを作成および実行できます。無効にすると、すべてのマクロ機能が非表示になります。
-
ヘルス通知を有効にする - ONLYOFFICEエディターが利用できなくなったときに管理者通知を受け取るには、このオプションを有効にします。

仕組み
ユーザーとドキュメントのやり取りは、クライアント側とサーバー側の両方で行われます。
このドキュメント全体で使用される主な概念を以下に説明します。
クライアント側には以下が含まれます:
- ドキュメントマネージャー - ユーザーのブラウザに表示されるドキュメントのリストで、ユーザーは必要なドキュメントを選択して操作を実行できます(付与された権限に応じて、ドキュメントを開いて表示または編集したり、他のユーザーと共有したりできます)。
- ドキュメントエディター - 最もよく知られたドキュメント編集機能をすべて備えた、ドキュメントの表示および編集インターフェースで、ユーザーとドキュメント編集サービスの間の媒体として使用されます。
サーバー側には以下が含まれます:
- ドキュメントストレージサービス - 適切なアクセス権を持つユーザーが利用できるすべてのドキュメントを保存するサーバーサービスです。ユーザーがブラウザで見るドキュメントマネージャーに、ドキュメントIDとそれらのドキュメントへのリンクを提供します。
- ドキュメント編集サービス - ドキュメントの表示と編集を可能にするサーバーサービスです(ユーザーに適切な権限がある場合)。ドキュメントエディターインターフェースは、ドキュメント編集サービスのすべての機能にアクセスするために使用されます。
- ドキュメントコマンドサービス - ドキュメント編集サービスで追加のコマンドを実行できるサーバーサービスです。
- ドキュメント変換サービス - 編集またはダウンロードのために、ドキュメントファイルを適切なOffice Open XML形式(テキストドキュメントはdocx、スプレッドシートはxlsx、プレゼンテーションはpptx)に変換できるサーバーサービスです。
- ドキュメントビルダーサービス - ドキュメント処理エディターを実際に実行しなくても、ドキュメントを簡単に作成できるサーバーサービスです。
ONLYOFFICE Document Serverには、ドキュメントエディター、ドキュメント編集サービス、ドキュメントコマンドサービス、ドキュメント変換サービス、ドキュメントビルダーサービスが含まれています。ドキュメントマネージャーとドキュメントストレージサービスは、Community Serverに含まれているか、自社サーバーでONLYOFFICE Document Serverを使用するソフトウェアインテグレーターが実装する必要があります。
ONLYOFFICEとMattermostの統合でJWTを有効にする
ドキュメントを不正アクセスから保護するために、ONLYOFFICEエディターはJSON Web Token(JWT)を使用します。トークンは、ドキュメントエディターの初期化時、およびONLYOFFICE Docsの内部サービス間のコマンドのやり取りの際に、設定に追加されます。シークレットキーは、JSON Web Tokenに署名し、ONLYOFFICE Docsへのリクエスト時にトークンを検証するために使用されます。
ONLYOFFICE Docs v7.2以降、JWTはデフォルトで有効になっており、シークレットキーは自動的に生成されます。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を開きますまたは、次のコマンドを使用すると、local.jsonを開かずにデフォルトのシークレットキーを見つけることができます:
sudo docker exec <containerID> /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json 'services.CoAuthoring.secret.session.string'
local.jsonファイルは次のようになっているはずです:
{"services": {"CoAuthoring": {"token": {"enable": {"request": {"inbox": true,"outbox": true},"browser": true}},"secret": {"inbox": {"string": "yoursecret"},"outbox": {"string": "yoursecret"},"session": {"string": "yoursecret"}}}}} -
-
値
trueは3つのセクションで指定されています。これはトークン検証が有効であることを意味します。services.CoAuthoring.token.enable.browserservices.CoAuthoring.token.enable.request.inboxservices.CoAuthoring.token.enable.request.outbox
-
自動生成されたシークレットキーは3つのセクションで指定されています。デフォルトのシークレット値を独自のシークレットキーに置き換えることができます。シークレットキーは3つのセクションで同じである必要があります。
services.CoAuthoring.secret.inbox.stringservices.CoAuthoring.secret.outbox.stringservices.CoAuthoring.secret.session.string
-
変更を加えた場合は、保存してサービスを再起動し、設定の変更を反映させます。
supervisorctl restart all
ステップ2:コネクタ設定で同じシークレットキーを指定する
コネクタ設定のシークレットキーフィールドに同じシークレットを指定し、設定を保存します。
Mattermost内でONLYOFFICE Docsを使用開始する
ファイルの表示と編集
-
Mattermostチャットで送信されたファイルの横にあるその他のアクションボタン
をクリックします。
-
コンテキストメニューからONLYOFFICEでファイルを開くオプションを選択します。

または
-
ファイル名をクリックします。
-
ファイルプレビューウィンドウが表示されます。他のユーザーとファイルを共有するには、共有ボタンをクリックします。編集を続行するには、ONLYOFFICEで編集ボタンをクリックします。

ファイルは対応するONLYOFFICEエディターで開かれます。
読み取り専用アクセス権を持つユーザーは、Live Viewerを使用して、編集モードに切り替えることなく、他の編集者によるリアルタイムの変更をカーソルを含めて確認できます。Live Viewerはサーバーインストールでのみ利用可能で、デフォルトで有効です。追加の設定は不要です。Live Viewerの詳細については、APIドキュメントを参照してください。
アクセス権の変更
送信者には編集アクセス権があり、受信者には読み取りアクセス権がデフォルトであります。これらを変更するには、ファイルのコンテキストメニューにあるアクセス権を変更オプションを使用します。このオプションは送信者のみが利用できます。
ドキュメントを共同編集するには、認証されたユーザーが同じファイルを一緒に開く必要があります。
プライベートチャットで:
-
@userのアクセス権フィールドのドロップダウンメニューを使用します。

グループチャットで全メンバーに対して:
-
チャットメンバーのデフォルトアクセス権フィールドのドロップダウンメニューを使用します。

グループチャットで特定のユーザーに対して:
-
上部のドロップダウンメニューを使用し、必要なユーザーを選択し、右側の追加ボタンをクリックします。

-
ユーザーは下のリストに表示されます。右側のドロップダウンメニューでアクセス権を変更します。

アクセス権の管理は、対応するパーティにボット通知を送信します。
変更履歴の表示
ファイルへのすべての変更は、ユーザー名を含む通知として送信されます。

通知は専用スレッドで利用可能です。スレッドを開くには、ファイルの右側にある矢印をクリックします。

最も一般的な問題とその解決方法については、トラブルシューティングガイドをご覧ください。