Crowi v1.4.0

Sotaro KARASAWA
Crowi Book
Published in
8 min readApr 27, 2016

--

v1.3.1 から3ヶ月以上たってしまいましたが & ちょっと中身変わりすぎでしょ、といろいろありましたが、検索実装の入った v1.5 の前に一旦ここをで大きめのリリースを打っておこうと思ったため、v1.4.0 をリリースしました。

今回のテーマ写真は宮島と松

リストビューが変更されました

まず、改善点の1つとして、無粋なデザインだったリストページを改善し、一覧性と一発で目に入る情報のわかりやすさを優先したスタイルにしました。

一覧ビュー
  • 最終変更者のアイコンや、コメント数の表示など
  • ページ名を太字で表示
  • フォントサイズ等の変更

Crowi は、ページの一覧性をかなり重要視して作っています。そのため、ぱっと見た時にいかにその階層の情報が頭に入ってくるか、が結構重要な要素になります。ページ名 (殆どの場合、そのページの最下層の階層名) を太字にすることで、これをぐっと向上させました。また、なにげに、日付で終わるようなページは、その日付の手前までを太字にしてあげています。

コメント機能がつきました

ページにコメントをつけたい、ということは要望としてよく挙げられていたので、コレを実装しました。ただし、コメント内での Markdown 記法などのリッチな機能をつけていません (とはいえ、URLがリンクにならないのはさすがにどうかと思うのでこれは修正予定)

  • コメントは、日報やメモ等へのヒトコトの “反応” に使ってもらいたい
  • ページの内容について長々と Markdown フォーマットを使いたくなるようなコメントを書きたくなったら、その時は “ページそのものを編集するべき時だ “ と考えてもらいたい (だって Wiki だし)

という考えのもと、こうしています。

また、これによりこれまでサイドバーに History がタブ内に移動しました。ちなみにこのコメントは、ページのバージョン (Revision) に対して行われています。ページの過去のバージョンのページに付いたコメントは薄く表示され、そのバージョンを表示しているときには濃く表示される、といった具合です。(また、それより新しい/古いバージョンについたコメントは区切られて表示されます)

ユーザーページ/Bookmarkページ/作成したページ一覧

ユーザーページ
  • ユーザー作成時に、ユーザーページは自動作成されるようになった
  • ユーザーページは、ユーザーページっぽく表示される
  • ブックマークや、最近作成したページ一覧も表示される

という感じで、自分のページが充実した感じになりました。

特に、ブックマークについては、いままで、なんとなく “ブックマークできる” 機能だけをつけていてそれを見ることができなかったのですが (なんだそりゃw) ついに作りました。また、ついに、外せるようにもなりましたw

ポータル

ポータルは、リストページ (スラッシュ “/” で終わるページ) にコンテンツを追加できる機能です。

ポータルを使えば、例えば、プロジェクトのトップ階層など、大きな意味を持つ階層に、そのプロジェクトの重要な情報等へのリンクをまとめて表示しておくことができます。

もともと結構欲しかった機能なのですが、ちょっと概念が難しいという点が難点で、今後どういうふうに扱っていこうか悩みどころです …

Historyのdiff

@suzuki さんより頂いた Pull Request です。ありがとうございます!

History Diff

UI 的には洗練させる余地はあるとは思いますので、今後改善していく予定です。

Slack通知機能

Slack App として Local の Crowi を登録し、ページ作成時、更新時などに Slack に通知を送る機能を実装しました。

作成時の通知

作成時と更新時は通知の内容が異なっていて、更新時は diff の中から、追加された内容のみ通知されるようになります。

編集時の通知

管理画面より Slack 設定がされていると、ページ編集時に Slack 通知先の指定画面が現れるので、任意のチャンネルを指定してチェックを入れれば送信されます。

  • デフォルトはチェックオフの状態
  • 一度通知したチャンネルは記憶する
通知をするには、チェックを入れる

また、管理画面から、パターンを登録しておくと、デフォルトで通知先のチャンネルを埋めておくことが出来ます。(この場合も、チェックを入れないと通知はされない)

ワイルドカード (*) を使って通知先パターンを決められる

これは、特定プロジェクトページを特定の通知先とマッピングする、といった、用途別にチャンネルが切られているケースを想定しています。

画像ファイルアップロード機能にS3以外の選択肢としてローカル保存できるようになりました

S3 の設定をしていれば使えるようになる画像アップロード・貼り付け機能ですが、S3 にしたくない、という要望もある中で特に自分の優先度が高くなかったため放置していたら、 Keisuke SATO に実装いただきました。ありがとうございます。

FILE_UPLOAD=local

の環境変数を指定して起動すれば、このオプションを有効にできます。

途中から S3 に切り替えたり、その逆だったりした場合のファイルのリマッピング・再アップロードはされません。

編集機能強化でペースト時のハンドリング

これも実は地味に便利系の機能です。こちらも suzuki さんから Pull Request いただき、取り込みました。神。

これは、”>” や “-” などを入力し、そこのペーストを行うと、自動で以後の行も自動で先頭に “>” や “-” をつけてくれるという機能です。

Pull Request に貼られた Animation をみると、どういうものかわかると思います。

その他の改善/改修

suzutan さん、yuya-takeyama さん、takahashim さんより Pull Request いただき、修正しました。ありがとうございました。

Qiita でBakudankunさんに紹介していただきました

これで一気にいろいろな方に知って頂く機会になりました。

本当にありがとうございます。

PHPBLT で発表してきました

こちらはPHPの勉強会で Sotaro が発表した内容です。5分 LT でしたので大した内容ではありませんが、エッセンスは詰め込みました (つもり)

さて。

そんなわけでド長いリリースノートとなってしまいましたが、これからもちまちまやってまいりますので、引き続きよろしくお願いします。

--

--

Sotaro KARASAWA
Crowi Book

Mercari, Inc. / Crocos, nequal, Ethna, PHP, Git, Python, C++, パーフェクトPHP, Red Bull, Cycling, Motor Sports, Perfume