Genesys Backend issueshttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues2020-12-08T13:14:54+01:00https://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/560Hazelcast ClassLoader2020-12-08T13:14:54+01:00Matija ObrezaHazelcast ClassLoaderAmal reported an error when uploading accession refs to a dataset:
`com.hazelcast.nio.serialization.HazelcastSerializationException: java.lang.ClassNotFoundException: org.hibernate.cache.spi.support.AbstractReadWriteAccess$Item`
![imag...Amal reported an error when uploading accession refs to a dataset:
`com.hazelcast.nio.serialization.HazelcastSerializationException: java.lang.ClassNotFoundException: org.hibernate.cache.spi.support.AbstractReadWriteAccess$Item`
![image](/uploads/135aa640d89b7a80b5b88280b8c054d1/image.png)
I can see the class in question in `hibernate-core-5.4.14.Final.jar`.
Internet says this is related to classloader configuration.
We also have
```
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.springframework.util.ReflectionUtils (file:/Users/mobreza/.m2/repository/org/springframework/spring-core/5.2.4.RELEASE/spring-core-5.2.4.RELEASE.jar) to constructor java.util.Calendar()
WARNING: Please consider reporting this to the maintainers of org.springframework.util.ReflectionUtils
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
```2.5Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/559ApiInfo: subset and dataset counts2020-12-07T15:31:32+01:00Matija ObrezaApiInfo: subset and dataset countsapi-info call should return the number of `current` and **PUBLISHED** datasets and subsets.
It now returns the count of all published records (including non-current).api-info call should return the number of `current` and **PUBLISHED** datasets and subsets.
It now returns the count of all published records (including non-current).2.5Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/558ES: searching aliases2020-12-01T13:09:54+01:00Matija ObrezaES: searching aliaseshttps://www.genesys-pgr.org/10.18730/HTSH8 has **Nacional salvadoreƱo** (as `accessionName`) but it doesn't show up in full-text search: https://www.genesys-pgr.org/a/v2AVXO4xaPK
Maybe grin-global/grin-global-server!121 helps?https://www.genesys-pgr.org/10.18730/HTSH8 has **Nacional salvadoreƱo** (as `accessionName`) but it doesn't show up in full-text search: https://www.genesys-pgr.org/a/v2AVXO4xaPK
Maybe grin-global/grin-global-server!121 helps?2.5Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/553Embedded Genesys and Recaptcha2020-11-30T10:08:35+01:00Matija ObrezaEmbedded Genesys and RecaptchaWebsites that use embedded Genesys are not under our control, we will require them to use Recaptcha for user registration or submitting requests for material.
This means that Genesys needs to know the public/private Recaptcha keys used ...Websites that use embedded Genesys are not under our control, we will require them to use Recaptcha for user registration or submitting requests for material.
This means that Genesys needs to know the public/private Recaptcha keys used by the OAuth Client for that website.
Please upgrade the `OAuthClient` to hold these two properties.
That means that the endpoints will need to use the `OAuthClient#recaptchaKey` when checking the recaptcha response.2.5Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/555Improve request confirmation response2020-11-30T08:48:37+01:00Matija ObrezaImprove request confirmation responseUsers often receive "validation failed" when they try to validate their requests for material. When I check the database, the request is usually already validated.
Please update the logic so that if the request is already validated, the...Users often receive "validation failed" when they try to validate their requests for material. When I check the database, the request is usually already validated.
Please update the logic so that if the request is already validated, the system reports "Already validated" instead of "Validation failed".
Apply the same approach to account registration validation and subrequest confirmation (anywhere else?).2.5Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/557ApiInfo: add frontendUrl2020-11-26T14:11:01+01:00Matija ObrezaApiInfo: add frontendUrlPlease add `publicWebsiteUrl` property to `ApiInfo` populated from `frontend.url` prop.
```properties
frontend.url=https://www.genesys-pgr.org
```
This will allow us to link from Embedded genesys to actual Genesys website.Please add `publicWebsiteUrl` property to `ApiInfo` populated from `frontend.url` prop.
```properties
frontend.url=https://www.genesys-pgr.org
```
This will allow us to link from Embedded genesys to actual Genesys website.2.5Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/554Upgrade to Java 112020-11-24T14:23:28+01:00Matija ObrezaUpgrade to Java 11Upgrade from 1.8 to Java 11. I think the key reason for sticking with 1.8 was the Apache POI library.Upgrade from 1.8 to Java 11. I think the key reason for sticking with 1.8 was the Apache POI library.2.5Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/22QueryDSL2020-11-20T10:03:22+01:00Matija ObrezaQueryDSLGenesys filtering currently uses the `DirectMysqlQuery` to generate SQL from `AppliedFilters` (JSON filters).
Bring in QueryDSL and generate the query from `AppliedFilters`.Genesys filtering currently uses the `DirectMysqlQuery` to generate SQL from `AppliedFilters` (JSON filters).
Bring in QueryDSL and generate the query from `AppliedFilters`.Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/403Hibernate 52020-11-20T10:01:27+01:00Matija ObrezaHibernate 5The project works with Hibernate 4. Update to Hibernate 5.
- genesys-pgr/application-blocks#31
- genesys-pgr/file-repository#28The project works with Hibernate 4. Update to Hibernate 5.
- genesys-pgr/application-blocks#31
- genesys-pgr/file-repository#282.5Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/511ES6 for Genesys2020-11-20T10:01:24+01:00Matija ObrezaES6 for GenesysIn grin-global/grin-global-server!13 we implemented support for ES6. Let's see how that works on Genesys!In grin-global/grin-global-server!13 we implemented support for ES6. Let's see how that works on Genesys!2.5Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/315Update core filters2020-11-19T06:45:40+01:00Matija ObrezaUpdate core filtersDeprecate `between` operation in NumberFilter and DateFilter.
```java
/**
* @deprecated Use {@link #ge} and {@link #le}
*/
public T[] between;
```
## Update `eq` in NumberFilter
Upgrade `public T eq` to `public Set<T> eq`.Deprecate `between` operation in NumberFilter and DateFilter.
```java
/**
* @deprecated Use {@link #ge} and {@link #le}
*/
public T[] between;
```
## Update `eq` in NumberFilter
Upgrade `public T eq` to `public Set<T> eq`.2.5Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/528Diversity trees2020-11-19T06:43:46+01:00Matija ObrezaDiversity treesWe're looking for closer integration of accession records in Genesys and diversity trees.
From the UI perspective, we need a Dashboard page similar to subsets: title, description, crop + list of accessions; that will allow @pgiovannini ...We're looking for closer integration of accession records in Genesys and diversity trees.
From the UI perspective, we need a Dashboard page similar to subsets: title, description, crop + list of accessions; that will allow @pgiovannini to manage the relationship of accessions with individual trees.
## The data model
- genesys-pgr/genesys-server#529
- #532
- #533
- #534
## The Dashboard UI
genesys-pgr/genesys-ui#722
## Other changes
- Update the accession page to list the "trees" in which this accession is listed.
- Add filtering by `diversityTree` to Accession browse page.2.5Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/552Client origin check2020-11-18T14:01:18+01:00Matija ObrezaClient origin checkThe `OAuthClientOriginCheckFilter` now checks that the HTTP request *Origin* header matches the one allowed for the client.
It currently does a check if `allowedOrigins.isEmpty()`.
Please add the `else` part that will check that there ...The `OAuthClientOriginCheckFilter` now checks that the HTTP request *Origin* header matches the one allowed for the client.
It currently does a check if `allowedOrigins.isEmpty()`.
Please add the `else` part that will check that there is no Origin header. That means that this client may not be used from browsers.2.5Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/551DivTree: Clear accession list2020-10-30T09:22:50+01:00Matija ObrezaDivTree: Clear accession listTriggering "Clear list" to remove accession references fails with an API error.
Please make sure that "clear list" does not cascade delete `AccessionId`.Triggering "Clear list" to remove accession references fails with an API error.
Please make sure that "clear list" does not cascade delete `AccessionId`.2.5Anastasiia KarasAnastasiia Karashttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/550Images: Slow response from server2020-10-02T19:16:19+02:00Matija ObrezaImages: Slow response from serverhttps://www.genesys-pgr.org/a/images/v2X7j8pXRy7 has 100 accessions with 10-15 images each.
The server takes a lot of time to respond, please investigate.https://www.genesys-pgr.org/a/images/v2X7j8pXRy7 has 100 accessions with 10-15 images each.
The server takes a lot of time to respond, please investigate.2.5Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/548Deleting accessions2020-09-29T10:11:26+02:00Matija ObrezaDeleting accessionsI'm trying to bulk remove `Accession` records using `accessionRepository.deleteInBatch()` and I'm seeing these delete statements in mysql:
> delete from dataset_accessions where (accessionId) in (select id from accession where id=203658...I'm trying to bulk remove `Accession` records using `accessionRepository.deleteInBatch()` and I'm seeing these delete statements in mysql:
> delete from dataset_accessions where (accessionId) in (select id from accession where id=203658 or id=204020 or id=204021 or id=204040 or id=204082 or id=204218 or id=204219 or id=204466 or id=204467 or id=204469 or id=204471 or id=204472 or id=204473 or id=204474 or id=204683 or id=204825 or id=204867 or id=204892 or id=204965 or id=205334 or id=205339 or id=205345 or id=205346 or id=205347 or id=205348 or id=205349 or id=205350 or id=205351 or id=205353 or id=205454 or id=205455 or id=205466 or id=205470 or id=205486 or id=205495 or id=205496 or id=205498 or id=205528 or id=205600 or id=205601 or id=205607 or id=205635 or id=205642 or id=205648 or id=205660 or id=205743 or id=205895 or id=206069 or id=206161 or id=206171 or id=206258 or id=206266 or id=206325 or id=206349 or id=206889 or id=206965 or id=206967 or id=207492 or id=207584 or id=207758 or id=207861 or id=207863 or id=207865 or id=207873 or id=207874 or id=207875 or id=207876 or id=207878 or id=207882 or id=207883 or id=207884 or id=207986 or id=207987 or id=208066 or id=208067 or id=208088 or id=208177 or id=208197 or id=208234 or id=208235 or id=208359 or id=208362 or id=208363 or id=208388 or id=208408 or id=208416 or id=208417 or id=208486 or id=208647 or id=208734 or id=208822 or id=208845 or id=208856 or id=208872 or id=208904 or id=208912 or id=208913 or id=208923 or id=208924 or id=208925 or id=209013 or id=209015 or id=209025 or id=209146 or id=209176 or id=209178 or id=209186 or id=209317 or id=209331 or id=209379 or id=209456 or id=209457 or id=209458 or id=209459 or id=209469 or id=209470 or id=209471 or id=209564 or id=209669 or id=209670 or id=209692 or id=209807 or id=209808 or id=209809 or id=209884 or id=209885 or id=209886 or id=209891 or id=209892 or id=209938 or id=209978 or id=209979 or id=210051 or id=210052 or id=210053 or id=210054 or id=210125 or id=210151 or id=210273 or id=210285 or id=210286 or id=210287 or id=210290 or id=210332 or id=210515 or id=210527 or id=210681 or id=210685 or id=210749 or id=210753 or id=210758 or id=210807
> ...)
`Accession` doesn't declare any **cascade** on `private List<Dataset> datasets`. Why would this be executed?
Calling `accessionRepository.deleteAll(list)` does not show this behavior.
I guess I need to avoid `*InBatch()`.2.5Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/549TaxonomyFilter: filtering by GRIN Taxon ID2020-09-22T09:29:44+02:00Matija ObrezaTaxonomyFilter: filtering by GRIN Taxon IDPlease update `TaxonomyFilter` to allow for two new filter options:
```
public Set<Long> grinTaxon;
public Set<Long> grinCurrent;
```
These should allow to search for accessions that have the specified "matched GRIN taxonomy" or "cur...Please update `TaxonomyFilter` to allow for two new filter options:
```
public Set<Long> grinTaxon;
public Set<Long> grinCurrent;
```
These should allow to search for accessions that have the specified "matched GRIN taxonomy" or "current GRIN taxonomy".
A UI update is also required: user should be able to click the "number" next to the GRIN Taxon and filter only those records:
![image](/uploads/b88b1041d5e83fcc366620166c7dee72/image.png)2.5Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/547Diversity tree creator roles2020-09-08T08:18:55+02:00Oleksii SavranDiversity tree creator rolesPlease, add `CONTRIBUTOR` role for diversity tree creator.Please, add `CONTRIBUTOR` role for diversity tree creator.Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/546ElasticTrigger and ElasticLoader2020-09-04T13:18:16+02:00Matija ObrezaElasticTrigger and ElasticLoaderIn GG-CE we added the `ElasticTrigger` for reindexing related records and `ElasticLoader` to "lazy load" additional data.
Bring these two interfaces and changes in ES service and listener to Genesys.
For demonstration purposes: add `El...In GG-CE we added the `ElasticTrigger` for reindexing related records and `ElasticLoader` to "lazy load" additional data.
Bring these two interfaces and changes in ES service and listener to Genesys.
For demonstration purposes: add `ElasticTrigger` to `Taxonomy2` and schedule reindexing of `accessions` with that taxonomy.2.5Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/539Uploading AccessionRefs as csv file2020-09-02T08:39:16+02:00Matija ObrezaUploading AccessionRefs as csv fileIn genesys-pgr/genesys-server!565 we added support to upload a CSV file with `accessionRef` for Diversity Trees to the server to avoid parsing the file in the browser. This is very useful for long lists of refs.
Please add the same func...In genesys-pgr/genesys-server!565 we added support to upload a CSV file with `accessionRef` for Diversity Trees to the server to avoid parsing the file in the browser. This is very useful for long lists of refs.
Please add the same functionality for Datasets and Subsets.2.5Maxym BorodenkoMaxym Borodenko