mirror of
https://github.com/moodle/moodle.git
synced 2025-02-25 12:33:18 +01:00
Several fixes and enhancements: + No longer fail due to timeouts or memory limits. And let apache know that we're a memory hog so it can clean up after us. + Add support for user account updates (optional) + Add support for user account renames (optional) + Cleaned up the logic that deals with creation and failure + More robust error handling + Use optional_param() -- no longer depends on register_globals -- when do we switch that off? + Added the relevant documentation.
43 lines
3.9 KiB
HTML
Executable File
43 lines
3.9 KiB
HTML
Executable File
<p align="center"><b>Upload users</b></p>
|
|
|
|
<p>Firstly, note that <strong>it is usually not necessary to import users in bulk</strong> - to keep your own maintenance work down you should first explore forms of authentication that do not require manual maintenance, such as connecting to existing external databases or letting the users create their own accounts. See the Authentication section in the admin menus.</p>
|
|
<p>If you are sure you want to import multiple user accounts from a text file, then you need to format your text file as follows:</p>
|
|
|
|
<ul>
|
|
<li>Each line of the file contains one record</li>
|
|
<li>Each record is a series of data separated by commas</li>
|
|
<li>The first record of the file is special, and contains a list of fieldnames. This defines the format of the rest of the file.
|
|
<blockquote>
|
|
<p><strong>Required fieldnames:</strong> these fields must be included in the first record, and defined for each user</p>
|
|
<p></p>
|
|
<font color="#990000" face="Courier New, Courier, mono">username, password, firstname, lastname, email</font></p>
|
|
</p>
|
|
<p><strong>Default fieldnames:</strong> these are optional - if they are not included then the values are taken from the primary admin</p>
|
|
<p><font color="#990000" face="Courier New, Courier, mono">institution, department, city, country, lang, auth, timezone</font> </p>
|
|
<p><strong>Optional fieldnames: </strong>all of these are completely optional. The course names are the "shortnames" of the courses - if present then the user will be enrolled as students in those courses. Group names must be associated to the corresponding courses, i.e. group1 to course1, etc.</p>
|
|
<p> <font color="#990000" face="Courier New, Courier, mono">idnumber, icq, phone1, phone2, address, url, description, mailformat, maildisplay, htmleditor, autosubscribe, course1, course2, course3, course4, course5, group1, group2, group3, group4, group5, type1, type2, type3, type4, type5</font></p>
|
|
</blockquote>
|
|
</li>
|
|
<li>Commas within the data should be encoded as &#44 - the script will automatically decode these back to commas. </li>
|
|
<li>For Boolean fields, use 0 for false and 1 for true. </li>
|
|
<li>Types are used to tell Moodle whether the user is a student or a teacher if a corresponding course exists (e.g. type2 corresponds to course2). 1 = Student, 2 = Editing Teacher, and 3 = Non-editing Teacher. If type is left blank, or if no course is specified, the user is default to student. </li>
|
|
<li>For courses, use the short name for the course</li>
|
|
<li>Note: If a user is already registered in the Moodle user database, this script will return the
|
|
userid number (database index) for that user, and will enrol the user as a student in any of the
|
|
specified courses WITHOUT updating the other specified data.</li>
|
|
</ul>
|
|
|
|
|
|
<p>Here is an example of a valid import file:</p>
|
|
<p><font size="-1" face="Courier New, Courier, mono">username, password, firstname, lastname, email, lang, idnumber, maildisplay, course1, group1, type1<br />
|
|
jonest, verysecret, Tom, Jones, jonest@someplace.edu, en, 3663737, 1, Intro101, Section 1, 1<br />
|
|
reznort, somesecret, Trent, Reznor, reznort@someplace.edu, en_us, 6736733, 0, Advanced202, Section 3, 3</font></p>
|
|
|
|
<p align="center"><b>Updating existing accounts</b></p>
|
|
|
|
<p>By default Moodle assumes that you will be creating new user accounts, and skips records where the username matches an existing account. However, if you set "Update existing accounts" to <b>Yes</b>, the existing user account will be updated. </p>
|
|
|
|
<p>When updating existing accounts you can change usernames as well. Set "Allow renames" to <b>Yes</b> and include in your file a field called <font color="#990000" face="Courier New, Courier, mono">oldusername</font>.</p>
|
|
|
|
<p><b>Warning:</b> any errors updating existing accounts can affect your users badly. Be careful when using the options to update.</p>
|