Skip to content
Kosuke Tanabe edited this page Jul 21, 2018 · 115 revisions

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

Version 1.2

2016年11月リリースを予定。

  • 機能追加:
    • 書影取得元を追加、設定追加
    • 表記ゆれ検索に対応
  • 依存ライブラリの変更(下記参照)
  • 動作環境の変更:古いRuby 1.9以下およびRuby on Rails 3以下の環境への対応をやめる
  • 詳細: https://github.com/next-l/enju_leaf/milestones/1.2.0

Version 1.3

2018年内のリリースを予定。

  • Rails 5.1、Solr 6への対応

Version 2.0

リリースを予定。

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

依存ライブラリの変更

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

Version 1.1

https://github.com/next-l/enju_leaf/milestones/1.1.0

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