Upload users in Moodle Workplace
This feature is part of Moodle Workplace, which is available through Moodle Partners.
The Upload users tool is enhanced in Moodle Workplace to allow additional functionality.
Tenant allocation
A tenant can be specified using tenant field when uploading the CSV by users with the capability tool/tenant:allocate. These users will be able to specify a tenant when uploading users (both when creating new users and updating existing).
If the current user does not have this capability, they can only create/update users in their own tenant. Use of tenant field is not allowed to these users. Note that by default, only site admins have this capability.
Example of the CSV file:
username,firstname,lastname,email,tenant
jonest,Tom,Jones,jonest@example.com,big
reznor,Trent,Reznor,reznor@example.com,small
Tenants are matched by their "ID number".
Job assignments
If the current user has the capability to assign jobs (in addition to the capability to use the upload user tool), they can create jobs for users or modify existing ones. Both fields jobdepartment1 and jobposition1 must have values, and fields jobstartdate1 and jobenddate1 are optional. When a user already has a job in this department and position, the dates will be modified but the new job will not be created, in this case empty values in start/end date fields will mean "do not modify", to remove the job end date it can be set to "0". Departments and positions are matched by their "ID number" just like tenants. It is possible to add more than one job for one user in the same line by adding jobdepartment2, jobposition2, etc.
username,firstname,lastname,email,jobdepartment1,jobposition1,jobstartdate1,jobenddate1
jonest,Tom,Jones,jonest@example.com,exampledep,examplepos,,
reznor,Trent,Reznor,reznor@example.com,exampledep2,examplepos2,2019-05-07,
jon,Jon,Whatever,jon@example.com,exampledep2,examplepos2,2019-05-07,2032-01-09
Programs and certifications allocations
If the current user has the capability to allocate to programs and/or certifications (in addition to the capability to use the upload user tool), they can do so in the upload users tool. Only users, programs and certifications from the same tenant can be used. If the user already has a direct allocation to a program/certification, the dates will be updated. Programs and certifications are matched by their "ID number".
Programs:
username,program1,programstartdate1,programenddate1,programduedate1
user14,prog1,2019-05-12,,
user15,prog1,2019-05-12,2032-01-09,2032-01-09
user12,prog1,2019-05-12,2032-01-09,
user13,prog1,2019-05-12,,2032-01-09
Certifications:
username,certification1,certificationstartdate1,certificationenddate1,certificationduedate1,certificationexpirydate1
user14,cert1,2019-05-12,,,
user15,cert1,2019-05-12,2032-01-09,2032-01-09,
user12,cert1,2019-05-12,2032-01-09,,
user13,cert1,2019-05-12,2032-01-09,2032-01-09,2032-01-09
Course completion
If the current user has the 'tool/datastore:uploadcoursecompletion' capability, they can upload course completion data to be stored in the Data store for users who belong to the same tenant as themselves. This data can be reported on by using Report builder to create a new report using the "Course completion from datastore" report source. The following is an example CSV file:
username,coursecompleted1,coursecompleteddate1
student,English 101,2019-01-01
Courses are matched on the 'coursecompleted' field of the CSV, which should refer to the shortname of the course in Moodle. It's possible to set the completion date by using the 'coursecompleteddate' field (if this field is omitted, then the current date will be used).