Skip to main content
pdf?stylesheet=default
Blackboard Help

Upload Courses

Administrators will be able to upload a CSV file containing the list of courses to add to the institution's site. If you have multiple courses to add to your institution, this method may save you time creating the new courses.


Basic fields for uploadcourse.csv file

You can create a text file to upload courses in bulk. The file must be a CSV file.

There are many fields that can be included in the uploadcourse.csv file but only three required fields - shortname, fullname, and category, category_idnumber, or category_path.

  • shortname — The short, abbreviated name for the course. Required field for every operation except creating a new course.
  • fullname —​ The full name of the course. Required field for a new course.
  • category — The identification of the category to place the course. This field takes precedence over category_idnumber and category_path.

    Only one of the category fields will be required when creating a course.

  • category_idnumber — The identification number of the category to place the course. This field takes precedence over category_path.

    Only one of the category fields will be required when creating a course.

  • category_path — The path of the category to place the course.

    If you want to place the course in a category named Science-Fiction located under the category Movies, the value to provide is: Movies / Science-Fiction. The separator must be [space]/[space] and the category MUST exist - it will not be created. If you want to place the course in the top-level category Movies, the value to provide is: Movies.

    Only one of the category fields will be required when creating a course.

All field names must be lowercase, and separated by commas(,) with no additional spaces between fields. Each course must exist in a separate line in the text file.

shortname,fullname,category,category_idnumber,category_path

The following picture displays an example of the uploadcourse.csv file with the minimum fields:

To learn more about additional fields you can include in the uploadcourse.csv file, see Additional Fields for uploadcourse.csv File.


Upload the course file

Steps: Administration > Site administration > Courses > Upload courses

  1. From Site administration select Courses and Upload Courses.
  2. On the Upload Courses page, either drag the CSV file to the File box, or select Choose a file to search for and select the file.
  3. Change any of the General settings as required, however Blackboard recommends the default values already set:
    • If your CSV file uses a different delimiter to separate fields other than a comma, select the value from the CSV delimiter list.
    • If your CSV file has been encoded in a method other than UTF-8, select the method from the Encoding list.
    • Select how many rows to preview in the Preview rows list. The system checks the CSV file for any errors.
  4. Select appropriate Import options:
    • Select if courses can be created and/or updated from the Upload mode list.

      Options include — Create new courses only, skip existing ones; Create all, increment shortname if needed; Create new courses, or update existing ones; and Only update existing courses.

    • If you are updating courses, select which tool to use for the data from the Update mode list.

      You can use the information available CSV file and/or the default settings. Options include — Update with CSV data only; Update with CSV data and defaults; and Fill in missing items from CSV data and defaults.

    • Select whether or not to Allow deletes of courses.
    • Select whether or not to Allow renames of courses.
    • Select whether or not to Allow resets of courses.
  5. Select Preview to review the file for any errors.

    If you proceed with the upload and after an error is detected with a course, the course is ignored.

    Once the data has been reviewed, additional data becomes available on the Upload courses page.

  6. Select the Course process you want to complete:
    • If you are creating courses without a shortname (mandatory field), you can use the Template to generate a shortname box to automatically generate a shortname.

      Type one of the two acceptable placeholders: %i to generate the shortname based on the ID number; or %f to generate the shortname based on the full name for the course.

    • If you have a template for the creation of all courses, drag or select the template file in the Restore from this file after upload box. The restore file is a backup file (MBZ) to import in the course after a create or update.
    • If you have a course you want to use as a template for the creation of all courses, type the shortname of the course in the Restore from this course after upload box.
    • Select whether or not to reset the course after creating or updating it from the Reset after upload list.
  7. Set the Default course values not specified in the CSV file. These defaults are set in the uploaded courses:
    • Select the Course category where to place the courses.
    • Determine if the courses are Visible in the website course list.
    • Select the first week of the course in the Course start date box.

      This date is the first day of log files for the course activities.

    • Select the Format of the course page.

      This setting must be a valid course format plugin name, such as Weekly format, Folder View format, Single activity format, or Topics format.

    • If you want a specific theme set to the uploaded courses, select from the Force theme list.
    • If you want a specific language set to the uploaded courses, select from the Force language list.

      Blackboard recommends leaving the Force theme and Force language options to Do not force. If you update this information, the instructors will not be able to change the theme of the uploaded course, and students will not be able to select their own language.

    • If you want to preset the number of News items to show on a course, select the number of items from the list. If set to 0 (zero), the news block is not displayed.
    • Determine whether or not to Show gradebook to students in the courses.
    • Determine whether or not to Show activity reports in the courses.​
    • Determine the Maximum upload size for any file being uploaded to course.
    • Determine whether or not to allow sub-group creation in courses through the Group mode list.

      Options include —​ No groups; Separate groups where members can only see their own groups; and Visible groups where each member can only work in their own group but can see other groups.

    • Determine whether or not to Force group mode.

      If a group mode is forced on the uploaded courses, then the group setting for individual activities in a course cannot be changed.

  8. Select Upload courses.

  9. Select Continue.

Additional fields for uploadcourse.csv File

You only need the required fields when batch uploading courses to your site, but there are other fields you can include. All field names must be lower-case and separated by a comma (,) with no spaces. If you have blank fields, you must still include the commas to note that the fields are blank. Each entry is a separate line.

Here is an example of an uploadcourse.csv with additional information:

shortname,fullname,category,summary,enrolment_1,enrolment_1_role,
enrolment_1_enrolperiod,role_student

courserestored,Course restored,1,a summary,manual,student,1 month,
courserestored2,Course restored 2,1,a summary,,,,
courserestored3,Course restored 3,1,a summary,,,,padawan
courserestored4,Course restored 4,1,"a summary, with comma",manual,student,1 month,
padawan

Course Information Fields

  • shortname — The short, abbreviated name for the course. Required field for every operation except creating a new course.
  • fullname — The full name of the course. Required field for a new course.
  • idnumber — The identification code number of the course.
  • category — The identification of the category to place the course. This field takes precedence over category_idnumber and category_path.

    Only one of the category fields will be required when creating a course.

  • category_idnumber — The identification number of the category to place the course. This field takes precedence over category_path.

    Only one of the category fields will be required when creating a course.

  • category_path — The path of the category to place the course.

    If you want to place the course in a category named Science-Fiction, located under the category Movies, the value to provide is: Movies / Science-Fiction. The separator must be [space]/[space] and the category MUST exist — it will not be created. If you want to place the course in the top-level category Movies, the value to provide is: Movies.

    Only one of the category fields will be required when creating a course.

  • visible — 1 if the course is visible, 0 if hidden.
  • startdate — The time at which the course starts.
  • summary — The summary of the course.
  • format — The course format to use. This setting must be a valid course format plugin name, such as weeks or topics.
  • theme — The theme to use​ for the course.
  • lang — The language to use​ for the course.
  • newsitems— The number of news items​ to list on the course.
  • showgrades — 1 to show the gradebook to students, 0 to hide it.
  • showreports — 1 to show the activity reports, 0 to hide it.​
  • legacyfiles — 1 to enable the legacy course files, 0 not to.
  • maxbytes — The maximum upload size of the course in bytes. Use 0 for the site limit.
  • groupmode — 0 for No groups, 1 for Separate groups and 2 for Visible groups.​
  • groupmodeforce — 1 to force the group mode, otherwise enter 0.​
  • enablecompletion — 1 to enable the activity completion, 0 not to.

Enrollment Fields

Some fields can be constructed to enable and configure enrollment methods for the course. The fields must be named enrolment_[number] for the enrollment method name, and enrolment_[number]_property for its properties.

Here is an example of the enrollment fields:

enrolment_1: manual
enrolment_1_role: student
enrolment_1_enrolperiod: 1 month
enrolment_2: self
enrolment_2_startdate: 2013-01-30
  • enrolment_[number] — The name of the enrollment method for a course.
  • enrolment_[number]_delete — 1 to delete this enrollment method from the course, if set to 1 all the other properties will be ignored.
  • enrolment_[number]_disable — 1 to disable this enrollment method from the course, if set to 1 all the other properties will be ignored.
  • enrolment_[number]_startdate — The enrollment start date.
  • enrolment_[number]_enddate — The enrollment end date.
  • enrolment_[number]_enrolperiod — Number of seconds, or a value understood by strtotime() such as 4 days.
  • enrolment_[number]_role — The role short name.
  • enrolment_[number]_[property] — Where property is understood by the specified enrollment method.

Upload courses is not yet compatible with all enrollment methods (MDL-43127).

Role Renaming Fields

To rename some user roles for courses, use the following pattern:

role_[shortname] — The new name of the role [shortname].

Here is an example of role renaming fields:

role_student: Apprentice
role_teacher: Master
role_mycustomrole: Council

The short name for the teacher role is editingteacher and the short name for the non-editing teacher is teacher.

Course Action Fields

The following fields can be added to determine the action for the record. These setting take precedence over the settings in the Course process area.

  • delete — 1 to delete the course
  • rename — The short name to rename the course.
  • backupfile — An absolute path to a backup file (.mbz) to import in the course.
  • templatecourse — The short name of a course to import the content.
  • reset — 1 to reset the course.

Best practices — increasing speed

When importing the content of a backup file, or another course, you are advised to enable the setting keeptempdirectoriesonbackup. This setting will speed up the process of the upload if you are importing multiple times from the same source.