GithubHelp home page GithubHelp logo

atlasoflivingaustralia / collectory Goto Github PK

View Code? Open in Web Editor NEW
0.0 11.0 14.0 11.1 MB

Metadata registry for the Atlas

Home Page: https://collections.ala.org.au

License: Other

Groovy 93.01% Java 0.42% CSS 2.19% HTML 0.01% JavaScript 3.54% Shell 0.27% Batchfile 0.13% TSQL 0.35% Dockerfile 0.09%
ala-product-collectory

collectory's People

Contributors

adam-collins avatar alexhuang091 avatar ansell avatar aruizca avatar charvolant avatar djtfmartin avatar linaizhong avatar mbohun avatar nickdos avatar sadeghim avatar sughics avatar vjrj avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

collectory's Issues

Add archive download link to data resource pages

migrated from: https://code.google.com/p/ala/issues/detail?id=189
date: Thu Aug 8 17:11:04 2013
author: moyesyside


Original Issue reported by Project Member Reported by [email protected], Jan 29, 2012 - https://code.google.com/p/ala-collectory/issues/detail?id=36

Project Member Reported by [email protected], Jan 29, 2012
Add link of the form: biocache.ala.org.au/archives//_ror_dwca.zip

eg http://biocache.ala.org.au/archives/dr340/dr340_ror_dwca.zip

Show popup to ask for download reason.

Log download event. Use new 'archive download' identifier.

fix hub collectory pages and add usage logging

migrated from: https://code.google.com/p/ala/issues/detail?id=398
date: Mon Dec 2 15:56:24 2013
author: [email protected]


Hub pages currently don't display e.g. http://collections.ala.org.au/public/show/dh2

Error 500:
Servlet: default
URI: /public/show/dh2
Exception Message: No module found with name [jquery.jsonp-2.1.4.min]
Caused by: Error applying layout : ala2
Class: ResourceTagLib
At Line: [0]
Code Snippet:

Also we should add usage logging to the hubs

Unknown column suitable_for

After some db stability problems with ala-collectory 1.6.6 and talking with @djtfmartin , we were trying to use collectory 3.0.3 but I get some mysql/gorm errors:

022-01-17 21:41:24.212 ERROR --- [0.0-8009-exec-7] o.h.engine.jdbc.spi.SqlExceptionHelper   : Unknown column 'dataresour0_.suitable_for' in 'field list'
2022-01-17 21:41:24.226 ERROR --- [0.0-8080-exec-6] o.h.engine.jdbc.spi.SqlExceptionHelper   : Unknown column 'this_.suitable_for' in 'field list'
2022-01-17 21:41:24.786 ERROR --- [0.0-8009-exec-7] StackTrace                               : Full Stack Trace:

org.springframework.dao.InvalidDataAccessResourceUsageException: could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet
        at org.springframework.orm.hibernate5.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:228)

So I get a error 500 almost in any entity.

Same result with 3.0.2.

Did I missed some db migration? cc @alexhuang091 and @nickdos

TIA

Error in the collectory module?

Hi all,

I was trying to test the last release of collectory and I found this error when i try to run the app in my server:

SEVERE: Exception sending context initialized event to listener instance of class org.codehaus.groovy.grails.web.context.GrailsContextLoaderListener
org.springframework.beans.factory.access.BootstrapException: Error executing bootstraps; nested exception is java.lang.NoClassDefFoundError: net/sf/ehcache/constructs/blocking/LockTimeoutException
        at org.codehaus.groovy.grails.web.context.GrailsContextLoader.initWebApplicationContext(GrailsContextLoader.java:125)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4973)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1073)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoClassDefFoundError: net/sf/ehcache/constructs/blocking/LockTimeoutException
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2570)
        at java.lang.Class.getDeclaredMethods(Class.java:1855)
        ... 5 more
Caused by: java.lang.ClassNotFoundException: net.sf.ehcache.constructs.blocking.LockTimeoutException
        ... 7 more

And this another error when I tried to run it in my local machine:

2014-11-12 18:00:13,087 ERROR [GrailsExceptionResolver]  MissingMethodException occurred when processing request: [GET] /collectory/public/show/co77
No signature of method: groovy.util.ConfigObject.toBoolean() is applicable for argument types: () values: []
Possible solutions: asBoolean(), asBoolean(). Stacktrace follows:
org.codehaus.groovy.grails.web.pages.exceptions.GroovyPagesException: Error processing GroovyPageView: No signature of method: groovy.util.ConfigObject.toBoolean() is applicable for argument types: () values: []
Possible solutions: asBoolean(), asBoolean()
    at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:198)
    at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63)
    at au.org.ala.cas.client.UriFilter.doFilter(UriFilter.java:200)
    at au.org.ala.cas.client.UriFilter.doFilter(UriFilter.java:200)
    at au.org.ala.cas.client.UriFilter.doFilter(UriFilter.java:200)
    at org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:65)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:695)
Caused by: groovy.lang.MissingMethodException: No signature of method: groovy.util.ConfigObject.toBoolean() is applicable for argument types: () values: []
Possible solutions: asBoolean(), asBoolean()
    at Users_SaMa_Desktop_Portal_Ala_collectory_grails_app_views_public_show_gsp$_run_closure2.doCall(Users_SaMa_Desktop_Portal_Ala_collectory_grails_app_views_public_show_gsp:254)
    at Users_SaMa_Desktop_Portal_Ala_collectory_grails_app_views_public_show_gsp.run(Users_SaMa_Desktop_Portal_Ala_collectory_grails_app_views_public_show_gsp:552)
    ... 9 more

Would like to be able add multiple parent institutions in the Collectory admin page.

migrated from: https://code.google.com/p/ala/issues/detail?id=183
date: Thu Aug 8 17:09:41 2013
author: moyesyside


Original Issue reported by Project Member Reported by [email protected], Jan 24, 2011 - https://code.google.com/p/ala-collectory/issues/detail?id=14

Project Member Reported by [email protected], Jan 24, 2011
What steps will reproduce the problem?

  1. Currently cannot as an admin editor, add one or more parent institutions to an institution.
  2. Have to ask Mark to parent them.

What is the expected output? What do you see instead?
For example on this page:
http://collections.ala.org.au/institution/show/75

Would like the first section to allow for a pull-down Institution to be able to add a parent institution.

However since an institution can have many parent institutions, may want to display this selection in either:

  • a multi-row line,
  • or have a way to keep adding new institutions e.g. a Button add new Institution.

What version of the product are you using? On what operating system?
r902
Windows XP SP2

Please provide any additional information below.

Jan 24, 2011 Project Member #1 [email protected]
(No comment was entered for this change.)
Status: Accepted

Split address into postal and physical

migrated from: https://code.google.com/p/ala/issues/detail?id=182
date: Thu Aug 8 17:09:29 2013
author: moyesyside


Original Issue reported by Project Member Reported by [email protected], Dec 2, 2010 - https://code.google.com/p/ala-collectory/issues/detail?id=6

Project Member Reported by [email protected], Dec 2, 2010
Post box and street are currently conflated and cannot be extracted for either use. Assumes same city and postcode for both.

Need clear separation of the 2 addresses.

The web services show wiki markup - it has not been stripped out.

migrated from: https://code.google.com/p/ala/issues/detail?id=184
date: Thu Aug 8 17:10:05 2013
author: moyesyside


Original Issue reported by Project Member Reported by [email protected], Mar 8, 2011 - https://code.google.com/p/ala-collectory/issues/detail?id=23

Project Member Reported by [email protected], Mar 8, 2011
What steps will reproduce the problem?

  1. http://collections.ala.org.au/ws/collection/co12 (etc).
  2. Shows the wiki-markup code for bold, italics etc. (+, _)
  3. Think also did you do something for anchor tags.

What is the expected output? What do you see instead?
That this wiki markup is stripped out.

What version of the product are you using? On what operating system?
9-3-11 build 89

Please provide any additional information below.

Mar 8, 2011 Project Member #1 [email protected]
(No comment was entered for this change.)
Status: Accepted

Service `/ws/collection/{collectionID}/contact.json` returns 500 error

This is causing ozcam to error on occurrence record pages.

https://collections.ala.org.au/ws/collection/co10/contact.json

java.lang.NullPointerException: Cannot invoke method getContacts() on null object
	at au.org.ala.collectory.DataController$_closure37.doCall(DataController.groovy:811)
	at org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
	at org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
	at org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)

Dwc-A import to populate collectory metadata - eg: institutions

When you use the Dwc-a to upload a new resource, this process only uploads the information about the Data Resource, but the question is that in the eml file you have the information about the Institution and the collection. The idea is that this process upload s also this information.

Editing a `co` page throws an error on test site

Doing smoke testing for release. https://collections-test.ala.org.au/collection/edit/co40?page=description - adding some text to the "Public Description" field and then clicking "Update" results in an error page. Performing same steps on prod works as expected.

This needs fixing before version 3.0.2 can be deployed.

Error 500: Cannot cast object 'preserved' with class 'java.lang.String' to class 'grails.converters.JSON'
Servlet: grailsDispatcherServlet
URI: /collection/base
Exception Message: Cannot cast object 'preserved' with class 'java.lang.String' to class 'grails.converters.JSON'
Caused by: Cannot cast object 'preserved' with class 'java.lang.String' to class 'grails.converters.JSON'
Class: UrlMappingsInfoHandlerAdapter
At Line: [90] 

Stack trace:

org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'preserved' with class 'java.lang.String' to class 'grails.converters.JSON'
	at au.org.ala.collectory.CollectionController.entitySpecificDescriptionProcessing(CollectionController.groovy:205)
	at au.org.ala.collectory.ProviderGroupService.$tt__entitySpecificDescriptionProcessing(ProviderGroupService.groovy:170)
	at grails.gorm.transactions.GrailsTransactionTemplate$2.doInTransaction(GrailsTransactionTemplate.groovy:94)
	at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at grails.gorm.transactions.GrailsTransactionTemplate.execute(GrailsTransactionTemplate.groovy:91)
	at au.org.ala.collectory.ProviderGroupService.$tt__updateDescription(ProviderGroupService.groovy:151)
	at grails.gorm.transactions.GrailsTransactionTemplate$2.doInTransaction(GrailsTransactionTemplate.groovy:94)
	at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at grails.gorm.transactions.GrailsTransactionTemplate.execute(GrailsTransactionTemplate.groovy:91)
	at au.org.ala.collectory.ProviderGroupController$_closure12.doCall(ProviderGroupController.groovy:257)
	at org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
	at org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
	at org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
	at org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
	at org.jasig.cas.client.util.HttpServletRequestWrapperFilter.doFilter(HttpServletRequestWrapperFilter.java:71)
	at org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:236)
	at org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:97)
	at org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
	at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
	at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
	at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
	at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)\n

Review data model for institution hierarchies

migrated from: https://code.google.com/p/ala/issues/detail?id=180
date: Thu Aug 8 17:09:09 2013
author: moyesyside


Original Issue reported by Project Member Reported by [email protected], Nov 23, 2010 - https://code.google.com/p/ala-collectory/issues/detail?id=5

Project Member Reported by [email protected], Nov 23, 2010
We currently model collections as belonging to a single institution. Hierarchies are achieved by institutions having child institutions.
Occurrence records map to a single institution.
This makes aggregation of record stats difficult for parent institutions.

Review and see if we can adopt a better model.

admin page permissions issue

Both https://collections.ala.org.au/admin and https://collections.ala.org.au/alaAdmin are not allowing access to users with ROLE_ADMIN.

/admin is showing You do not have access to admin tools. ROLE_ADMIN is required.
/alaAdmin is showing Error 403

Other pages that require ROLE_ADMIN are working fine, such as editting DR and CO pages, so could be the admin pages are not being routed via the correct AUTH filters.

EDIT: this is the setting on the server:

security.cas.uriFilterPattern=/admin.*,/collection.*,/institution.*,/contact.*,/reports.*,/providerCode.*,/providerMap.*,/dataProvider.*,/dataResource.*,/dataHub.*,/manage/.*,/alaAdmin.*

https://collections.ala.org.au/alaAdmin/buildInfo works so maybe the .* is not working as it should.

Add curatorialUnit to collections metadata

migrated from: https://code.google.com/p/ala/issues/detail?id=186
date: Thu Aug 8 17:10:28 2013
author: moyesyside


Original Issue reported by Project Member Reported by [email protected], Apr 11, 2011 - https://code.google.com/p/ala-collectory/issues/detail?id=26

Project Member Reported by [email protected], Apr 11, 2011
We currently infer units (as in specimens, cultures, samples) from the collection type and use the unit in displaying numbers, eg 32,000 specimens.

tdwg ontology has a jgtiCuratorialUnit field. We should adopt the unqualified name and explicitly record the desired units for a collection.

Provider map code selection is sticky

Setting provider codes is a bit buggy. Message from Santiago:

"I can create this structure in my portal, thanks so much for your help. But I think that there are a problem when you want to select several collection codes and these collection codes are not together in the list. I've tested it in the ala-demo. I attach 2 images with the results.

In the first image you can see that I select tow codes: MA-ALage and MA-Hepat, using the cmd or ctrl. https://www.dropbox.com/s/lgqxkfy3sugl954/providerMap_result.png?dl=0

But in the second image you can see the result when I do this. The systems selects also the provider-code that is in the middle. https://www.dropbox.com/s/9batrjabmjgg08o/ProviderMap_Selection.png?dl=0
"

Download stats to exclude testing

The various institution and collection pages include record download stats. We've had a few emails asking that the "This month" and "Last 3 months" counts to exclude the testing category (the "Last 12 months" provides a full breakdown by all the reason, so it can be calculated but is a pain).

I suggest we provide 2 totals for each of the temporal ranges - both with and without testing category included.

Single URL entrypoint for admin tasks

For some admin pages you have different URLs:

/collectory/manage/list
/collectory/dataResource/list
...

You can deny access by URL using simple apache configuration, so It should be easier if all administrative urls have the same parent. Something like this:

/collectory/admin/list
/collectory/admin/dataResource/list
/collectory/admin/institurion/list
/collectory/admin/dataProvider/list
...

This way you can deny or allow to collectory/admin with only one rule.

Error when trying to create a new data resource

On https://collections.ala.org.au/dataResource/create

Error 500: Hibernate operation: could not execute statement; SQL [n/a]; Column 'attributions' cannot be null; nested exception is java.sql.SQLIntegrityConstraintViolationException: Column 'attributions' cannot be null
Servlet: grailsDispatcherServlet
URI: /dataResource/create
Exception Message: Hibernate operation: could not execute statement; SQL [n/a]; Column 'attributions' cannot be null; nested exception is java.sql.SQLIntegrityConstraintViolationException: Column 'attributions' cannot be null
Caused by: Hibernate operation: could not execute statement; SQL [n/a]; Column 'attributions' cannot be null; nested exception is java.sql.SQLIntegrityConstraintViolationException: Column 'attributions' cannot be null
Class: AbstractHibernateGormInstanceApi
At Line: [248]

Entity "name lookup" throws `500` error

@sadeghim reports:

Image service throws errors in the log calling things like this: https://collections.ala.org.au/ws/lookup/name/dr342 which raises exception in collectory:

Error 500: org.hibernate.QueryException: Legacy-style query parameters (`?`) are no longer supported; use JPA-style ordinal parameters (e.g., `?1`) instead : select c.name from au.org.ala.collectory.DataResource as c where c.uid = ? [select c.name from au.org.ala.collectory.DataResource as c where c.uid = ?]
Servlet: grailsDispatcherServlet
URI: /ws/lookup/name/dr342
Exception Message: org.hibernate.QueryException: Legacy-style query parameters (`?`) are no longer supported; use JPA-style ordinal parameters (e.g., `?1`) instead : select c.name from au.org.ala.collectory.DataResource as c where c.uid = ? [select c.name from au.org.ala.collectory.DataResource as c where c.uid = ?]
Caused by: org.hibernate.QueryException: Legacy-style query parameters (`?`) are no longer supported; use JPA-style ordinal parameters (e.g., `?1`) instead : select c.name from au.org.ala.collectory.DataResource as c where c.uid = ? [select c.name from au.org.ala.collectory.DataResource as c where c.uid = ?]
Class: UrlMappingsInfoHandlerAdapter
At Line: [90] 

He thinks these lines might be it https://github.com/AtlasOfLivingAustralia/collectory-plugin/blob/3c7ad46e8d68065d1885137e5e6848e2f61e19ad/grails-app/controllers/au/org/ala/collectory/LookupController.groovy#L120

Grails 4 Upgrade

Work underway on develop branch, a build is pushed to nexus.

Todo:

  • Enable CAS
  • File uploads in data resource pages
  • Fix logger stats on public pages
  • Check GBIF integration (data publishing and repatriation)
  • Charts on data resource, provider, collection and institution pages

Unable to set protocol field for new dataset

While setting up a new dataset, if I set the protocol field to "Darwin Core csv" on the mobilisation page I get the following error:

Error 500: Error processing GroovyPageView: Error executing tag <cl:showConnectionParameters>: Cannot invoke method replaceAll() on null object
Servlet: grails
URI: /grails/dataResource/show.dispatch
Exception Message: Cannot invoke method replaceAll() on null object
Caused by: Error processing GroovyPageView: Error executing tag <cl:showConnectionParameters>: Cannot invoke method replaceAll() on null object
Class: CollectoryTagLib
At Line: [530] 

and stack trace

org.codehaus.groovy.grails.web.pages.exceptions.GroovyPagesException: Error processing GroovyPageView: Error executing tag <cl:showConnectionParameters>: Cannot invoke method replaceAll() on null object

    at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:195)

    at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63)

    at au.org.ala.cas.client.AlaHttpServletRequestWrapperFilter.doFilter(AlaHttpServletRequestWrapperFilter.java:66)

    at au.org.ala.cas.client.UriFilter.doFilter(UriFilter.java:189)

    at org.jasig.cas.client.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:93)

    at au.org.ala.cas.client.UriFilter.doFilter(UriFilter.java:189)

    at org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:196)

    at au.org.ala.cas.client.UriFilter.doFilter(UriFilter.java:189)

    at org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:65)

    at java.lang.Thread.run(Thread.java:619)

Caused by: org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException: Error executing tag <cl:showConnectionParameters>: Cannot invoke method replaceAll() on null object

    at gsp_collectory_dataResourceshow_gsp$_run_closure2.doCall(gsp_collectory_dataResourceshow_gsp.groovy:218)

    at gsp_collectory_dataResourceshow_gsp.run(gsp_collectory_dataResourceshow_gsp.groovy:355)

    ... 10 more

Caused by: java.lang.NullPointerException: Cannot invoke method replaceAll() on null object

    at au.org.ala.collectory.MetadataService.convertPath(MetadataService.groovy:59)

    at au.org.ala.collectory.CollectoryTagLib$_closure96_closure164.doCall(CollectoryTagLib.groovy:1793)

    at au.org.ala.collectory.CollectoryTagLib$_closure96.doCall(CollectoryTagLib.groovy:1777)

    ... 12 more

Going back in the browser and changing the field back to none removes the error.

Can not upload the DwC-A from IPT through the "Upload GBIF File" option

When we try to upload a DwC-A created by our national IPT through the "Upload GBIF File" option, it does not work.
Actually, we think that maybe it comes from DwC archive structure. In the GBIF DwC-A, we can find a folder name dataset with the EML of this specific dataset. This folder does not exist on the DwC-A created by our IPT.

Here, you can find a screenshot of the error:
screen shot 2014-07-25 at 10 10 46

The strack trace :

org.codehaus.groovy.grails.web.json.JSONException: JSONObject["guid"] not found.

at au.org.ala.collectory.GbifService.createGBIFResource(GbifService.groovy:254)
at au.org.ala.collectory.GbifService.createGBIFResourceFromMultipart(GbifService.groovy:232)
at au.org.ala.collectory.ProviderGroupController$_closure22.doCall(ProviderGroupController.groovy:532)
at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:195)
at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63)
at au.org.ala.cas.client.UriFilter.doFilter(UriFilter.java:200)
at au.org.ala.cas.client.UriFilter.doFilter(UriFilter.java:200)
at au.org.ala.cas.client.UriFilter.doFilter(UriFilter.java:200)
at org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:65)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

You can find the DwC-A tested here : https://www.dropbox.com/s/h2wjf2ja1f1ogmv/dwca.zip

No transaction in progress error when updating logo

Attempting to add a logo on the data resource page generates the following error on https://collections.ala.org.au/dataResource/image

javax.persistence.TransactionRequiredException: no transaction is in progress

	at org.hibernate.internal.AbstractSharedSessionContract.checkTransactionNeededForUpdateOperation(AbstractSharedSessionContract.java:413)

	at org.hibernate.internal.SessionImpl.checkTransactionNeededForUpdateOperation(SessionImpl.java:3395)

	at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1352)

	at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1347)

	at org.grails.orm.hibernate.AbstractHibernateGormInstanceApi.flushSession(AbstractHibernateGormInstanceApi.groovy:285)

	at org.grails.orm.hibernate.AbstractHibernateGormInstanceApi$_performSave_closure3.doCall(AbstractHibernateGormInstanceApi.groovy:250)

	at org.grails.orm.hibernate.GrailsHibernateTemplate.doExecute(GrailsHibernateTemplate.java:297)

	at org.grails.orm.hibernate.GrailsHibernateTemplate.execute(GrailsHibernateTemplate.java:241)

	at org.grails.orm.hibernate.GrailsHibernateTemplate.execute(GrailsHibernateTemplate.java:120)

	at org.grails.orm.hibernate.AbstractHibernateGormInstanceApi.performSave(AbstractHibernateGormInstanceApi.groovy:247)

	at org.grails.orm.hibernate.AbstractHibernateGormInstanceApi.save(AbstractHibernateGormInstanceApi.groovy:164)

	at org.grails.datastore.gorm.GormEntity$Trait$Helper.save(GormEntity.groovy:153)

	at au.org.ala.collectory.ProviderGroupController$_closure26.doCall(ProviderGroupController.groovy:664)

	at org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)

	at org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)

	at org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)

	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)

	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)

	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)

	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)

	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)

	at org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)

	at org.jasig.cas.client.util.HttpServletRequestWrapperFilter.doFilter(HttpServletRequestWrapperFilter.java:71)

	at org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:236)

	at org.jasig.cas.client.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:168)

	at au.org.ala.web.CooperatingFilterWrapper.doFilter(CooperatingFilterWrapper.groovy:31)

	at org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:97)

	at org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)

	at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)

	at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)

	at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)

	at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

	at java.lang.Thread.run(Thread.java:748)

Collection_Editor role not working

Aaron Wilton requires the COLLECTION_EDITOR role to add NZ data resources for the NZVH project. I have assigned him the roles: ROLE_COLLECTION_EDITOR and ROLE_COLLECTION_ADMIN but is still unable to access the data resource Metadata page (gets an error message saying that he needs the collectory editor role), even after logging out and back into the Atlas.

Doug and I have looked into the code and it appears (with our limited knowledge) that auth.ala.org.au is expecting the role ROLE_EDITOR in order to perform this operation.

Note: I originally submitted this issue in the ala_collectory repository... now moved to here.

Suggestion for new feature: Where is my data set?

migrated from: https://code.google.com/p/ala/issues/detail?id=192
date: Thu Aug 8 17:11:37 2013
author: moyesyside


Original Issue reported by Reported by [email protected], Jun 12, 2012 - https://code.google.com/p/ala-collectory/issues/detail?id=45

Reported by [email protected], Jun 12, 2012
This enhancement refers to MY PROFILE and DATASETS

Overview of feature/enhancement:
Currently when people submit a dataset to ALA (http://www.ala.org.au/get-involved/upload-data-sets/), they push the SUBMIT button, and then ... nothing. If a week passes, where is their data? Checking every few days is a tedious and unrewarding chore.

User story describing steps to use functionality:
Probably on the MY PROFILE page (http://www.ala.org.au/my-profile/)
Add a feature that shows VIEW MY DATASETS

What the feature should look like (example URLs accepted):
MY DATASETS
Probably be a subset of ATLAS DATA SETS (http://collections.ala.org.au/datasets)
This page should also include those datasets that have been submitted but not yet have a formal dataset page created.

Can a dataset page be created at submit time?
If so, the dataset page could get its metadata from the details filled in at data upload time.

To keep the user informed, each step of the upload process could be shown as a timestamp at the bottom of the dataset page with an estimate of next step.

Example
Initial submission: 2012-06-13 13:16:45.0
Data quality tests: 2012-06-14 10:00:00.0
Data upload: expected 2012-06-21 12:00:00.0
last updated: 2012-06-14 10:00:00.0

Today (93 minutes ago) Project Member #1 [email protected]
(No comment was entered for this change.)
Owner: [email protected]

Compilation warning on startup

When running locally, the following warning shows in console:

WARNING: The [auditLog] action in [au.org.ala.collectory.ProviderGroupController] accepts a parameter of type [au.org.ala.collectory.ProviderGroup].  Interface types and abstract class types are not supported as command objects.  This parameter will be ignored.

       def auditLog(ProviderGroup pg, String eventName, String property, String oldValue, String newValue, Object persistedObject) {
       ^

Post R5 - Collectory - type specimens

migrated from: https://code.google.com/p/ala/issues/detail?id=179
date: Thu Aug 8 17:08:57 2013
author: moyesyside


Original Issue reported by Project Member Reported by [email protected], Nov 2, 2010 - https://code.google.com/p/ala-collectory/issues/detail?id=3

Project Member Reported by [email protected], Nov 2, 2010
Consider adding breakdown of type specimines within a collection on the records tab of the collection. -originally entered by Benay.

Nov 2, 2010 Project Member #1 [email protected]
(No comment was entered for this change.)
Labels: -Type-Defect Type-Enhancement

Update map tool

Remove Open Layers (only app using it still) and implement with Leaflet, so it is consistent with rest of ALA code base.

Null error when importing a GBIF DwC-A

Please try and import this DwC-A using the "upload from GBIF" option using the Collectory present in the ala-demo
http://api.gbif.org/v1/occurrence/download/request/0000001-150221044754056.zip

"An error has occurred
Error: unknown"

Looking at the catalina.out (also - note the bad logging configuration...) you'll see:

2015-05-05 10:02:38,336 ERROR [GrailsExceptionResolver]  MysqlDataTruncation occurred when processing request: [POST] /collectory/dataResource/uploadGBIFFile
Data truncation: Data too long for column 'citation' at row 1. Stacktrace follows:
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'citation' at row 1
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3374)

GBIF now provide long citations, and descriptions, and I suspect we might need to consider using TEXT types in the database.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.