There are various options for adjusting Limesurvey. They depend on the Limesurvey version being used and the requirements and there are different pros and cons for the different approaches. Let’s have a look:
Using the Limesurey API
Often you do not really need to adjust the main Limesurvey source code to add new functionality. Especially when connecting Limesurvey with other systems or coding your own stand-alone scripts, using the Limesurvey API is the best choice. There are various functions already available which can be used for creating a new feature.
Pros
- No source code adjustments required.
- Updating Limesurvey should not break your code.
- Several functions are already available so no need to re-invent the wheel for basic details.
Cons
- You need to get familiar with the Limesurvey API and the way it works.
- The list of available functions is limited and may not meet your needs depending on the requirements.
Note that if you code new functions for the Limesurvey API, the Limesurvey development team is open to adding new features to the main code base so they will be available at newer versions.
Editing the Limesurvey source code
The upside of using Open Source software is that the whole code base is available and you can edit all details as needed. We made use of this a lot in the past and have created several fully customized Limesurvey systems for various customers in recent years.
The Limesurvey source code is hosted at Github so you can easily create your own fork. When coding new features please consider sending the Limesurvey team a pull request so the can consider adding your new feature to one of the next releases.
Pros
- No limits, you can edit everything as needed.
- Github can easily be used for creating a fork and maintaining your code.
Cons
- Keeping your Limesurvey system up to date can be difficult. The more code snippets you adjust the more difficult will be the code maintenance and update process.
- If the main Limesurvey code base changes e.g. at a new Limesurvey version and you want to switch to a new release you may have to rewrite parts of your code if the related Limesurvey functions and features were adjusted.
- Though Limesurvey uses the Yii PHP framework it can be difficult to find the proper files to be edited so there is a certain learning curve.
Coding a Limesurvey plugin
When using later Limesurvey versions coding a new Limesurvey plugin may be the best approach. There are different plugin events which can be used for connecting your own code to certain actions within Limesurvey.
We are familiar with the Limesurvey plugin system and have created various plugins in the past to add new functionality to Limesurvey. So there may be some code already available which we can reuse for your Limesurvey project. Just drop us an email.
Pros
- No source code editing required.
- Limesurvey can still be updated easily.
- There is growing number of already available Limesurvey plugins.
Cons
- Limited – but growing – number of available plugin events (new events are added by the Limesurvey development team on request).
- Steep learning curve to get familiar with the Limesurvey plugin architecture and coding details.