Actions

Manage users: Difference between revisions

From LimeSurvey Manual

Cdorin (talk | contribs)
mNo edit summary
m updated instructions for create user form
 
(81 intermediate revisions by 11 users not shown)
Line 7: Line 7:


<!--T:76-->
<!--T:76-->
The user management tool allows you to add additional administration users to LimeSurvey. We will call them in this chapter just 'users'. Do not confuse them with [[Survey participants|survey participants]] (respondents).
The user management tool allows you to add additional administration users to LimeSurvey. We refer to them as  'users'. Do not confuse them with [[Survey participants|survey participants]] (respondents).




Line 13: Line 13:


<!--T:4-->
<!--T:4-->
To create a new user, open the user management dialog by clicking on '''Configuration''' (located on the main LimeSurvey toolbar) -> '''Manage survey administrators''' as shown below.
To create a new user, open the user management dialog by clicking on '''Configuration''' (located on the main LimeSurvey toolbar) -> '''User management'''.




<!--T:61-->
<!--T:61-->
<center>[[File:LimeSurveyBenuzerVerwaltung.jpg]]</center>
<center>[[File:LimeSurveyMenuUserManagement.png]]</center>




<!--T:77-->
<!--T:77-->
Then, click on '''Add user''' located on the upper right part of '''User control''' table. A window will show up, asking you to:
Then, click '''Add user''' located in the upper right area of '''User control''' table. A window will be displayed asking you to:


<!--T:5-->
<!--T:5-->
* Enter the desired username into the '''Username''' text field.
* Enter the desired username into the '''Username''' field.
* Enter the email address into the '''Email''' text field. Please note that:
* Enter the email address into the '''Email''' field. Please note that:
** LimeSurvey sends out a confirmation email to the address entered into the '''Email''' field. This email address will be used as the standard contact email address for surveys created by the respective user.
** LimeSurvey sends out a confirmation email to the address entered into the '''Email''' field. This email address will be used as the standard contact email address for surveys created by the respective user.
** If you don't want the user to receive the confirmation email with a link to the LimeSurvey installation, username, and password, you can use your own email address to send the confirmation email to you. You can change after that the email address to the address of the user;
** If you do not want the user to receive the confirmation email with a link to the LimeSurvey application, username, and password, you can use your own email address to send the confirmation email to you. After that, you can change the email address to the address of the user.
* Enter user's full name into the '''Full name''' text field. Please note that the full name entered here will be used as the standard contact person name for surveys created by the respective user.
* Enter user's full name into the '''Full name''' field. Please note that the full name entered here will be used as the standard contact person name for surveys created by the respective user.
* You can optionally use '''Expiry date/time''' if you want to set expiry date for newly created user. After that date/time the user will not be able to log in any more.
* You can also optionally set user's starting password, but please advise them to change it after their initial log in.
* Click '''Save''' to create the new user.
* Click '''Save''' to create the new user.


<!--T:98-->
Note that password complexity is enforced and validated by the PasswordRequirement plugin.


<!--T:78-->
<!--T:78-->
<center>[[File:LimeSurveyAddUser.jpg]]</center>
<center>[[File:Add_user_6x.png|500px]]</center>




<!--T:6-->
<!--T:6-->
You have now created your first user. To find out more about [[Manage users#Set global permissions for a user|setting user permissions]], please continue reading further.
You have now created your first user. To find out more about [[Manage users#Set global permissions for a user|setting user permissions]], please read on.




Line 45: Line 49:


<!--T:80-->
<!--T:80-->
As you can see below, there are four options under the '''Action''' column that allow you to:
Below you can see four options under the '''Action''' column that allow you to:




Line 53: Line 57:


<!--T:81-->
<!--T:81-->
*edit the general aspects of a user - by clicking the pen symbol;
*edit the general aspects of a user - by clicking the pen symbol.
*delete the user from the survey administrators database - by clicking the trash button;
*delete the user from the survey administrators database - by clicking the trash button.
*set global permissions for a user - click the lock symbol;
*set global permissions for a user - by clicking the lock symbol.
*set template permissions for a user - click the pen-and-lock symbol.
*set theme permissions for a user - by clicking the pen-and-lock symbol.


==Edit user== <!--T:7-->
==Edit user== <!--T:7-->


<!--T:8-->
<!--T:8-->
You can use the pen symbol to edit a user.  
Click the pen icon to edit user information.
 


<!--T:9-->
<!--T:9-->
You can set a new email address, full name, and even change his or her password. If you have finished what you want to do, click on the '''Save''' button (right upper part of the window).
You can enter a new email address, name, and change their password. Click '''Save''' to confirm changes.
 


==Delete user== <!--T:82-->  
==Delete user== <!--T:82-->  


<!--T:11-->
<!--T:11-->
To delete a user account, simply click on his or her corresponding trash button (located on the same line with the user account you want to delete) and click '''OK'''.
To delete a user account, click the corresponding trash icon (located on the same line as the user account you want to delete) and click '''OK'''.
 


==Set global permissions for a user== <!--T:14-->
==Set global permissions for a user== <!--T:14-->


<!--T:83-->
<!--T:83-->
{{Alert|Global permissions apply to the whole LimeSurvey installation. If you want to set permissions only for a specific survey you can use the [[Manage users#Setting permissions for a single survey|survey permissions settings]].}}
{{Alert|Global permissions apply to the whole LimeSurvey application. If you want to set permissions only for a specific survey, you can use the [[Manage users#Setting permissions for a single survey|survey permissions settings]].}}


<!--T:15-->
<!--T:15-->
To set global permissions for a user, click on the lock symbol.
To set global permissions for a user, click the lock symbol.




Line 87: Line 90:


<!--T:65-->
<!--T:65-->
The CRUD (Create, read, update, and delete) system is employed (like in the [[Manage users#Setting permissions for a single survey|survey permission settings]]). To fine-tune user permissions, we strongly recommend to extend the matrix using the double-right arrowhead, which is located in its upper right corner. If you check the first box, all the CRUD permissions situated on that row are automatically checked.  
The CRUD (create, read, update, and delete) system is employed (as it is in the [[Manage users#Setting permissions for a single survey|survey permission settings]]). For more user permission options, we recommend extending the matrix using the double-right arrowhead, which is located in its upper right corner. If you check the first box, all the CRUD permissions in that row are automatically checked.  


<!--T:63-->
<!--T:63-->
Line 99: Line 102:


<!--T:72-->
<!--T:72-->
* '''Label sets''': Permission to create, view, update, delete, export, and import label sets. The label sets don't have specific permissions (unlike design templates).
* '''Label sets''': Permission to create, view, update, delete, export, and import label sets. The label sets do not have specific permissions (unlike themes).


<!--T:68-->
<!--T:68-->
* '''Settings & Plugins''': With this permission a user can check data integrity, save the SQL database to an .sql file, manage global setting, view the PHP info in the global settings, and manage all plugins.
* '''Settings & Plugins''': With this permission a user can check data integrity, save the SQL database to an .sql file, manage global settings, view the PHP info in the global settings, and manage all plugins.
 
<!--T:97-->
*  '''Survey groups'''{{NewIn|v=4.4.0}}: Give access to all surveys' group. To allow user to manage their own surveys' group, give the user the 'create' permission. A creator of a surveys' group are (by default) the owner of this surveys' group.
{{Note|Permission on a surveys group does not give all permissions on surveys, but a user can give permissions on all surveys in surveys' group}}


<!--T:67-->
<!--T:67-->
* '''Surveys''': This gives access to all surveys. To allow a user only to create and manage their own survey survey, only give the user the 'create' permission. A creator of a survey is the owner of the survey and will always be able to manage it. Remember that each survey can grant to users different permissions.  
* '''Surveys''': Gives access to all surveys. To allow a user to only create and manage their own survey, give the user the 'create' permission. A creator of a survey is the owner of the survey and will always be able to manage it. Remember that each survey can grant different permissions .  
{{Note|'''The global permission is applied before the survey-specific permission!'''}}
{{Note|'''The global permission is applied before the survey-specific permission!'''}}


<!--T:71-->
<!--T:71-->
* '''Templates''': It allows the user to use all the available design templates and edit all non-standard templates. A person with this right should have sufficient knowledge in terms of HTML, Javascript, and CSS. If a user is not familiar with these things and is supposed to use a specific design template, it would be better to give him only access to 'read' permission. Each template can have specific permissions.
* '''Themes''': Allows the user to use all the available design themes and edit all non-standard themes. A person with this permission should have sufficient knowledge in terms of HTML, Javascript, and CSS. If a user is not familiar with these things and is supposed to use a specific design themes, it would be better to only give them 'read' permission. Each theme can have specific permissions.


<!--T:70-->
<!--T:70-->
* '''User groups''': This permission allows a user to create/view/update/delete user groups.
* '''User groups''': Allows a user to create/view/update/delete user groups.


<!--T:69-->
<!--T:69-->
* '''Users''': A user can create, modify, and delete his own administration users with this permission. The newly created users cannot have higher permissions than the parent user. You will also not be able to edit users owned by other administration users. If this has to be done, then a Superadministrator permission has to be granted.
* '''Users''': A user can create, modify, and delete their own administration users with this permission. The newly created users cannot have higher permissions than the parent user. You will also not be able to edit users owned by other administration users. If this has to be done, then a Superadministrator permission must be granted.


<!--T:66-->
<!--T:66-->
* '''Superadministrator''': This permissions can only be added or removed by the user called '''admin''' and grants full permission to the whole LimeSurvey installation.
* '''Superadministrator''': Can only be added by other Superadministrator with this setting as update and grants full permission to the whole LimeSurvey application, including installing plugins and using any kind of content (including JavaScript) in survey content. (see also [[Global_settings#Security|global security settings]])
{{Alert|title=Warning|text=This permissions is very powerful and you should be very careful with granting it.}}


<!--T:84-->
<!--T:84-->
*'''Use internal database authentication''': This permission allows users to access LimeSurvey's panel via the authentication page (e.g. ''http://domain/admin/authentication/sa/login''). If it is unchecked and the respective user tries to connect to the LimeSuvey's panel, he will get the following error: 'Internal database authentication method is not allowed for this user'.
*'''Use internal database authentication''': Allows users to access LimeSurvey's panel via the authentication page (e.g. ''http://domain/admin/authentication/sa/login''). If it is unchecked and the respective user tries to connect to LimeSuvey's panel, they will get the following error: 'Internal database authentication method is not allowed for this user'.


<!--T:95-->
{{Note|All the permissions mentioned above that belong to the [[Optional_settings#Security|forced super administrator]] cannot be removed via the GUI.}}


==Set template permissions for a user== <!--T:19-->
 
==Import and export users== <!--T:99-->
 
<!--T:100-->
You can import and export users in CSV and JSON format by using these buttons on User Management page.
<center>[[File:ImportExportButtons.png]]</center>
 
<!--T:101-->
When you are importing users, a modal opens that shows you which fields should be present. You can choose to overwrite existing users by selecting this checkbox.
<center>[[File:ImportUsersModal.png]]</center>
 
<!--T:102-->
Example of the JSON structure:
 
<!--T:104-->
<syntaxhighlight lang="json">
[
{
"uid": 1,
"users_name": "admin2",
"full_name": "Administrator",
"email": "your-email@example.net",
"lang": "en",
"password": ""
},
{
"uid": 2,
"users_name": "ben2",
"full_name": "Ben Alister",
"email": "ben@test.ing",
"lang": "auto",
"password": "test!123"
}
]
</syntaxhighlight>
 
<!--T:103-->
Example of the CSV structure:
 
<!--T:105-->
<syntaxhighlight>
uid;users_name;full_name;email;lang;password
1;admin;Administrator;your-email@example.net;en;
2;ben;"Ben Alister";ben@test.ing;auto;test!123
</syntaxhighlight>
 
 
==Set theme permissions for a user== <!--T:19-->


<!--T:20-->
<!--T:20-->
With template permissions, you can decide which design templates a user can select when creating or editing a survey. It might be a good idea to restrict the design templates a user can select in order to prevent unwanted use of design templates, which you might consider to be not suitable for a survey/questionnaire.
With theme permissions, you can decide which design themes a user can select when creating or editing a survey.  


<!--T:21-->
<!--T:21-->
For example, if you have a specific design template for a group of users or customers, you might want to restrict their access to other templates to make them use only the template created for their purpose.
If you have specific design themes for a group of users or customers, you can restrict their access to other themes to ensure that they use only themes created for them.


<!--T:22-->
<!--T:22-->
To set or edit the template permissions for a user, simply click the pen-and-lock symbol for design templates:
To set or edit the themes permissions for a user, click the pen-and-lock symbol for design themes.




Line 142: Line 197:


<!--T:24-->
<!--T:24-->
Select the design templates to which the respective user or user groups should have access to. After you finished your selection or deselection, do not forget to hit the '''Save''' button: [[File:Save.png|0.75px]].
Select the design themes to which the respective user or user groups should have access. After you finished your selection or deselection, do not forget to click '''Save''': [[File:Save.png|0.75px]].


<!--T:25-->
<!--T:25-->
To get a proper understanding of this function, check [[Manage users#Examples|the examples provided below]].
To better understand this function, view [[Manage users#Examples|the examples provided below]].


==Activate and deactivate users== <!--T:106-->
<!--T:107-->
{{FeatureStarting|6.4.0}}
It's possible to mark a user as activated or deactivated.
<!--T:108-->
A deactivated user is not able to log in to the admin interface.


=Use one-time passwords= <!--T:51-->
=Use one-time passwords= <!--T:51-->
Line 154: Line 217:


<!--T:53-->
<!--T:53-->
To enable this login method, the line [[Optional settings#Use_one_time_passwords|<code>$use_one_time_passwords = false;</code>]] has to be set 'true' in config.php (it is 'false' by default).
To enable this login method, the line [[Optional settings#Use_one_time_passwords|<code>'use_one_time_passwords' => true;</code>]] has to be added to config.php (it is 'false' by default) .  


<!--T:54-->
<!--T:54-->
Line 165: Line 228:


<!--T:59-->
<!--T:59-->
<div class="simplebox">http://www.yourdomain.org/limesurvey/index.php/admin/authentication/login?user=myusername&onepass;=secretpassword</div>
<div class="simplebox">http://www.yourdomain.org/limesurvey/index.php/admin/authentication/login?user=myusername&onepass=secretpassword</div>
 
<!--T:94-->
<div class='simplebox'> [[File:help.png]] The 'secretpassword' field is plain text, not a SHA 256 hash.</div>


<!--T:60-->
<!--T:60-->
'''Things to watch out for:'''
'''Things to watch out for:'''
* To enable this login method, the line [[Optional settings#Use_one_time_passwords|<code>$use_one_time_passwords = false;</code>]] has to be set <code>true</code> in config.php (it is 'false' by default).
* To enable this login method, the line [[Optional settings#Use_one_time_passwords|<code>'use_one_time_passwords' => true</code>]] has to be added in config.php (it is 'false' by default).
* The passed username has to exist in LimeSurvey's ''users table''.
* The passed username has to exist in the LimeSurvey ''users table''.
* The one-time password (which can be set via an external application) has to be stored as [https://secure.php.net/manual/en/function.md5.php MD5 hash] in column ''one_time_pw'' of table ''users''.
* The one-time password (which can be set via an external application) has to be stored as [https://secure.php.net/manual/en/function.md5.php MD5 hash] in the column ''one_time_pw'' of table ''users''.
* The passed plain text password will be hashed using the sha256 function and will then be compared to the stored hash in column ''one_time_pw'' of table ''users''. Both passwords have to match.
* The passed plain text password will be hashed using the sha256 function and will then compared to the stored hash in column ''one_time_pw'' of table ''users''. Both passwords have to match.
* After the first login with the one-time password, it gets deleted from the database. The user won't be able to log in anymore with that respective password a second time.
* After the first login with the one-time password, it gets deleted from the database. The user won't be able to log in with that respective password a second time.
 


=Set permissions for a single survey= <!--T:26-->
=Set permissions for a single survey= <!--T:26-->
Line 181: Line 246:
These permissions only apply for a single survey. If you want to set permissions for the whole system, you can use [[Manage users#Set global permissions for a user|global permissions]].
These permissions only apply for a single survey. If you want to set permissions for the whole system, you can use [[Manage users#Set global permissions for a user|global permissions]].
These permissions can be offered either to a single user or to a user group.
These permissions can be offered either to a single user or to a user group.


<!--T:28-->
<!--T:28-->
{{Alert|title=Attention|text=An existing user account is required to set permissions for a single survey. If the account doesn't exist, you have to create it first and then change the survey permissions. The same applies to offering survey permissions to a user group. Besides the necessity to have one created, you also need to add at least one user to that group in order to be able to select it and grant it survey permissions.}}
{{Alert|title=Attention|text=An existing user account is required to set permissions for a single survey. If the account doesn't exist, you have to create it first and then change the survey permissions. The same applies to offering survey permissions to a user group. Besides the necessity to have one created, you also need to add at least one user to that group in order to be able to select it and grant it survey permissions.}}
<!--T:96-->
{{Note| By default, an user (non-admin) cannot grant survey permissions to users that are not part of the same group as the survey administrator. This is a security option enabled by '''default''' in LimeSurvey. To change this, you need to deactivate option [[Global_settings#Security|Group member can only see own group]], located in the '''Global settings''', under the '''Security tab'''. However, if you feel unsure about disabling this option, you can create groups containing those users that can be seen and be granted survey permissions by a survey creator.}}


<!--T:30-->
<!--T:30-->
To change the survey permissions, you have to select the '''Settings''' sidebar of your survey. Then, click on '''Survey permissions''' and choose to whom would you like to offer permissions. The rights can be offered either separately to specific users or to a user group.
To change the survey permissions, click the '''Settings''' tab. Then, click '''Survey permissions''' and choose to whom would you like to offer permissions. The permissions can be offered either separately to specific users or to a user group.




Line 200: Line 271:


<!--T:32-->
<!--T:32-->
In the next step, select the user that will receive survey rights and click '''Add user'''.
In the next step, select the user that will receive survey permissions and click '''Add user'''.




Line 212: Line 283:
<!--T:35-->
<!--T:35-->
<center>[[File:LimeSurveyUserPermissionMatrix.jpg]]</center>
<center>[[File:LimeSurveyUserPermissionMatrix.jpg]]</center>


<!--T:36-->
<!--T:36-->
You can set in this matrix the user's survey permissions. Checking a box grants survey permissions to the respective user. If you click on a checkbox from the first column, all the rights of the corresponding line will be selected/removed.  
You can set in this matrix the user's survey permissions. Checking a box grants survey permissions to the respective user. If you click a checkbox from the first column, all the permissions of the corresponding line will be selected/removed.  


<!--T:37-->
<!--T:37-->
Click on the double-right arrowhead to access the extended version of the matrix to choose specifically the actions that can be performed by a user.
Click the double-right arrowhead to access the extended version of the matrix to choose specifically the actions that can be performed by a user.
After you finished editing the survey permissions, click on the '''Save''' button, which is located in the upper right part of the screen.
After you finished editing the survey permissions, click '''Save''', which is located in the upper right corner of the screen.


<!--T:39-->
<!--T:39-->
Some examples are provided [[Manage_users#Examples|below]] in order to help you get a better understanding of the Limesurvey's survey permissions system.
Some examples are provided [[Manage_users#Examples|below]] in order to help you get a better understanding of Limesurvey's survey permissions system.
 


==Grant survey permissions to a user group== <!--T:86-->
==Grant survey permissions to a user group== <!--T:86-->


<!--T:87-->
<!--T:87-->
Click on add a user group and select the user group to which you would like to add the permission rights.
Click '''add a user group''' and select the user group to which you would like to add the permission permissions.


<!--T:88-->
<!--T:88-->
<center>[[File:LimeSurveyPermissionRightsUserGroup.png]]</center>
<center>[[File:LimeSurveyPermissionpermissionsUserGroup.png]]</center>


<!--T:89-->
<!--T:89-->
You will select in the next step the permissions that you will allocate to the members of that user group. Do not forget to click on the double right arrowhead to get an extended view of the permissions matrix.
In the next step,  select  the permissions that you will allocate to the members of that user group. Do not forget to click the double right arrowhead to get an extended view of the permissions matrix.




Line 241: Line 312:


<!--T:38-->
<!--T:38-->
After you finished editing the survey permissions, click on the '''Save''' button, which is located in the upper right part of the screen.
After you have finished editing the survey permissions, click '''Save''', which is located in the upper right part of the screen.


<!--T:91-->
<!--T:91-->
Some examples are provided [[Manage_users#Examples|below]] in order to help you get a better understanding of the Limesurvey's survey permissions system.
Some examples are provided [[Manage_users#Examples|below]] to help you get a better understanding of the Limesurvey's survey permissions system.


<!--T:92-->
<!--T:92-->
Line 252: Line 323:


<!--T:41-->
<!--T:41-->
Different scenarios are presented below. They provide some advice about which rights are necessary for some specific tasks and how they can be granted to the users.
Different scenarios are presented below. They provide some advice about which permissions are necessary for some specific tasks and how they can be granted to the users.




==I want to add a new person in charge for administrating LimeSurvey== <!--T:42-->
==Add new LimeSurvey administrator== <!--T:42-->
* Log in as '''admin'''.
* Log in as '''admin'''.
* Create a new user account.
* Create a new user account.
* Grant that user the '''Superadministrator''' permission.
* Grant that user the '''Superadministrator''' permission.
* ''Not necessary'' : Setting the template permissions ('''Superadministrator''' has all permissions for all templates).
* ''Not necessary'' : Setting the theme permissions ('''Superadministrator''' has all permissions for all themes).
* ''Not necessary'' : Setting the survey permissions ('''Superadministrator''' has all permissions for all surveys).
* ''Not necessary'' : Setting the survey permissions ('''Superadministrator''' has all permissions for all surveys).


 
==A new user wants to create their own surveys== <!--T:43-->
==A new user wants to create his/her own surveys== <!--T:43-->
* Log in as '''admin''' (or as a user that has the '''Superadministrator''' permission).
* Log in as '''admin''' (or as a user that has the '''Superadministrator''' permission).
* Create a new user account.
* Create a new user account.
* Set global permissions for that user to '''Create survey'''.
* Set global permissions for that user to '''Create survey'''.
* ''Optional'' : Set template permissions - select which template(s) should be used by the user/user group.
* ''Optional'' : Set theme permissions - select which theme(s) should be used by the user/user group.


==The creator of a survey needs another person to edit his/her survey== <!--T:44-->
==The creator of a survey needs to give another person permission to edit their survey== <!--T:44-->
* Log in as '''admin''' (or as a user that has the '''Superadministrator''' permission).
* Log in as '''admin''' (or as a user that has the '''Superadministrator''' permission).
* Create a new user account.
* Create a new user account.
* Set '''no global permissions''' for user.
* Set '''no global permissions''' for user.
* Set '''no template permissions''' for user.
* Set '''no theme permissions''' for user.
* Set the survey permissions the way you want. If he/she should receive all the survey permissions, you can check the first box from each row. Otherwise, click on the double-right arrowhead to see the expanded matrix (upper right corner) and select only those rights you believe the respective user should have.
* Set the survey permissions the way you want. If he/she should receive all the survey permissions, you can check the first box from each row. Otherwise, click on the double-right arrowhead to see the expanded matrix (upper right corner) and select only those permissions you believe the respective user should have.
 


==A person responsible for the survey wants to see the results of the survey and export them== <!--T:45-->
==A person responsible for the survey wants to view and export survey results== <!--T:45-->
* Log in as '''admin''' (or as a user that has the '''Superadministrator''' permission).
* Log in as '''admin''' (or as a user that has the '''Superadministrator''' permission).
* Create a new user account.
* Create a new user account.
* Set '''no global permissions''' for user.
* Set '''no global permissions''' for user.
* Set '''no template permissions''' for user.
* Set '''no theme permissions''' for user.
* Set survey permissions to: '''Responses''' -> '''View/read''' and '''export''', and '''Statistics''': '''View/read'''.
* Set survey permissions to: '''Responses''' -> '''View/read''' and '''export''', and '''Statistics''': '''View/read'''.


Line 288: Line 357:
<center>[[File:LimeSurveyCusomerOwnStatistics.jpg]]</center>
<center>[[File:LimeSurveyCusomerOwnStatistics.jpg]]</center>


==I need help from two interns that can help me with the translation of my survey== <!--T:47-->
==Granting permission for help with translation of a survey== <!--T:47-->
* Log in as ''admin'' (or as a user that has the ''Superadministrator'' permission).
* Log in as ''admin'' (or as a user that has the ''Superadministrator'' permission).
* Create ''n'' user accounts (where n is the number of translators).
* Create ''n'' user accounts (where n is the number of translators).
* Create a user group called ''Translators'' and add the ''n'' accounts to this group.
* Create a user group called ''Translators'' and add the ''n'' accounts to this group.
* Go to the '''Survey permissions''' and click on '''Add a user group'''.
* Go to the '''Survey permissions''' and click on '''Add a user group'''.
* If they do only translations, then offer them the '''Quick translation''' permission.
* If they only do translations, then offer them the '''Quick translation''' permission.


<!--T:49-->
<!--T:49-->
{{Note|Check our [[LimeSurvey Users|wiki section on users]] and their classification as it can be found in the code and documentation.}}
{{Note|Check our [[LimeSurvey Users|wiki section on users]] and their classification as it can be found in the code and documentation.}}
</translate>
</translate>

Latest revision as of 17:46, 13 September 2024

User management

The user management tool allows you to add additional administration users to LimeSurvey. We refer to them as 'users'. Do not confuse them with survey participants (respondents).


Create users

To create a new user, open the user management dialog by clicking on Configuration (located on the main LimeSurvey toolbar) -> User management.



Then, click Add user located in the upper right area of User control table. A window will be displayed asking you to:

  • Enter the desired username into the Username field.
  • Enter the email address into the Email field. Please note that:
    • LimeSurvey sends out a confirmation email to the address entered into the Email field. This email address will be used as the standard contact email address for surveys created by the respective user.
    • If you do not want the user to receive the confirmation email with a link to the LimeSurvey application, username, and password, you can use your own email address to send the confirmation email to you. After that, you can change the email address to the address of the user.
  • Enter user's full name into the Full name field. Please note that the full name entered here will be used as the standard contact person name for surveys created by the respective user.
  • You can optionally use Expiry date/time if you want to set expiry date for newly created user. After that date/time the user will not be able to log in any more.
  • You can also optionally set user's starting password, but please advise them to change it after their initial log in.
  • Click Save to create the new user.

Note that password complexity is enforced and validated by the PasswordRequirement plugin.


You have now created your first user. To find out more about setting user permissions, please read on.



Below you can see four options under the Action column that allow you to:



  • edit the general aspects of a user - by clicking the pen symbol.
  • delete the user from the survey administrators database - by clicking the trash button.
  • set global permissions for a user - by clicking the lock symbol.
  • set theme permissions for a user - by clicking the pen-and-lock symbol.

Edit user

Click the pen icon to edit user information.


You can enter a new email address, name, and change their password. Click Save to confirm changes.

Delete user

To delete a user account, click the corresponding trash icon (located on the same line as the user account you want to delete) and click OK.

Set global permissions for a user

  Global permissions apply to the whole LimeSurvey application. If you want to set permissions only for a specific survey, you can use the survey permissions settings.


To set global permissions for a user, click the lock symbol.



The CRUD (create, read, update, and delete) system is employed (as it is in the survey permission settings). For more user permission options, we recommend extending the matrix using the double-right arrowhead, which is located in its upper right corner. If you check the first box, all the CRUD permissions in that row are automatically checked.

You can now add or remove the following permissions:

  • Label sets: Permission to create, view, update, delete, export, and import label sets. The label sets do not have specific permissions (unlike themes).
  • Settings & Plugins: With this permission a user can check data integrity, save the SQL database to an .sql file, manage global settings, view the PHP info in the global settings, and manage all plugins.
  • Survey groups (New in 4.4.0 ): Give access to all surveys' group. To allow user to manage their own surveys' group, give the user the 'create' permission. A creator of a surveys' group are (by default) the owner of this surveys' group.
Permission on a surveys group does not give all permissions on surveys, but a user can give permissions on all surveys in surveys' group
  • Surveys: Gives access to all surveys. To allow a user to only create and manage their own survey, give the user the 'create' permission. A creator of a survey is the owner of the survey and will always be able to manage it. Remember that each survey can grant different permissions .
The global permission is applied before the survey-specific permission!
  • Themes: Allows the user to use all the available design themes and edit all non-standard themes. A person with this permission should have sufficient knowledge in terms of HTML, Javascript, and CSS. If a user is not familiar with these things and is supposed to use a specific design themes, it would be better to only give them 'read' permission. Each theme can have specific permissions.
  • User groups: Allows a user to create/view/update/delete user groups.
  • Users: A user can create, modify, and delete their own administration users with this permission. The newly created users cannot have higher permissions than the parent user. You will also not be able to edit users owned by other administration users. If this has to be done, then a Superadministrator permission must be granted.
  • Superadministrator: Can only be added by other Superadministrator with this setting as update and grants full permission to the whole LimeSurvey application, including installing plugins and using any kind of content (including JavaScript) in survey content. (see also global security settings)
  • Use internal database authentication: Allows users to access LimeSurvey's panel via the authentication page (e.g. http://domain/admin/authentication/sa/login). If it is unchecked and the respective user tries to connect to LimeSuvey's panel, they will get the following error: 'Internal database authentication method is not allowed for this user'.
All the permissions mentioned above that belong to the forced super administrator cannot be removed via the GUI.


Import and export users

You can import and export users in CSV and JSON format by using these buttons on User Management page.

When you are importing users, a modal opens that shows you which fields should be present. You can choose to overwrite existing users by selecting this checkbox.

Example of the JSON structure:

[
	{
		"uid": 1,
		"users_name": "admin2",
		"full_name": "Administrator",
		"email": "your-email@example.net",
		"lang": "en",
		"password": ""
	},
	{
		"uid": 2,
		"users_name": "ben2",
		"full_name": "Ben Alister",
		"email": "ben@test.ing",
		"lang": "auto",
		"password": "test!123"
	}
]

Example of the CSV structure:

uid;users_name;full_name;email;lang;password
1;admin;Administrator;your-email@example.net;en;
2;ben;"Ben Alister";ben@test.ing;auto;test!123


Set theme permissions for a user

With theme permissions, you can decide which design themes a user can select when creating or editing a survey.

If you have specific design themes for a group of users or customers, you can restrict their access to other themes to ensure that they use only themes created for them.

To set or edit the themes permissions for a user, click the pen-and-lock symbol for design themes.



Select the design themes to which the respective user or user groups should have access. After you finished your selection or deselection, do not forget to click Save: 0.75px.

To better understand this function, view the examples provided below.

Activate and deactivate users

 Hint: This features is available starting in version 6.4.0

It's possible to mark a user as activated or deactivated.

A deactivated user is not able to log in to the admin interface.

Use one-time passwords

A user can call the LimeSurvey login at /limesurvey/admin and enter a username and a one-time password (which was previously written into the users table - column one_time_pw - by an external application).

To enable this login method, the line 'use_one_time_passwords' => true; has to be added to config.php (it is 'false' by default) .

The URL has to contain the following variables:

  • user: The username normally used to login into LimeSurvey. This username has to exist in the 'users' table of the database.
  • onepass: The plain text password which is then compared to the password in the 'users' table

A valid URL to login using a one-time password will look like this:

The 'secretpassword' field is plain text, not a SHA 256 hash.

Things to watch out for:

  • To enable this login method, the line 'use_one_time_passwords' => true has to be added in config.php (it is 'false' by default).
  • The passed username has to exist in the LimeSurvey users table.
  • The one-time password (which can be set via an external application) has to be stored as MD5 hash in the column one_time_pw of table users.
  • The passed plain text password will be hashed using the sha256 function and will then compared to the stored hash in column one_time_pw of table users. Both passwords have to match.
  • After the first login with the one-time password, it gets deleted from the database. The user won't be able to log in with that respective password a second time.

Set permissions for a single survey

These permissions only apply for a single survey. If you want to set permissions for the whole system, you can use global permissions. These permissions can be offered either to a single user or to a user group.


  Attention : An existing user account is required to set permissions for a single survey. If the account doesn't exist, you have to create it first and then change the survey permissions. The same applies to offering survey permissions to a user group. Besides the necessity to have one created, you also need to add at least one user to that group in order to be able to select it and grant it survey permissions.



By default, an user (non-admin) cannot grant survey permissions to users that are not part of the same group as the survey administrator. This is a security option enabled by default in LimeSurvey. To change this, you need to deactivate option Group member can only see own group, located in the Global settings, under the Security tab. However, if you feel unsure about disabling this option, you can create groups containing those users that can be seen and be granted survey permissions by a survey creator.


To change the survey permissions, click the Settings tab. Then, click Survey permissions and choose to whom would you like to offer permissions. The permissions can be offered either separately to specific users or to a user group.




Grant survey permissions to a user

In the next step, select the user that will receive survey permissions and click Add user.



After you click Set survey permissions, the user's survey permissions matrix will be shown.


You can set in this matrix the user's survey permissions. Checking a box grants survey permissions to the respective user. If you click a checkbox from the first column, all the permissions of the corresponding line will be selected/removed.

Click the double-right arrowhead to access the extended version of the matrix to choose specifically the actions that can be performed by a user. After you finished editing the survey permissions, click Save, which is located in the upper right corner of the screen.

Some examples are provided below in order to help you get a better understanding of Limesurvey's survey permissions system.

Grant survey permissions to a user group

Click add a user group and select the user group to which you would like to add the permission permissions.

File:LimeSurveyPermissionpermissionsUserGroup.png

In the next step, select the permissions that you will allocate to the members of that user group. Do not forget to click the double right arrowhead to get an extended view of the permissions matrix.



After you have finished editing the survey permissions, click Save, which is located in the upper right part of the screen.

Some examples are provided below to help you get a better understanding of the Limesurvey's survey permissions system.

The user group function is still experimental. Use our bugs tracker to describe any kind of inconsistencies.

Examples

Different scenarios are presented below. They provide some advice about which permissions are necessary for some specific tasks and how they can be granted to the users.


Add new LimeSurvey administrator

  • Log in as admin.
  • Create a new user account.
  • Grant that user the Superadministrator permission.
  • Not necessary : Setting the theme permissions (Superadministrator has all permissions for all themes).
  • Not necessary : Setting the survey permissions (Superadministrator has all permissions for all surveys).

A new user wants to create their own surveys

  • Log in as admin (or as a user that has the Superadministrator permission).
  • Create a new user account.
  • Set global permissions for that user to Create survey.
  • Optional : Set theme permissions - select which theme(s) should be used by the user/user group.

The creator of a survey needs to give another person permission to edit their survey

  • Log in as admin (or as a user that has the Superadministrator permission).
  • Create a new user account.
  • Set no global permissions for user.
  • Set no theme permissions for user.
  • Set the survey permissions the way you want. If he/she should receive all the survey permissions, you can check the first box from each row. Otherwise, click on the double-right arrowhead to see the expanded matrix (upper right corner) and select only those permissions you believe the respective user should have.

A person responsible for the survey wants to view and export survey results

  • Log in as admin (or as a user that has the Superadministrator permission).
  • Create a new user account.
  • Set no global permissions for user.
  • Set no theme permissions for user.
  • Set survey permissions to: Responses -> View/read and export, and Statistics: View/read.


Granting permission for help with translation of a survey

  • Log in as admin (or as a user that has the Superadministrator permission).
  • Create n user accounts (where n is the number of translators).
  • Create a user group called Translators and add the n accounts to this group.
  • Go to the Survey permissions and click on Add a user group.
  • If they only do translations, then offer them the Quick translation permission.
Check our wiki section on users and their classification as it can be found in the code and documentation.