ggKbase Upgrade: 6.1 to 7.0

Rails 7.0 has has transitioned the frontend development away from Webpack, a more tightly coupled packaging environment, to jsbundling, a more loosely connected packaging environment. On top of that, it introduces one of the native ActiveRecord methods that I have been longing for: bulk insert to the database. This would allow me to move away from the activerecord-import gem, though it has been performing very well so far.

Not to mention that end of life is coming for Rails 6.1 and Ruby 2.7, we have moved up from Rails 6.1 to 7.0, the latest Rails version. It also gave us the chance to upgrade Ruby from 2.7 to 3.2, which is the latest Ruby version. We want to eventually replace the Paperclip gem with Active Storage, but for this iteration, the kt-paperclip gem will do the trick for now.

Looking ahead, we have a few more major upgrade on the horizon:

  • Remove dependance on jQuery so that all JavaScript code is running on native JavaScript
  • Re-organize all JavaScript code with the React framework
  • Upgrade D3 code from version 3 to version 7, or whatever the latest version will be by then
  • Upgrade Elasticsearch

Much of the upgrade is modernize JavaScript (frontend code) so that it will make frontend development more organized, rapid, and stable.