Genesys Backend issueshttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues2020-12-17T16:29:35+01:00https://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/561SID autocomplete and display2020-12-17T16:29:35+01:00Matija ObrezaSID autocomplete and displayI hit an issue when using the *Permission Editor* in Genesys UI where a `Partner` and `OAuthClient` use the same "name".
Please also implement this change in grin-global-server.
## Autocomplete
The SID autocomplete method in `Permissi...I hit an issue when using the *Permission Editor* in Genesys UI where a `Partner` and `OAuthClient` use the same "name".
Please also implement this change in grin-global-server.
## Autocomplete
The SID autocomplete method in `PermissionController` (v1, v2?) uses `Map<String, Long>` to return "names" mapped to their `AclSid#id` field. This means that if two entries use the same "name" (`client.getTitle()`, `role.name()`, `partner.getShortName()`, ...) the only the last one will be included in the `Map`.
It would be better if the map returned was `Map<Long, String>`, mapping `AclSid#id` to a "name" since `id` is guaranteed to be unique.
A new UI ticket needs to be created to respect this change.
## Display
This is a potential information leak.
The method to list permissions at */permissions/{aclObjectIdentityId}* uses `@JsonView(JsonViews.Minimal.class)`, but `OAuthClient` does not declare `JsonViews.Protected` or `.Internal` for many of its fields and getters.
Please add `@JsonView(JsonViews.Protected.class)` to `registeredRedirectUri`, `authorizedGrantTypes`, `authorities`, `allowedOrigins`, `autoApproveScopes` and `publicRecaptchaKey`.2.5Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/562FTP Service not functional2020-12-18T11:38:52+01:00Matija ObrezaFTP Service not functionalUsers are reporting problems accessing the Genesys FTP service:
![image](/uploads/e3c37da09859489f877c2e72fd777676/image.png)
```
13:55:01 Status: Logged in
13:55:01 Trace: Measured latency of 86 ms
13:55:01 Status: ...Users are reporting problems accessing the Genesys FTP service:
![image](/uploads/e3c37da09859489f877c2e72fd777676/image.png)
```
13:55:01 Status: Logged in
13:55:01 Trace: Measured latency of 86 ms
13:55:01 Status: Retrieving directory listing...
13:55:01 Command: PWD
13:55:01 Response: 257 "/" is current directory.
13:55:01 Command: TYPE I
13:55:01 Response: 200 Command TYPE okay.
13:55:01 Command: PASV
13:55:01 Response: 227 Entering Passive Mode (52,58,138,164,178,66)
13:55:01 Trace: Binding data connection source IP to control connection source IP 192.168.14.23
13:55:01 Trace: Trying to resume existing TLS session.
13:55:01 Command: MLSD
13:55:01 Response: 150 File status okay; about to open data connection.
13:55:01 Trace: TLS Handshake successful
13:55:01 Trace: TLS Session resumed
13:55:01 Trace: Protocol: TLS1.3, Key exchange: unknown, Cipher: AES-256-GCM, MAC: AEAD
13:55:01 Error: Received TLS alert from the server: User canceled (90)
13:55:01 Error: Could not read from transfer socket: ECONNABORTED - Connection aborted
13:55:01 Response: 226 Closing data connection.
13:55:01 Error: Failed to retrieve directory listing
13:56:01 Status: Connection closed by server
```
The same happens when trying to connect to local Genesys:
```
# Enable FTP on port 8021
repository.ftp.port=8021
```
```
57:57 Command: PASV
13:57:57 Response: 227 Entering Passive Mode (127,0,0,1,9,7)
13:57:57 Trace: Binding data connection source IP to control connection source IP 127.0.0.1
13:57:57 Trace: Trying to resume existing TLS session.
13:57:57 Command: MLSD
13:57:57 Response: 150 File status okay; about to open data connection.
13:57:57 Trace: TLS Handshake successful
13:57:57 Trace: TLS Session resumed
13:57:57 Trace: Protocol: TLS1.3, Key exchange: unknown, Cipher: AES-256-GCM, MAC: AEAD
13:57:57 Error: Received TLS alert from the server: User canceled (90)
13:57:57 Error: Could not read from transfer socket: ECONNABORTED - Connection aborted
13:57:57 Response: 226 Closing data connection.
13:57:57 Error: Failed to retrieve directory listing
```2.5Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/564taxonomy.grinCurrentName for isNull2021-01-21T09:40:51+01:00Matija Obrezataxonomy.grinCurrentName for isNullWhile exploring *Medicago sativa* Overviews I came across:
> `Internal Server Error Error accessing field taxonomy.grinCurrentName for isNull() in class org.genesys2.server.model.genesys.QAccession`
1. https://www.genesys-pgr.org/a/ove...While exploring *Medicago sativa* Overviews I came across:
> `Internal Server Error Error accessing field taxonomy.grinCurrentName for isNull() in class org.genesys2.server.model.genesys.QAccession`
1. https://www.genesys-pgr.org/a/overview/v20ROxZzprX
1. Click on "Not specified" in **Matched GRIN taxon** or **Current GRIN taxon**2.5Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/567Descriptor terms2021-01-28T13:11:23+01:00Matija ObrezaDescriptor termsI noticed that we somehow allow duplicate codes for one Descriptor:
![image](/uploads/92ac128c1547e1d9697f20dadc56da9f/image.png)
https://www.genesys-pgr.org/descriptors/d678ec0b-ea09-45b8-be90-682901b3656d
Duplicate codes **for one D...I noticed that we somehow allow duplicate codes for one Descriptor:
![image](/uploads/92ac128c1547e1d9697f20dadc56da9f/image.png)
https://www.genesys-pgr.org/descriptors/d678ec0b-ea09-45b8-be90-682901b3656d
Duplicate codes **for one Descriptor** must not be allowed.2.5Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/568MCPD Excel export2021-01-29T10:54:32+01:00Matija ObrezaMCPD Excel exportOrganize columns sensibly!
Add dataproviderid.Organize columns sensibly!
Add dataproviderid.2.5Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/569CMS content with attachments2021-02-03T16:25:43+01:00Matija ObrezaCMS content with attachments`Article`s and `ActivityPost`s now support HTML content and we can insert images by uploading directly to Repository.
I would like to be able to copy-paste an image or file directly in the Editor and it should be uploaded to `/content/(...`Article`s and `ActivityPost`s now support HTML content and we can insert images by uploading directly to Repository.
I would like to be able to copy-paste an image or file directly in the Editor and it should be uploaded to `/content/(articles|news)/{article.id}/` folder (image gallery supported).
If the article/post is removed, this folder and its contents can also be removed.2.5Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/572Find similar accessions2021-02-05T13:57:02+01:00Matija ObrezaFind similar accessionsImplement a new component with a method that returns a list of accessions "similar" to the input `Accession`:
```java
public List<Hit<Accession>> findSimilar(final Accession input)
```Implement a new component with a method that returns a list of accessions "similar" to the input `Accession`:
```java
public List<Hit<Accession>> findSimilar(final Accession input)
```2.5Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/571Taxonomy2 taxonNameHtml2021-02-05T19:26:14+01:00Matija ObrezaTaxonomy2 taxonNameHtmlWhen displaying scientific names we use *{ genus } {species}* (`<i>Gossypium herbaceum</i> L.`).
If `species` is `'sp.'` or `'spp.'` it must not use `<i>`.
The UI component uses `Taxonomy2.taxonNameHtml`. Please update so that `taxonNa...When displaying scientific names we use *{ genus } {species}* (`<i>Gossypium herbaceum</i> L.`).
If `species` is `'sp.'` or `'spp.'` it must not use `<i>`.
The UI component uses `Taxonomy2.taxonNameHtml`. Please update so that `taxonNameHtml` will properly format these cases.
Need an Admin tool that will recalculate `taxonNameHtml`.
Sourced from genesys-pgr/genesys-ui#7882.5Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/506OpenAPI v32021-02-10T20:28:56+01:00Matija ObrezaOpenAPI v3Migrate from swagger to springdoc OpenAPI. The code from https://gitlab.croptrust.org/grin-global/grin-global-server/merge_requests/2/diffs?commit_id=b2332b48fa49eaee32af38e606f404e21594b7fa can be recycled.Migrate from swagger to springdoc OpenAPI. The code from https://gitlab.croptrust.org/grin-global/grin-global-server/merge_requests/2/diffs?commit_id=b2332b48fa49eaee32af38e606f404e21594b7fa can be recycled.2.5Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/573Spring 5.3.3 and CORS Headers2021-02-10T20:28:56+01:00Matija ObrezaSpring 5.3.3 and CORS HeadersWith Spring v5.3.3 in the API calls from UI stop working -- the CORS request fails. I figure our OAuthClient needs updating.
Reverting to 5.2.4.RELEASE does not have the same issue:
```xml
- <spring.framework.version>5.3.3</spring.fra...With Spring v5.3.3 in the API calls from UI stop working -- the CORS request fails. I figure our OAuthClient needs updating.
Reverting to 5.2.4.RELEASE does not have the same issue:
```xml
- <spring.framework.version>5.3.3</spring.framework.version>
+ <spring.framework.version>5.2.4.RELEASE</spring.framework.version>
```2.5Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/570CMS content with publishDate2021-02-12T12:10:47+01:00Matija ObrezaCMS content with publishDateExtend `ActivityPost` and `Article` with new `Date publishDate` and `Date expirationDate`.
The `publishDate` controls the date and time when a CMS item starts to be publicly visible. If `publishDate == null`, the contents is not yet rea...Extend `ActivityPost` and `Article` with new `Date publishDate` and `Date expirationDate`.
The `publishDate` controls the date and time when a CMS item starts to be publicly visible. If `publishDate == null`, the contents is not yet ready for publication and must not show up in `list()` or `get()` calls. Content managers can still access them in the Dashboard.
The `expirationDate` controls the date and time when a **published** CMS item is no longer publicly accessible. If `expirationDate == null` the item has no expiration date. If `expirationDate < now()` the item must not be included in `list()` or `get()` calls.
The `publishDate` should be serialized in `JsonViews.Public`. `expirationDate` is only serialized with `JsonViews.Protected`.
## liquibase
`publishDate` for existing items should be set to `createdDate`. `expirationDate` must stay `null`.2.5Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/110Crop summary: beans2021-02-15T09:45:54+01:00Nora Castaneda-AlvarezCrop summary: beansPlease use these accessions: https://www.genesys-pgr.org/explore/overview?filter=%7B%22taxonomy.genus%22%3A%5B%22Phaseolus%22%5D%7D for the Beans overview (https://www.genesys-pgr.org/c/beans)
The overview only lists 60.000 accessions, ...Please use these accessions: https://www.genesys-pgr.org/explore/overview?filter=%7B%22taxonomy.genus%22%3A%5B%22Phaseolus%22%5D%7D for the Beans overview (https://www.genesys-pgr.org/c/beans)
The overview only lists 60.000 accessions, whereas the complete list includes 117.000 accessionsMatija ObrezaMatija Obrezahttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/86Migrate to FreeMarker2021-02-15T09:47:39+01:00Matija ObrezaMigrate to FreeMarkerAs of Spring 4.3, the `VelocityEngineFactoryBean` is deprecated in favor of FreeMarker:
```
[INFO] src/main/java/org/genesys2/spring/config/SpringMailConfig.java: Some input files use or override a deprecated API.
[INFO] src/main/java/o...As of Spring 4.3, the `VelocityEngineFactoryBean` is deprecated in favor of FreeMarker:
```
[INFO] src/main/java/org/genesys2/spring/config/SpringMailConfig.java: Some input files use or override a deprecated API.
[INFO] src/main/java/org/genesys2/spring/config/SpringMailConfig.java: Recompile with -Xlint:deprecation for details.
```
All templates that are now passed through Velocity must be converted to FreeMarker format (email templates mostly).
Add a unit test that will load both the old and the new templating engine and test that templates using FreeMarker generate same output (for same parameters) as Velocity.
Estimate?Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/1Layout update 20162021-02-15T09:48:35+01:00Matija ObrezaLayout update 2016Implement the new UI layouts as designed by Kolektiv.Implement the new UI layouts as designed by Kolektiv.Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/3GRIN-Global Taxonomy in Genesys2021-02-15T09:49:10+01:00Matija ObrezaGRIN-Global Taxonomy in GenesysLink existing Taxonomy2 entities with their "official" counterparts in GRIN Taxonomy.
When the link exists, we can check whether the scientific name is still current and if not, we should display the current name. Filtering on "detected...Link existing Taxonomy2 entities with their "official" counterparts in GRIN Taxonomy.
When the link exists, we can check whether the scientific name is still current and if not, we should display the current name. Filtering on "detected" GRIN taxonomy should be added to browser and search.Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/5Validate SGSV data import2021-02-15T09:49:27+01:00Matija ObrezaValidate SGSV data importThe SGSV Updater does not complete successfully. Investigate whether the CSV contains duplicate ACCENUMBs when same accession is stored in the vault twice.
Once import is fully functional, dump the database and share it with NordGen for...The SGSV Updater does not complete successfully. Investigate whether the CSV contains duplicate ACCENUMBs when same accession is stored in the vault twice.
Once import is fully functional, dump the database and share it with NordGen for validation.Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/4IRRI reports duplicate of a request received2021-02-15T09:49:39+01:00Matija ObrezaIRRI reports duplicate of a request received"This looks like a duplicate of a request received two minutes before this one came, differing only in the validation code. Could you check whether the user submitted duplicate requests or something else happened to make Genesys submitte..."This looks like a duplicate of a request received two minutes before this one came, differing only in the validation code. Could you check whether the user submitted duplicate requests or something else happened to make Genesys submitted it twice. gmail hides everything after the validation key in the second message but not in the first, which is what makes me wonder if it is a genesys problem"Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/43Performance test2021-02-15T09:50:00+01:00Matija ObrezaPerformance testGenesys now splits passport data into several tables: accession, accessiongeo, accessioncollect, accessionexchange; that contain data specific to a section of passport data.
This design means that SQL queries span across multiple tables...Genesys now splits passport data into several tables: accession, accessiongeo, accessioncollect, accessionexchange; that contain data specific to a section of passport data.
This design means that SQL queries span across multiple tables, somehow affecting performance.
Merge accessiongeo table back to accession and test performance of generating tiles.Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/53Bug No session2021-02-15T09:50:14+01:00Matija ObrezaBug No sessionMagdalena reported "I just wanted to send you a request yet it did not work out - it showed me"
```
500 - Internal Server Error
An unexpected conditions was encountered and no more specific message is suitable.
failed to laizly initiali...Magdalena reported "I just wanted to send you a request yet it did not work out - it showed me"
```
500 - Internal Server Error
An unexpected conditions was encountered and no more specific message is suitable.
failed to laizly initialize a collection of role: org.genesys2.server.model.impl.FaoInstitute.settings, could not initialize proxy- no Session
```
Do you know this problem and could you help me to overcome it, so that I can correctly send you an online seed-request?Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/67"ISSUED TOKENS" functionality isn't working.2021-02-15T09:50:36+01:00Aleksandr Kirichenko"ISSUED TOKENS" functionality isn't working.**Steps**
1. Go to "https://sandbox.genesys-pgr.org/welcome";
2. Login as any user;
3. Go to "My profile";
4. Click on "ISSUED TOKENS".
**Act.res.:** "ISSUED TOKENS" functionality isn't working.**Steps**
1. Go to "https://sandbox.genesys-pgr.org/welcome";
2. Login as any user;
3. Go to "My profile";
4. Click on "ISSUED TOKENS".
**Act.res.:** "ISSUED TOKENS" functionality isn't working.Matija ObrezaMatija Obreza