Genesys Backend issueshttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues2017-12-23T09:22:09+01:00https://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/230BUG accession-turtle2017-12-23T09:22:09+01:00Matija ObrezaBUG accession-turtleAccessing accession data as RDF results in:
```
2017-12-01 08:56:09.115:WARN:oejs.HttpChannel:qtp1156060786-140: /ar/acn/id/4012940
javax.servlet.ServletException: org.apache.jasper.JasperException: An exception occurred processing JSP...Accessing accession data as RDF results in:
```
2017-12-01 08:56:09.115:WARN:oejs.HttpChannel:qtp1156060786-140: /ar/acn/id/4012940
javax.servlet.ServletException: org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/jsp/accession/details-turtle.jsp at line 15||12: @prefix germplasm: <http://purl.org/germplasm/germplasmTerm#> .|13: @prefix germplasmType: <http://purl.org/germplasm/germplasmType#> .|14: |15: <<local:accession-details-url accession="${accession.id}" />>|16: a germplasm:GermplasmAccession;|17: germplasm:germplasmID "<c:out value="${accession.id}" />";|18: dc:identifier "urn:uuid:<c:out value="${accession.uuid}" />";|||Stacktrace:
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:564)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:317)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
at org.eclipse.jetty.util.thread.Invocable.invokePreferred(Invocable.java:128)
at org.eclipse.jetty.util.thread.Invocable$InvocableExecutor.invoke(Invocable.java:222)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:294)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:199)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:672)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:590)
at java.lang.Thread.run(Thread.java:748)
Caused by:
org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/jsp/accession/details-turtle.jsp at line 15||12: @prefix germplasm: <http://purl.org/germplasm/germplasmTerm#> .|13: @prefix germplasmType: <http://purl.org/germplasm/germplasmType#> .|14: |15: <<local:accession-details-url accession="${accession.id}" />>|16: a germplasm:GermplasmAccession;|17: germplasm:germplasmID "<c:out value="${accession.id}" />";|18: dc:identifier "urn:uuid:<c:out value="${accession.uuid}" />";|||Stacktrace:
at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:584)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
at org.eclipse.jetty.jsp.JettyJspServlet.service(JettyJspServlet.java:112)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:841)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
```2.3Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/229Statistics API endpoint2017-12-23T12:05:18+01:00Matija ObrezaStatistics API endpointImplement an API endpoint that exposes PDCI and updates information:
- % of records updated in report year
- % of collection with DOIs
- Average PDCI
Clarifications in websites/grants.croptrust.org#25:
- "Institute" level
- Active col...Implement an API endpoint that exposes PDCI and updates information:
- % of records updated in report year
- % of collection with DOIs
- Average PDCI
Clarifications in websites/grants.croptrust.org#25:
- "Institute" level
- Active collections only
- Year cut-off
## API endpoints
Based on `INSTCODE`:
### **GET** `/api/v0/stats/{instCode}`
```json
{
"instCode": "PHL001",
"activeAccessions": 1000,
"lastUpdated": {
"2017": 999,
"2004": 1
},
"averagePdci": 6.44,
"withDoi": 777
}
```
2.3Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/228Access denied2017-12-14T18:29:45+01:00Matija ObrezaAccess deniedAccess denied (to Administrator) when uploading metadata to https://sandbox.genesys-pgr.org/wiews/ETH013/files/upload/metadataAccess denied (to Administrator) when uploading metadata to https://sandbox.genesys-pgr.org/wiews/ETH013/files/upload/metadata2.3Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/227BrAPI error2017-11-28T14:23:54+01:00Matija ObrezaBrAPI errorRetrieving https://www.genesys-pgr.org/brapi/v1/germplasm-search?germplasmDbId=04532a5b-cdbb-4a13-b27b-a6ea07461472 results in
```
PreparedStatementCallback; bad SQL grammar [select count(a.id) from accession a where ( ( a.uuid = ? ) )...Retrieving https://www.genesys-pgr.org/brapi/v1/germplasm-search?germplasmDbId=04532a5b-cdbb-4a13-b27b-a6ea07461472 results in
```
PreparedStatementCallback; bad SQL grammar [select count(a.id) from accession a where ( ( a.uuid = ? ) ) and ( ( a.historic = ? ) ) ]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'a.uuid' in 'where clause'
```
```
09:56:01,338 qtp1156060786-10 ERROR o.g.s.s.c.UserControllerAdvice:89 - PreparedStatementCallback; bad SQL grammar [select count(a.id) from accession a where (
( a.uuid = ? ) ) and (
( a.historic = ? ) ) ]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'a.uuid' in 'where clause' on GET http://sandbox.genesys-pgr.org/b
org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [select count(a.id) from accession a where (
( a.uuid = ? ) ) and (
( a.historic = ? ) ) ]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'a.uuid' in 'where clause'
at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:231)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:649)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:684)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:716)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:726)
at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:794)
at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:813)
at org.genesys2.server.persistence.domain.GenesysLowlevelRepositoryCustomImpl.countAccessions(GenesysLowlevelRepositoryCustomImpl.java:227)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.cache.interceptor.CacheInterceptor$1.invoke(CacheInterceptor.java:52)
at org.springframework.cache.interceptor.CacheAspectSupport.invokeOperation(CacheAspectSupport.java:345)
at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:408)
at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:327)
at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:61)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
at com.sun.proxy.$Proxy236.countAccessions(Unknown Source)
at org.genesys2.server.service.impl.GenesysServiceImpl.countAccessions(GenesysServiceImpl.java:1149)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
at com.sun.proxy.$Proxy243.countAccessions(Unknown Source)
at org.genesys2.server.service.impl.GenesysFilterServiceImpl.listAccessionDetails(GenesysFilterServiceImpl.java:183)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
at com.sun.proxy.$Proxy246.listAccessionDetails(Unknown Source)
at org.genesys2.brapi.service.impl.BrAPIServiceImpl.searchGermplasm(BrAPIServiceImpl.java:107)
```Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/226Sandbox - 404 page not found2017-12-11T11:47:37+01:00Aleksandr KirichenkoSandbox - 404 page not found![SCR_0067](/uploads/c4e56e49d80e5d94c3551da790e41b34/SCR_0067.png)![SCR_0067](/uploads/c4e56e49d80e5d94c3551da790e41b34/SCR_0067.png)Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/225Custom tag for repository file2017-12-23T09:22:09+01:00Matija ObrezaCustom tag for repository fileImplement a custom tag `<local:repository-file-download ...` that displays the download link:
```
<a href="<c:url value='DOWNLOADLINK' />" title="..."><c:out value="${repositoryFile.title}" /></a>
```
the `DOWNLOADLINK` is handled by t...Implement a custom tag `<local:repository-file-download ...` that displays the download link:
```
<a href="<c:url value='DOWNLOADLINK' />" title="..."><c:out value="${repositoryFile.title}" /></a>
```
the `DOWNLOADLINK` is handled by the download controller and is in format `/repository/d/61b/61bd03d9-7d1b-4f04-8e7a-1b96b1e57152.gz`
Kindly replace all instances of links in the JSPs.2.3Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/224Remove the jetty assembly build2017-12-23T09:22:09+01:00Matija ObrezaRemove the jetty assembly buildThe project now includes a build of Jetty-specific targets (see `assembly` folder).
These are no longer required as we moved to Docker.
Please remove the jetty builds from the `pom.xml` and clean up unnecessary files and obsolete instr...The project now includes a build of Jetty-specific targets (see `assembly` folder).
These are no longer required as we moved to Docker.
Please remove the jetty builds from the `pom.xml` and clean up unnecessary files and obsolete instructions in `README.md` (if any).2.3https://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/223Genesys-pgr 503 Service Unavailable2017-11-14T18:39:01+01:00Aleksandr KirichenkoGenesys-pgr 503 Service Unavailable![SCR_0066](/uploads/ff916d1ac58a831f043769aa64b8c686/SCR_0066.png)![SCR_0066](/uploads/ff916d1ac58a831f043769aa64b8c686/SCR_0066.png)Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/222"Partner Institutes" Link doesn't work.2017-11-14T19:12:29+01:00Aleksandr Kirichenko"Partner Institutes" Link doesn't work.**Steps:**
1. Go to page: "https://sandbox.genesys-pgr.org/content/about/about";
2. Click on the menu item: *History of Genesys*;
3. Click on the "partner institutes" link;
**Exp.Res:** page "https://www.genesys-pgr.org/wiews/acti...**Steps:**
1. Go to page: "https://sandbox.genesys-pgr.org/content/about/about";
2. Click on the menu item: *History of Genesys*;
3. Click on the "partner institutes" link;
**Exp.Res:** page "https://www.genesys-pgr.org/wiews/active" is opened
**Act.Res:** page "https://www.genesys-pgr.org/wiews/active" isn't opened
See attached screen:
![SCR_0064](/uploads/131699fe02080f76ec990df3b0065de2/SCR_0064.png)Nina Tkachenkon.tkachenko@aimprosoft.comNina Tkachenkon.tkachenko@aimprosoft.comhttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/221NPGS link on the History of Genesys page doesn't work2017-11-13T13:56:19+01:00Aleksandr KirichenkoNPGS link on the History of Genesys page doesn't workI could open this link only in the Firefox v. 55.0.2 browser
**Steps:**
1. Go to History of Genesys page: "https://sandbox.genesys-pgr.org/content/about/history-of-genesys"
2. Click on the "NPGS" link
Act.res.: endless pending
![SCR_0...I could open this link only in the Firefox v. 55.0.2 browser
**Steps:**
1. Go to History of Genesys page: "https://sandbox.genesys-pgr.org/content/about/history-of-genesys"
2. Click on the "NPGS" link
Act.res.: endless pending
![SCR_0062](/uploads/a7c0a4175d8aa6c633da5caeade9b9bb/SCR_0062.png)Nina Tkachenkon.tkachenko@aimprosoft.comNina Tkachenkon.tkachenko@aimprosoft.comhttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/219CSS updates for 2.32018-07-02T16:29:14+02:00Matija ObrezaCSS updates for 2.3*This is the placeholder issue for all CSS issues identified for %"2.3"*
1) https://sandbox.genesys-pgr.org/doc/0/apis the `<p>` paragraphs should have top and bottom margins of: `littlebit`**em**. Funny, we have nice margins defined fo...*This is the placeholder issue for all CSS issues identified for %"2.3"*
1) https://sandbox.genesys-pgr.org/doc/0/apis the `<p>` paragraphs should have top and bottom margins of: `littlebit`**em**. Funny, we have nice margins defined for wide screen :-(
2) "Saved lists of accessions" long name or description cause failures
**Steps:**
1. Go to the "https://sandbox.genesys-pgr.org";
2. Click on the "Browse" menu item;
3. Select several Accessions;
4. Click on the "My List" menu item;
5. Navigate to the "Accession List" tab;
6. Fill the "List title" and "List description" fields using long name / description for example 150 characters;
7. Click on the "CREATE NEW LIST" button;
8. Click on the "CLEAR THE LIST" button;
**Act.res.:** See attached screen:
![SCR_0061](/uploads/c4e41a239e70010c4a62f4aef3c4851f/SCR_0061.png)
3) https://sandbox.genesys-pgr.org/content/about/about List items have a color. Links should have css property - color, not list items
4) https://sandbox.genesys-pgr.org/wiews/PHL001 Links should be displayed like block elements, not inline-block.
5) https://sandbox.genesys-pgr.org/registration `.form-group > div` have unnecessary property - min-height.
6) https://sandbox.genesys-pgr.org/welcome The content of 'Quick Links' block has a strange alignment.
7) https://sandbox.genesys-pgr.org/explore The filters panel should be fixed.
8) https://sandbox.genesys-pgr.org/sel There is too much spacing in the tab 1.
9) https://sandbox.genesys-pgr.org/wiews/PHL001 `.row + div` have unnecessary border.
![59b829c179](/uploads/9f92fda892ac4ebac832a7ec9dc240d1/59b829c179.jpg)2.3Aleksandr KirichenkoAleksandr Kirichenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/218Document new OAuth grants2017-11-07T11:21:24+01:00Matija ObrezaDocument new OAuth grantsThe Genesys API asciidoc should include documentation on **client credential** and **password** grants.
Update asciidoc.The Genesys API asciidoc should include documentation on **client credential** and **password** grants.
Update asciidoc.2.3Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/217Grunt with hashes2017-12-23T09:22:09+01:00Matija ObrezaGrunt with hashesWe started using a CDN on production and sandbox and it would be preferable if the compiled JS and CSS files contained the file hash in the name.
The new name will allow for deployments to production and sandbox to immediately start us...We started using a CDN on production and sandbox and it would be preferable if the compiled JS and CSS files contained the file hash in the name.
The new name will allow for deployments to production and sandbox to immediately start using the updated CSS and JS files from the CDN.
Note: Requires updating `decorator/1/css.jsp` and `decorator/z/footer.jsp` with names from the build.2.3Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/216OAuth client registration fails2017-11-06T21:28:56+01:00Matija ObrezaOAuth client registration failsRegression in cbb0512ef813ff2824575e0cecedc5b9a520a7cdRegression in cbb0512ef813ff2824575e0cecedc5b9a520a7cd2.3Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/215"Saved lists of accessions" long name or description2017-11-07T21:11:21+01:00Aleksandr Kirichenko"Saved lists of accessions" long name or description"Saved lists of accessions" long name or description cause failures
**Steps:**
1. Go to the "https://sandbox.genesys-pgr.org";
2. Click on the "Browse" menu item;
3. Select several Accessions;
4. Click on the "My List" menu item;
5. Na..."Saved lists of accessions" long name or description cause failures
**Steps:**
1. Go to the "https://sandbox.genesys-pgr.org";
2. Click on the "Browse" menu item;
3. Select several Accessions;
4. Click on the "My List" menu item;
5. Navigate to the "Accession List" tab;
6. Fill the "List title" and "List description" fields using long name / description for example 150 characters;
7. Click on the "CREATE NEW LIST" button;
8. Click on the "CLEAR THE LIST" button;
**Act.res.:** See attached screen:
![SCR_0061](/uploads/c4e41a239e70010c4a62f4aef3c4851f/SCR_0061.png)2.4Nina Tkachenkon.tkachenko@aimprosoft.comNina Tkachenkon.tkachenko@aimprosoft.comhttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/214"Refine search by trait" filters doesn't work properly2017-12-23T09:22:09+01:00Aleksandr Kirichenko"Refine search by trait" filters doesn't work properlyThis issue can be reproduced only on the production server "https://www.genesys-pgr.org"
**Steps:**
1. Go to the "https://www.genesys-pgr.org";
2. Click on the "Browse" menu item;
3. In the "Crop name" filter select any crop "Apple" for...This issue can be reproduced only on the production server "https://www.genesys-pgr.org"
**Steps:**
1. Go to the "https://www.genesys-pgr.org";
2. Click on the "Browse" menu item;
3. In the "Crop name" filter select any crop "Apple" for example;
4. Click "Apply" button;
5. Click on the "Refine search by trait" filter;
6. Click on the "Select traits" button;
7. In the appeared pop-up, mark any chec-kbox "Awn color" for example;
Act.res.: See attached screen:
![SCR_0060](/uploads/6b0065724d6e1e986503a831d4140988/SCR_0060.png)2.3Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/213WIEWS link changed2017-10-31T09:04:18+01:00Matija ObrezaWIEWS link changedFAO WIEWS details are now available at
```
http://www.fao.org/wiews/data/organizations/en/?instcode=GBR004
```
we use the old format http://www.fao.org/wiews/instab/en/?instcode=GBR004FAO WIEWS details are now available at
```
http://www.fao.org/wiews/data/organizations/en/?instcode=GBR004
```
we use the old format http://www.fao.org/wiews/instab/en/?instcode=GBR0042.3Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/212CDN + languages2017-10-31T09:04:18+01:00Matija ObrezaCDN + languageshttps://www.genesys-pgr.org/de/c/apple
```
GET https://www.genesys-pgr.org/de//cdn.genesys-pgr.org/html/1/styles/all.min.css net::ERR_ABORTED
apple:604 GET https://www.genesys-pgr.org/de//cdn.genesys-pgr.org/html/1/js/all.min.js net::ER...https://www.genesys-pgr.org/de/c/apple
```
GET https://www.genesys-pgr.org/de//cdn.genesys-pgr.org/html/1/styles/all.min.css net::ERR_ABORTED
apple:604 GET https://www.genesys-pgr.org/de//cdn.genesys-pgr.org/html/1/js/all.min.js net::ERR_ABORTED
apple:553 GET https://www.genesys-pgr.org/de//cdn.genesys-pgr.org/html/1/images/GENESYS-LOGO_black.svg 404 ()
apple:128 GET https://www.genesys-pgr.org/de//cdn.genesys-pgr.org/html/1/images/GENESYS-ICON.svg 404 ()
apple:128 GET https://www.genesys-pgr.org/de//cdn.genesys-pgr.org/html/1/images/GENESYS-LOGO.svg 404 ()
apple:643 GET https://www.genesys-pgr.org/de//cdn.genesys-pgr.org/html/1/js/genesyshighcharts.min.js net::ERR_ABORTED
apple:604 GET https://www.genesys-pgr.org/de//cdn.genesys-pgr.org/html/1/js/all.min.js net::ERR_ABORTED
```2.3Matija ObrezaMatija Obrezahttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/211href and src without c:url2017-12-23T09:22:08+01:00Matija Obrezahref and src without c:urlSome (new) JSPs have `href` and `src` attributes for links and images that do not use `<c:url value="..." />`. One example is a line from `jsp/crop/list.jsp`:
```jsp
<img class="img-responsive icon" src="/html/1/images/<c:out value="${e...Some (new) JSPs have `href` and `src` attributes for links and images that do not use `<c:url value="..." />`. One example is a line from `jsp/crop/list.jsp`:
```jsp
<img class="img-responsive icon" src="/html/1/images/<c:out value="${entry.key.shortName}"/>.png" alt="<c:out value="${entry.key.shortName}"/>"/>
```
Please scan the JSPs for all links and image references and ensure they are properly coded:
```jsp
<img class="img-responsive icon" src="<c:url value='/html/1/images/${entry.key.shortName}.png' />" alt="<c:out value="${entry.key.shortName}"/>"/>
```
## Using CDN
Genesys production and sandbox environments now use a Content Delivery Network (CDN).
For static resources (things in `/html/`) please add the `${cdnServers.next}` as shown here:
```jsp
<img src="<c:url value='${cdnServers.next}/html/1/images/${entry.key.shortName}.png' />" />
```2.3Maxym BorodenkoMaxym Borodenkohttps://gitlab.croptrust.org/genesys-pgr/genesys-server/-/issues/210DOI not linked2017-12-23T09:22:08+01:00Matija ObrezaDOI not linkedNavigate to https://goo.gl/TQgP4Z and observe the DOIs in DOI column are links.
Click to page 2, DOIs are plain text.Navigate to https://goo.gl/TQgP4Z and observe the DOIs in DOI column are links.
Click to page 2, DOIs are plain text.2.3Maxym BorodenkoMaxym Borodenko