Crowi v1.5.0

Sotaro KARASAWA
Sep 6, 2016 · 7 min read

リリースしました。(5月くらいに出す出すと言っていて、結局色々あり、長らくおまたせしてすみません😭)

というわけで、リリースノートとして、また新しく入った機能を紹介しようと思います。

全文検索

全文検索ができるようになりました。Elasticsearch が必要です。

検索機能は、以下3つの機能が含まれます。

  • ヘッダで簡易検索
  • そこから Enter したページ (/_search) で詳細検索
  • 階層以下検索
これはヘッダの簡易検索

検索は、ページ本文とタイトル (Path) から行われます。ページタイトル (Path) には若干重みがかかっているため、正しいページ名をつけてあげると検索にはひっかかりやすく + 上位にくるようになります。

詳細検索結果ページ

詳細の検索結果ページは、一覧性を重視して作られました。検索結果が展開される + サイドバーが追従してくるため、ざっと内容を眺めながら目的のページを探すことができると思います。

詳細

階層以下検索

すべての / で終わるページ (リスト) で、階層以下検索ができるようになります。見え方は詳細検索と同じです。Crowi は基本的に / で区切った階層で情報を整理していくモデルのため、特定階層以下の情報を探すときに結構便利かと思います。

Elasticsearchインストール後の設定

Elasticsearch は 2.x 系 + kuromoji をインストールしてください。起動時に

ELASTICSEARCH_URI=http://127.0.0.1:9200/crowi

と環境変数で渡してあげることで、管理画面に入れるようになります。はじめて利用するときに Build Now ボタンを押してインデックスを作成してください。以後はページの作成/更新ごとにインデックスサれるはずです。

管理画面

なお heroku をお使いの方は bonsai を利用すれば簡単に試すことができます。

ページ削除機能

ご要望の多かった … というか当たり前のように存在していて良いはずの機能を実装しました。

ようやく実装された「削除」

ページ削除周りは、容易に戻せないといけないというところが面d … 工夫が必要だったため、まあええやろ、と思って実装していなかったのですが、さすがに利用者も多くなり削除したいケースが多くなり、、ということで実装しました。削除されたページは /trash/ という特別な階層に移動され、編集ができなくなります。(編集をするには、一度元に戻さなければいけません。) また、”完全に削除” する機能はありません。

なお、これに伴い Portal 化の解除を行う事ができるようになり、Portal も、Portal 解除→削除という手順を踏めば、削除することが可能になります。

Portal 解除

Emoji

:sushi: → 🍣

なお、補完はありません (ドSか)

そのうち補完します。とりあえずこの辺の拡張機能でも使っていてください。

引用記法に tsv, tsv-h, template 記法を追加

とりあえず試していただければと。

tsv-h

これは、Excel や Google Spreadsheet などで、セルをまるごとコピーするとタブ区切り形式になるため、それをまるっと貼り付けるだけで表になったら便利だよね、ということでこんな感じにしています。

template記法

template は、所定のフォーマットで、所定の場所にページを作らせたい場合に便利かと思います。

↓こういう風に書くと、

記法は “template:pathのフォーマット”

↓こういう風に展開されます。

展開される様子

ボタンを押すと、作成画面に進みます。

使えるメタ文字は {user} {date} {year} {month} です。

(実は今回、Markdown Renderer 周辺に手を入れていて、結構簡単にカスタム Language を追加できるようになったので、それで TSV や Template 周りは追加してみたのです。今後も色々追加してく予定なので乞うご期待ください。)

ページ作成ダイアログの変更

メモだけ特別に、URL直打ちでななくダイアログからページ作成が可能だったのですが、この “メモ” 部分を “日報” にしたり、 “XXレポート” にしたりしたいという希望があったため、メモ部分の編集を容易にできるような雰囲気にしてみました。

それと、まあ今いる階層以下に新規作成するのも、URL 直打ちよりも楽なようにはなったかもしれません。

なんか見た目がイマイチなので、ちょっと変えたいですね。。

Google で新規作成時のハンドリングを修正

Google アカウントで新規作成時、画像や名前なども Google に登録された情報から補完できるようになりました。

プロフィール画像を Google に設定していて、かつ、画像アップロードが可能な状態で運用されている場合に限ります。

Facebook Login 機能を削除

Facebook Login 機能、結構使わないし、使ってる人もあまり知らないので、削除しちゃいました (テヘ

もし使っている方がいましたら、1.5.0にバージョンを上げる前に全員パスワードを設定するように促してください。そうしないとログインできなくなります。

その他のアップデート

  • #head1 などのアンカー付きでジャンプした際のスクロール位置の微調整とハイライトされるようになりました
  • 見た人のアイコンを変更しました (目が個人的にキモかったため … 良いのがなかった … 結局あしあと風に 🐾 )
  • ページ一覧で、見た人といいねがそこそこあるページは、目立つようになりました。(色が変わります)
  • セキュリティ対策の一貫として、CSRF 対策が実装されました。
  • 編集画面でプレビューのスクロールが同期されるようになりました。

今後の予定

  • 個人的な用途で、 i18n 周りが実装急いでる
  • コメントやいいねの通知周り
  • 編集補完系
  • トップページやポータルの改善

あたりが目下結構重要度が高い感じになっています。

引き続き、快適な情報共有のできるツールを目ざして色々開発していきますので、よろしくお願いします。

あ、Tシャツつくりました

ロゴかっこ良いので、買ってください 笑

Crowi Book

The Essences of Crowi Project

Sotaro KARASAWA

Written by

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

Crowi Book

The Essences of Crowi Project