📣

Mattermost 5.35の新機能

2021/06/19に公開

Mattermost 記事まとめ: https://blog.kaakaa.dev/tags/mattermost/

はじめに

(最近Qiitaでの体験があまり良くないので、来月の記事からZennに移行しようと思っています。既存の記事も移行し、Qiitaの記事内容をZennの記事へのリンクに更新する予定です。https://zenn.dev/kaakaa)

2021/05/14 に Mattermost v5.35.0 がリリースされました。

v5.35へのマイグレーション時に、MySQL を使用している場合にデータベースに対するreadTimeout時間が短すぎることが原因で、MySQL へのコネクションが正常に貼れなくなるという問題が確認されています。アップグレードを行う場合は、まもなくリリース予定のv5.35.1の利用をおすすめします。

https://docs.mattermost.com/administration/changelog.html#release-v5-35-feature-release

v5.35.1, release day TBD
Fixing an issue where 5.35.0 migration is failing on MySQL installations with an “invalid connection” error due to an issue with the readTimeout parameter in SqlSettings.DataSource (default is 30 seconds). To mitigate this, readTimeout can be either removed or increased to a high enough value to allow the migration to happen. MM-35767

本記事は、個人的に気になった新しい機能などを動かしてみることを目的としています。  
変更内容の詳細については公式のリリースを確認してください。


アップグレード時の注意事項

v5.35へのアップグレードに関連するいくつかの注意事項があります。

  • Mattermost v5.35では、今後リリース予定の共有チャンネル機能や、返信スレッドの折り畳み機能に必要なデータベースのマイグレーションが行われており、アップグレードに時間がかかることがあります。データベースのサイズにもよりますが、数分から、MySQL 5.x系を利用している場合は数時間かかることもあります。パフォーマンスへの影響については5.35 Migrationも確認ください。
  • v5.35から導入されたファイル検索機能は、デフォルトではすでにアップロード済みのファイルに対してはファイル名のみの検索しか動作しません。アップロード済みのファイルの内容で検索を行いたい場合、mattermost extract-documents-contentコマンドを実行する必要があります。また、検索にElasticsearchもしくはBleveを利用している場合は、mattermost extract-documents-contentが完了した後で、検索インデックスの再構築を行う必要があります。ファイル検索機能については、Search for files and document contents in Mattermostでも説明されています。
  • Bulk Importにより追加されたユーザーに設定されるパスワードは、比較的脆弱なパスワードとなっていたため、Bulk Import後に一度もパスワードを変更していないユーザーがいた場合、そのユーザーのパスワードをリセットすることをおすすめします。
  • v5.38にて、config.jsonファイルを監視し、変更を自動でリロードする config watcherの機能が廃止されます。

各機能の見出し前の記号は、その機能が利用可能なエディションを表しています。

見出しの前に何もない場合、Team Edition(OSS 版)でも利用可能な機能です。

ファイル/ドキュメント内容検索

Mattermostにアップロードされたファイルの内容を検索できるようになりました。

search_file

検索対象となるファイルの形式は、.pdf, .pptx, .odt, .html と plain textドキュメントです。
Cloud版では、さらに.docx も検索対象になります。
Team Edition(OSS版)でも、下記の依存ライブラリをインストールすることで、.docx, .rtf, .pagesファイルを検索対象とすることもできるようです。(Linuxのみ?)

$ sudo apt-get install poppler-utils wv unrtf tidy
$ go get github.com/JalfResi/justext

sajari/docconv: Converts PDF, DOC, DOCX, XML, HTML, RTF, etc to plain text

また、Team Edition(OSS版)においてMattermsotサーバーの設定ファイルconfig.jsonFileSettings.ArchiveRecursiontrueに設定することで、ZIPファイルの内容も検索できるようになるようです。

記事冒頭のImport Upgrade Notesにもあるように、ファイル内容についてのインデックスが作成されるまではファイル名での検索しか動作しません。v5.35にアップデートする前にアップロード済みのファイルの内容に対するインデックスを作成するには mattermost extract-documents-contentコマンドを実行する必要があります。

ファイル検索について、詳細は以下の公式ブログを参照ください。
Search for files and document contents in Mattermost

(E20/Cloud) Incident Collaborationの改善

Ad hoc tasks

インシデント対応時のタスクは、事前にPlaybookに定義されているものしか使えませんでしたが、新しいバージョンではインシデント対応中にアドホックでタスクの追加、編集、削除ができるようになりました。

incident_adhoc
(※画像は公式ブログから)

Stakeholder overview

Incident Collaborationサイドバーの下部に表示されている Overview ボタンを押すことで、インシデント対応に当たっているユーザー等を確認できるようになっているようです。

incident_overview1
incident_overview2

詳細なアクセス管理

インシデントに対するアクセス権限をMattermostチーム単位?に設定できるようになりました。Mattermostインスタンスにユーザー用のチームと管理者用のチームに分けていた場合、管理者側のチームの人だけがインシデントにアクセスできるようにするなどの対応を取れるようになったのだと思います。
incident_access_control

また、Incident Collaborationの設定の中に Experimental Featuresに関する設定も見えるようです。これを有効にすると、インシデント対応に関するメトリクス一覧の画面を表示できるようになったりするらしいです。

incident_stats

インシデント開始に係る処理の自動化

先月のリリース時点と比較すると、Playbookの設定にAnnounce in another channelSend a webhookという項目が追加されているようです。
この設定により、(おそらく)Incidentに関するイベントを他のチャンネルに通知したり、Webhook経由で別のサーバーへ通知して他サービスと連携するなどができるようになっているようです。

incident_settings

(E20/Cloud) システムコンソールページに対する詳細な権限設定

システムコンソールの各設定ページに対する編集/閲覧権限に関する設定項目が細分化されました。
新たに Experimental(実験的な機能), About(エディションとライセンス),Environment(環境),Site Configuration(サイト設定),Authemtication(認可),Integration(統合機能),Compliance(コンプライアンス)のセクションが追加され、それぞれのサブセクションごとの権限設定が可能になっています。

granular_access

(E20/Cloud) 共有チャンネル

Mattermostインスタンス間でチャンネルを共有できる機能が実験的な機能として追加されました。Enterprise E20ライセンスが必要です。また、共有チャンネル機能はデフォルトでは無効化されています。

システムコンソール > 実験的機能 > 機能 から有効にでき、スラッシュコマンド /share で共有チャンネルを管理するようです。

shared_channel_setting

共有するインスタンスを持っていないので実際の動作は確かめられませんでしたが、共有チャンネルは以下のような見た目になるそうです。(※画像は公式ブログから)

Shared-channels

Apps Framework (Developer Preview)

Mattermostの統合機能の新たな形式として、Mattermost Appsが利用できるようになります。(現時点ではDeveloper Previewのため、プロダクション環境では利用できません。)

Mattermost Appsはどんな言語でも記述することができ、モバイルアプリやデスクトップアプリでも動作します。

公式リリースブログでは、AWS LambdaによるAppsのサーバーレスホスティング、ServiceNowとの連携、Zendeskとの連携、について紹介されています。

Mattermost Appsについて詳しくは、公式ドキュメントApps (Developers Preview)を参照してください。

また、日本語で書かれた記事もいくつかあります。

その他の機能

(E20) Entrepriseトライアルの改善

Enterprise E20トライアルの開始時、終了3日前、終了日にシステム管理者に対してバナー警告が表示されるようになりました。

履歴からカスタムステータスを設定

最近設定したカスタムステータスを選択することができるようになりました。

recent_custom_status

リンクプレビュー表示を無効化するドメインの設定

URLを含むメッセージが投稿された場合、MattermostはリンクのOGPプレビューを表示しようとしますが、プレビューの表示をドメインによってに抑制する設定ができるようになりました。特定のサイトのプレビューを表示したくない場合などに利用できます。

restrict_preview

サイドバーにプロフィール画像が表示されるように

チャンネルサイドバーのダイレクトメッセージのセクションに、DM相手のプロフィール画像が表示されるようになりました。

dm_sidebar_icon

その他のトピック

Mattermost-Focalboard 連携

Mattermost が開発している a self-hosted alternative to Trello, Notion, and AsanaFocalboardとMattermostとの連携機能の開発が進められています。

Focalboard-Mattermost Integration · Discussion #118 · mattermost/focalboard

まだEarly Preview段階であり、かつ誰でも利用できるというわけではなく、MattermostコミュニティサーバーのFocalboardチャンネルからしか利用できませんが、以下のGitHub Discussionsで意見を募集しています。

Mattermost-Focalboard - Early Preview · Discussion #349 · mattermost/focalboard

Focalboardに関するYouTube動画も公開されています。

Focalboard - YouTube
Focalboard - YouTube

また、Focalboard の開発者がMattermost社のPodcastである What Mattersに出演しています。

What Matters, Episode 18: Meet the Focalboard Team

E2E Cypress Test Automation Hackfest

5月中、MattermostではCypressでE2Eのテストを記述するHackfestを開催しているようです。Top 3になったコントリビューターはSpecial Awardを受け取れるようです。

E2E Test Automation Hackfest 2021 🚀 · Issue #17555 · mattermost/mattermost-server
Join the 2021 Mattermost E2E Cypress Test Automation Hackfest!

おわりに

次のv5.36のリリースは 2021/06/16(Wed)を予定しています。


Mattermost 日本語(@mattermost_jp)さん | Twitter で Mattermost に関する日本語の情報を提供しています。

Discussion