Sublime TextのConfluenceプラグインを試してみた

私はSublime Text愛好者です。特にお気に入りはEvernoteプラグインで、ローカルでノートを編集してはクラウドにアップロードするのが日常業務となっています。このプラグインのためだけにSublime Textを利用しているといっても過言ではありません。

さて、社内ではConfluenceを利用していることもあり、何とかSublime Text上で編集できないかどうか思案してところ、Confluenceプラグインなるものを見つけました。どのくらい使えるかどうか、早速試してみました。

ちなみに検証バージョンは1.0.5で、評価は専らEvernoteプラグインとの比較するという形で行っています。

メリット

Sublime Text上で作業できる

最大のメリットはSublime Text上で作成及び編集ができる、ただそれだけに尽きます。実際のところ、Evernoteプラグインの方が使い勝手が良すぎで、色々と足らないところばかり出てきました。

削除ができる

機能的な優位性としては削除できることが挙げられます(Evernoteプラグインは削除機能ありません)。ただ、Sublime Textで頻繁に行うのはページの作成と編集ぐらいなものなので、この機能について個人的な需要はそこまでありません。

デメリット

処理状況が分からない

これは致命的な問題です。ステータスバーに処理状況が表示されないので、処理中なのか完了なのか把握できません。更に問題なのが、作成時には後述するようにメタデータを記述する必要があるのですが、記述内容に誤りがあったとしてもアラートが表示されません。この場合、コンソールで確認しない限り結果を把握する手段はなく、その仕様を知らないユーザから不良品としてのレッテルを貼られてしまいます。

f:id:mmorita44:20170623165315p:plain

コンソールを確認して、初めてエラーに気づく

作成時にはMarkdown Syntaxを設定しなければいけない

作成時にはタブをMarkdown Syntaxで設定しないとエラーとなります。Markdownテキストを扱うからという理屈は分かるのですが、敢えてタブをMarkdown Syntaxで設定する必要はないかと思います。なぜなら、Markdown Syntaxを設定してもMarkdown規則に準拠しない記述も有り得るからです。

ちなみに、EvernoteプラグインではどんなSyntaxでも作成できます。とても親切ですね。

f:id:mmorita44:20170623165512p:plain

Markdown Syntaxでなければエラーアラート、シンセツダナー(棒

作成時にはメタデータを設定しなければいけない

ページ作成時には以下のようなメタデータ必ず記述しなければいけません。記述しなければエラーとなりますが、上述のようにアラートが表示されないため、何故か動作しないと困惑する羽目になります。

<!--
Space: Engineering
Ancestor Title: Home
Title: Post markup to Confluence
-->

また、記述したとしても記述内容に不備がある(例えば記載されたスペースが存在しない)場合はエラーとなります。

ちなみに、Evernoteプラグインではタイトルを入力するフォームとノートブックの選択欄を順に表示してくれます。とても親切ですね。

検索時にスペース名を指定しなければいけない

これは製品仕様かと思いきや、Confluenceの機能の一つであるConfluence Query Language (略してCQL)はスペース名無しでの問合せにも対応します。なので、現状プラグインではそこまで柔軟に検索できない仕様のようです。

ちなみに、Evernoteプラグインではタイトル名のみで検索してくれます。賛否分かれるところですが、私は直近で変更したページを頻繁に編集するため、この仕様は有り難いです。

タイトル名不指定での検索ができない

先ほど出したCQLはタイトル名不指定で直近更新したページを出力してくれるので、現状プラグインではそこまで柔軟に検索できない仕様のようです。

ちなみに、Evernoteプラグインではタイトル名不指定で検索すれば直近更新したページを一覧表示してくれます。とても親切ですね。

取得時はHTMLで出力される

Markdownで作成しても取得時はHTMLで出力されます。これは製品仕様なので仕方がありませんが、それならhtml2textの様なHTMLからMarkdownへの変換器を搭載しても良かったのではないかと思います。どうせMarkdownpython-markdown2を利用してHTMLに変換しているのですから。

f:id:mmorita44:20170623165332p:plain

取得はHTML出力のみ

最後に

ここまで不満ばかりでしたが、エンジニアたるもの文句だけで終えず、改善に努めていきたいです。このプラグインに対しては個人的な需要もありますので、できればフォークして手を加えていきたいと思います。