Crowi についてここ最近考えていること

Sotaro KARASAWA
Crowi Book
Published in
3 min readApr 7, 2019

個人的なメモみたいなものなんですが、使ってくださっている方には方向性わかると良いと思うので書いておきます。

(というか、本来的にはこのあたりコア機能開発チームで共有されていてそれが公開されていれば済む話なので、それができていないということそのものが問題なのだけど)

体制面

  • コア機能開発者も増えてきたので、定期的なミーティングの機会、それらの議事録の公開等、オープンな活動の仕方を模索していきたい
  • コミュニティの強化 (GitHub での Issue, PR Template とか、コミュニケーションツールとか、meetup とか …)
  • ドキュメントの整備
  • リリースノートちゃんと書く (v1.7 全然書いてない)

コア機能の開発

まだまだ足りてないな〜と思うところについては引き続き開発していく。

  • 通知 (v1.8 に入る)
  • 編集系機能 (入力補助、絵文字、同時編集)
  • コメント機能の拡張 (行コメント等)
  • トップページの改善
  • ユーザーページの改善
  • 検索機能拡充 (author や時期で絞り込み、並び替え等)
  • テンプレートっぽいもの (ページだけでなく、階層の構成、とか)
  • コンテンツの国際化
  • モバイルアプリ
  • 管理系の機能

サブ的な機能の開発

本体のシンプルさを維持しつつも、使いがってを拡張できるような拡張を考えていく。

  • Google 系ツール、Slack、GitHub 等よく併用されるツールとの連携強化
  • 記事の作成やシェアをサポートする bot
  • レポートやサマリー系 (人気の記事、とか)
  • などなどなどなど (他にもたくさん考えてたことあった気がする…)

環境面

  • 全体のスリム化 (依存ライブラリ多すぎとか、JSファイルサイズでかいとか)
  • TypeScript への置き換えを進める
  • 完全な SPA 化を進めるために React 化と API 化を進める
  • そのためにはちょっとここまで API を雑に作りすぎているので、きちんと REST 化 or GraphQL 化する (検討中)
  • マイグレーションについてサポートしていく (#401)
  • MongoDB については引き続き悩んでおく。

サポートしていきたい

  • インハウスで運用されるユースケースとしては、サードパーティのサービスを組込みやすくしておきたい。(New Relic、Sentry 等の運用系ツールや、SendGrid 等の機能拡張系)
  • そのためには全部入り Crowi じゃなくて(重くなっちゃうんで)、Plugin 方式でその手のサポートができるように (とはいえそれ結構運用構成が変わるからちょっとつらいんです)

直近のリリース目標

  • v1.7.7 をリリースするために master に merge されたものの QA を進める。v1.7.7 ではログイン周りで機能追加があるので、そのパターンを網羅的にQAするのが結構たいへん。
  • その後は v1.7 系はフリーズし、v1.8 を master にもってくる。
  • v1.8 では、Node.js v10、React 16 等ライブラリ面の大きなアップデートと、全体が Bootstrap v4 化されたり、Backlink 機能 (リンクされてるページがわかる)、通知機能等、諸々のアップデートが入る。

その他

  • つか英語で書こう …
  • やっていき💪

--

--

Sotaro KARASAWA
Crowi Book

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