Coder Social home page Coder Social logo

ec-jrc / re3gistry Goto Github PK

View Code? Open in Web Editor NEW
29.0 18.0 21.0 128.45 MB

Re3gistry is a reusable open source solution for managing and sharing ‘reference codes’, ensuring semantic interoperability across organisations.

License: European Union Public License 1.2

Java 77.97% CSS 2.27% JavaScript 12.25% HTML 5.56% PHP 0.07% SCSS 0.29% XSLT 1.59%
controlled-vocabularies reference-codes register governance multilingualism registry iso19135 pid versioning interoperability

re3gistry's Introduction

Re3gistry software & Register Federation Tool

Re3gistry

About the Re3gistry

European Union Public Licence 1.2 Latest version

© 2020-2024 European Union. Licensed under the EUPL.

Logo

The Re3gistry software is a reusable open-source solution for managing and sharing ‘reference codes’ through persistent URIs, ensuring that concepts are unambiguously referenced in any domain.

Reference codes can be sets of permissible values for a data field or to provide a reference or context for the data being exchanged between applications. Reference codes include enumerations, controlled vocabularies, taxonomies, thesauri or, simply, ‘lists of things’.

Licensed under the EUPL, Re3gistry is an open-source project that can be deployed and further developed by contributors from any sector; check out the Re3gistry Governance and contribution guidelines below. A license copy is available in the repository's LICENSE file.

What Re3gistry offers you?

The Re3gistry provides a central access point where labels and descriptions for reference codes are easily accessible by both humans and machines while fostering semantic interoperability across organisations.

Managing reference codes and setting up registries (systems of registers) helps:

  • Avoiding common mistakes such as misspellings, entering synonyms, or filling out online forms.
  • Facilitating the internationalisation of user interfaces by providing multilingual labels.
  • Ensuring semantic interoperability when exchanging data between systems and applications.
  • Tracing changes over time through a well-documented versioning system.
  • Increasing the value of the reference codes, if widely reused and referenced

Check out the Re3gistry promotional video and Re3gistry demo playlist for a taster of the software's functionalities.

Re3gistry features

  • Ready-to-use & customisable interface interface​
  • Intuitive editing interface
  • RESTful API
  • Built-in ISO 19135 Reference codes management workflow
  • Multi-lingual content support
  • Automatic versioning
  • Highly flexible and customisable data models - Formats available: HTML, ISO 19135 XML, JSON, RDF/XML, Re3gistry XML, CSV
  • Bulk import functionality
  • SOLR indexing and search engine
  • Installation wizard, including migration support from Re3gistry 1.3.X instances
  • Different authentication systems supported
  • Support of externally governed items referenced through URI
  • Support for register federation tool (RoR) with .ror files provision
  • User, Administrator and Developer guides

The Re3gistry software version numbers comply with the Semantic Versioning Specification 2.0.0.

Documentation

Acknowledgements

The development of the Re3gistry began in 2013 under the Are3na action (ISA Programme), continuing since 2016 under the ELISE action of the ISA2 Programme. Starting in 2022, the Digital Europe Programme is funding its development.

Version 2 of the software was developed with the National Land Survey of Finland.

Register Federation Tool

About the Register Federation Tool

European Union Public Licence 1.2

© 2020-2024 European Union. Licensed under the EUPL.

Logo

Within this repository, you will also find the Register-Federation-Tool.

This tool allows you to gather external records from third parties in one place. It also allows you to search across subscribed registers and find extensibility relationships between them. The tool, therefore, takes advantage of the reuse of existing semantic resources, reducing data redundancy and avoiding copying errors.

Register interconnection is possible by connecting registers that implement the ROR data exchange specification. Re3gistry produces this exchange format automatically between its export formats.

The European Commission Joint Research Center developed the Register Federation Tool as a testbed funded by the ISA Action 1.17 "ARE3NA" to test the feasibility of creating and declaring code list extensions that accommodate specific semantic needs while guaranteeing interoperability of the systems that use them. Since then, the European Commission has operated the [INSPIRE federated registry] (https://inspire.ec.europa.eu/register-federation/) to publish extensions to the INSPIRE code lists used in national and thematic contexts. This favours flexibility and the satisfaction of specific needs, guaranteeing the general interoperability of the INSPIRE spatial data infrastructure.

However, this tool can be used in any domain that uses semantic assets, so it is freely distributed as an open source for anyone who needs to cover this gap.

Documentation

Stay tuned

Join this repository and subscribe to notifications.

Get registered and subscribe to the Re3gistry solution in Joinup to get all updates about the software.

Re3gistry survey

There is available a Re3gistry survey. Please complete it and let us know your opinion.

Re3gistry governance and Contributions (Under development)

The Re3gistry project has established a governance model with well-defined processes to ensure the best use and sustainability of the software by the contributors and the community. The governance is overseen by the Re3gistry managers.

Project boards

  • Improvement Proposal (IP)

    • If you want to discuss an idea before documenting a full IP, create a new issue using the IP template. Complete the template as much as possible and mention that this is not a complete proposal yet, but that you are looking for feedback. You will be asked to complete the proposal if the idea is supported.
  • Bug fixing

    • If you would like to submit a bug report, please create a new issue in the Re3gistry repository using the Bug report template. The issue will be analysed and added to the bug fixing project board. If the development team needs more information, you might be contacted.
    • The project board will be updated whenever the status of an issue changes.
    • Pull requests for bug fixes are welcome (see more in "Contribution" below)!

Contributions

Re3gistry welcomes contributions from everyone; please read carefully the contribution guidelines and follow our Code of Conduct.

Release plan

Check out the Re3gistry release plan for 2022-2024.

re3gistry's People

Contributors

alexanderkotsev avatar arantzaetxebarria avatar dependabot[bot] avatar df-git avatar dhbello avatar emanuelaepure10 avatar enekoruiz avatar fabianospinelli avatar fabiovinci avatar heidivanparys avatar hernlor avatar iratigarzon avatar juanpelegrina avatar oruscalleda avatar oscar9 avatar unaibrrgn avatar zakarfin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

re3gistry's Issues

Date field value

I can input any (string) value to a date field.

How I got to the bug:
I created a new register item. This item has also a date field. While inserting values I can put any string in the date field (for example: "aaa"). When I am in the date field the calendar where I can choose a date isn't shown. I can confirm such value and save the item.

When I edit this same item and I enter the date field, the calendar is shown but I can still input any string in this field.

I believe this is not an expected behavior. I used Firefox and Edge.

Shiro authentication issue after a wrong login

There is an bug when shiro authentication is setup, and an user try to login with invalid credentials. To reproduce, follow this steps:

  • Try to login with invalid credentials, the incorrect messages will appear.
  • Then, try to login with valid credentials, a blank page will appear.

It looks like the eu.europa.ec.re3gistry2.web.controller.ValidateSalt, blocks the request - if the "/login" url pattern is removed in the ValidateSalt filter mapping, works correctly.

I believe that this issue is related of how the eu.europa.ec.re3gistry2.web.controller.Login servelet redirects a failed login or related with shiro configuration. Any ideas?

Write permission for configuration_files folder

After installing the Re3gistry 2 core app (i.e. re3gistry2 and re3gistry2restapi), following the steps described in the administrator manual (i.e. configuration and launch of init.properties script, customization of the application's configuration files, database setup, copy of the 2 apps in the tomcat webapps folder), I started the installation wizard filling all information required and choosing the migration option.

The migration failed but no error message was shown neither I received a notification by email.
Then I tried again choosing the installation option and this time the error message "Permission denied" appeared. Thanks to the support of the Re3gistry team, I realized that this meant that the configuration_files folder shall have the write permission.

Please add this important information in the administrator manual.

Moreover, a more explanatory error message should be shown also in case of the migration option.

Wrong path for some items in the search results

I performed a search in the Italian registry web interface and I noticed that in case of a hierarchical register the path for some items in the search results page is not properly created.

In the image below an example of that case:

wrong-path

The right path for the item would be /ict-professional-profiles/systemsAnalyst/geoDataAnalyst but that one created in the results page is /ict-professional-profiles/geoDataAnalyst.

DataTables warning popup when clicking manage content

DataTables warning popup when clicking manage content

  • [ x ] a description of the steps to reproduce your issue

Clicking on Content icon on top tool bar it outputs an DataTables warning and is not certain if it works properly.

  • [ x ] the browser and version used

Firefox 80.0.1 Linux

  • [ x ] a screenshot illustrating the problem

image

  • [ x ] the URL of your service / the file you have uploaded or referenced (as
    an attachment).

https://re3gistry.isric.org/re3gistry2

This is a testing service, I can provide the login for testing debug, gitter: @jorgejesus

Can't find associated items

Dear team,
I have tried to remove a register class but the application says that it has some items associated although I can't find them (nor in the content section nor in the structure section). It had an item (draft) but I removed its corresponding class.
Is there any way to force the deletion or maybe reset the database...?
Thank you
P.S. I'm working with Re3gistry 2.0

csv template

Please follow the template below and provide at least information for
the first 4 sections

Background and Motivation

I'm strong interested on bulk imports, because to test the potential feasibility on MS level.
My attributes in the csv are not accepted.

Proposed change

could you provide an example of a correct csv file in the documentation

Alternatives

a smart option would be, if I go directly to a content - code list like Specific Hazard Type, create a "dynamic" template which contains items like natural risk zones for the theme.

Funding

Is there full or partial funding available for implementing this proposal?

Additional information

This is an optional section for additional information. These could include,
for example:

  • the impact of this improvement proposal, known risks or compatibility issues
    on existing deployments.
  • (time) constraints, if this proposal is fully or partially funded

clarification concerning system language support

In a local instance and connecting to a DB that had already some content from re3gistry2, the install wizard indicated 2 Languages as supported languages: EN and NL.

How are system languages picked up, some configuration flag or from languages support on Linux locale system ???

Thank you

Remove registers and items

Dear team,
I would like to remove some specific registers and items created (not classes but contents). How can I do it?
Thank you,
P.S. I'm working with Re3gistry 2.0

The relationalReference field - hiding not valid values

When adding an item that has a relationalReference field, it should display only valid values. Now you can choose also an invalid, retired or superseded value. On the screenshot: 3 values are valid, other 3 are not - since they have the same label it is impossible to tell which is which.
contained items relationalReference

Issue installation process

In a deployment on my own computer, the button "Continue" on the page shown in the screenshot below works fine, and the second step is shown afterwards.

However, in the deployment on an internal server, the button "Continue" on the first page results in an error in the log, and in the first page being shown again.

image

I added some debugging (see https://github.com/heidivanparys/re3gistry/commits/additional_changes_2 for the code used for the application).

On my computer

  • Windows 10
  • Java AdoptOpenJDK x64_jdk8u265-b01
  • Apache Tomcat 8.5.70
  • Apache Solr 8.9.0
  • no Apache Server

when calling re3gistry2/install I get:

[DEBUG] 2021-10-26 20:57:27.518 [http-nio-8088-exec-1] [controller.ValidateSalt.doFilter:57] - Validating that the salt is in the cache
[DEBUG] 2021-10-26 20:57:27.545 [http-nio-8088-exec-1] [controller.ValidateSalt.doFilter:77] - Salt is not in cache, but HTTP method is not POST, thus moving on
[TRACE] 2021-10-26 20:57:27.590 [http-nio-8088-exec-1] [controller.Install.processRequest:53] - Start processing request in eu.europa.ec.re3gistry2.web.controller.Install
[DEBUG] 2021-10-26 20:57:27.591 [http-nio-8088-exec-1] [utility.Configuration.initServlet:166] - Start initialising servlet
[DEBUG] 2021-10-26 20:57:27.595 [http-nio-8088-exec-1] [utility.Configuration.initServlet:184] - Proceed initialising servlet
[TRACE] 2021-10-26 20:57:27.595 [http-nio-8088-exec-1] [utility.Configuration.initServlet:187] - Initialise properties
[TRACE] 2021-10-26 20:57:27.595 [http-nio-8088-exec-1] [utility.Configuration.initServlet:192] - Initialise localisation
[TRACE] 2021-10-26 20:57:27.596 [http-nio-8088-exec-1] [utility.Configuration.initServlet:197] - Initialise available languages in session if needed
[DEBUG] 2021-10-26 20:57:27.597 [http-nio-8088-exec-1] [utility.Configuration.initServlet:209] - Current page name=/install
[DEBUG] 2021-10-26 20:57:27.597 [http-nio-8088-exec-1] [utility.Configuration.initServlet:217] - Check user
[TRACE] 2021-10-26 20:57:35.604 [http-nio-8088-exec-1] [utility.UserHelper.checkUser:81] - loginType=SHIRO
[DEBUG] 2021-10-26 20:57:35.612 [http-nio-8088-exec-1] [utility.Configuration.initServlet:225] - No user found
[DEBUG] 2021-10-26 20:57:35.655 [http-nio-8088-exec-1] [controller.Install.processRequest:72] - install step = 1
[DEBUG] 2021-10-26 20:58:09.414 [http-nio-8088-exec-5] [controller.ValidateSalt.doFilter:57] - Validating that the salt is in the cache
[DEBUG] 2021-10-26 20:58:09.415 [http-nio-8088-exec-5] [controller.ValidateSalt.doFilter:65] - Salt is in cache, thus moving on
[TRACE] 2021-10-26 20:58:09.416 [http-nio-8088-exec-5] [controller.Install.processRequest:53] - Start processing request in eu.europa.ec.re3gistry2.web.controller.Install
[DEBUG] 2021-10-26 20:58:09.416 [http-nio-8088-exec-5] [utility.Configuration.initServlet:166] - Start initialising servlet
[DEBUG] 2021-10-26 20:58:09.417 [http-nio-8088-exec-5] [utility.Configuration.initServlet:184] - Proceed initialising servlet
[TRACE] 2021-10-26 20:58:09.418 [http-nio-8088-exec-5] [utility.Configuration.initServlet:187] - Initialise properties
[TRACE] 2021-10-26 20:58:09.418 [http-nio-8088-exec-5] [utility.Configuration.initServlet:192] - Initialise localisation
[TRACE] 2021-10-26 20:58:09.418 [http-nio-8088-exec-5] [utility.Configuration.initServlet:197] - Initialise available languages in session if needed
[DEBUG] 2021-10-26 20:58:09.418 [http-nio-8088-exec-5] [utility.Configuration.initServlet:209] - Current page name=/install
[DEBUG] 2021-10-26 20:58:09.418 [http-nio-8088-exec-5] [utility.Configuration.initServlet:217] - Check user
[TRACE] 2021-10-26 20:58:09.583 [http-nio-8088-exec-5] [utility.UserHelper.checkUser:81] - loginType=SHIRO
[DEBUG] 2021-10-26 20:58:09.597 [http-nio-8088-exec-5] [utility.Configuration.initServlet:225] - No user found
[DEBUG] 2021-10-26 20:58:10.118 [http-nio-8088-exec-5] [controller.Install.processRequest:72] - install step = 2

On the server

  • Ubuntu v20.04LTS
  • Java 1.8.0_292-8u292-b10-0ubuntu1~20.04-b10
  • Apache Tomcat 8.5.70
  • Apache Solr 8.9.0
  • Apache Server installed, but the application on the Tomcat is accessed directly
[DEBUG] 2021-10-26 21:04:04.926 [http-nio-8080-exec-26] [controller.ValidateSalt.doFilter:57] - Validating that the salt is in the cache
[DEBUG] 2021-10-26 21:04:04.932 [http-nio-8080-exec-26] [controller.ValidateSalt.doFilter:77] - Salt is not in cache, but HTTP method is not POST, thus moving on
[DEBUG] 2021-10-26 21:04:05.208 [http-nio-8080-exec-27] [controller.ValidateSalt.doFilter:57] - Validating that the salt is in the cache
[DEBUG] 2021-10-26 21:04:05.209 [http-nio-8080-exec-27] [controller.ValidateSalt.doFilter:77] - Salt is not in cache, but HTTP method is not POST, thus moving on
[TRACE] 2021-10-26 21:04:05.210 [http-nio-8080-exec-27] [controller.Login.processRequest:42] - Start processing request in eu.europa.ec.re3gistry2.web.controller.Login
[DEBUG] 2021-10-26 21:04:05.210 [http-nio-8080-exec-27] [utility.Configuration.initServlet:162] - Start initialising servlet
[TRACE] 2021-10-26 21:04:05.211 [http-nio-8080-exec-27] [utility.Configuration.initServlet:177] - Redirecting to ./install
[ERROR] 2021-10-26 21:04:05.211 [http-nio-8080-exec-27] [controller.Login.doGet:64] - Cannot forward after response has been committed
java.lang.IllegalStateException: Cannot forward after response has been committed
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:326) ~[catalina.jar:8.5.70]
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:316) ~[catalina.jar:8.5.70]
	at eu.europa.ec.re3gistry2.web.controller.Login.processRequest(Login.java:54) ~[classes/:?]
	at eu.europa.ec.re3gistry2.web.controller.Login.doGet(Login.java:61) [classes/:?]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:655) [servlet-api.jar:?]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) [servlet-api.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [catalina.jar:8.5.70]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.70]
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-websocket.jar:8.5.70]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.70]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.70]
	at eu.europa.ec.re3gistry2.web.controller.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:47) [classes/:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.70]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.70]
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) [shiro-core-1.8.0.jar:1.8.0]
	at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) [shiro-core-1.8.0.jar:1.8.0]
	at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) [shiro-core-1.8.0.jar:1.8.0]
	at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.70]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.70]
	at eu.europa.ec.re3gistry2.web.controller.ValidateSalt.doFilter(ValidateSalt.java:78) [classes/:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.70]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.70]
	at eu.europa.ec.re3gistry2.web.controller.LoadSalt.doFilter(LoadSalt.java:72) [classes/:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.70]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.70]
	at org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71) [log4j-web-2.14.1.jar:2.14.1]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.70]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.70]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:196) [catalina.jar:8.5.70]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [catalina.jar:8.5.70]
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:544) [catalina.jar:8.5.70]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) [catalina.jar:8.5.70]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) [catalina.jar:8.5.70]
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698) [catalina.jar:8.5.70]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [catalina.jar:8.5.70]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:364) [catalina.jar:8.5.70]
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:624) [tomcat-coyote.jar:8.5.70]
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-coyote.jar:8.5.70]
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831) [tomcat-coyote.jar:8.5.70]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1650) [tomcat-coyote.jar:8.5.70]
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:8.5.70]
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) [tomcat-util.jar:8.5.70]
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) [tomcat-util.jar:8.5.70]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.5.70]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_292]
[DEBUG] 2021-10-26 21:04:05.417 [http-nio-8080-exec-28] [controller.ValidateSalt.doFilter:57] - Validating that the salt is in the cache
[DEBUG] 2021-10-26 21:04:05.418 [http-nio-8080-exec-28] [controller.ValidateSalt.doFilter:77] - Salt is not in cache, but HTTP method is not POST, thus moving on
[TRACE] 2021-10-26 21:04:05.418 [http-nio-8080-exec-28] [controller.Install.processRequest:53] - Start processing request in eu.europa.ec.re3gistry2.web.controller.Install
[DEBUG] 2021-10-26 21:04:05.419 [http-nio-8080-exec-28] [utility.Configuration.initServlet:162] - Start initialising servlet
[DEBUG] 2021-10-26 21:04:05.419 [http-nio-8080-exec-28] [utility.Configuration.initServlet:180] - Proceed initialising servlet
[TRACE] 2021-10-26 21:04:05.419 [http-nio-8080-exec-28] [utility.Configuration.initServlet:183] - Initialise properties
[TRACE] 2021-10-26 21:04:05.419 [http-nio-8080-exec-28] [utility.Configuration.initServlet:188] - Initialise localisation
[TRACE] 2021-10-26 21:04:05.420 [http-nio-8080-exec-28] [utility.Configuration.initServlet:193] - Initialise available languages in session if needed
[DEBUG] 2021-10-26 21:04:05.421 [http-nio-8080-exec-28] [utility.Configuration.initServlet:205] - Current page name=/install
[DEBUG] 2021-10-26 21:04:05.421 [http-nio-8080-exec-28] [utility.Configuration.initServlet:213] - Check user
[TRACE] 2021-10-26 21:04:07.084 [http-nio-8080-exec-28] [utility.UserHelper.checkUser:81] - loginType=SHIRO
[DEBUG] 2021-10-26 21:04:07.087 [http-nio-8080-exec-28] [utility.Configuration.initServlet:221] - No user found
[DEBUG] 2021-10-26 21:04:07.099 [http-nio-8080-exec-28] [controller.Install.processRequest:72] - install step = 1
[DEBUG] 2021-10-26 21:04:28.269 [http-nio-8080-exec-31] [controller.ValidateSalt.doFilter:57] - Validating that the salt is in the cache
[DEBUG] 2021-10-26 21:04:28.269 [http-nio-8080-exec-31] [controller.ValidateSalt.doFilter:70] - Salt is not in cache, and HTTP method is  POST, thus potential CSRF
[ERROR] 2021-10-26 21:04:28.270 [http-nio-8080-exec-31] [controller.ValidateSalt.doFilter:74] - Potential CSRF detected
[DEBUG] 2021-10-26 21:04:28.368 [http-nio-8080-exec-32] [controller.ValidateSalt.doFilter:57] - Validating that the salt is in the cache
[DEBUG] 2021-10-26 21:04:28.368 [http-nio-8080-exec-32] [controller.ValidateSalt.doFilter:77] - Salt is not in cache, but HTTP method is not POST, thus moving on
[TRACE] 2021-10-26 21:04:28.369 [http-nio-8080-exec-32] [controller.Login.processRequest:42] - Start processing request in eu.europa.ec.re3gistry2.web.controller.Login
[DEBUG] 2021-10-26 21:04:28.369 [http-nio-8080-exec-32] [utility.Configuration.initServlet:162] - Start initialising servlet
[TRACE] 2021-10-26 21:04:28.370 [http-nio-8080-exec-32] [utility.Configuration.initServlet:177] - Redirecting to ./install
[ERROR] 2021-10-26 21:04:28.370 [http-nio-8080-exec-32] [controller.Login.doGet:64] - Cannot forward after response has been committed
java.lang.IllegalStateException: Cannot forward after response has been committed
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:326) ~[catalina.jar:8.5.70]
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:316) ~[catalina.jar:8.5.70]
	at eu.europa.ec.re3gistry2.web.controller.Login.processRequest(Login.java:54) ~[classes/:?]
	at eu.europa.ec.re3gistry2.web.controller.Login.doGet(Login.java:61) [classes/:?]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:655) [servlet-api.jar:?]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) [servlet-api.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [catalina.jar:8.5.70]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.70]
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-websocket.jar:8.5.70]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.70]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.70]
	at eu.europa.ec.re3gistry2.web.controller.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:47) [classes/:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.70]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.70]
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) [shiro-core-1.8.0.jar:1.8.0]
	at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) [shiro-core-1.8.0.jar:1.8.0]
	at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) [shiro-core-1.8.0.jar:1.8.0]
	at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.70]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.70]
	at eu.europa.ec.re3gistry2.web.controller.ValidateSalt.doFilter(ValidateSalt.java:78) [classes/:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.70]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.70]
	at eu.europa.ec.re3gistry2.web.controller.LoadSalt.doFilter(LoadSalt.java:72) [classes/:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.70]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.70]
	at org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71) [log4j-web-2.14.1.jar:2.14.1]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.70]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.70]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:196) [catalina.jar:8.5.70]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [catalina.jar:8.5.70]
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:544) [catalina.jar:8.5.70]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) [catalina.jar:8.5.70]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) [catalina.jar:8.5.70]
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698) [catalina.jar:8.5.70]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [catalina.jar:8.5.70]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:364) [catalina.jar:8.5.70]
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:624) [tomcat-coyote.jar:8.5.70]
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-coyote.jar:8.5.70]
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831) [tomcat-coyote.jar:8.5.70]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1650) [tomcat-coyote.jar:8.5.70]
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:8.5.70]
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) [tomcat-util.jar:8.5.70]
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) [tomcat-util.jar:8.5.70]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.5.70]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_292]
[DEBUG] 2021-10-26 21:04:28.420 [http-nio-8080-exec-18] [controller.ValidateSalt.doFilter:57] - Validating that the salt is in the cache
[DEBUG] 2021-10-26 21:04:28.420 [http-nio-8080-exec-18] [controller.ValidateSalt.doFilter:77] - Salt is not in cache, but HTTP method is not POST, thus moving on
[TRACE] 2021-10-26 21:04:28.421 [http-nio-8080-exec-18] [controller.Install.processRequest:53] - Start processing request in eu.europa.ec.re3gistry2.web.controller.Install
[DEBUG] 2021-10-26 21:04:28.421 [http-nio-8080-exec-18] [utility.Configuration.initServlet:162] - Start initialising servlet
[DEBUG] 2021-10-26 21:04:28.421 [http-nio-8080-exec-18] [utility.Configuration.initServlet:180] - Proceed initialising servlet
[TRACE] 2021-10-26 21:04:28.422 [http-nio-8080-exec-18] [utility.Configuration.initServlet:183] - Initialise properties
[TRACE] 2021-10-26 21:04:28.422 [http-nio-8080-exec-18] [utility.Configuration.initServlet:188] - Initialise localisation
[TRACE] 2021-10-26 21:04:28.422 [http-nio-8080-exec-18] [utility.Configuration.initServlet:193] - Initialise available languages in session if needed
[DEBUG] 2021-10-26 21:04:28.423 [http-nio-8080-exec-18] [utility.Configuration.initServlet:205] - Current page name=/install
[DEBUG] 2021-10-26 21:04:28.423 [http-nio-8080-exec-18] [utility.Configuration.initServlet:213] - Check user
[TRACE] 2021-10-26 21:04:28.448 [http-nio-8080-exec-18] [utility.UserHelper.checkUser:81] - loginType=SHIRO
[DEBUG] 2021-10-26 21:04:28.450 [http-nio-8080-exec-18] [utility.Configuration.initServlet:221] - No user found
[DEBUG] 2021-10-26 21:04:28.463 [http-nio-8080-exec-18] [controller.Install.processRequest:72] - install step = 1

So on the server

  • eu.europa.ec.re3gistry2.web.controller.Login is called
  • java.lang.IllegalStateException: Cannot forward after response has been committed is thrown
  • there is a message Potential CSRF detected

Any help with identifying the problem behind this would be very welcome.

Question regarding eclipselink.ddl-generation = create-tables

I was wondering whether eclipselink.ddl-generation actually should be set to create-tables,

<property name="eclipselink.ddl-generation" value="create-tables"/>

<persistence.eclipselink.ddl-generation>create-tables</persistence.eclipselink.ddl-generation>

given the fact that the database initialization script has been run already, https://github.com/ec-jrc/re3gistry/blob/master/documentation/administrator-manual.md#database-setup? Or I am missing something here?

Problem building the R3gistry software

I did a GIT clone and opened the MAVEN project using NetBEans. When I try to build the software I get an error

Failed to execute goal on project Re3gistry2: Could not resolve dependencies for project eu.europa.ec:Re3gistry2:war:1.0: Failed to collect dependencies at eu.europa.ec:Re3gistry2Base:jar:1.0: Failed to read artifact descriptor for eu.europa.ec:Re3gistry2Base:jar:1.0: Could not transfer artifact eu.europa.ec:Re3gistry2Base:pom:1.0 from/to vap-sdi-ci.archiva.internal (http://vap-sdi-ci.jrc.it/archiva/repository/internal/): vap-sdi-ci.jrc.it: Unknown host vap-sdi-ci.jrc.it -> [Help 1]

A ping to host vap-sdi-ci.jrc.it returns

D:\projecten\sandbox\r3gistry>ping vap-sdi-ci.jrc.it
Ping request could not find host vap-sdi-ci.jrc.it. Please check the name and try again.

This host is being referred to from the POM

<repositories>
        <repository>
            <id>vap-sdi-ci.archiva.internal</id>
            <name>Internal Release Repository</name>
            <url>http://vap-sdi-ci.jrc.it/archiva/repository/internal/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>vap-sdi-ci.archiva.snapshots</id>
            <name>Internal Snapshots Repository</name>
            <url>http://vap-sdi-ci.jrc.it/archiva/repository/snapshots/</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>

Yke van Randen, Software Engineer @ Wageningen Environmental Research
[email protected]

Fields wrongly visible in the overview table

For some fields I didn't tick the option to show them in table, as you can see in the image below

structure

but those fields continue to be visible in the overview table in the web interface, as you can see in the image below

ui-showtable

Publish changes on registry element

Dear team,
I have modified some contents of the registry element but, although it has been publish by the Registry Manager, it remains as Draft. How can I make it Valid?
Thank you,
P.S. I'm working with Re3gistry 2.0

make Re3gistry more docker/k8s friendly

Background and Motivation

For Re3gistry deployment I can only use Openshift/k8s, and therefore all systems are running on docker containers

Proposed change

  • Change re3gistry2 configuration procedures init-config.sh to use env variables instead of init.properties this will make docker implementation easier (or use templates with env variables)
  • Automatic check if database needs to implemented (run registry2_drop-and-create-and-init.sql automatically if necessary, and with env variables.
  • Create docker-compose as system example
  • Write documentation on solr instance implementation and how we can test it solr is OK, and working for re3gistry2
  • Reimplement webapp (if necessary) only on tomcat instead of apache2 (drop apache2 or just use one system)
  • Documentation on what exactly the install wizard does, and how we can configure an re3gistry instance that doesn't run install at start, just parameters that it changes.

Alternatives

Current deployment is the only alternative, and is not cloud/docker/k8s oriented

Funding

No

Additional information

  • Have a working instance working on openshift3.6 no major issues or problems

Generic error

I installed re3gistry following the installation guide and I have a generic error but I don't know where to look for more information on this bug

Here is the address of my server:
https://dgiwg.ign.fr/re3gistry/

If a codelist is "retired", its codelist values should be retired accordingly.

I created a codelist and I defined some codelist values, then I "retired" it but all the codelist values still show the status "Valid".

I used version 2.2 on Ubuntu 20.4 server.

The expected behaviour should be that if the user "retires" a codelist all the related codelist values should be automatically retired.

Is that correct?

image

Errors in migration of the database tables from an existing Re3gistry installation

After installing the Re3gistry 2 core app (see the steps followed in #30), I started the installation wizard choosing the migration option.

The migration failed and I got the following error notification by email

immagine

Taking a look to the log, the error was raised for the violation of a foreign key as the values in the column “localid” in the table reg_group shall be unique.

Thanks to the support of the Re3gistry team, I realized that the error was due to a wrong/different mapping in the migration procedure between the table "reference" in the old Re3gistry DB schema and the table "reg_group" in the new one.
The table "reference" in the Italian installation indeed included more records with the same "reftype", i.e. registermanager and registerowner (see below), that was not wrong, whereas in the table "reg_group" the "localid" (corresponding to the mentioned "reftype") shall be unique.

uuid email reftype datecreation datelastupdate
1 [email protected] contactpoint 2014-10-14 00:00:00
2 legalnotice 2014-10-14 00:00:00
3 [email protected] controlbody 2014-10-14 00:00:00
4 [email protected] registrymanager 2014-10-14 00:00:00
5 [email protected] registermanager 2014-10-14 00:00:00
6 [email protected] registerowner 2014-10-14 00:00:00
7 registersubmitter 2014-10-14 00:00:00
8 registermanager 2014-10-14 00:00:00
9 registerowner 2014-10-14 00:00:00
10 registermanager 2019-06-05 00:00:00
11 registerowner 2019-06-05 00:00:00
12 [email protected] registermanager 2019-11-18 12:16:00
13 [email protected] registerowner 2019-11-18 12:17:00

The migration procedure should also consider this different mapping between the two mentioned tables.

Moreover, if the master language is not English, the language values in the column “reg_languagecode” ("en" by default) of the table “reg_statuslocalization” are not updated (with "it" in our case) after the migration process, although the value "true" was properly set for Italian in the column “masterlanguage” of the table “reg_languagecode”. That prevents the registers, itemclasses and items from being visualised in the Re3gistry reference codes management tool if a language other than English is selected and an error message appears as shown in the following image.

immagine

Webapp javascript error after update 2.1

Hi there,
first of all. Thanks for the recent update.

Unfortunately, after installing registry 2.1 a js error occurs in the webapp:

Uncaught TypeError: Cannot read property 'sort' of undefined app_core.js:240
at renderProperties (app_core.js:240)
at renderData (app_core.js:116)
at Object. (app_core.js:84)
at c (jquery.min.js:2)
at Object.fireWith [as resolveWith] (jquery.min.js:2)
at l (jquery.min.js:2)
at XMLHttpRequest. (jquery.min.js:2)

The url of the sandbox registry is https://inspire.geoase.eu/registry

Although, I pulled the latest master branch the java admin interface still shows me Version: 2.0.0

I do not know if this is only a problem with the webapp or if the response from
https://inspire.geoase.eu/registry/rest?uri=https%3A%2F%2Finspire.geoase.eu%2Fregistry&lang=en&format=json
is not correct.

I use chromium Version 89.0.4389.90

Would appreciate your help. Thanks
G

Contained items sorting

On the list of contained items there is no possibility to sort the list by columns.

It should also be possible to hide non-valid items.

Issue with ecas-tomcat-8.0-4.15.0.jar while building

After you solved #19 I did a GIT pull and saw the POM was updated. The issue 19 is now gone.

However when I do a "clean and build" (from Maven in NB 11) i get an error concerning ecas.

Failed to execute goal on project Re3gistry2Base: Could not resolve dependencies for project eu.europa.ec:Re3gistry2Base:jar:1.0: Failure to find eu.europa.ec.digit.iam.ecas.client:ecas-tomcat-8.0:jar:4.15.0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced -> [Help 1]

In version1 (march 2020) ecas-tomcat-8.0-3.6.3.jar was created during installation. Now it is not being created and I cannot find it anywhere. I could try to use the old version but I prefer a correct solution.

Do you have any idea ?

Where to find descriptor metadata files?

I have set up the codelist register for NL. I am trying to generate the descriptor metadata files, so I can link our registry/registers to the RoR.

If I understand the user documentation correctly, these metadata files will be exposed when I set the 'Register Federation export' flag to 'On', as below.

image

However, how do I access this export? I don't know where to look for the data.

Re3gistry with geonetwork

Background and Motivation

With version 1.3 of the registry, it was rather easy to import registers/codelists into geoserver in order to reference them. Tested with:
https://vanilla.geocat.net/geonetwork/srv/ger/admin.console#/classific
The import does not work with re3gistry 2 but it works with 1.3

Proposed change

Please add geoserver support for re3gistry 2.X again.

Funding

No Funding

Additional information

I think the impact is big. We are not able to use the codelists in a pragmatic way from geonetwork instances

If you need assistance or more information I'd be glad to help you

Parent codelists

Background and Motivation

If I understand correctly for registry 1.3 codelist children are listed as items within a parent codelist:

https://inspire.ec.europa.eu/codelist/ClassificationItemTypeValue
https://inspire.ec.europa.eu/codelist/AgeBy5YearsValue

Proposed change

Is it feasible/possible to provide an option in order to list children of items as elements in the table of the parent item?

Alternatives

Or is there another option to create "containers" of codelists? e.g in Austria it would be necessary to create different LandUse codelists for federal states and it would be great to collect them in a container of some sort.

Thanks
G

Tomcat error prevents re3gistry2 app from starting

I installed version 2.2.0 of the Re3gistry2 on a Ubuntu server (20.04.2 LTS), with the following versions of the needed software:

  • OpenJDK 1.8.0_292
  • Apache Tomcat 8.5.66
  • Solr 8.8.2
  • PostgreSQL 9.6

I followed all the steps provided in the "Administrator manual" but I receive an error in Tomcat that prevents the starting of the app.

The error details are visible in the screenshot:

Error

Could you please provide your feedback?

Thank you for your support!

Bulk import in case of a hierarchical register

I was creating a hierarchical register by adding the register and its (first level) items through bulk import. When I added the (second level) child item class, I realized that a whole bulk import for this item class is not allowed, but the bulk import shoud be performed for each parent item. That is not very usable as the parent items are 107.

Am I doing something wrong or is it actually so?

If so, I think that allowing a whole bulk import also for the (second level) child item class could be very useful.

I even tried to perform a whole bulk import with a CSV file including the field collection, but it failed despite I was notified that the bulk import had completed successfully.

The version of our registry was upgraded to the latest release 2.1.0.

Thank you very much for your help.

Download codelists in other formats unclear

Background and Motivation

For a codelist register I'd expect that it is possible to also download/get a full codelist in a specific format, like in RDF+XML or CSV. To me it is unclear how / where to do this and which formats are available (if any other than HTML)..

Proposed change

Provide links for each format to get the codelist in. For example like in: http://inspire.ec.europa.eu/metadata-codelist/ProtocolValue. And provide a general description how to get resources from the registry.

Alternatives

Funding

Not (yet) asked, but could do if needed.

Error occurs when a register's name contains 2 dots

An error occurs in the Re³gistry "example service frontend" if a register with 2 dots in its name is shown.
In this case the Re³gistry tries to read a language code from the URL. Loading the website fails if this is not a valid language code.

The problem is this code (and the following lines):

if (urlCheck.length === 3) {

As soon as there are 2 dots in the URL after the last /, the first 2 chars between these dots are read as a language code.

  • a description of the steps to reproduce your issue:
    • Create a register with 2 dots in its name. E.g. "de.codelist.test".
    • Click on it in the "example service frontend"
    • Result: An error is shown.
  • the browser and version used:
    • Problem occurs in any browser.

Error when adding multiple items

I added 2 items to a register. Then I submited and published them. The first item is now visible in register, the second is not. It has "Accepted" status and is listed on the "New items proposed" list. I cannot do anything with this item now - I cannot edit it (since it has "Accepted" status) and I cannot publish it.

Question on roles and permissions

I am trying to understand the following lines of code and the rationale behind it:

#role.permissions.registryManager=ManageRegisterRegistry,ManageItemProposal,ManageFieldMapping,ManageField,ManageUser,ManageGroup,MapGroupToItem,MapUserToGroup,ManageSystem
#role.permissions.registerManager=ManageItemProposal,ManageFieldMapping,PublishProposal
role.permissions.registryManager=ManageRegisterRegistry,ManageItemProposal,ManageFieldMapping,ManageField,ManageUser,ManageGroup,MapGroupToItem,MapUserToGroup,ManageSystem,SubmitProposal
role.permissions.registerManager=ManageFieldMapping,PublishProposal
role.permissions.registerOwner=ManageUser,ManageGroup,MapUserToGroup
role.permissions.controlBody=ApproveProposal
role.permissions.submittingOrganization=ManageItemProposal,SubmitProposal

I made the following mapping, to get a better overview:

control body register manager register owner registry manager submitting organisation
Content editing
submit proposal (x)1 x
manage item proposal (x)2 x x
approve proposal x
publish proposal x
User & group management
manage group x x
manage user x x
map user to group x x
map group to item x
Structure & data model management
manage field x
manage field mapping x x
manage register & registry x
System management
manage system x

1 Present in the default configuration, not present in the line that is commented out.
2 Not present in the default configuration, present in the line that is commented out.

My questions:

  1. What is the reason behind the lines that are commented out? Was the configuration different earlier? Why was it changed?
  2. What does it mean exactly to map groups to items? I read the documentation, but I can't seem to find anything about that.
  3. Are "manage group", "manage user", "manage user to group" and "map group to item" still relevant, or are they perhaps part of another permission? I'm asking because I tried to figure out what exactly MapGroupToItem meant, and in that process I noticed that I got no results back when searching the code for references regarding these four permissions, see also screenshot below for what it looks like for one of them. Am I missing something?

image

define a parent

for Specific Hazard Type I addd two concepts, first precipitation than heavy snowfall as narrower concept. to define a parent was possible (running out of time

To help us investigate the issue, you may want to include:

  • [ x] a description of the steps to reproduce your issue
  • [ X] the browser and version used
  • a screenshot illustrating the problem
  • the Test Report (ideally as an attachment to the issue)
  • the name of the Test that failed or better: change the Level of Detail
    in the Report by clicking on All Details, then scroll down to the failed test
    and copy the Link on the right-hand side of the Assertion URI
  • the URL of your service / the file you have uploaded or referenced (as
    an attachment).

If your service is protected or you have confidential data that you cannot
upload here, you can request an email address to which you can send URLs / files.
Please note that issues cannot be investigated for services/datasets that we cannot
access.

Error in migration assistant: "invalidate: Session already invalidated"

  • a description of the steps to reproduce your issue:
  1. Install and configure Re³gistry2 according to manual.
  2. Choose migration option.
  3. Configure access to Re³gistry 1.3.1 DB.
  4. Start migration process.
  5. After at least one hour, an email "installation success" is sent.
  6. Directly afterwards, an email "installation error" is sent with the following content:

Re3gistry - installation error
An error has occurred during the Re3gistry installation, please review your settings. invalidate: Session already invalidated

Detailed guide

Is there available more detailed user / admin manual for the Re3Gistry?
Re3gistry 2 – Quick start guide is good start, but in order to test the system, user needs more detailed information, e.g.
How to setup the Registry?
How to setup the Registers under the registry?
How to create the content for the particular register?
What are the roles in the system and how to manage them?
What are the defined processes behind, how are they related to the parts of the system and what is related functionality (what is behaviour - eg. what shall expect admin, and what user) for the particular parts of the system?
etc.
Without that basic information, is quite challenge to understand, what is ok, and where might be the issue. See another issues.

Thanks, Martin

Possible bug: regItemProposedToRegItem method

I believe that there is a bug when a relation field is tried to be updated (a single value field gets two values). To reproduce it, follow these steps:

  • Update any item relation field (RegItemproposedHandler.updateFields creates with two RegLocalizationProposed records - two different fieldValueIndex)
  • Follow all the acceptance process (submit the action, approve it, etc)
  • When the admin is going to publish the action (RegItemHandler.regItemProposedToRegItem method), the previous value (ej: fieldValueIndex 0) is not deleted, and the new value (ej: fieldValueIndex 1) is saved. Therefore, a single value field receives two values.

My solution was before create/save RegLocalization values, previously delete and renumerate fieldValueIndex values, however, I'm not sure if this is a bug, so I didn't submit a merge/patch.

CSV bulk import of second-level items seen as first-level items?

I am setting up a codelist register. My content structure is as below.

classes

Codelijst is the codelist register, Codelijst-item are the codelists themselves, and Codelijstwaarde are the codelist values.

I am trying to do a bulk import of a csv containing codelist values for one specific codelist. As can be seen in the screenshot below, I press the Bulk import button, while on the content page of the codelist.

bulkimport

I try to add the following codelist value (just one, for testing purposes):

csv

The upload is succesful. However, when I check the action in the Submitting organisations tab, I can see that the item is added at the codelist level, and not as a codelist value.

resultaat

The item is also not added in the New items proposed section, neither at the codelist nor at the codelist value level.

Am I right to expect that I should be able to import codelist values in this manner? Could someone explain whether something is wrong with my workflow?

Thanks in advance.

Error in the homepage in the UI (registers not listed)

I updated the Italian registry (in the dev environment yet) to the latest version of the solution (even though I didn't set up the RSS release note automatic generation due to the missing example "release-note.xml" file - see issue 48) , but I continue to get an error in the homepage of the web interface published by installing the webapp.

In the homepage indeed the registers included in the registry are not listed, but the error shown in the image below appears:

homepage-s

corresponding to the UI request http://10.14.251.252/registry2/rest?uri=http%3A%2F%2F93.147.186.152%2Fregistry2%2F&lang=it&format=jsonc.

If I make a search it works properly as shown in the image below:

search-s

where for each search result the item and the source register are returned.
While the URL linked to the item is proper and the related page returns (as you can see in the image below),

result-item-s

that one linked to all source registers is http://10.14.251.252/registry2/undefined.

I noticed that a similar error is also got in the homepage of the sandbox registry https://inspire.geoase.eu/registry mentioned by @geoase in the issue 41. See image below

au-homepage

I couldn't understand if what described depends on not proper configurations or a bug.

Could you help me?

Thank you very much for your support!

Discussion group in gitter/slack/telegram

Background and Motivation

I am trying to understand how to create codelist on Re3gistry2, and followed the user docs but some basic aspects are not very clear specifically when you don't have experience with INSPIRE

Proposed change

Have a gitter or slack channel where more users can interact and support each other with docs and howtos

Alternatives

Can't find much on google (n00b), the following systems have helped me understand concepts and logic

Funding

No funding required

Additional information

User management interface

Is there an user management graphical interface, which would allow manage users (e.g. invite, create, approve, deactivate, archive, and delete)?

Is it also possible to gropu users into the groups and assign them specific rights/roles?

Thanks, m

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.