Releases: PavlidisLab/rdp
v1.5.0
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
- view and manage users more easily
- 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.
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.
Reactome
Reactome does not provide OBO format for their pathways, so we implemented a service for importing and keeping them up-to-date.
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
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
v1.4.9
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
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 ofUserOrgan
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
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
andauth
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.
In addition, we've also added a link to the public profile to review how the profile appears to other users:
Taking inspiration from our partner Model Matcher, we merged the research focus and genes/terms tabs 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 auth
token specified in the partner API URL.
v1.4.5 with a non-blocking PRNG
Use this only if you absolutely need it.
v1.4.6
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
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
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.