### Advanced information on joining a dSurvey session

a discussion of some session descriptor variables

- Username and password
- Maximum users
- ReJoining session
- Open ended session

Note: the following refers to variables in the session descriptor files. To can change these parameters by using the modify a session's parameter page.

To change the values in all future sessions (generated from an instrument), you should change their values in the instrument descriptor file.

Username and password

You can limit control enrollment to a session using a list of allowed usernames. You can also require a password. This password can be the same for everyone, or it can depend on the username.

If a password is required, the default join a session page will include a text box for this password. Note that the username and password are case InSensitive. They also can not contain $, commas, periods, and # characters.

When you load up this page, select the session you want to change, and then click on the button. When you click this, an editable table containing the sessions variables will be displayed.

You should change the following variables

1. To require a password that is the same for everyone, change the `USE_PASSWORD` variable -- set it to something other than `0` (or other than blank).
2. To specify a list of usernames that may join, edit the `ALLOWED_USERS` box. For each user, you can also specify a password -- if you don't then the default password (set in `USE_PASSWORD` will be used).
3. If you specify `USE_PASSWORD`, but do not specify `ALLOWED_USERS`, then any `username` can be entered, but the correct password (the same for everyone) must be entered.

Maximum users

You can limit the number of participants to a maximum by using the `MAX_USERS` variable (in the session descriptor file).
Alternatively, you can monitor the number of particpants, and stop accepting new participants when enough have enrolled. This can be done with the participants generic option in the session's control panel (sub-options of participants include showing a list of currently signed up participants, and start/stop enrollment of new participants).

You can force each participant to use a unique `username`, by setting the `NAME_CHECK` variable. When `NAME_CHECK` is set, then the list of of currently chosen usernames (as selected by already enrolled participants) is checked. If a case inSensitive match occurs (with the participant's username), the participant will be asked to try again.

ReJoining session

There may be cases where a participant leaves a session, and wishes to rejoin later. In particular, if the participant's browser crashes/hangs, then the participant will often want to immediately rejoin the session. This can be enabled by setting the `REJOIN` parameter (in the session descriptor file), and the `NAME_CHECK` variable (`REJOIN` is ignored if `NAME_CHECK` is not enabled).

When `REJOIN` is enabled, a `Are you reJoining the session` message is displayed, followed by a button that toggles between and . If the participant selects , then if a match (to an existing username) occurs, the participant will be asked to try again. However, if is selected, a match means this is a rejoin; and the participant will rejoin the session.
Technical note: when a participant rejoins a session, he will be given his existing clientId.

Open ended session

By open-ended session, we mean a session where new participants can join at anytime. That is, existing participants can be busy engaging in the survey. In fact, some participants may join before other's even join.

For many simple surveys, that do not require real time interaction with other participants, this may be quite desirable: participants can join the session at their discretion, and finish at their own pace.

To specify an open-ended survey, the `REF_MAX` must be set to a non-zero value. In particular, `REF_MAX` should contain the value of the highest reference ID.