Giter Club home page Giter Club logo

eusurvey / eusurvey Goto Github PK

View Code? Open in Web Editor NEW
95.0 95.0 17.0 128.79 MB

EUSurvey is an opensource surveying tool. It features different types of questions, free text fields as well as more complex elements like editable tables and gallery elements. Results can be displayed as histograms, percentages or in full details and can be exported to different formats. All submitted answers (or a sub-set) can be published automatically on a dedicated webpage within the application. It is freely available for any organisation or administration, public or private and can also be deployed as an open source version.

Home Page: https://ec.europa.eu/eusurvey

License: European Union Public License 1.2

Java 71.55% HTML 0.07% CSS 2.22% JavaScript 26.08% XSLT 0.06% Dockerfile 0.01% Shell 0.01%

eusurvey's Introduction

EUSurvey

EUSurvey is the official online survey management tool of the European Commission. Its development was started in 2013 under the supervision of DIGIT and is published as open source software under the terms of the EUPL public license. EUSurvey is a servlet based application and can be installed on any servlet container.

Installation requirements

  1. Tomcat 8
  2. Java 8
  3. MySQL 5.7
  4. Maven

Quick start

Extensive installation guidelines may be found here. We give a summary of installation guidelines here.

Database initialization

  1. Create eusurvey schemas;
create database eusurveydb character set utf8 COLLATE utf8_general_ci;
create database eusurveyreportdb character set utf8 COLLATE utf8_general_ci;
  1. Create a user which will access this schema;
CREATE USER 'eusurveyuser'@'localhost' IDENTIFIED BY 'eusurveyuser'; 
GRANT ALL PRIVILEGES ON eusurveydb.* TO 'eusurveyuser'@'localhost';
GRANT EVENT ON *.* TO 'eusurveyuser'@'localhost'; 

CREATE USER 'eusurveyruser'@'localhost' IDENTIFIED BY 'eusurveyruser'; 
GRANT ALL PRIVILEGES ON eusurveyreportdb.* TO 'eusurveyruser'@'localhost';
  1. Set Mysql variables
SET GLOBAL event_scheduler = ON;
SET GLOBAL log_bin_trust_function_creators = 1;
SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;

Spring properties modification

Modify the spring properties from src/main/config file to match your requirements.

Run the application

Build EUSurvey's war using the following command:

mvn clean install -Denvironment=oss

Build & deploy the application on your tomcat manager using the following command:

mvn clean tomcat7:deploy 
-Dtomcat.admin.password=your_tomcat_password
-Dtomcat.admin=your_tomcat_username
-Dtomcat.deploy.url=your_tomcat_url
-Denvironment=oss

Repository conventions

Workflow

We apply the GitFlow.

Commits

For each commit, we ask to add the number of the issue to which the commit is relevant. E.g. Issue #1245 : Adding css for class .aClassName.

Contributing

Please follow the Forking workflow.

  1. Open a feature issue for your future changes; Over this page, click on the "Issues" button, then click on the "New issue" button and finally create a "Feature Request". Then, detail the feature you would like to implement so that we may discuss the changes to be made in the future Pull Request.

  2. Fork the original repository; When ready to start implementing, click on the "Fork" button. This action opens your personnal fork of this repository.

  3. Clone your fork repository to your local machine; From your repository page, find the "Clone or Download" button, and copy the URL. Then, launch the following commands to clone this repository to your local machine and add our original repository as upstream.

# clone your repository
git clone https://github.com/<YourRepository>/EUSURVEY.git
git remote add upstream https://github.com/EUSurvey/EUSURVEY.git
  1. Create a local branch for your changes; Please name your branch following your issue title, followed by the number of this issue. E.g. for Dockerize the application (issue number 20), name your branch "dockerizeTheApplication#20". Run the following command to create this local branch:
# from develop branch
git checkout -b dockerizeTheApplication#20
  1. Work on this branch and push your changes to your remote repository; Please follow the commit message convention to start the commit message with the issue number as described below. By running the following commands, you may add one or several of the files you changed, commit those, and push these changes to your remote repository, respectively.
# from dockerizeTheApplication#20 branch
git add <changedFile>
git commit -m "Issue #20 : Description of the changes"
git push
  1. Fetch the eventual changes from the original develop branch to your local repository's develop branch; Before submitting your changes to us, please update your repository with the latests changes performed on the original repository's develop branch. To achieve this, you may run the first command which fetches the latest upstream changes, and the second associated with the third which merge these changes in your local develop branch.
# Fetch from upstream remote
git fetch upstream

# Checkout your develop branch and merge upstream
git checkout develop
git merge upstream/develop
  1. Merge the changes from your develop branch to your local issue branch Indeed, you are able to take in account the up changes in your branch, by rebasing all the commits from your develop branch to your development branch.
git checkout dockerizeTheApplication#20
git rebase develop

Then, push your changes as explained before to your fork repository to be ready for the pull request!

  1. Open a pull request from this feature branch to our repository; Finally, from your forked remote repository URL, https://github.com/YourRepository, select the nameOfYourIssue#1 branch and press the "New pull request button". Hence, this will create a pull request to our repository. We will then test your branch, and discuss the pull request together. When accepted, your changes will be inserted into our develop branch by merging your development branch to our develop branch.

eusurvey's People

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  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  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  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  avatar  avatar  avatar

eusurvey's Issues

No "Other" option available for multiple choice.

The EU Survey tool should include an option to have an other option as part of the multiple choice question type that provides a free text field for the user to include an option not listed as part of the multiple choice question.

In the XML export, add the question ID as a property of the related ChoiceAnswers

Is your feature request related to a problem? Please describe.
Context: I'm trying to transform the results of the survey to RDF (in the context of FAIR data) for a study we are doing in the context the int:net Horizon Europe project.

problem; while the XML export is very powerful (and for data management purposes much more reliable than the spreadsheet output), it relies on the order of Question and Answer elements to associate answers of type "Choice answer" to the correct Question element. For example:

<?xml version="1.0" encoding="UTF-8"?>
<Results create="2024-02-27_14-35-46">
	<Survey id="707468" uid="89146514-1776-4ad0-b72b-3d5a2359134a" alias="Eminent">
		<Elements lang="EN">
			<Question id="1" type="Multiple Choice">1. Which SGAM domain(s) best describe your area of expertise </Question>
			<Answer id="a" type="Choice Answer">Customer Premises</Answer>
			<Answer id="b" type="Choice Answer">DER</Answer>
			<Answer id="c" type="Choice Answer">Distribution</Answer>
			<Question id="2" type="Multiple Choice">2. Which SGAM zone(s) best describe your area of expertise?&lt;br /&gt;(SGAM- Smart energy Grid Architecture Model)</Question>
			<Answer id="d" type="Choice Answer">Transmission</Answer>
			<Answer id="e" type="Choice Answer">Generation</Answer>
	</Survey>
	<Answers>
		<AnswerSet list="35897065">
			<Answer qid="f" aid="8"></Answer>
			<Answer qid="g" aid="6"></Answer>
			<Answer qid="h" aid="e5"></Answer>
			<Answer qid="i" aid="30c"></Answer>
			<Answer qid="j" aid="3e4e4907"></Answer>
			<Answer qid="k" aid="174"></Answer>
			<Answer qid="l" aid="6507"></Answer>
		</AnswerSet>
	</Answers>
</Results>

It should be possible to relate
<Answer id="a" type="Choice Answer">Customer Premises</Answer>

To the question to which it is a possible answer, in this case:
<Question id="1" type="Multiple Choice">1. Which SGAM domain(s) best describe your area of expertise?</Question>

without having rely on the order in which the elements occur as xml does not require order to be preserved.

Describe the solution you'd like
Add a qid to the Answer elements in the Survey element (the duplicate use of the term Answer for 2 things that have distinct semantics is also confusing, but that is more easily overcome given the structure of the document), just as is done for Answer Elements in the Answers element. That way, the link between multiple choice question and allowed answers is explicit

Describe alternatives you've considered
Alternatively the Choice Answers could be nested inside the Question Elements for which they may be selected.

Thank you

Emoji not accepted in subject lines, for either saving templates or sending the emails

When sending emails as the survey author, using emoji (e.g. ๐Ÿด) in the Subject line always results in an unexplained and instant error. It also causes saving email templates to fail.

This took a long time to recognise as there is no error text to explain it. If EUSurvey is unwilling to offer emoji in subject lines, there should be clear errors to indicate this. It should also be a 'soft reject' (i.e. keeping you on the same page) instead of a hard error as the error causes you to lose the text entered in the email if it was not saved.

Wrong value of "type" attribute of MatrixQuestion elements in XML export - SOLVED

When exporting to XML either using the web UI or the REST API, the attribute "type" of MatrixQuestion elements contains the value "Single Choice Matrix Question: " (note trailing colon and space) instead of the documented "Single Choice Matrix Question".

A reading of

writer.writeAttribute("type", (matrix.getIsSingleChoice() ? "Single Choice" : "Multiple Choice")
in this repository suggests that multiple choice questions present the same misbehaviour.

Regards

Compilation problem in EUSurvey 1.5.1

Dear all,
I'm trying to compile the EUSURVEY-1.5.1but I'm getting different errors

from the command line using the 'mvn clean package' I got the following error:
Failed tests: springTestContextBeforeTestMethod(com.ec.survey.controller.TestSurveyControllerRefactored): Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Could not open connection
In STS by compiling the project using the run as maven build... and therefore with the text 'package' and skipping the tests I got this:
ERROR[m] Failed to execute goal [32morg.apache.maven.plugins:maven-antrun-plugin:1.7:run[m [1m(preparePackageAntCreateSvnVersionPropertiesForALl)
[m on project [36meusurvey[m: [1;31mAn Ant BuildException has occured: Unable to create javax script engine for javascript[m
[[1;31mERROR[m] [1;31maround Ant part ...... @ 14:21 in C:\EUSURVEY-1.5.1\target\antrun\build-main.xml
My current configuration is:
Windows 10 x64
C:\Users\mauri>echo %JAVA_HOME% ---> C:\Program Files\Java\jdk1.8.0_211
C:\Users\mauri>echo %M2% ---> C:\apache-maven-3.8.8\bin
Server version: 8.0.32 MySQL Community Server - GPL
Apache Tomcat 8.5.84 Server
Spring Tool Suite 4 (Version: 4.18.0.RELEASE)

I'm a newbie in JAVA so if you have some idea on how to solve this issue I thank you in advance.

Notification about submissions

Current version does not permit a survey owner to be notified about new submissions. In some cases it is important - we have surveys that lasts whole year or longer. It would be good that a survey owner does not have to check survey every few days, but is notified about comming subscriptions.

In survey properites it could be an option 'notify owner about submissions' where notification would be sent to the email specified in 'Contact'.

Max characters property in free text question control takes prefill form data - SOLVED

When editing a free text question, in the properties window 'Max characters' input is automatically pre-filled with the name of a user (if auto-complete option is on in the browser).

To Reproduce

  1. Click on any free text control
  2. Open properties window
  3. The Max characters input field is filled in with user name

Expected behavior
The field should remain empty. Probably there is coincidence in the name (id) of the max characters field and user name control?

image

Desktop (please complete the following information):

  • OS: Windows 10 Enterprise 1909
  • Browser Chrome 91.0.4472.164

This require to have form auto-complete turned in

Cannot use survey metadata in the Confirmation Page link

Describe the bug
Cannot use survey metadata with the Confirmation Page link setting.
As you can see in attached figure, there is in the "Complete link" field a HTTPS external website link to call when the survey is submitted (completed and confirmed)
The syntax used is "../Survey/Complete?ProjectToken={ContributionID}"

To Reproduce
Steps to reproduce the behavior:

  1. Create a test survey with 1 question.
  2. Click Properties
  3. Scroll down to Special Page -> Confirmation page
  4. Fill the field with a HTTPS URL and attach at the end a variable with the metadata "Contribution ID" (see pics)
  5. Save the form
  6. Try to submit 1 survey

Expected behavior
The Survey form is submitted and then the redirect to the confirmation link is holding the ContributionID
{ContributionID} must be replaced with the current ContributionID of the submitted survey, and so I expect to have a URL that is
"../Survey/Complete?ProjectToken=187fec87-d66e-4439-97e8-2e39446ec116

Screenshots
Special Pages

Desktop (please complete the following information):

  • OS: Windows 11
  • Browser: Chrome
  • Version: 118

Issue with module-info.java

Hi,
I've imported the project into Eclipse (2020-03) as Java project. After Mave update the only error is in module-info.java (interface expected).
If possible please contact me on [email protected]
Thanks!
Wojtek

A 'number-slider' question cannot be marked as mandatory when displayed as a 'slider'

Describe the bug
A 'number-slider' question cannot be marked as mandatory when displayed as a 'slider'.

To Reproduce
Steps to reproduce the behavior:

  1. Go to the editor page of your survey
  2. Add a 'number-slider' question to your survey
  3. Click on your 'number-slider' element
  4. Mark your question as mandatory
  5. (By default the 'number' option is pre-selected in the display field)
  6. In the display field, click on the 'slider' option
  7. You are no longer able to mark your question as mandatory
  8. Your 'number-slider' question is no longer mandatory

Expected behavior
A 'number-slider' question that is displayed as a 'slider' should be able to be marked as mandatory.

Screenshots
number
Slider

Desktop (please complete the following information):

  • OS: Windows 10
  • Browser: Chrome
  • Version: 89

Smartphone (please complete the following information):

  • Device: n/a
  • OS: n/a
  • Browser: n/a
  • Version: n/a

Additional context
n/a

SandraRubi

Hola [holaDescribe](url
archive_action
#) the bug

A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Critical submission verification bug (CAPTCHA) - SOLVED

Describe the bug
Critical bug what prevents submitting anything on eusurvey due incorrect human verification
https://ec.europa.eu/eusurvey
https://ec.europa.eu/eusurvey/home/support?language=en
tested in with Latvian and English languages

To Reproduce
Steps to reproduce the behavior:

  1. using Google Chrome fill any form you find on eusurvey (bug is global and apparently applies to all forms)
  2. when asked entering verification letters (verification field) - enter them as you see on screen
  3. receive verification error

Expected behavior
You fill the form, enter correct verification code, shown with green letters on screen and it is accepted and data entered
are submitted

Screenshots
eusurvey

Desktop (please complete the following information):

  • OS: Windows 10
  • Google chrome
  • Version 88.0.4324.190 (Official Build) (64-bit)

Additional context
Add any other context about the problem here.

Repeated taglib definitions in statically included delphiAnswersTable.jsp causes exceptions in runtime

Hello,

When I deploy our forked version of EUS application (synced with EUS master few days ago) in Tomcat 9.0.52 then I experience some exception related to repeated taglibs definition, hence I had to remove following 3 first lines from the file below:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="esapi" uri="http://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API" %>

File above is statically included (include directive) in:
WEB-INF/views/runner/elementtemplates.jsp:1505
In such a case taglibs do not need to (cannot actually) be redefined in included file. This is in opposition to dynamic include (<jsp:import...).

Observed exception:

30-Sep-2022 12:04:31.499 SEVERE [http-nio-8080-exec-4] org.apache.catalina.core.ApplicationDispatcher.invoke Servlet.service() for servlet [jsp-servlet] threw exception
	org.apache.jasper.JasperException: /WEB-INF/views/runner/elementtemplates.jsp (line: [1505], column: [4]) /WEB-INF/views/runner/delphiAnswersTable.jsp (line: [1], column: [63]) The prefix [c] specified in this tag directive has been previously used by an action in file [/WEB-INF/views/runner/elementtemplates.jsp] line [1045].

Issue takes place when you login to Admin Console and try to edit content of some survey, then it hangs with endless preloaders trying to load survey and editor components.

Best regards.
Piotr

PDF creator fails

During pdf creation the system crashes

2020-08-04 17:32:31-93669874 [ajp-nio-0:0:0:0:0:0:0:1-8009-exec-1831] (PDFService.java:148) INFO com.ec.survey.service.BasicService - starting creation of answer pdf for contribution 749db2d7-9f94-4053-9f92-5fd853581c21 to be sent to null
2020-08-04 17:32:31-93669890 [taskExecutor-10] (PDFService.java:240) INFO com.ec.survey.service.BasicService - 12100
2020-08-04 17:32:31-93669890 [taskExecutor-10] (PDFService.java:248) INFO com.ec.survey.service.BasicService - starting PDF creation target is C:\eusurveyfs\surveys\9\9aaa8179-22d2-4c02-9f2c-b7ba89744ea8\EXPORTS\answer749db2d7-9f94-4053-9f92-5fd853581c21.pdf
2020-08-04 17:32:31-93669936 [taskExecutor-10] (PDFRenderer.java:137) ERROR com.ec.survey.tools.PDFRenderer - PDFRender.createPDF Error org.xml.sax.SAXParseException; systemId: http://surveys.sitename.com/eusurvey/preparecontribution/749db2d7-9f94-4053-9f92-5fd853581c21; lineNumber: 1; columnNumber: 50; White spaces are required between publicId and systemId.
2020-08-04 17:32:31-93669936 [taskExecutor-10] (PDFService.java:263) ERROR com.ec.survey.service.BasicService - PDF creation for answer 749db2d7-9f94-4053-9f92-5fd853581c21 could not be started.
2020-08-04 17:32:31-93669936 [taskExecutor-10] (PDFService.java:264) ERROR com.ec.survey.service.BasicService - White spaces are required between publicId and systemId.
org.xml.sax.SAXParseException; systemId: http://surveys.sitename.com/eusurvey/preparecontribution/749db2d7-9f94-4053-9f92-5fd853581c21; lineNumber: 1; columnNumber: 50; White spaces are required between publicId and systemId.
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
at com.ec.survey.tools.PDFRenderer.createPDF(PDFRenderer.java:126)
at com.ec.survey.service.PDFService.createAnswerPDF(PDFService.java:258)
at com.ec.survey.tools.AnswerExecutor.run(AnswerExecutor.java:83)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Uploaded files are not accessible for form managers - SOLVED

I'm not sure if this is a bug or some misconfiguration.
We have a survey where users may upload pdf files. In the result page uploaded files are visible, but as a link only to the administrator. For Form Managers (even if they have all privileges) they are presented as a plain text and they cannot download these submitted files.

If user is a Form Manager and have full rights to results they should be able to download associated files.

Confirmation of high-volume surveys in OSS version

When a user creates new survey, he/she need to confirm that: "I confirm that we will inform the EUSurvey Team ([email protected]) if we expect a very high number of responses to this survey (50.000+), so that potential impact can be assessed and measures put in place to deal with the peak traffic."
In case of installations on own servers this confirmation make no sense.

I propose to remove this checkbox from the OSS version of EUSurvey (if oss=true) because it is not clear for users why they need to inform digit-eusurvey-support if the survey tool is not on COMM servers.

Make matrix tables more usable

Is your feature request related to a problem? Please describe.
When responding to matrix questions it is necessary to click the radio buttons exactly. This radio button (see below) is often small and difficult to click exactly, leading to missed clicks and distracting from answering the survey.

image

Describe the solution you'd like
Clicking in a cell should be activate the radio button, i.e. there should be no difference in clicking on the radio button or clicking on the cell the radio button is in. This should be fairly straight-forward -

probably just needs an appropriate onclick listener.

No "New Survey" button after migration to 1.5

@catalry
CRITICAL: After migration to 1.5 in the user interface there is no 'New Survey' button neither for form managers nor for the admin.
In the clear new instance of 1.5 the button is visible

To Reproduce
Upgrade from 1.4.1 to 1.5

image

Survey overview does not work

Describe the bug
After creation of the first survey, the Overview tab is not working (Error

To Reproduce

  1. Create a first survey
  2. try to click on overview

Expected behavior
The survey metadata shall be seen

Screenshots
If applicable, add screenshots to help explain your problem.
image
image

Desktop (please complete the following information):

  • OS: Windows Server 2019 standard on VMware 7.1
  • Browser Chrome
  • Version 83.0

Additional context
The same happens when clicing on 'Surveys' tab. The log attached
esurvey-error.log

UX: gray icons suggest unavailability of the feature

In the survey Editor a set of icons on the right used of hiding/displaying panes (Navigation/Toolbox/Properties) turns grey when the pane is closed (see picture)
image
For a common user the grey colour suggests that the element is unavailable.

I propose to change the UX of the icons so the colour would not confuse users like:
image
when property pane is closed (to open it), and
image
when the property pane is open (to hide it)

eusurvey.war not found - SOLVED

I'm building a docker container with your code for the HPC lab of the University of Perugia, but it fails becouse the ./dist/eusurvey.war is not included in the repository

How can i solve the problem ?
Thank you
Best regards

Indictaed 0 responses in surveys after 1.5 update

@catalry

We are updating EUSurvey from version 1.4.1 to 1.5 (commit c543b30). After installing 1.5 on old database from 1.4.1 all surveys looks ok but indicates 0 replies even if in results the replies are there.

To Reproduce
On db from 1.4.1 run an update with version 1.5

image

image

(removed personal data)

Desktop (please complete the following information):

  • OS: WIn10
  • Browser Chrome
  • Version 84.0

Additional context
Tomcat 9, DB MySQL 5.6.47

Please note it as urgent!

Rating control can be separated - SOLVED

The Rating control containing more than one rating element permits to 'detach' the element from the container:
before:
image
after:
image
just by 'drag and drag'.

It 'self-corrects' when a user click 'Save' button but before the separated element cannot be moved back to the container and cannot be deleted. If a user has no practice with this behaviour it is difficult to cope with the situation.

To reproduce:

  1. create a Rating control
  2. click and drag on one of the rating elements
  3. the rating elements 'disconnects' from the container

This disconnection behaviour should probably be forbidden by blocking a drag and drop

allow to answer only, who are in participants list

Is your feature request related to a problem? Please describe.
Currently who knows the link, can answer. This would allow to anyone respond, who knows the link. Looks like requesting EU Login doesn't work, only password work, which could be sniffered and advertised together with link.

Describe the solution you'd like
If there could be possible to allow to answer only, who are in participants list. Then it would avoid to answer anyone and allow only those in participants list. Certainly, that participants list is not public.

Describe alternatives you've considered
No alternatives are available

Additional context
Bulk import of many names would be appreciated for participants list. Via address book it is possible already now.

Admin-editable dictionaries

Currently in the tool there are predefined lists of MS and EU Agencies. As Agencies are working typically with a set of their own stakeholders (e.g. National Regulatory Authorities) it would be great if the admin can create such a list(s) that can be used in the surveys by users.

Admin tool may have a list creation/management option where the admin may create a list that can be later used by all users in the surveys in 'Predefined' menu.

Text fields with max characters higher than 5k

In the current version, the maximum size of text field may be setup but cannot exceed 5000 chars. In some cases this is not enough.

Is it possible to make this value defined in the properties file for OSS version so in case of prioprietary installation the maximum number of chars can be higher (up to size of database field)?

Online version doesn't show submitted surveys

Hello, I'm using the online version of EUSurvey at https://ec.europa.eu/eusurvey/

I've noticed that the submissions (real or test ones, doesn't matter) are not shown immediately on the results page. Nor they are counted in the dashboard. They show after a while, usually a (random?) amount of minutes that sometimes is quite high.

Even logging out and logging in again doesn't solve the problem.

Empty notifications

Regularly I'm receiving empty notifications from the tool as below:
image

No further info in -info or -error log.

Helper text for 'number-slider' questions is always displayed in English for surveys translated to a non-European language

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to the editor page of your survey
  2. Add a 'number-slider' question to your survey
  3. Only allow values above 1
  4. Save your survey
  5. Create a translation to a non-European language (e.g. Serbian - SR)
  6. Translate all available text to your non-European language
  7. You are not able to translate the text saying "Only values of at least 1 are allowed"

Expected behavior
The translation pop-up should allow the editor to translate this helping text into their own non-European language.

Screenshots
image
image
image
image

Desktop (please complete the following information):

  • OS: Windows 10
  • Browser: Chrome
  • Version: 89

Smartphone (please complete the following information):

  • Device: n/a
  • OS: n/a
  • Browser: n/a
  • Version: n/a

Additional context
Add any other context about the problem here.

Improve the responsiveness on non-mobile devices? - Solved

Is your feature request related to a problem? Please describe.
I have started to use EUSurvey via the European Portal and I really appreciate the number of available options of customization for survey questions and management. I'm happy to see that the survey rendering is responsive depending on the device used to answer to the survey.
However, it seems to me that on PC screens the output page width is fixed to 1300px, making window resizing a bit awkward.

Describe the solution you'd like
I'm not familiar with Java, so I'm not sure this could be a good solution, because I'm not comfortable in testing it. Anyway, it seems to me that this line, could probably be updated with width: 100%.
Then maybe some small details on right-area and left-area classes should be updated too?

Thanks for listening and thanks for your code.

allow to require eID login

Is your feature request related to a problem? Please describe.
Currently there is not possible to identify real person behind the EU ID. Anyone can create fake email and go to https://ecas.ec.europa.eu/cas/ and create a fake account, activate it via fake email and voila - fake identity has been created. Therefore it is not possible to identify the real person behind the identity, which makes survey unreliable.

Describe the solution you'd like
This could be solved, when to allow require eID login for EUSurvey. This in turn requires in first place to connect EU Login with eID, then it would be possible to participate in such survey, which is the intended behaviour to avoid fraud with fake account.

Here is the design idea, how it could look like:
eu-survey-security-design-idea

This means, that each identity could be required independently and, or together with others.

Describe alternatives you've considered
There are no alternatives at the moment.

Additional context
Today we can connect EU Login with eID via such dialog:
eID-login

Wrong date in zipped export

When a user exports results to the XLS format, all files that were uploaded to the survey and are packed into zip file have wrong timestamp - it is updated with the date and time of the zip file. In the file system, uploaded files have correct timestamps

To Reproduce

  1. go to the survey having 'Upload' option where some files have been uploaded together with contributions.
  2. go to 'Results' tab
  3. click on 'Export' - wait for the file to be exported
  4. download exported file (.zip) from the Export tab
  5. open zip - all attached files has current (zip file) date and time

Expected behavior
Export shall not update the timestamp of attached files

Screenshots
in the files system:
image
in the zip file
image

Bar plot for slider

Is your feature request related to a problem? Please describe.
When viewing responses on a survey and using the % option, I was surprised to find I got a nice bar plot for a dropdown selection question but not for the 5 point Likert scale questions.

Describe the solution you'd like
It would be nice to get a bar plot of some kind to see the distribution across the numeric scores of a slider question.

Describe alternatives you've considered
There are other plots to visualize it, of course. The main idea is that it would at least be visualized somehow. Currently I can't even see an average or get the frequency of each number, it's treated the same as an open question.

File size limit for File Upload control - SOLVED

Currently, when a File Upload control is used, the help text says that the max file size is 1MB

image

It would be great to have this customizable allowing participants to send bigger files (e.g. set up in the application properties file). This is quite common for dedicated public consultations with business - their positions are lengthy and text field is to short.

Why a new open-source survey software?

Hi,

Looks like a nice piece of software! May I ask why you decided to develop a new open-source survey software instead of using an existing one (e.g. LimeSurvey)?

Kind regards
Olle

Rejected URL requests

In the log file there is a significant number of entries looking like:
2020-08-04 16:12:36-88874458 [ajp-nio-0:0:0:0:0:0:0:1-8009-exec-1728] (HttpErrorController.java:78) ERROR com.ec.survey.controller.BasicController - Request with URI [/eusurvey/home/support;JSESSIONIDEUSURVEY=50C25840CA7F9A0D424ACEA5147516EB] rejected. The request was rejected because the URL contained a potentially malicious String ";"
2020-08-04 16:14:56-89014708 [ajp-nio-0:0:0:0:0:0:0:1-8009-exec-1719] (HttpErrorController.java:78) ERROR com.ec.survey.controller.BasicController - Request with URI [/eusurvey/home/about;JSESSIONIDEUSURVEY=38F6A6CFC2BEFE35F08A2349F13072CC] rejected. The request was rejected because the URL contained a potentially malicious String ";"
2020-08-04 16:16:06-89084834 [ajp-nio-0:0:0:0:0:0:0:1-8009-exec-1719] (HttpErrorController.java:78) ERROR com.ec.survey.controller.BasicController - Request with URI [/eusurvey/home/about;JSESSIONIDEUSURVEY=38F6A6CFC2BEFE35F08A2349F13072CC] rejected. The request was rejected because the URL contained a potentially malicious String ";"
2020-08-04 16:17:34-89172584 [ajp-nio-0:0:0:0:0:0:0:1-8009-exec-1693] (HttpErrorController.java:78) ERROR com.ec.survey.controller.BasicController - Request with URI [/eusurvey/home/about;JSESSIONIDEUSURVEY=38F6A6CFC2BEFE35F08A2349F13072CC] rejected. The request was rejected because the URL contained a potentially malicious String ";"
2020-08-04 16:17:38-89176896 [ajp-nio-0:0:0:0:0:0:0:1-8009-exec-1764] (HttpErrorController.java:78) ERROR com.ec.survey.controller.BasicController - Request with URI [/eusurvey/home/welcome;JSESSIONIDEUSURVEY=1F3ECE6F2CB3311B3E0BBEB902359D72] rejected. The request was rejected because the URL contained a potentially malicious String ";"

I'm not sure if this is a bug?

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.