Actions

Plugin manager: Difference between revisions

From LimeSurvey Manual

No edit summary
No edit summary
 
(31 intermediate revisions by 4 users not shown)
Line 2: Line 2:




<!--T:1-->
=General= <!--T:2-->
{{Box|Starting from LimeSurvey 2.05, LimeSurvey will officially support plugins. Some plugins will be supported by the LimeSurvey team and will go into core. Some will be supported by others outside the LimeSurvey team. To help find them, check out the [[Plugins - advanced#Available third party plugins|available third party plugins]] and add also your own plugin there!}}


=General=<!--T:2-->


<!--T:14-->
LimeSuvey has been supporting plugins since version 2.05. Some plugins are supported by the LimeSurvey GmbH team and are in [[Plugin manager#Core plugins|core]]. And some plugins are supported by others, outside the LimeSurvey team. If you would like to use them, check out the [https://www.limesurvey.org/index.php/community/extensions available plugins]. We hope you will also add your own plugin there!


=Core plugins= <!--T:28-->


<center>[[File:Plugin Manager.png]]</center>


LimeSurvey supports at the moment the following plugins:
<!--T:15-->
*'''auditlog''':
To access the current available plugins that come with your LimeSurvey installation, click '''Configuration''', and select '''Plugin manager''':
*'''export results to R''':
*'''extendStartpage''':
*'''LDAP''':
*'''LimeSurvey internal database''':
*'''oldUrlCompat''':
*'''QuickMenu''':
*'''STATA Export''':
*'''Webserver''':


==Auditlog==<!--T:3-->


==Export results to R==<!--T:4-->
<!--T:16-->
<center>[[File:Plugin manager.png]]</center>


==ExtendStartpage==<!--T:5-->


==LDAP==<!--T:6-->
<!--T:29-->
By activating this plugin you can perform basic authentication against an LDAP server. Make sure your PHP configuration has LDAP support enabled.
The following panel will be displayed:


'''Enabling and configuring settings for plugin AuthLDAP v2.05+'''


Enable LDAP in PHP.INI.
<!--T:30-->
Verify that [http://php.net/manual/en/function.phpinfo.php phpinfo.php] shows that LDAP is enabled.
<center>[[File:Plugin Manager.png]]</center>
The location of LimeSurvey's built-in phpinfo.php is: Upper Right Menu -- Configuration -- Settings -- Global Settings.  Then, below the table, you will have a link for "Show PHPInfo".
 
Go to LimeSurvey Plugin Manager.
 
Configure LDAP plugin.


==LimeSurvey internal database==<!--T:7-->
This plugin is the default and can not be disabled. It uses the built in LimeSurvey database. It is a fall-back mechanism so that you can always login to the installation when needed.


==OldUrlCompat==<!--T:8-->
<!--T:17-->
'''[https://limesurvey.org LimeSurvey GmbH]''' supports at the moment the following plugins:
*'''[[Plugin manager#Auditlog|Auditlog]]'''
*'''[[Plugin manager#Export results to R|export results to R]]'''
*'''[[Plugin manager#LDAP|LDAP]]'''
*'''[[Plugin manager#LimeSurvey internal database|LimeSurvey internal database]]'''
*'''[[Plugin manager#OldUrlCompat|OldUrlCompat]]'''
*'''[[Plugin manager#STATA Export|STATA Export]]'''
*'''[[Plugin manager#Webserver|Webserver]]'''


==QuickMenu==<!--T:9-->


==STATA export==<!--T:10-->
<!--T:20-->
{{Box|Feel free to contact the LimeSurvey team via [https://bugs.limesurvey.org the bug tracker], [https://discord.gg/DEjguXn LimeSurvey community chat on Discord] or [https://account.limesurvey.org/customer-support/contact-us ticket system] if any of the above plugins is not working properly.}}


==Webserver==<!--T:11-->
This plugin leaves authentication to the webserver and reads the result from a configurable server setting. This method has been around for a while, and was configured from config.php. If you used this authentication, you should enable the plugin in the plugins menu and move your configuration from config.php to the plugin's settings. Feel free to contact the team via the bugtracker or irc-channel if it no longer functions the way it did before.


=FAQ=
==Auditlog== <!--T:3-->
==Developing another authentication plugin==
If you want to extend or develop your own authentication plugin, please read our whole wiki on this topic - [[Authentication_plugin_development|authentication plugin development]].


=Examples=


==Simple LDAP example settings?==
<!--T:31-->
Ldap server e.g. ldap://ldap.mydomain.com: ldap://ldap.mydomain.com
The Auditlog plugin creates a log of '''administration''' events in a specific table called ''<DB prefix>auditlog_log''.  
Port number (default when omtopicitted is 389):
LDAP version (LDAPv2 = 2), e.g. 3: 3
Username prefix cn= or uid=: cn=
Username suffix e.g. @mydomain.com or remaining part of ldap query: ,OU=people,DC=mydomain,DC=com
Create a LimeSurvey administrator with the same name as a AD(active directory) user account.
Log in using the AD credentials(username and password).


=== Example settings AD2008 & 2.05+ ===
<!--T:32-->
For more details about the plugin and its options, check the following [[Audit_log|wiki section]].


'''Settings working with Active Directory 2008 and 2.05+ (build 140520) with AuthLDAP plugin '''.


==== Authentication with LDAP and ''userPrincipalName'' attribute ====
==Export results to R== <!--T:4-->


'''Note''': Authentication with ''userPrincipalName'' attribute (ie: firstname.lastname@example.intra). Create a LimeSurvey user with the same name as a AD(active directory) user account :


''Username'': '''firstname.lastname@example.intra'''
<!--T:33-->
=== Simple Example settings ===
If enabled, you will be able to export your survey results to R.
Ldap server e.g. ldap://ldap.mydomain.com: ldap://ldap.mydomain.com
Port number (default when omtopicitted is 389):
LDAP version (LDAPv2 = 2), e.g. 3: 3
Username prefix cn= or uid=: cn=
Username suffix e.g. @mydomain.com or remaining part of ldap query: ,OU=people,DC=mydomain,DC=com
Create a LimeSurvey administrator with the same name as a AD(active directory) user account.
Log in using the AD credentials(username and password).


=== Example settings AD2008 & 2.05+ ===


'''Settings working with Active Directory 2008 and 2.05+ (build 140520) with AuthLDAP plugin '''.
==LDAP== <!--T:21-->


==== Authentication with LDAP and ''userPrincipalName'' attribute ====


'''Note''': Authentication with ''userPrincipalName'' attribute (ie: firstname.lastname@example.intra). Create a LimeSurvey user with the same name as a AD(active directory) user account :
<!--T:6-->
By activating this plugin, you can perform basic authentication against an LDAP server. Make sure your PHP configuration has LDAP support enabled.


''Username'': '''firstname.lastname@exaom: ldap://ldap.mydomain.com
Port number (default when omtopicitted is 389):
LDAP version (LDAPv2 = 2), e.g. 3: 3
Username prefix cn= or uid=: cn=
Username suffix e.g. @mydomain.com or remaining part of ldap query: ,OU=people,DC=mydomain,DC=com
Create a LimeSurvey administrator with the same name as a AD(active directory) user account.
Log in using the AD credentials(username and password).


=== Example settings AD2008 & 2.05+ ===
<!--T:18-->
'''Enabling and configuring settings for plugin AuthLDAP v2.05+''':
#Enable LDAP in PHP.INI.
#Verify that [http://php.net/manual/en/function.phpinfo.php phpinfo.php] shows that LDAP is enabled.
#The location of LimeSurvey's built-in phpinfo.php is: Configuration -- Settings -- Global Settings -- Overview.  Then, below the table, you will have a link for "Show PHPInfo".
#Go to LimeSurvey Plugin Manager.
#Configure LDAP plugin.


'''Settings working with Active Directory 20tra'''


''Full name'': '''Firstname LASTNAME'''
<!--T:19-->
{{Note|Read our [[LDAP configuration examples]] for further help.}}


Then configure the plugin : ''Plugin Manager > LDAP > Configure''.


''Ldap server e.g. ldap://ldap.example.intra'': '''ldap://ldap.example.intra'''
==LimeSurvey internal database== <!--T:22-->


''Port number (default when omitted is 389)'': '''389'''


''LDAP version (LDAPv2 = 2), e.g. 3'': '''LDAPv3'''
<!--T:7-->
This plugin is activated by default and cannot be disabled. It uses the built-in LimeSurvey database. It is a fall-back mechanism so that you can always login to the installation when needed.  


''Username prefix cn= or uid=: cn='': '''empty'''


''Username suffix e.g. @example.intra or remaining part of ldap query'': '''empty'''
<!--T:35-->
{{Note|For more details on authentication plugins, check the following [[Authentication_plugins|wiki section]].}}


Log in using the AD credentials (username: '''firstname.lastname@example.intra''' and password).


==== Authentication with LDAP and ''sAMaccountName'' attribute ====
==OldUrlCompat== <!--T:8-->


'''Note''': Authentication with ''sAMaccountName'' attribute (ie: firstname.lastname). Create a LimeSurvey user with the same name as a AD(active directory) user account :


''Username'': '''firstname.lastname'''
<!--T:36-->
Old url (pre-2.0) compatible system.


''Email'': '''firstname.lastname@example.intra'''


''Full name'': '''Firstname LASTNAME'''
==STATA export== <!--T:10-->


Then configure the plugin : ''Plugin Manager > LDAP > Configure''.


''Ldap server e.g. ldap://ldap.example.com'': '''ldap://ldap.example.intra'''
<!--T:37-->
Activate it if you wish to export your survey results to a STATA .xml file.


''Port number (default when omitted is 389)'': '''389'''
<!--T:38-->
Hit the ''Configure'' button to choose whether you want the .xml file be compatible with Stata 8 - State 12, or with State 13 or later.


''LDAP version (LDAPv2 = 2), e.g. 3'': '''LDAPv3'''
==Webserver== <!--T:23-->


''Username prefix cn= or uid=: cn='': '''empty'''


''Username suffix e.g. @example.com or remaining part of ldap query'': '''@example.intra'''
<!--T:11-->
This plugin leaves authentication to the webserver and reads the result from a configurable server setting. This method has been around for a while, and was configured from config.php. If you used this authentication, you should enable the plugin in the plugins menu and move your configuration from config.php to the plugin's settings.


Log in using the AD credentials (username: '''firstname.lastname''' and password).
=FAQs= <!--T:24-->


==== Authentication with LDAPS and ''sAMaccountName'' attribute ====


'''Note''': Authentication with ''sAMaccountName'' attribute (ie: firstname.lastname). Create a LimeSurvey user with the same name as a AD(active directory) user account :
==How can I run third-party plugins?== <!--T:26-->


''Username'': '''firstname.lastname'''


''Email'': '''firstname.lastname@example.intra'''
<!--T:39-->
There are three possibilities to run third-party plugins:


''Full name'': '''Firstname LASTNAME'''
<!--T:40-->
* install LimeSurvey CE ([https://www.limesurvey.org/editions-and-prices/limesurvey-ce/editions-and-prices-community Community Edition]) on your own server - unlimited freedom to run any third-party plugin;


Then configure the plugin : ''Plugin Manager > LDAP > Configure''.
<!--T:41-->
* contact our official partners (listed [https://www.limesurvey.com here]) and check whether they support and maintain third-party plugins you wish to use;


''Ldap server e.g. ldap://ldap.example.com'': '''ldaps://ldap.example.intra'''
<!--T:42-->
* if you are a LimeSurvey Pro customer and wish to install third-party plugins, you have to become '''corporate''' customer. For more details about the '''corporate package''', write '''[https://limesurvey.org us]''' via our [https://www.limesurvey.org/customer-support/contact-us support page].


''Port number (default when omitted is 389)'': '''636'''


''LDAP version (LDAPv2 = 2), e.g. 3'': '''LDAPv3'''
<!--T:43-->
{{Box|The '''corporate package''' was created for our customers who wish to use personalized professional packages (e.g., extra storage space, extra alias domains, third-party app plugins, and so on). Do not hesitate [https://www.limesurvey.org/customer-support/contact-us to write us] if you wish to find out more about this service and how we can personalize it for you.}}


''Username prefix cn= or uid=: cn='': '''empty'''
==How can I install a third-party plugins?== <!--T:44-->


''Username suffix e.g. @example.intra or remaining part of ldap query'': '''@example.intra'''


Log in using the AD credentials (username: '''firstname.lastname''' and password).
<!--T:45-->
{{Note|To install your own third-party plugin, you need to have access to your server (e.g., run your own LimeSurvey CE installation).}}


=== Example settings OpenLDAP & 2.05+ ===
<!--T:46-->
The standard procedure is to download the .zip file of the plugin, and extract it into the plugins folder of your LimeSurvey installation. Once done, it should be displayed in the Plugin Manager panel.


'''Settings working with OpenLDAP and 2.05+ (git version Feb. 2015) with AuthLDAP plugin '''.
<!--T:47-->
Please note that certain third-party apps may require additional steps for a correct configuration. For further information, message the developer of the respective plugin.


==== Authentication with LDAP and ''uid'' attribute ====


'''Note''': Authentication with ''uid'' attribute. Create a LimeSurvey user with the same name as a the LDAP user account.
==Can I develop my own authentication plugin?== <!--T:12-->


Then configure the plugin : ''Plugin Manager > LDAP > Configure''.


* ''Ldap server e.g. ldap://ldap.mydomain.com'': '''ldap://ldap.mydomain.com'''
<!--T:25-->
* ''Port number (default when omitted is 389)'': '''(389 or leave blank)'''
If you want to develop your own authentication plugin, please continue reading our wiki page on this topic - [[Authentication_plugin_development|authentication plugin development]].
* ''LDAP version (LDAPv2 = 2), e.g. 3'': '''LDAPv3'''
* ''Select true if referrals must be followed (use false for ActiveDirectory)'': '''(leave blank)'''
* ''Check to enable Start-TLS encryption When using LDAPv3'': '''False'''
* ''Select how to perform authentication'': '''Search and bind'''
* ''Attribute to compare to the given login can be uid, cn, mail, ...'': '''uid'''
* ''Base DN for the user search operation'': '''ou=people,dc=mydomain,dc=com'''
* ''Optional extra LDAP filter to be ANDed to the basic (searchuserattribute=username) filter. Don't forget the outmost enclosing parentheses'': '''(leave blank)'''
* ''Optional DN of the LDAP account used to search for the end-user's DN. An anonymous bind is performed if empty.'': '''cn=admin,dc=mydomain,dc=com'''
* ''Password of the LDAP account used to search for the end-user's DN if previoulsy set.'': '''password''' (appears!)
* ''Check to make default authentication method'': '''(as you wish)'''


Log in using the LDAP credentials (username: '''user''' and password).


==== Authentication with OpenLDAP, ''uid'' attribute, and group restriction [2.62+] ====
=Plugins - advanced= <!--T:48-->


Some applications require a separate LDAP query (beyond the user search and bind to check password) to determine if the user has sufficient authorization. For example, let's assume that LDAP has a <code>Groups</code> OU that includes an entry identified by <code>cn=limeusers</code> and our policy is that for a user to be authorized to use LimeSurvey that entry must include an attribute of the form <code>memberUid=<i>username</i></code> where ''username'' is the username (uid) entered by the user attempting to login. To configure LDAP for that, set up basic ''uid'' authentication as above and then set the following additional (optional) parameters:


* ''Optional base DN for group restriction'': <code>ou=Groups,dc=mydomain,dc=com</code>
<!--T:27-->
* ''Optional filter for group restriction'': <code>(&(cn=limeusers)(memberUid=$username))</code>
Click [[Plugins - advanced|here]] to find out more about plugins, how they work, and how new plugins can be integrated in LimeSurvey.


Note:
# <code>$username</code> is a magic value (in the context of the filter parameter) that is replaced by the username entered by the user when logging in.
# Although intended for testing group membership as above, this optional "group restriction" capability can be used to add any authorization check that can be expressed as a separate filtered search like this.
# Before specifying a group restriction this way, verify that basic LDAP authentication is working correctly.
# If either of the group restriction parameters is empty then the group restriction step will not be applied.


</translate>
</translate>

Latest revision as of 18:55, 10 September 2021

General

LimeSuvey has been supporting plugins since version 2.05. Some plugins are supported by the LimeSurvey GmbH team and are in core. And some plugins are supported by others, outside the LimeSurvey team. If you would like to use them, check out the available plugins. We hope you will also add your own plugin there!

Core plugins

To access the current available plugins that come with your LimeSurvey installation, click Configuration, and select Plugin manager:



The following panel will be displayed:



LimeSurvey GmbH supports at the moment the following plugins:


Feel free to contact the LimeSurvey team via the bug tracker, LimeSurvey community chat on Discord or ticket system if any of the above plugins is not working properly.


Auditlog

The Auditlog plugin creates a log of administration events in a specific table called <DB prefix>auditlog_log.

For more details about the plugin and its options, check the following wiki section.


Export results to R

If enabled, you will be able to export your survey results to R.


LDAP

By activating this plugin, you can perform basic authentication against an LDAP server. Make sure your PHP configuration has LDAP support enabled.


Enabling and configuring settings for plugin AuthLDAP v2.05+:

  1. Enable LDAP in PHP.INI.
  2. Verify that phpinfo.php shows that LDAP is enabled.
  3. The location of LimeSurvey's built-in phpinfo.php is: Configuration -- Settings -- Global Settings -- Overview. Then, below the table, you will have a link for "Show PHPInfo".
  4. Go to LimeSurvey Plugin Manager.
  5. Configure LDAP plugin.


Read our LDAP configuration examples for further help.


LimeSurvey internal database

This plugin is activated by default and cannot be disabled. It uses the built-in LimeSurvey database. It is a fall-back mechanism so that you can always login to the installation when needed.


For more details on authentication plugins, check the following wiki section.


OldUrlCompat

Old url (pre-2.0) compatible system.


STATA export

Activate it if you wish to export your survey results to a STATA .xml file.

Hit the Configure button to choose whether you want the .xml file be compatible with Stata 8 - State 12, or with State 13 or later.


Webserver

This plugin leaves authentication to the webserver and reads the result from a configurable server setting. This method has been around for a while, and was configured from config.php. If you used this authentication, you should enable the plugin in the plugins menu and move your configuration from config.php to the plugin's settings.

FAQs

How can I run third-party plugins?

There are three possibilities to run third-party plugins:

  • install LimeSurvey CE (Community Edition) on your own server - unlimited freedom to run any third-party plugin;
  • contact our official partners (listed here) and check whether they support and maintain third-party plugins you wish to use;
  • if you are a LimeSurvey Pro customer and wish to install third-party plugins, you have to become corporate customer. For more details about the corporate package, write us via our support page.


The corporate package was created for our customers who wish to use personalized professional packages (e.g., extra storage space, extra alias domains, third-party app plugins, and so on). Do not hesitate to write us if you wish to find out more about this service and how we can personalize it for you.


How can I install a third-party plugins?

To install your own third-party plugin, you need to have access to your server (e.g., run your own LimeSurvey CE installation).

The standard procedure is to download the .zip file of the plugin, and extract it into the plugins folder of your LimeSurvey installation. Once done, it should be displayed in the Plugin Manager panel.

Please note that certain third-party apps may require additional steps for a correct configuration. For further information, message the developer of the respective plugin.


Can I develop my own authentication plugin?

If you want to develop your own authentication plugin, please continue reading our wiki page on this topic - authentication plugin development.


Plugins - advanced

Click here to find out more about plugins, how they work, and how new plugins can be integrated in LimeSurvey.