Category: Updates

  • Multi Series Books

    Since the beginning of Booko, books could belong to a Series. This makes finding the next book in a series a snap. However, reality doesn’t conform to this model and there exists books which belong to multiple series. This little fly in the ointment has been resolved now – Books can now belong to multiple…

  • Colaborative Lists

    *This post first appeared on the Booko Blog We’ve recently added some features to Lists on Booko to make them more easily shared with friends and colleagues or anyone on the internet. Discoverability Lists now have an option to be discoverable to other Booko users. Marking a list as discoverable will add the list to the Discover…

  • Sort your Alerts

    This post was created on the Booko blog.

  • New Authentication setup

    Inspired by this repository and it’s associated blog post, I’ve refreshed the way Booko handles login / logout and sessions. The User model which was used quite heavily in Booko’s login stretches right back to 2009. There have been updates along the way, but it was nice to give it a solid going over. Each…

  • Booko Upgrade to Rails 7 and Ruby 3.1.1

    This was by far, the most complex Rails update for Booko. With Rails 6, I had migrated to webpack but with Rails 7 I was determined to go with the simpler ImportMaps method and it took some time to migrate. While I was busy in Javascript land, I took the opportunity to remove as much…

  • Booko V3, the refresh

    Booko’s last big visual refresh was way back in 2014-ish. Some of the code used to generate that look has been slowly approaching end of life, and nothing motivates me like the impending doom of actual end of life. CSS and Javascript have come a long way in the years since that refresh and one…

  • Setting Thin up behind Nginx & with Lets Encrypt certificates

    Part of Booko’s infrastructure includes a Sinatra application served by Thin. This application takes CSV / XML / JSONL files containing product pricing data, loads it into PostgreSQL and presents it via an API. Thin is perfectly capable of being internet facing, but I have a preference for reverse proxying it behind Nginx. There are…

  • Update: Webpacker v5, -= Coffeescript

    Today I’ve updated webpacker to v5 and have started to remove Coffeescript. To remove Coffeescript, remove it from your Gemfile, then find app -iname ‘*.coffee’ and convert each file back into Javascript. You can plonk the coffeescript into the Try CoffeeScript web app. Once you’ve done and are moving the changes to production, it’s important…

  • Updated Rails to 6.1 and StimulusJS 2.0 🎉

  • Updated Rails to 6.0.3.4 and Ruby to 2.7.2 🎉