Genesys Backend issueshttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues2017-09-19T13:31:07+02:00https://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/125"Magnifier" button isn't working2017-09-19T13:31:07+02:00Aleksandr Kirichenko"Magnifier" button isn't working**Steps:**
1. Go to "https://sandbox.genesys-pgr.org/welcome".
2. Enter some text in the search field which is located in "SEARCH GENESYS" block.
3. Click on the "Magnifier" button
**Act.res.:** "Magnifier" button isn't working. See at...**Steps:**
1. Go to "https://sandbox.genesys-pgr.org/welcome".
2. Enter some text in the search field which is located in "SEARCH GENESYS" block.
3. Click on the "Magnifier" button
**Act.res.:** "Magnifier" button isn't working. See attached screen.![SCR_0027](/uploads/86c1d8fe9250eff0c99368c1f3ca0aba/SCR_0027.png)2.1Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/121Link to crop pages2017-09-19T13:31:07+02:00Nora Castaneda-AlvarezLink to crop pagesThe texts for 29 crops are ready, uploaded to Genesys and Transifex. Here the links:
* https://www.genesys-pgr.org/c/apple
* https://www.genesys-pgr.org/c/banana
* https://www.genesys-pgr.org/c/barley
* https://www.genesys-pgr.org/c/bea...The texts for 29 crops are ready, uploaded to Genesys and Transifex. Here the links:
* https://www.genesys-pgr.org/c/apple
* https://www.genesys-pgr.org/c/banana
* https://www.genesys-pgr.org/c/barley
* https://www.genesys-pgr.org/c/beans
* https://www.genesys-pgr.org/c/breadfruit
* https://www.genesys-pgr.org/c/cassava
* https://www.genesys-pgr.org/c/chickpea
* https://www.genesys-pgr.org/c/coconut
* https://www.genesys-pgr.org/c/cowpea
* https://www.genesys-pgr.org/c/eggplant
* https://www.genesys-pgr.org/c/fababean
* https://www.genesys-pgr.org/c/fingermillet
* https://www.genesys-pgr.org/c/forages
* https://www.genesys-pgr.org/c/grasspea
* https://www.genesys-pgr.org/c/lentil
* https://www.genesys-pgr.org/c/lettuce
* https://www.genesys-pgr.org/c/maize
* https://www.genesys-pgr.org/c/pearlmillet
* https://www.genesys-pgr.org/c/pigeonpea
* https://www.genesys-pgr.org/c/potato
* https://www.genesys-pgr.org/c/rice
* https://www.genesys-pgr.org/c/sorghum
* https://www.genesys-pgr.org/c/sunflower
* https://www.genesys-pgr.org/c/sweetpotato
* https://www.genesys-pgr.org/c/taro
* https://www.genesys-pgr.org/c/tomato
* https://www.genesys-pgr.org/c/wheat
* https://www.genesys-pgr.org/c/yam
Please use the links to crop pages on the homepage instead of jumping directly to the Accession Explorer:
![Screen_Shot_2017-08-01_at_16.30.03](/uploads/f6354056cced7139ea3a3c9ae47b3a6a/Screen_Shot_2017-08-01_at_16.30.03.png):2.1Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/119Ability to save map with an existing title.2017-09-19T13:31:08+02:00Aleksandr KirichenkoAbility to save map with an existing title.**Steps:**
1. Go to "https://sandbox.genesys-pgr.org/welcome";
2. Click on the map;
3. Click "Remember Map" button;
4. Enter an existing title;
5. Click Save button;
**Act.res.:** Map has been saved with an existing title. See attached...**Steps:**
1. Go to "https://sandbox.genesys-pgr.org/welcome";
2. Click on the map;
3. Click "Remember Map" button;
4. Enter an existing title;
5. Click Save button;
**Act.res.:** Map has been saved with an existing title. See attached screen.![SCR_0023](/uploads/bfac5fd34559f2b4c90392b668a32ff3/SCR_0023.png)2.1Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/118Ability to save a list with an existing title2017-09-19T13:31:08+02:00Aleksandr KirichenkoAbility to save a list with an existing title**Steps:**
1. Go to "https://sandbox.genesys-pgr.org/welcome";
2. Click "Browse" menu item;
3. Mark check-boxes of some accessions;
4. Click "My List" menu item;
5. Navigate to "Accession List" tab;
6. Enter an existing Title list;
7. C...**Steps:**
1. Go to "https://sandbox.genesys-pgr.org/welcome";
2. Click "Browse" menu item;
3. Mark check-boxes of some accessions;
4. Click "My List" menu item;
5. Navigate to "Accession List" tab;
6. Enter an existing Title list;
7. Click "CREATE NEW LIST" button;
**Act.res.:** List of accessions has been saved with an existing title.
![SCR_0022](/uploads/5c9ff4a6f876838359becbcfa96e394d/SCR_0022.png)2.1Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/117Ability to save list of accessions without List title.2017-09-19T13:31:08+02:00Aleksandr KirichenkoAbility to save list of accessions without List title.**Steps:**
1. Go to "https://sandbox.genesys-pgr.org/welcome";
2. Click "Browse" menu item;
3. Mark check-boxes of some accessions;
4. Click "My List" menu item;
5. Navigate to "Accession List" tab;
6. Leave fields "List title", "List d...**Steps:**
1. Go to "https://sandbox.genesys-pgr.org/welcome";
2. Click "Browse" menu item;
3. Mark check-boxes of some accessions;
4. Click "My List" menu item;
5. Navigate to "Accession List" tab;
6. Leave fields "List title", "List description" blank;
7. Click "CREATE NEW LIST" button;
**Act.res.:** The list has been saved without List title and description. See attached screen.![SCR_0021](/uploads/4f1cd9c04c43b8029af4a1f2a0b2aeae/SCR_0021.png)2.1Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/116When user goes to the next page, the page doesn't scroll up.2017-09-19T13:31:08+02:00Aleksandr KirichenkoWhen user goes to the next page, the page doesn't scroll up.**Steps:**
1. Go to "https://sandbox.genesys-pgr.org/welcome";
2. Click "Browse" menu item;
3. Scroll to the bottom of the page;
4. Click on the ">" next page button;
**Exp.res.:**Transfer to the next page is performed, the page is in t...**Steps:**
1. Go to "https://sandbox.genesys-pgr.org/welcome";
2. Click "Browse" menu item;
3. Scroll to the bottom of the page;
4. Click on the ">" next page button;
**Exp.res.:**Transfer to the next page is performed, the page is in the position starting from the top of the table of accessions.
**Act.res.:** Transfer to the next page is performed, page is not scrolled up. See attached video.[rec_011.avi](/uploads/9e6f3ff14c47d224db59474225535108/rec_011.avi)2.1Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/115"About Genesys" drop-down menu is constantly opens when user navigate to any ...2017-09-19T13:31:08+02:00Aleksandr Kirichenko"About Genesys" drop-down menu is constantly opens when user navigate to any page from this menu.**Steps:**
1. Go to "https://sandbox.genesys-pgr.org/welcome";
2. Click "About Genesys" drop-down menu;
3. Select any page from the drop-down, "Contact Us" for example;
**It works only when page zoom = 100%!**
**Act.res.:** "About Ge...**Steps:**
1. Go to "https://sandbox.genesys-pgr.org/welcome";
2. Click "About Genesys" drop-down menu;
3. Select any page from the drop-down, "Contact Us" for example;
**It works only when page zoom = 100%!**
**Act.res.:** "About Genesys" drop-down menu is opened. See attached video[rec_010.avi](/uploads/28e452cadd4b4fca4804e74dd52fdd31/rec_010.avi)2.1Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/114Asciidoc missing images2017-09-19T13:31:08+02:00Matija ObrezaAsciidoc missing imageshttps://www.genesys-pgr.org/doc/0/basics is missing images (e.g. https://www.genesys-pgr.org/doc/0/images/wiews-archived.png)
These should be copied as part of the build process, but are not included on production/sandbox environment.https://www.genesys-pgr.org/doc/0/basics is missing images (e.g. https://www.genesys-pgr.org/doc/0/images/wiews-archived.png)
These should be copied as part of the build process, but are not included on production/sandbox environment.2.1Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/109DOI as accession URL2017-09-19T13:31:08+02:00Matija ObrezaDOI as accession URLThis is one of the subtasks for #56. Depends on #106.
For accessions with a DOI registered in Genesys, we will use the following URL template: `https://www.genesys-pgr.org/[DOI]` for example `https://www.genesys-pgr.org/10.18730/A3C9`. ...This is one of the subtasks for #56. Depends on #106.
For accessions with a DOI registered in Genesys, we will use the following URL template: `https://www.genesys-pgr.org/[DOI]` for example `https://www.genesys-pgr.org/10.18730/A3C9`. Every URL to an accession with DOI must use the DOI'zed URL.
DOI format regexp is `10\.[0-9]+/.+`.
# DOI Controller
Add a controller for DOI resolution at `/{doi:10\.[0-9]+/.+}`. The DOI can identify various objects in Genesys. It should check if an
accession with the DOI exists and display accession details if an accession has such DOI.
## Accession Controller
The current controller (for `/acn/id/[0-9]+`) must permanently redirect to the DOI'zed accession URL in Genesys if the accession record has the DOI assigned.
# DOI as URL
When the accession has DOI assigned, all links to accession details must point to the DOI'zed accession URL and not the `/acn/id/*`.
The URL is now *generated* in JSP directly, perhaps we should have a method to create the accession URL?2.1Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/108DOI in export2017-09-20T20:33:14+02:00Matija ObrezaDOI in exportThis is one of the subtasks for #56. Depends on #106.
Include **doi** field in CSV and Excel exports.This is one of the subtasks for #56. Depends on #106.
Include **doi** field in CSV and Excel exports.2.1Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/106Add DOI field2017-09-19T13:31:08+02:00Matija ObrezaAdd DOI fieldThis is one of the subtasks for #56.
Add a **unique** DOI field (`doi varchar(255) null`) to the accession record. Accession historic should also have the field, but it should not have the unique constraint. Make sure database changes a...This is one of the subtasks for #56.
Add a **unique** DOI field (`doi varchar(255) null`) to the accession record. Accession historic should also have the field, but it should not have the unique constraint. Make sure database changes are registered in liquibase changelog.
Further:
1. Extend the `AccessionJSON` with the `doi` field so the field gets indexed.
1. Add display of DOI field to the accession details
1. Add display of DOI field to the accession explorer
1. Add DOI as filter (exact filter) to the accession filters2.1Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/78Creating new lists of accessions impossible for USER2017-09-19T14:55:38+02:00Aleksandr KirichenkoCreating new lists of accessions impossible for USER@mobreza, @ncastaneda Could you give some explanation, who can create the list of accessions? It's Administrator, or it doesn't matter..? Logically it looks like any logged user can do it. But as I see now it's impossible for simple regi...@mobreza, @ncastaneda Could you give some explanation, who can create the list of accessions? It's Administrator, or it doesn't matter..? Logically it looks like any logged user can do it. But as I see now it's impossible for simple registered user. Is it wrong behaviour, or it's ok?![Saved_lists_of_accessions](/uploads/3efb1eddcd665b7283c48aa35062aceb/Saved_lists_of_accessions.png)![403_-_Access_denied](/uploads/3608d14926b96110e8f29abe4f7c004d/403_-_Access_denied.png)2.1Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/465Document migration from API v0 to v12019-09-16T20:38:44+02:00Matija ObrezaDocument migration from API v0 to v1......2.4Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/461Geo Countries list2019-07-30T17:11:58+02:00Matija ObrezaGeo Countries listhttps://api.sandbox.genesys-pgr.org/api/v1/geo/countries returns a massive JSON. If we don't use `nameL` on the frontend, please don't include it in response to this call.https://api.sandbox.genesys-pgr.org/api/v1/geo/countries returns a massive JSON. If we don't use `nameL` on the frontend, please don't include it in response to this call.2.4Viacheslav PavlovViacheslav Pavlovhttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/458Requests for material without PID2019-08-02T10:51:04+02:00Matija ObrezaRequests for material without PIDGenesys now requires that all requests for material obtain the Easy-SMTA PID before relaying the request to the holding genebanks.
Requests for material can be "internal" (within the institute), meaning that no SMTA is required.
Add su...Genesys now requires that all requests for material obtain the Easy-SMTA PID before relaying the request to the holding genebanks.
Requests for material can be "internal" (within the institute), meaning that no SMTA is required.
Add support for **Internal requests** through Genesys; add an option "Internal request (no S/MTA required)" to Genesys and skip the Easy-SMTA checks that are currently required for the request to be relayed to the genebank.
2.4Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/457FilterCode v22019-06-22T05:49:57+02:00Matija ObrezaFilterCode v2Filter encoding **version 1** uses a randomly generated UUID with `-` removed:
```java
private String generateShortNameV1() {
for (int i = 0; i < 10; i++) {
final String code = "v1" + UUID.randomUUID().toString().replace("-", "");
...Filter encoding **version 1** uses a randomly generated UUID with `-` removed:
```java
private String generateShortNameV1() {
for (int i = 0; i < 10; i++) {
final String code = "v1" + UUID.randomUUID().toString().replace("-", "");
// return shortName if unique
if (shortFilterRepository.findByCode(code) == null) {
return code;
}
}
throw new RuntimeException("Failed to generate a unique filters short name in several attempts");
}
```
This generates filter codes like `v1a37ad370d9ca4f62b3d9840094aafae9` and they are fairly long.
## Shorter filter codes
We can make use of https://hashids.org/java/ to generate shorter codes with a custom salt!
Initial idea is to use the current timestamp (long value, 4b), resulting in drastically smaller unique short filter codes.
```java
private String generateShortNameV2() {
Hashids hashids = new Hashids("this is my salt");
for (int i = 0; i < 10; i++) {
String hash = hashids.encode(System.currentTimeMillis());
final String code = "v2" + hash;
// return shortName if unique
if (shortFilterRepository.findByCode(code) == null) {
return code;
}
}
throw new RuntimeException("Failed to generate a unique filters short name in several attempts");
}
```
We could extend this to our use of UUIDs in URLs, and see if that makes a difference in URL `code` length.2.4Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/453Request failed when user try apply "Not specified" filter on the "Accession b...2019-07-14T21:12:35+02:00Kiril MorhalenkoRequest failed when user try apply "Not specified" filter on the "Accession browser" pageSteps to reproduce:
1. Open "https://sandbox.genesys-pgr.org/a/overview"
2. Apply "Not specified" filter from "Genus" block
Expected result:
Filter is applied and results are shown
Actual result:
> Error happened while processing requ...Steps to reproduce:
1. Open "https://sandbox.genesys-pgr.org/a/overview"
2. Apply "Not specified" filter from "Genus" block
Expected result:
Filter is applied and results are shown
Actual result:
> Error happened while processing request:
>
> "Request failed with status code 500 Error accessing field taxonomy.genus for isNull() in class org.genesys2.server.model.genesys.QAccession"
This bug reproduce with "Genys", "Type of Germplasm storage" and "Provenance of material" blocks
![Request_failed](/uploads/dfc0204d491abdbb29ca29a45790145c/Request_failed.gif)2.4Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/452Descriptor image and language2019-06-18T08:13:31+02:00Matija ObrezaDescriptor image and languageAdd `private RepositoryImage image` and `@MaxLength(2) private String lang` to `Descriptor`. The image should be loaded in `lazyLoad(Descriptor)`.
Extend Descriptor API v1 with methods: `updateImage(Descriptor d, ...)` and `removeImage(...Add `private RepositoryImage image` and `@MaxLength(2) private String lang` to `Descriptor`. The image should be loaded in `lazyLoad(Descriptor)`.
Extend Descriptor API v1 with methods: `updateImage(Descriptor d, ...)` and `removeImage(Descriptor r)`. Ensure API supports `lang` property.
The descriptor image should be saved at repository path `/descriptor/{uuid.substring(0,3)}/{uuid}.{ext}`.
Ensure the `descriptor.image` is included in JSON response for Descriptor Lists.2.4Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/451Delete Metadata2019-06-05T04:47:54+02:00Matija ObrezaDelete MetadataAllow for removing old `org.genesys2.server.model.genesys.Metadata` (e.g. https://www.genesys-pgr.org/data/view/3673) and all related `ExperimentAccessionTrait`, `ExperimentTrait` for administrator in the JSP page.Allow for removing old `org.genesys2.server.model.genesys.Metadata` (e.g. https://www.genesys-pgr.org/data/view/3673) and all related `ExperimentAccessionTrait`, `ExperimentTrait` for administrator in the JSP page.2.4Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/448DownloadService with ES2019-05-21T11:06:17+02:00Matija ObrezaDownloadService with ESWhen using full text filtering with ES, the downloads are disabled because DownloadService (and AccessionProcessor) support JPA queries only. Refactor the code so that PccessionProcessor can use ES or JPA filters to generate downloads.When using full text filtering with ES, the downloads are disabled because DownloadService (and AccessionProcessor) support JPA queries only. Refactor the code so that PccessionProcessor can use ES or JPA filters to generate downloads.2.4Maxym BorodenkoMaxym Borodenko