Skip to content

InseeFr/Eno

Folders and files

NameName
Last commit message
Last commit date
Feb 18, 2025
Feb 25, 2025
Mar 25, 2025
Feb 27, 2025
Mar 25, 2025
Feb 27, 2025
Mar 14, 2022
Apr 5, 2023
Mar 25, 2025
Feb 18, 2025
Mar 14, 2022
Jun 21, 2024
Jan 30, 2024
Mar 25, 2025
Dec 28, 2023
Feb 27, 2025
Jul 18, 2024
Jul 11, 2024
Mar 13, 2025

Repository files navigation

Eno logo

Eno

License: MIT

Eno is a tool designed to transform questionnaires from their formal description in DDI to different formats for data collection operations.

From a DDI, Eno produces:

  • A Lunatic questionnaire that can be used for web, telephone or face to face interviewing.
  • A questionnaire in paper format.
  • A description of the questionnaire in an editable file.

Eno is used by Pogues, a questionnaire design user interface. Eno converts Pogues output into a DDI.

Eno is a part of the Bowie product.

Documentation

The documentation can be found in the docs folder and browsed online.

Eno Java

V3 "Eno Java" project: change of technology from XSLT to Java.

Setup

Requirements

JDK 21+ is required.

Make sustainable clones!

The base branch for Eno "Java" is the v3-main orphan branch. If you are not interested in the legacy xslt version of Eno, you can clone the project like this:

git clone --no-tags --single-branch --depth=1 --branch=v3-main https://github.com/InseeFr/Eno.git

Gradle

The project is build using Gradle. A Gradle installation is not required to work on the project. A Gradle wrapper is included, it will automatically download the appropriate version of Gradle to test, build, and run the project.

  • Test the project: ./gradlew test
  • Build the project: ./gradlew build
  • Run Eno web service: ./gradlew :eno-ws:run

Note: on Windows cmd or PowerShell, use .\gradlew.bat ...

Proxy

If you are accessing the web through a proxy, create a gradle.properties file in <your_user_home_folder>/.gradle, with your proxy information:

# HTTP
systemProp.http.proxyHost=www.somehost.org
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=userid
systemProp.http.proxyPassword=password
systemProp.http.nonProxyHosts=*.nonproxyrepos.com|localhost
# HTTPS
systemProp.https.proxyHost=www.somehost.org
systemProp.https.proxyPort=8080
systemProp.https.proxyUser=userid
systemProp.https.proxyPassword=password
# Non proxy hosts
systemProp.http.nonProxyHosts=*.nonproxyrepos.com|localhost

If you have trouble with this first method, you can directly edit the gradle.properties file that is at the root of the project (but don't commit it).

(Gradle docs)