We have successfully connected Limesurvey to various other applications and developed interfaces to share data between different applications and Limesurvey.
1. Use Limesurvey for driver licence theory test
There are several different tests, and based on these we created an application to list test results and create user overviews and printable certifates. Test results are read directly from Limesurvey’s database, and the generated overviews are custom coded.
2. Load product comparison data from external DB into Limesurvey
Loading data from an external database into a Limesurvey survey can be quite a pain. There are two different approaches: You can either use an Ajax call within the survey to dynamically call a PHP script which queries an external database and returns the results to the survey, or you can add a hook to the Limesurvey core files to load data from an external database when generating the HTML for a certain question inside Limesurvey.
Using the first option, we customized a Limesurvey shipped template to make an Ajax call at certain pages of a survey. The called PHP script gets passed some IDs, generates a table of product comparison data, and passes it back into Limesurvey where the user can vote for a product:
3. Add a garage sale feature in Limesurvey
A feature Limesurvey is currently missing is a “garage sale” option. Say you have X items to give away for free or Y time slots available (or any other items of limited quantity) and you want to disable answer options in a survey if the available amount of items/time slots was chosen. This isn’t currently possible in Limesurvey, so we changed some of the Limesurvey core files to assign a quantity for all answer options. On page generation, our code then checks how often a certain item has been chosen and either disables the answer option or shows the remaining quantity in brackets: