GGCE Server issueshttps://gitlab.croptrust.org/grin-global/grin-global-server/-/issues2024-02-19T13:36:57+01:00https://gitlab.croptrust.org/grin-global/grin-global-server/-/issues/460Extend search for similar Cooperators2024-02-19T13:36:57+01:00Matija ObrezaExtend search for similar CooperatorsDocumented in grin-global/grin-global-ui#651, the similarity search for Cooperators needs extending to include more fields in the search.Documented in grin-global/grin-global-ui#651, the similarity search for Cooperators needs extending to include more fields in the search.2024.1Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/grin-global/grin-global-server/-/issues/459Switch to OpenSearch2024-02-19T10:26:42+01:00Matija ObrezaSwitch to OpenSearchWe are using ES6 which is the last version before ES changed it's licensing model. The open source version was forked into OpenSearch.
In this ticket we replace ES with OS.
I think it makes sense to first upgrade ES libs in our project...We are using ES6 which is the last version before ES changed it's licensing model. The open source version was forked into OpenSearch.
In this ticket we replace ES with OS.
I think it makes sense to first upgrade ES libs in our project to the version mentioned in OS migration guide at https://opensearch.org/docs/latest/upgrade-to/upgrade-to/ and then switch over to OS.
The reason for first upgrading ES and then switching to OpenSearch in stages is that we can also slowly migrate our ES cluster.
We now have some custom code for serializing entities for indexing. That code will eventually be removed and replaced with DTO-style mapping to a distinct type before sending it over to ES/OS.Artem HrybeniukArtem Hrybeniukhttps://gitlab.croptrust.org/grin-global/grin-global-server/-/issues/458SOAP: CT assigns Cooperator ID to created/owned by fields2024-02-19T15:17:32+01:00Matija ObrezaSOAP: CT assigns Cooperator ID to created/owned by fieldsCT assigns current user's Cooperator ID to `ownedBy` field when a new record is added. But with the upgraded GGCE that checks that references are valid, this now causes a problem.
Also, no error message is returned, the table in CT is s...CT assigns current user's Cooperator ID to `ownedBy` field when a new record is added. But with the upgraded GGCE that checks that references are valid, this now causes a problem.
Also, no error message is returned, the table in CT is simply cleared.
![Foo](/uploads/9aa57ba47075c9e963c47ca8ee282eb7/Foo.m4v)2024.1Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/grin-global/grin-global-server/-/issues/457Add Inventories By Id2024-01-31T09:04:25+01:00Antonio RiveraAdd Inventories By IdIn order to solve the issue [The server supports a maximum of 21000 parameters](https://gitlab.croptrust.org/grin-global/grin-global-server/-/issues/450) we need a tool to add several inventories given their id as suggested in the Propos...In order to solve the issue [The server supports a maximum of 21000 parameters](https://gitlab.croptrust.org/grin-global/grin-global-server/-/issues/450) we need a tool to add several inventories given their id as suggested in the Proposal 0:
![image](/uploads/9a4ff3c889400090ab3093903fbfaed4/image.png)
![image](/uploads/0aa66a4f5f2114191352f2bde6ef19f7/image.png)https://gitlab.croptrust.org/grin-global/grin-global-server/-/issues/456Viability test's "completed date" is not recorded.2024-02-20T21:02:02+01:00Juan Carlos Alarcon MaldonadoViability test's "completed date" is not recorded.The "completed date" field of the Viability test action is not recorded after the test is finished.
The viability test finished:
![image](/uploads/a659798821f190d45b144be565454199/image.png)
The `Complete date` is missing:
![image]...The "completed date" field of the Viability test action is not recorded after the test is finished.
The viability test finished:
![image](/uploads/a659798821f190d45b144be565454199/image.png)
The `Complete date` is missing:
![image](/uploads/52749310163062667cb4281f70cf9442/image.png)2024.2Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/grin-global/grin-global-server/-/issues/455Check MCPD Availability2024-01-24T08:04:52+01:00Matija ObrezaCheck MCPD AvailabilityAccording to grin-global/grin-global-server#274 this accession's availability should be `false` while GGCE generates `null`:
![image](https://gitlab.croptrust.org/genesys-pgr/genesys-ui/uploads/52d9a45a82348f10462b545c297c21a7/image.png)According to grin-global/grin-global-server#274 this accession's availability should be `false` while GGCE generates `null`:
![image](https://gitlab.croptrust.org/genesys-pgr/genesys-ui/uploads/52d9a45a82348f10462b545c297c21a7/image.png)2024.1Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/grin-global/grin-global-server/-/issues/454Add entity names2024-01-29T05:56:11+01:00Antonio RiveraAdd entity namesWe need to see the entity name form the Geography and Accession in the Accession details screen instead of the entity id.
**Accession Details**
![image](/uploads/47f00786386dfe0fc078fd2cb8a151c6/image.png)
**Accession source history**...We need to see the entity name form the Geography and Accession in the Accession details screen instead of the entity id.
**Accession Details**
![image](/uploads/47f00786386dfe0fc078fd2cb8a151c6/image.png)
**Accession source history**
![image](/uploads/a607b1e3e97a0b87bbea46f913050458/image.png)
**Intellectual Property Rights/Restrictions**
![image](/uploads/8aa1d4c54e3d9fdd812a9e79f5710722/image.png)2024.1Maksym TishchenkoMaksym Tishchenkohttps://gitlab.croptrust.org/grin-global/grin-global-server/-/issues/453Could not start upload to Genesys: [object Object]2024-03-07T23:53:30+01:00Antonio RiveraCould not start upload to Genesys: [object Object]We have an error while try to upload data to Genesys.
![image](/uploads/2ba195e9b3a6be20931e8628fc6ff6c6/image.png)
This error is thrown randomly after several requests to the following EndPoint in both of our instances:
`api/v1/genes...We have an error while try to upload data to Genesys.
![image](/uploads/2ba195e9b3a6be20931e8628fc6ff6c6/image.png)
This error is thrown randomly after several requests to the following EndPoint in both of our instances:
`api/v1/genesys/accessions/upload`
Response is not available when the error occurs
![image](/uploads/88ce8e68cab2de3ae2bded0865b3b82f/image.png)
Although the error is thrown in different Web Browsers, the error described is not the same
**Maize - Google Chrome (Latest version)**
`net::ERR_HTTP2_PROTOCOL_ERROR`
![image](/uploads/f2f9f32181a210b622c0ce35889b9879/image.png)
**Wheat- Firefox (Latest version)**
`Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://wgb2024-server.cimmyt.org/api/v1/genesys/accessions/upload. (Reason: CORS request did not succeed). Status code: (null).`
![image](/uploads/35e1f6ffa686d577df1363cb1f1aeb79/image.png)
Once the error is thrown user can try to upload data again and it works fine.
There is not a "pattern". Error could be thrown since the first request or fifth or tenth.
Note: The upload process continues but the "progress modal" closes.Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/grin-global/grin-global-server/-/issues/452Mapping accessions thru requests from Genesys2024-01-26T06:00:38+01:00Antonio RiveraMapping accessions thru requests from GenesysOne of our users proccesed a Genesys request and use the "Automatically Map Accesions" function. It worked fine. However, the user reports that GGCE selected inventories that do not satisfy the avaliability criteria.
![image](/uploads/0...One of our users proccesed a Genesys request and use the "Automatically Map Accesions" function. It worked fine. However, the user reports that GGCE selected inventories that do not satisfy the avaliability criteria.
![image](/uploads/054817df9f9803d6541c4b8bd142f99b/image.png)
![image](/uploads/d7c5bf68bf84fb53e4317afbfa50c1ee/image.png)
![image](/uploads/2f259b5462f79cf4869bf4f9d9217e98/image.png)
The availability criteria should be Is Autodeducted and Is Available. Right?https://gitlab.croptrust.org/grin-global/grin-global-server/-/issues/451Increase the Organization Abbreviation field length2024-01-22T13:47:41+01:00Antonio RiveraIncrease the Organization Abbreviation field lengthWe need to increase the **Organization Abbreviation** field length to the same length that Genesys has. The length is not the same so we had to remove some characters to avoid an error
![image](/uploads/71f1bc0dafe63401cf7e97c4f7fa4d73/...We need to increase the **Organization Abbreviation** field length to the same length that Genesys has. The length is not the same so we had to remove some characters to avoid an error
![image](/uploads/71f1bc0dafe63401cf7e97c4f7fa4d73/image.png)
![image](/uploads/45d14a58509425906283a321a7dcc5ce/image.png)2024.1Artem HrybeniukArtem Hrybeniukhttps://gitlab.croptrust.org/grin-global/grin-global-server/-/issues/449Does not record all changes in Curator tool GGCE2024-02-10T16:49:22+01:00Alejandro VelazquezDoes not record all changes in Curator tool GGCEAn attempt has been made to make massive changes in the pollination method field, taking the amount of 3000 inventories more or less.
The value is modified,
Changes are saved
Some inventories not updated. (amount varies)
but it doesn't...An attempt has been made to make massive changes in the pollination method field, taking the amount of 3000 inventories more or less.
The value is modified,
Changes are saved
Some inventories not updated. (amount varies)
but it doesn't show any error.
Previous value:
![image](/uploads/2ec644e5d9c2720d1b1d316b9bee55d4/image.png)
Changes made:
![image](/uploads/c8aaedf745571a8014617f5cb3a8d7b0/image.png)
After saving:
![image](/uploads/f5c8af10f1596cdf036a9ab70b093c01/image.png)Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/grin-global/grin-global-server/-/issues/448Generic error when saving data2024-01-17T09:14:23+01:00Antonio RiveraGeneric error when saving dataA generic error is raised in the "Adjust Inventory Quantity" and "Record new observation" screens when saving data. The error is generated randomly for the same inventory or observation.
**Record New Observation**
![image](/uploads/e0b...A generic error is raised in the "Adjust Inventory Quantity" and "Record new observation" screens when saving data. The error is generated randomly for the same inventory or observation.
**Record New Observation**
![image](/uploads/e0b81e1cb01465cf7e1f23204dde44df/image.png)
![image](/uploads/96b87cdc70c50797d353cf7c742fcb0d/image.png)
**Adjust Inventory Quantuty**
![image](/uploads/1c6d4b6a414bd6c69db4e54491abc634/image.png)
There are not any error in the logs and the message is the same except the url
- viability/observation
- inventory/adjust
![image](/uploads/2143a9a0d94e438cb87c59ba12214a13/image.png)
I have attached the logs file.
[wheat.zip](/uploads/7f9bcc2c453f965586f920accf17acd2/wheat.zip)Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/grin-global/grin-global-server/-/issues/447Add cooperator name to ggce_aclsid_lookup2024-03-13T19:32:29+01:00Antonio RiveraAdd cooperator name to ggce_aclsid_lookupIn several dataviews, the users names are now showing the **user_name** instead the **cooperator name**.
_e.g. a.a.rivera instead of Antonio Rivera_
This is the _get_inventory_ dataview
![image](/uploads/d3cc20adca13b1dcca18336419080...In several dataviews, the users names are now showing the **user_name** instead the **cooperator name**.
_e.g. a.a.rivera instead of Antonio Rivera_
This is the _get_inventory_ dataview
![image](/uploads/d3cc20adca13b1dcca18336419080d5d/image.png)
I understand this is caused by the **ggce_aclsid_lookup**
![image](/uploads/6caf76a44a5c1556264174aeb454d774/image.png)
We need to show the cooperator nameMatija ObrezaMatija Obrezahttps://gitlab.croptrust.org/grin-global/grin-global-server/-/issues/446Add Production Location Geography to "Get Invetory" Dataview2024-03-15T10:51:46+01:00Antonio RiveraAdd Production Location Geography to "Get Invetory" DataviewWe need to display the Production Geography Location in the inventory dataview (as the barcode column). We stored here the increment site value after migrate to GGCE.
![image](/uploads/83e240dd038a48b136a380e924a96037/image.png)
Locati...We need to display the Production Geography Location in the inventory dataview (as the barcode column). We stored here the increment site value after migrate to GGCE.
![image](/uploads/83e240dd038a48b136a380e924a96037/image.png)
Location value in the column "adm1" from the "Geography" table
![image](/uploads/137cfa5d211503b4756d0723a6c87a0d/image.png)2024.2Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/grin-global/grin-global-server/-/issues/445Space not working in permissions windows2024-01-12T13:45:31+01:00Antonio RiveraSpace not working in permissions windowsScreens like "Permissions: Inventory management" do not display any result with the "space key"
**Before**
![image](/uploads/daebe78e13ec80a6624f820c0418e7be/image.png)
**After**
![image](/uploads/dc4519ebd00dedbc67683f10c10f35ef/ima...Screens like "Permissions: Inventory management" do not display any result with the "space key"
**Before**
![image](/uploads/daebe78e13ec80a6624f820c0418e7be/image.png)
**After**
![image](/uploads/dc4519ebd00dedbc67683f10c10f35ef/image.png)
The JSON response is empty
![image](/uploads/9f393b5275e08f213cd962a95da0c365/image.png)
What is the purpose of the "space key" in this kind of controls?
**Note:** It is working with another keys
![image](/uploads/e6504c7fda78291506da9fa7baa8bf95/image.png)
**Note 2:** Indexes were regenerated2024.1Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/grin-global/grin-global-server/-/issues/444Inventory update error in Curator Tool and GGCE Web2024-02-10T16:49:22+01:00Antonio RiveraInventory update error in Curator Tool and GGCE WebWe are trying to update the availability_status_code in Curator Tool and GGCE Web but changes are not saved. There are not any server error o error message or window.
In Curator Tool
**Before**
![image](/uploads/f9a409675c3ab95a76b22f...We are trying to update the availability_status_code in Curator Tool and GGCE Web but changes are not saved. There are not any server error o error message or window.
In Curator Tool
**Before**
![image](/uploads/f9a409675c3ab95a76b22fa3a8ab0da8/image.png)
**After**
![image](/uploads/f8285ab7b48022a2de5a4a8488e3ac05/image.png)
**After refresh**
![image](/uploads/f39c05672861b9d75e754e7e373ff7fb/image.png)
In GGCE Web
**Before**
![image](/uploads/abbb8ce5205c294b7aa4ae874a58761d/image.png)
![image](/uploads/e7fa25f8449d670ffcc9d63d68aca5d9/image.png)
**After**
![image](/uploads/bf652ac562de91207c633811ec19ac9c/image.png)
**After refresh**
![image](/uploads/47e48e3f010b007951545cab80aab237/image.png)
All inventories with this problem were updated first using the API. Any inventory that was not updated from the API has not this problem (Take a look to my latest issue)
I attached the request and response files from GGCE Web
[update_inventory_request.json](/uploads/b5f16cc77f30b5f5fdfda8c5b7bf8bf5/update_inventory_request.json)
[update_inventory_response.json](/uploads/fd5ebf02a206f15248f0da3f28654f15/update_inventory_response.json)2024.1Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/grin-global/grin-global-server/-/issues/443Inventory update error using the API2024-01-09T17:36:43+01:00Antonio RiveraInventory update error using the APIWe need to update only the propagationDate and propagationDateCode columns but GGCE updates also the availability_status_code column incorrectly.
Given the values 'NA' for the availability_status_code, GGCE updates thet column to 'AVAIL...We need to update only the propagationDate and propagationDateCode columns but GGCE updates also the availability_status_code column incorrectly.
Given the values 'NA' for the availability_status_code, GGCE updates thet column to 'AVAIL'
First we get the inventory given it is id. As shown the availabilityStatusCode property is settled to 'NA' correctly
![image](/uploads/5e3730dbfe88c3330a5987aac82cbc60/image.png)
Then we set the required values and we send it to GGCE. The property still has the correct value.
![image](/uploads/5e7969e353874c20fa0f1ffa76f5bcbf/image.png)
But the response returns the inventory with another values for the property
![image](/uploads/98a01312a350c40666af69874f6d092b/image.png)
We verified that the 'NA' value exist in GCCE
![image](/uploads/27954a0f4988dcabcc2528b47a5d45aa/image.png)
I attached the request and response files
[get_inventory_response.json](/uploads/c5f2f7225d39943dd8dabf17edbd148d/get_inventory_response.json)
[update_inventory_request.json](/uploads/6e0954f2fb673bfb0c4297eae071f550/update_inventory_request.json)
[update_inventory_response.json](/uploads/02fa7c602a2601f1856bcaa5c32f35c1/update_inventory_response.json)https://gitlab.croptrust.org/grin-global/grin-global-server/-/issues/442Date format error in Curator Tool2024-03-14T19:58:58+01:00Antonio RiveraDate format error in Curator ToolWhen trying to use the DataView **inventory_actions** GGCE throws an error for date cells:
![image](/uploads/0a8c813abcf726db92f713832b63e798/image.png)
We had to manually change the date format to mm/dd/yyyy
This problem is not pre...When trying to use the DataView **inventory_actions** GGCE throws an error for date cells:
![image](/uploads/0a8c813abcf726db92f713832b63e798/image.png)
We had to manually change the date format to mm/dd/yyyy
This problem is not present in GG Classic/Standard
I have attached a sample file
[WheatDateFormat.xlsx](/uploads/7143822a0b69ceead38406931e30df90/WheatDateFormat.xlsx)https://gitlab.croptrust.org/grin-global/grin-global-server/-/issues/441@LookupDisplay2023-12-04T16:35:55+01:00Matija Obreza@LookupDisplayThe current implementation of display "labels" in GGCE that are used in the Curator Tool *lookup tables* allows for `@LookupDisplay` to be defined on a field and on a method. When defined on a field we are able to make a very fast query ...The current implementation of display "labels" in GGCE that are used in the Curator Tool *lookup tables* allows for `@LookupDisplay` to be defined on a field and on a method. When defined on a field we are able to make a very fast query to the database and only select the `id + field`, but when defined on a method, we need to fetch entire objects to generate a simple string. The `lookupDisplay()` method generally just concatenates a few fields. Using `lookupDisplay` method is a performance issue in large GGCE databases.
In this ticket we allow `@LookupDisplay` to be defined on a **class** as a JPA expression:
```java
@LookupDisplay("{JPA expresion}")
public class ...
```
We remove the option to define `@LookupDisplay` on a method (and remove handling methods in `VirutalLookupServiceImpl`).
When `LookupDisplay` is not declared we already use the `id` field as a label.
Instead of fetching entire objects to memory, we let the database do the string generation. This approach comes with some limitations, but it eliminates a big bottleneck that may even cause the server to OOM.
## Example
For `Cooperator` to generate the label `Last, First, My Organization` we can use:
```java
@LookupDisplay("concat(lastName, ', ', firstName, ', ', coalesce(organization, ''))")
public class Cooperator extends ... {
```2024.1Artem HrybeniukArtem Hrybeniukhttps://gitlab.croptrust.org/grin-global/grin-global-server/-/issues/440Server performance with Curator Tool2024-01-09T17:38:45+01:00Antonio RiveraServer performance with Curator ToolWe are testing the connection and performance between GGCE(2023.8) and Curator Tool. Everything is working fine, however we have some doubts about the GGCE performance.
We have now for earch GGCE Server instance 12GB of memory, 1GB for...We are testing the connection and performance between GGCE(2023.8) and Curator Tool. Everything is working fine, however we have some doubts about the GGCE performance.
We have now for earch GGCE Server instance 12GB of memory, 1GB for each GGCE Web container and 6GB for the database (Express Edition)
To load 28136 records, the server takes half an hour to save them. According to statistics, there was no significant impact on the servers during the test.
This is the highest point:
![image](/uploads/cd41798a276bc652bd98f6f1c89b7e71/image.png)
We consider that it is a long time given that it was the only test done at that time
Questions
- Has GGCE limitations for the coneccion with Curator Tool?
- If above is true. Could we configure that behavior?
- In production (with 32GB) this process takes just 1 minute or less. I know there is a big difference. Will GGCE has a similar performance that our current GGCE Classic services with 32GB?Matija ObrezaMatija Obreza