Tor Project runs a self-hosted instance of LimeSurvey CE (community edition) to conduct user research and collect feedback.
The URL for this service is https://survey.torproject.org/
The onionv3 address is http://eh5esdnd6fkbkapfc6nuyvkjgbtnzq2is72lmpwbdbxepd2z7zbgzsqd.onion/
Tutorial
Create a new account
- Login to the admin interface (see
tor-passwords
repo for credentials) - Navigate to
Configuration
-> User management - Click the
Add user
button on the top left corner - Fill in
Username
,Full name
andEmail
fields - If
Set password now?
is left atNo
, a welcome email will be sent to the email address - Select the appropriate roles in the
Edit permissions
table:
- For regular users who should be able to create and manage their own
surveys, there is a role called 'Survey Creator' that have "Permission to create surveys (for which all permissions are automatically given) and view, update and delete surveys from other users". Otherwise you can select the checkboxes under the
Create
andView/read
columns in thePermission to create surveys
row. - For users that may want to edit or add themes, there is a role called 'Survey UXer' with permissions to create, edit or remove surveys as well as create or edit themes.
- Please remind the new user to draft a data retention policy for their survey and add an expiration date to the surveys they create.
Note: we don't want to use user groups since they do not have the effects that we would expect them to have.
How-to
Upgrades
We don't use the paid ComfortUpdate extension that is promoted and sold by LimeSurvey.
Instead, we deploy from the latest stable zip-file release using Puppet.
The steps to upgrade LimeSurvey are:
-
Review the LimeSurvey upstream changelog
-
Login to
survey-01
, stop Puppet usingpuppet agent --disable "pending LimeSurvey upgrade"
-
Open the LimeSurvey latest stable release page and note the version number and sha256 checksum
-
In the
tor-puppet
repository, edithiera/roles/survey.yaml
and update the version and checksum keys with above info -
Enable full maintenance mode
sudo -u postgres psql -d limesurvey -c "UPDATE lime_settings_global SET stg_value='hard' WHERE stg_name='maintenancemode'"
-
Run the puppet agent on
survey-01
:puppet agent --enable && pat
: Puppet will unpack the new archive under/srv/www/survey.torproject.org/${version}
, update the Apache vhost config and run the database update script -
Login to the admin interface and validate the new version is running
-
Disable maintenance mode:
sudo -u postgres psql -d limesurvey -c "UPDATE lime_settings_global SET stg_value='off' WHERE stg_name='maintenancemode'"
Because LimeSurvey does not make available previous release zip-files, the old code installation directory is kept on the server, along with previously downloaded release archives. This is intentional, to make rolling back easier in case of problems during an upgrade.
Pager playbook
Disaster recovery
In case of a disaster restoring both /srv
and the PostgreSQL database on a
new server should be sufficient to get back up and running.
Reference
Installation
SLA
Design
This service runs on a standard Apache/PHP/PostgreSQL stack.
Self-hosting a LimeSurvey instance allows us to better safeguard user-submitted data as well as allowing us to make it accessible through an onion service.
Issues
There is no issue tracker specifically for this project, File or search for issues in the team issue tracker with the label Survey.