Skip to content
Kosuke Tanabe edited this page Apr 30, 2019 · 115 revisions

今後のロードマップです。

Version 2.0

  • Rails 6.0対応
  • ユーザ向けUIの変更(Bootstrap化)
  • 検索エンジンの変更(ElasticSearch化)

依存ライブラリの変更

用途 1.1(1.1ブランチ) 1.2(1.2ブランチ) 1.3(1.3ブランチ) 2.0(masterブランチ)
Ruby 1.9.32.0以降(2016年4月以降 ※参考 #850 2.1以降 2.3以降 2.4以降?
Rails 3.2/4.1/4.2 4.2 5.1/5.2 6.0?
ユーザ向けUI enju_flower enju_biblioに統合 ndl-labsearch-client(NDLラボサーチ)? 参考1
データベース SQLite3/MySQL/PostgreSQL PostgreSQL >= 9.6
検索 sunspot 2.2.0 / Solr 4.x sunspot ~> 2.2.7 / Solr 5.x sunspot ~> 2.3.0 / Solr 6.6 elasticsearch-rails
認証管理 devise devise devise omniauth-identity? 参考1 参考2
認可管理 cancancan pundit
非同期処理 resqueのみ ActiveJobで対応するライブラリ
ファイルアップロード paperclip paperclip ActiveStorage
多言語表示 globalize globalize json_translate
Bootstrap化 ×
モバイル画面振り分け mobylette browser + Rails本体で対応 (Action Pack Variants)
パラメータ受け取り protected_attributes -> strong_parameters に移行(1.1.0.rc17) Rails本体で対応 (strong_parameters)
設定ファイル管理 settingslogic -> dotenv-rails に移行 dotenv-rails
フォームの動的追加 nested_form cocoon
受入時の著者名自動補完 × jQuery UI (Autocomplete) typeahead
  • 一部のモジュールを別アプリケーション Mountable Engineとして切り出し
  • enju_bookmark
  • enju_question
  • Heroku Buttonによる一発起動

2016-07-30 のEnju WS で議論して決めた Enjuが対応するDBMSの方針

現状:

  • PostgreSQL 9.0以上 (推奨 / recommended) / MySQL 5.5以上 / SQLite 3.3以上
  • Next-L が配布している仮想マシンでは、SQLite を使ってきた(今も使ってる)

今後の方針

  • Enju Leaf 2.0 からは、PostgreSQL をメインでサポートする
  • MySQLはサポートはするが、テストは積極的に作成しない
    • 一部オプション的な機能は動かないもしくは、制限されたものになる。
    • そのような機能の場合は、ドキュメントにその旨を書くことによって、MySQLを使いたい人に配慮はする。
    • ※ 今のところは日英切り替え、レコードIDでのUUIDの使用
    • ※ MySQL で動かないとの報告があった場合、調査し対応する可能性はある
  • SQLite は対応しない。ただし、2.0への移行措置のみ、移行スクリプトの提供する。

方針決定の理由

DBMSを3つもサポートするのは、アップデート用のスクリプトの作成や、 ユーザへのバグ報告への対応や、セキュリティ対策などのサポートなど、 コストがかかるため、DBMSを基本は1つのみを対応することによって コスト減をはかりたいという目的のため。

Clone this wiki locally