Releases: o19s/quepid
v6.3.2
6.3.2 - 2020-12-08
Features
-
Round trip export and import LTR ranking files! #204 by @epugh fixes #162 by @DmitryKey.
-
Disable web signups by setting
SIGNUP_ENABLED=false
. #238 by @tonomonic.
Improvements
-
Easy in-place editing of case name and the try name to encourage using those features! Microinteration FTW! #242 by @epugh.
-
Demonstrate richness of queries in Quepid when you use the TMDB dataset. #236 by @epugh fixes #224.
-
Update Javascript references to
application/javascript
. Pay down some tech debt! #223 by @epugh -
Simplify handling doc id's that have periods or slashes in then, and avoid base64 issues by passing that in the JSON payload. #233 by @epugh fixes #228 and #221.
-
Some Solr collections need manual setup of the
wt=json
mimetype. Add better text message for users. #235 by @epugh fixes #178. -
The CSV export format has a CSV injection vulnerability that is now fixed. #245 by @nicholaskwan fixes #231.
-
The Javascript based scorers could be used maliciously, so we've added an environment variable COMMUNAL_SCORERS_ONLY that controls if only Admins can create communal scorers for use by users. #246 by @jacobgraves fixes #232.
-
Don't show the Sharing icon for communal scorers, since they are implicitly shared globally! #251 by @epugh fixes #247.
-
Allow the export and import cycle of ratings using both CSV and RRE formats to include queries with no rated documents. Don't create a partial rating on import where we only have a doc id but no rating. #252 by @epugh fixes #244 by @LiuCao0614
-
Make it easier for scrapers and automated test tools to log into Quepid by adding some id and class tags to the login forms. #257 by @epugh.
Bugs
-
Discovered that the migrations from communal scorers being
@5
to@10
didn't always run cleanly. Commits 94dd239, 8317b54, and 19b0464 to deal with this. -
Discovered that DELETE of ratings didn't work, and had to work around that. Commit 153047c.
-
Missing authorization check for Team Owner. #230 by @jacobgraves fixes #230 by @testerTester0123456789.
-
Can't rename a case on the Teams page. #240 by @epugh fixes #213
-
Fixed scoring of AP@10 and NDCG@10 when you have fewer then 10 results. #253 by @nathancday fixes #225 by @epugh.
v6.3.1.2
v6.3.1
6.3.1 - 2020-09-14
Features
Improvements
-
When we rolled out classic graded scorers (CG, DCT, NDCG) we used a 5 point scale, that allows you to pick a "no choice" middle option. However industry standard (for example RRE) is 4 point scale, so lets use 0,1,2,3 as our choices. New Best Practices document https://github.com/o19s/quepid/wiki/Judgement-Rating-Best-Practices by @binarymax is availble to help educate you. #206 by @epugh fixes #205.
-
Closely related to the scale change, all the classic scorers used a @5 depth of scoring, however the other industry standard in rating is to score ten deep documents, @10, so #209 by @epugh makes this change as well.
-
Encourage use of profile pics by adding help text in Profile page that they come from Gravatar.com. #202 by @epugh fixes #201.
-
Use the same header navigation bar in both the main application and the Admin screens. #203 by @epugh refactors this logic.
-
Added
bin/docker c
option to jump into the Rails Console during development, and cleaned up the other options. #200 by @epugh.
Bugs
v6.3.0
6.3.0 - 2020-09-01
Features
- We want to export unrated query/doc pairs, which is only supported via exporting a previously created Snapshot. Add support for exporting a Snapshot to the Basic format on the Export screen. #191 by @epugh fixes #185.
Improvements
-
When importing queries, you can have it clear all existing queries. This feature only worked for CSV
files, not other formats like RRE. #193 by @epugh solves this. -
You can now import queries using the Import Ratings screen. Most of this was already supported, however now the modal dialog has better instructions to the user, and nicer validation of CSV formatting. #192 by @epugh solves this.
-
When sharing Cases or Scorers, the lookup for what Teams you are part of created a really large JSON response (@epugh would get back a 1.4 MB payload!). We put this API response on a diet! #197 by @epugh solves this.
6.2.2
6.2.2 - 2020-07-09
Improvements
- When exporting for RRE, we need the ES or Solr index name. Extract this from the url for the most recent try and save a step! #167 by @epugh fixes #159.
- If you link to either a case that doesn't exist, or you don't have permission for, or a try that doesn't exist for a case, then provide messaging back in the UI! Let's share some Quepid Cases! 933ed25, 99ac27c, and 37b95b8 by @epugh to master branch fixes #158.
getCaseByNo
only used in tests. #173 by @epugh removes code.- There was a partially working attempt at a result grid view instead of list view. It wasn't rendering in the UI, and we want to have a more general solution in the future, so removing the code to simplify Quepid. #174 by @epugh fixes #171.
Bugs
- When using the case wizard, you couldn't cut'n'paste in a long list of fields like
overview_en, overview_idioms
as they became a single tag. #166 by @epugh fixes #165. - A
:
in the case name was converted to a - The implementation of autosaving your notes per query didn't work well. Going back to an explicit save button. #170 by @epugh fixes #164. Thanks @DmitryKey for the issue!
- Remove warning in server log on parameters. #182 by @epugh fixes #180.
- Community member spotted that doc id's with
blah-http-blah
triggered base64 encoding. Simplified handling docs with an id with a.
or/
in them. #179 by @worleydl and @epugh fixes #175.
6.2.1
6.2.1 - 2020-06-18
Thanks to some feedback from the community, we figured out that the SQL script for
migrating data from the DefaultScorer table to the Scorers table (and being tagged
as communal
) didn't run reliably. We've pulled it out as db/release_6_2_0_merge_default_scorer_into_scorer.sql
for folks to look at.
6.2.0
6.2.0 - 2020-06-11
This release of Quepid finally introduces the classical search geek scorers like NDCG, DCG, Average Precision, and friends by default. We've also fixed a large number of bugs introduced by changes in Firefox and Chrome browser security models that happened in the first part of 2020, as well as recent updates to Elasticsearch and Solr.
The burgeoning suite of open source tools for relevancy all require judgement lists. We revamped Quepid to handle exporting and importing from your favorite tools like Quaerite and RRE, as well as a Learning to Rank formatted export. You can see this in action in Chorus, an ecommerce search focused stack that includes Quepid.
Ease of development has long been an issue with Quepid. In this release we've worked on developer happiness by auditing all of the dependencies we include. We're removed quite a few Ruby gems and Node packages that weren't used, and upgraded the rest (replacing PhantomJS with Puppeteer for headless testing). yarn.lock
dropped from 6706 lines to 1525 and Gemfile.lock
from 448 to 330! This allowed us to finally move to ECMAScript 6 and Node version 10. Lastly we have cut the production Quepid Docker image from almost 3 GB down to 2.3 GB.
Upgrade Notes
Follow the steps outlined at https://github.com/o19s/quepid/wiki/Installation-Guide#updating-quepid.
You will need to run some database migrations to update the database and insert the new classical scorers (NDCG, AP, etc).
There is a sql migration script in ./db/release_6_2_0_merge_default_scorer_into_scorer.sql
that you might want to look if you have been using Quepid locally for a while. This script is primarily meant to support updating http://app.quepid.com database for the 6.2.0 schema.
QUEPID_DEFAULT_SCORER is a new environment variable specifying the name of the default scorer
for users when they create a new case. QUEPID_DEFAULT_SCORER=AP@5 is what app.quepid.com uses.
Features
- Quepid Default Scorer Admin screen is buried in UI. Add it to the dropdown menu. #96 by @epugh.
- Support Basic Auth in Quepid with Elasticsearch. #114 and o19s/splainer-search#79 by @CGamesPlay fixes #109.
- When installing Quepid, use
thor user:create
to create an administrator! #112 by @epugh fixes #107. - Enhanced export ratings function that follows the standard
query,docid,rating
supports full export/import lifecycle and easier integration with other tools. #128 by @epugh fixes #126. - Export ratings in RRE and LTR file formats. Import ratings from RRE Judgement JSON file. #137 and #139 and #152 by @epugh fixes #133
- Classical scorers like AP, DCG, and NDCG are now shipping by default. All new users who sign up on Quepid will start with AP@5. This effort is still in progress, for example right now the scorers are named AP@5, DCG@5, NDCG@5 because they are hard coded to only look at the first five ranks. We also need to work on the Q Score Graph's vertical axis handling. Huge effort in #100 by @nathancday and @epugh to get this done. This change also removes the individual query level scorer being assignable, which was a bad idea (#132) and restores the ability to write a custom unit test for a query in Javascript (#120) which is an interesting idea! Thanks to @janhoy for being the impetuous to get this work done!
Improvements
- Community member reported the default demo TMDB Elasticsearch server on port 9200 had no data. Having seem random "drive by vandalism" of our demo Solr and ES servers that run on default ports, we want to move away. Yes, security by obscurity. #103 by @epugh changes default used in Wizard to port 8985 and 9206. #125 and #104 migrate existing URLs to the new ones.
- Increase Developer Happiness by speeding up the
bin/setup_docker
script by caching RubyGems. 50% speed up! #105 by @nathancday. - Remove the concept of "communal" i.e shared with everyone scorers. This feature has been in Quepid for years, yet even @softwaredoug didn't remember it! #99 by @epugh fixes #98.
- In the beginning of Quepid, before there was a Search Relevancy community, there was just one, slightly janky scorer, that wasn't like any of the standard search geek scorers (looking at you NDCG) that we use today. We are building towards supporting many scorers, so it's time to remove the
DEFAULTS
definition of a scorer, and the related scope in ActiveRecord. #97 by @epugh. - Solr 8.2 tightened up the security profile for accessing it that we depend on via JSONP to have Quepid work. Now the wizard provides you the command to run on your Solr if it can't connect. #95 by @epugh fixes #92.
- Using the default
tmdb
dataset? Demonstrate thethumb:poster_path
feature. #94 by @epugh fixed #72. - Rename
user.username
in database touser.email
since that is what we use. Clean up API. #113 by @epugh fixes #111. You will need to run database migration for this release! - Audited code base to prune dependencies and remove unused code. #121, #119, #118, #116 all worked towards this goal.
- Turns out Quepid has a Curate interface. It isn't supported, so in the interest of reducing our codebase, removing it. Points the way for the future however! #123.
- Deal with sameSite cookie warnings from Firefox. #131 by @epugh fixes #130.
- curator variables (i.e knobs and dials) that aren't used in query cause weird UI. #135 by @epugh fixes #64.
- Saving two annotations in a row doesn't work, you need to rescore per annotation. Fixed in #136 by @epugh.
- Users can opt out of community marketing emails. Add a
/admin/users.csv
export to make keeping track of that easier. Thanks @flaxsearch for the suggestion. - Inconsistent use of X icon in modal popups is frustrating. #148 and #149 by @worleydl fixes #146 and #145.
- Swap the sorting of tries in the history tab to the newest first, going back in time. #151 by @epugh fixes #143 by @renekrie.
- Be clearer that MySQL is the only supported database platform. #156 by @epugh fixes #155 by @janhoy.
Bugs
- Wizard Autocomplete Didn't work well with Keyboard. Autocomplete suggestion had to be clicked with a Mouse. #94 by @epugh fixes this by upgrading package.
- Multivalued and nest JSON fields didn't display well, you would get
[object Object]
instead. Now we display arrays and Json properly. #117 by @CGamesPlay fixes #52. - fixed highlighting throwing an error on Solr date fields by using
hl.method=unified
in Splainer-Search v2.5.9. #84 created by @janhoy. - fixed fields with a
.
likefoo.bar
failing to be rendered in UI in Splainer-Search v2.5.9. #106 created by @rjurney. - When a try number is not specified for a case, automatically redirect to the most recent try. #122 by @epugh fixes #110 by @binarymax.
- Case shared via Team with me has NaN for the Try. #134 by @epugh fixes #83.
- Not able to export cases from a Team page. Commit quepid@021bda8627463986f1ff04ffb1c290195c428c5b by @epugh fixed this.
- Race condition in laying out the main Quepid Screen and the Tune Relevance screen. #147 by @worleydl fixes #144 by @epugh.
- Using the "peek" function to page to deeper search results would lose your
escapeQueries
choice. o19s/splainer-search#87 by @jorgelbg fies this. Bump to splainer search 2.6.0 to include the fix.
6.1.1
- Community member reported race condition in standing up Rails and MySQL and issues with PhantomJS install in the developer
docker-compose.yml
andDockerfile.dev
setups. #75 by @epugh fixes #76 and #73. - Add .dockerignore file to prevent unrelated changes from breaking Docker layer cache fixes by @TheSench #80
- Fix issue where you couldn't clone a case without including the full history. #89 by @worleydl fixes #37 Thanks @janhoy for submitting this bug.
- Fixed display of notes for query disappearing after collapse and then expand of query window. #88 by @dworley fixes #87
- NDCG@10 doesn't include documents that are rated via Explain Other, it only looks at the documents returned by the search engine. We want to be able to have NDCG look globally at all rated documents. #90 by @nathancday and @worleydl fixes #78. Note: We currently have the NDCG@10 scorer in app.quepid.com, however it hasn't been backported to the Docker image or the dev setup in Quepid. See #91.
6.1.0
6.1.0 - 02/01/2020
This release changes the database schema, so you will need to run docker-compose run --rm app bin/rake db:migrate
if you have an existing Quepid.
- Cloning cases now carries any magic variables and their values along to the new case #55 by @epugh fixes #37
- Only treat field content that begins with "http" as a link. #35 by @pfries fixes #34
- Update Elasticsearch logo. #38 by @moshebla
- Remove sqlite from gem, no longer used. #41 by @epugh fixes #40
- Better look and UI experience for the dev panel. #39 by @moshebla
- Show or don't show the T&C's link based on the Quepid configuration. #42 by @epugh fixes #44 by @flaxsearch.
- Add Query button activates in response to query text entered. #43 by @moshebla
- Prevent duplicate queries when using bulk query importer. #49 by @epugh fixes #48
- Production oriented Docker Compose setup for Quepid is ready! Install guide at https://github.com/o19s/quepid/wiki/Installation-Guide. #36 by @epugh was based on original work in #33 by @synhershko. Thanks!
- Update the sample TMDB dataset for Elasticsearch to support
thumb:poster_path
in the field listing. #53 by @epugh - Collapse query results well from bottom (in addition to the top) #28 by @epugh fixes #20 by @peterdm. Thanks @ychaker for reviewing PR.
- Explain Other on ES 6 and 7 Broken. o19s/splainer-search#74 by @worleydl fixes #25.
- Support for embeds of audio/image/video via
media:
. #62 by @worleydl fixes #56 by @flaxsearch - Autocomplete in Case Setup Wizard properly handles
media:
andthumb:
prefixes. Nice refactoring for more prefixes. #46 by @moshebla with refactor by @worleydl. - Post the onboarding wizard you would often see your queries being stalled in loading. Only workaround was to reload the Javascript app. #69 by @worleydl fixes #66
- app.quepid.com needs to get explicit consent from users to receive emails related to Quepid and related features. Introducing a new
customize_quepid.rb
file in initializers to start supporting more customizations of Quepid. #68 by @worleydl. - Only show cookie acceptance popup if COOKIES_URL is set. #71 by @epugh fixes #70 by @epugh.
6.0.2
- Pluralize text (ie 0 Results, 1 Result, and 200 Results) on Query Detail Paine. #26 by @epugh
- Enable Google Analytics tracking only if enabled via QUEPID_GA environment variable. #31 based on #30 by @CGamesPlay
- Convert http links in documents in search results into clickable links. #27 by @epugh fixes #26
- Update to splainer-search 2.5.2 to handle change in how totals hits are returned from ES 7. https://github.com/o19s/splainer-search/tree/bugfix-69-es7-total-hits-SECOND-TRY by @epugh fixes #19
- Deprecate www.quepid.com/support in favor of linking to wiki. #18 by @epugh fixes #17
- More informative error message when you delete a custom scorer and the scorer is shared with a team or used by a case. #22 by @epugh fixes #21.
- On teams listing page, allow a Scorer to be unshared (i.e removed) from a team, which allows the custom scorer to then be deleted. #24 by @epugh.