Skip to content

Releases: PavlidisLab/rdp

v1.5.0

24 Sep 17:36
Compare
Choose a tag to compare

The Pavlidis Lab team is proud to announce the completion of approximately four months of development on this new RDP release, the software that powers registries part of the RDMM Network. Please read carefully RDP 1.4 to 1.5 Migration Documentation before performing this update.

This new release brings a system for managing custom profile-associated terms and performing ontology inference for searching researchers.

This might take a while to explain in a few words, so brace yourself!

Overview

  • ontology-based system for providing custom profile categories
    • import any ontology from OBO Foundry or any OBO-formatted ontology
    • import Reactome Pathways
    • manage simple categories of at most 20 terms with a simple editor
    • manage complex ontologies by activating/deactivating specific subtrees
    • terms are included when searching by research interests
    • powerful autocompletion interface for finding relevant terms
      • topological sorting of terms to recommend the broadest possible terms first
      • full-text matching on definitions, synonyms, names, etc.
    • resolvers for linking terms to Ontobee or OLS
  • revamped administrative features
    • view and manage users more easily
      • users are now paginated
      • roles can be granted or revoked
      • date & time of account verification is displayed if known
  • improved search user interface
    • sticky search bar so that you never have to scroll back up to click on the "Search" button
    • summarize the query that is performed
    • display which ontologies and terms are available in partner registries
  • improved profile and model organism pages
    • sticky title bar with the "Save" button
  • keep track of when users registered and last modified their profiles
  • faster startup (< 7 secs)
  • dependencies update
    • Spring Boot 2.6
    • Hibernate 5
  • static assets are now bundled with Webpack 5
  • better accessibility
    • "Skip to man content" (try it by pressing TAB)
    • improved semantic HTML 5 with ARIA roles
    • only feedback requiring immediate attention have the ARIA "alert" or "alertdialog" role
    • improved mobile experience
  • tons of bugfixes and small QoL improvements
    • time for querying all partner registries cannot exceed the read timeout #305
    • thorough configuration validation at startup

Highlights

Search Interface

The search user interface has been substantially improved to accommodate ontology-based filters. In particular, the important search elements such as the "Search" button or the "Gene Symbol" and "Taxon" sticks on the top of the viewport so that it is always visible.

Search filters alternate between a white and light grey background. This helps convey which terms are grouped together.

image

The search also understands which tab to display based on the query, but also a fragment. Try adding #by-gene-search or #by-researcher-search to the URL. In addition, it is now possible to configure which search tab appear and in which order.

Profile Categories

This is by far the most considerable change of this release. By adding the ability to add and manage custom profile categories, we empower registry administrators with the mean to adapt RDP to their needs.

We support two kinds of categories: simple and ontology-based. For simple categories, one may include icons and grouping terms.

Administrators can import OBO-formatted ontologies from a file or by providing a remote source URL, or rely on our simple category editor to manage small ontologies.

image

Reactome

Reactome does not provide OBO format for their pathways, so we implemented a service for importing and keeping them up-to-date.

image

Webpack 5

This is a significant change that brings many benefits to the frontend development of RDP. Using Webpack 5, we can now post-process and bundle our sources to support a broader range of Web browsers. It also means that we do not rely on CDN anymore to deliver Bootstrap and jQuery.

This new set of tools will help us get rid of jQuery as a dependency and migrate a future version of RDP to Bootstrap 5.

v1.4.11

11 Jul 19:35
Compare
Choose a tag to compare

This release backports a couple of fixes from the development branch and address an issue with updting organ information from Uberon.

Changeset

  • sticky banner for staged deployment
  • use of a more specific Hibernate dialect
  • add return types to the RESTful API
  • fix incorrect fragment inclusion in the search page
  • fix token association and deletion with a mappedBy annotation
  • validate the database in the test environment
  • fix empty attachment in emails #157 and better deal with error feedback
  • fix incorrect site shortname in API description #154
  • treat missing gene info file as a warning instead of a hard error
  • remove Maven Flyway plugin #168
  • use email, phone and URL input types in our forms for better mobile experience
  • fix Uberon ID column size
  • fix resolution of ontology from purl.obolibrary.org that change protocol (http:// -> https://) #187

v1.4.10

16 Mar 20:00
Compare
Choose a tag to compare

This is a small patch release that fixes users with multiple MOs appearing multiple time in search results.

v1.4.9

20 Feb 20:19
Compare
Choose a tag to compare

This release fixes a few bugs introduced in v1.4.7 and v1.4.8. If you are still running v1.4.6, we highly recommend that you skip directly to this release.

Changeset

  • fix /api/users and /api/genes endpoints caused by a JPA syntax error in the method name
  • fix genes from non-verified users ending-up in the search and causing an AccessDeniedException when attempting to run the post-authorization logic following anonymization
  • produce useful error message instead of empty response bodies from the API (400 and 404 errors)
  • fix taxon ordering in the ortholog search view
  • display taxon common name in ortholog view
  • fix the not-applying post-authorization logic when listing the available first characters for searching users, which could result in empty results for certain letters
  • allow users to see null results, which allows us to produce 404 results in the API for unassigned user IDs
  • sort results from multiple partners as a bulk
  • use local taxa ordering for sorting partner results when such taxa are commonly shared
  • sort researchers by their last name + first name
  • handle null-timeout case when retrieving results from partner APIs
  • hide anonymized gene results from remote search, since we don't handle them (see #150)

v1.4.8

14 Feb 20:01
Compare
Choose a tag to compare

This release address two bugs introduced in the 1.4.7 and introduces a few minor improvements.

Changeset

  • fix unverified users causing an AccessDeniedException when being anonymized #143
  • fix taxon ordering from partner data
  • use taxon order from the database to sort partner results
  • sort results from partner
  • add error handling for search views and unhandled API routes
  • update embedded Tomcat to 8.5.75
  • update spring-core to 4.3.30
  • improve filtering by organ systems using OrganInfo instead of UserOrgan

As mentioned in the 1.4.7 release notes, we now suggest adding spring.datasource-driver-class-name=com.mysql.cj.jdbc.Driver to your configuration to resolve the MySQL JDBC driver warning in the admin documentation.

v1.4.7

27 Jan 18:15
Compare
Choose a tag to compare

This patch release brings long coming fixes from before the holidays.

HALT! We're working on two major issues (see #141), so if you haven't migrated yet, wait until the 1.4.8 is out.

Changeset

  • use SHA1PRNG as a PRNG number (fix /dev/random blocking on some deployment, cherry-picked from v1.4.5-sha1prng-secure-random)
  • reorder sections in the user profile
  • sort consistently by model organism in various locations
  • sort search results by MO and genes, etc.
  • update mysql-connector-java to 8.0.28 to fix UTF-8 character encoding (fix #121)
  • update embedded Tomcat to 8.5.73
  • fix deletion of users with multiple tokens (fix #130)
  • filter out unverified accounts from search results
  • add new noauth and auth parameter to configure partner registries API access

Improved user experience for the profile

The user profile has been slightly improved. In particular, a new "Genes" section have been added to help out users figure out how to add genes to their profile. With the update of the MySQL connector, researchers can now use a broader range of characters to describe their research, which might include Greek letters or Emojis.

A broader range of characters can be used for the research description by fully supporting Unicode UTF-8.

In addition, we've also added a link to the public profile to review how the profile appears to other users:

We added a new link to view the public profile.

Taking inspiration from our partner Model Matcher, we merged the research focus and genes/terms tabs into a single card.

Research focus and genes/terms tabs are merged into a single card.

Updated MySQL connector

The MySQL connector has been updated to 8.0.28 which provide a better support for Unicode character encoding. In particular, errors are raised if collations and character sets mismatch or unsupported characters are inserted in the database.

Unless you need something more specific, you should always use utf8mb4 with its default collate.

To prevent a warning in your logs, add the following line in application.properties:

spring.datasource-driver-class-name=com.mysql.cj.jdbc.Driver

The documentation will be updated accordingly in the upcoming patch 1.4.8 release.

Out of network partners

RDMM network is expanding in unexpected manners, and we needed a more flexible way of adding new partners. The new auth and noauth can be used to specify a custom search token or prevent leakage of the global search token, respectively.

rpd.settings.isearch.apis=https://new-partner-without-auth.example.com?noauth
rdp.settings.isearch.apis=https://new-partner-api-with-custom-auth-key.example.com?auth=custom-auth-key

In the next minor release, search-token and noauth will be eliminated in favour of a single authtoken specified in the partner API URL.

v1.4.5 with a non-blocking PRNG

26 Oct 18:50
Compare
Choose a tag to compare
Pre-release

Use this only if you absolutely need it.

v1.4.6

05 Oct 23:02
Compare
Choose a tag to compare

This release has a few fixes that provide better user feedback during registration and while updating the user profile.

Fix deletion of user in the administrative section. Its associated tokens were somehow set to NULL by Hibernate before being deleted.

Hide research focus in the user profile if nothing has been entered.

v1.4.5

21 Sep 20:47
Compare
Choose a tag to compare

This release resolves an issue with slow SMTP servers causing a proxy timeout by sending emails asynchronously.

Cleanup usage of @Transactional annotations in the service layer and reorganize email logic in the services instead of controllers. This way, we ensure that the email is sent whenever the transaction that involve creating a token — or whichever relevant entity — is committed.

v1.4.4

21 Sep 20:37
v1.4.4
Compare
Choose a tag to compare

Use the build version for the OpenAPI specification so that it is always up-to-date.

Fix calculation of human gene coverage, the orthologs were commented out, and the SQL query has been added.

Fix field length in the profile to use the value previously set in profile.css. The CSS code it contains as well as other files have been merged in common.css. A flexbox is used for the email, since it needs to also account for the verify button.