v6.5.0
6.5.0 - 2021-04-22
I can sum up this release of Quepid as either the Hey friend, come join me in improving search release or the so much technical debt has been paid down release.
For those of you upgrading your Docker based install, there are two new ENV variables you need to add to your docker-compose.yml
file:
- RAILS_LOG_TO_STDOUT=true
- RAILS_SERVE_STATIC_FILES=true
Hey friend, come join me in improving search
We have added features that make it easier for you to invite your colleagues to come join your team and start rating documents. We
have reworked the initial case creation wizard to be smarter about popping up only the first time you decide to create your own case, instead of having it jump into the user flow when you join an existing team with existing cases. This should make it easier to bring folks interested only in rating docs into Quepid. As part of this, we've also added support for deleting individual Cases and User accounts. So if you invite someone, and change your mind, you can clean up after yourself.
so much technical debt has been paid down
We are finally off Rails 4.2 and are now on the latest Rails 5 release, and we have a shiny new favicon to go with it! We've updated all of our frontend dependencies to the latest versions possible, congruent with the core app still being based on Angular1. The lift from Rails 4 to Rails 5 was a massive effort, and a huge round of thanks goes out to everyone who reported bugs. We've shrunk our list of dependencies by 10% over the v6.4.1 release, and 29% compared to v6.0.1 release, and we're set up now to look at new front end technologies!
We also did some housecleaning by ripping out some features that hadn't seen adoption by users, including "soft delete" of queries and the "unit test" style of custom scorers.
Features
-
Invite your friends to join your team on Quepid! You can now send an email with an invite code to join Quepid and your specific team. #259 by @epugh. #305 by @epugh introduced better support for tracking of if someone had gone through the create case wizard or not, extending this feature.
-
Add support for sending emails via SMTP, or use Postmark, or don't send emails. #276 by @gabauer fixes #275.
-
Let a user (or an Administrator) delete their account from Quepid, handling their cases, scorers, and team memberships. #315 by @epugh fixes #311.
-
You can now Delete a case altogether! Historically we had an Archive function, so that you could restore an old case. However, if you are like me, you create lots and lots of throwaway cases, so this allows you to clean up your Quepid setup. This PR also fixed some data modeling issues, and the problem of sometimes have a Try of zero, instead of the default first try of One! We also always include the Try number even if you have named the Try, since that is a big deal. #288 by @epugh fixes #250. Thanks @DmitryKey for help QA'ing this code.
Improvements
-
We now have a favicon for Quepid! #317 by @DmitryKey.
-
Upgrade to Rails 5 and Ruby 2.7.2! We have been stuck on Rails 4.2 for years, and this unlocks a lot of new capabilities. #256 by @epugh with inspiration from @worleydl.
-
Renamed "Export Case" and "Import Ratings" to just "Export" and "Import". #270 by @abhishekChoudhary93 fixes #195.
-
Pay down some tech debt by removing our use of Coffee Script in Quepid. #283 by @epugh.
-
Build time on CircleCI dropped from ~135 seconds down to ~105 seconds by removing
sass
gem in favour ofsassc
. #285 by @epugh. -
We have simplified our queries that involve cases and users that are part of teams by making the simplifying assumption that all owners of teams are also members, which turns out to be true in practice. We also have audited our use of
.includes
to load child objects (avoiding the N+1 problem), and used more.preload
to try and deal with running out of temp space in our database. #286 by @epugh. -
Turns out we had a ERD diagram all along, but it was hidden. Now you can see it on our Data Mapping page, plus we have how to recreate it documented and integrated. #287 by @epugh.
-
Remove obscure
quepidIf.js
file that doesn't seem to do anything. #293 by @worleydl. -
The Export All Cases feature only supported the old "Detail" format, and none of the other export formats, like LTR, Basic, or RRE. Plus the filtering options of "All, Owned, Shared" was pretty simplistic. It wasn't being used, and it added some complexity and performance issues to List All Cases page. So we removed it. #295 by @epugh fixes #294.
-
Unit Test style custom scorers let you run a unit test that asserted specific things about specific docs at specific ranks in your search results. This logic however was always convoluted, and only 15 people since 2019 have used it, and I suspect by accident ;-) We want better ways of handling this type of function, so removing this to pay down some tech debt, simplify the database architecture, and open the door to new approach. #296 by @epugh fixes #290. #313 also dealt with this.
-
We have removed the Soft Delete for Queries to simplify how Quepid works. If you delete a query in Quepid it is now fully deleted from the database! This is a nice bit of paying down tech debt. Huge thanks to @DmitryKey for testing this PR. #299 by @epugh fixes #298 by @DmitryKey.
-
The
/case
url is one we frequently end up with, and it generates a 404. Thanks @DmitryKey for suggesting we have it route to the case listing page/cases
instead. #304 by @epugh. -
The logic around when we popped open the "Create a Case" wizard for a brand new user was somewhat split between the backend
home_controller.rb
and the front end. It also made anyone who was invited to a team just for rating purposes go through the Create a Case Wizard on their first login, which was awkward. So, converted the concept of a "first_login" for the wizard to just a boolean "completed_case_wizard", and now it it checked if you have NO cases, and popped up, or if you click "Add a Case". #305 by @epugh fixes #281. -
Upgraded to the latest version of Angular 1, 1.8.2, and many of the other front end dependencies. #308 and #324 by @epugh and #320 by @worleydl deals with this.
-
You can now override the from email address from the default
[email protected]
to your own email address. #322 by @slawmac. Thanks @slawmac for this improvement!
Bugs
-
You can export a rating that has no actual rating value chosen! #266 by @epugh fixes #265.
-
Fixing typo in defining aria-hidden html tag. #269 by @abhishekChoudhary93 fixes #268.
-
Rails 5 Upgrade Hangover: fixed strong parameters validation issues, fixed wonky left outer joins on cases showing duplicate cases (and killed performance), eliminated the
user_case_finder.rb
class in favour of simpler scopes. #292 by @epugh w/ assist from @worleydl. #314 by @worleydl is related. #321 by @janhoy fixed by #323 by @epugh. -
Thanks to @DmitryKey for spotting that we were not tracking scorers for cases (bug introduced when we added the Show Only Ratings feature). #303 by @epugh and @worleydl fixes both #306 AND #289. A twofer!
-
Thanks to @DmitryKey for spotting that we were not properly storing the Elasticsearch choice. #310 by @epugh fixes #309.
-
There is a known issue where expanding/collapsing queries on a larger case, the UI can become completely locked in Chrome, forcing the user to close out the tab. Thanks to some next level debugging by @LiuCao0614 we have a workaround that disables the JQuery based drag and drop sorting feature that appears to avoid this bug. This is not a fix! This is a workaround! Set
QUERY_LIST_SORTABLE=false
in your environment to disable the sorting of queries feature. #272 tracks this ongoing issue.
6.4.1 - 2021-01-14
In the 6.4.0 release, the correct splainer-search NPM package was missed in the production Docker image.
This release resolves that oversight. Thanks @LiuCao0614 for testing the upgrade process and reporting the issue.
Improvements
-
Small housekeeping update for the hosted app version running on Heroku. #267 by @dworley.
-
Clean up last scoring run details on the Cases Listing page. Now better iconography to call out cases that have queries that need rating. #261 by @epugh fixes #219.