Version 2 Schedule Imports work very much like Version 1 Schedule Imports, except that you can now use the Name for objects in the import fields rather than the ID. Because the Name is often unique only when combined with other fields, the fields requested in the Version 2 (V2) Schedule import differ slightly and include more. For example, Room Name is not necessarily unique on its own, but it is when combined with Campus Name and Building Name. Section Name is also not necessarily unique except within a specified Term and Course. This means that these additional fields are required in the V2 Schedule Import.
The only time you must use the system-generated ID in a V2 Schedule import is on Update; the Update import must include the UUID for the Schedule you want to change. Requiring the UUID lets you use the Update to change the schedule's External ID if necessary.
The other major difference between a V1 and a V2 Schedule import is that each schedule now requires an External ID. If your schedules do not already have one, you will need to create or add one to use the V2 Import.
Schedule Delete imports can use either the UUID or the External ID. Both are unique values for a schedule.
Generating a Version 2 Schedule Export provides all the data you need for an import. Update the field values as needed, then re-import. This is another change from V1 to V2; V2 exports are identical in structure (same fields, same order) as the correlated import.
If you use a V2 Schedule Export to generate a V2 Create-Schedule import, remove the ID field; new IDs are created with each new schedule.
Imported files must include all requested fields / columns. If the Update-import example contains a field, you should include that field in the final import, even if you are not changing the values for that field. As cited in the Update Schedule section below, if a value is blank for an optional field, any value that currently exists for that item is removed. Similarly, if the FIELD is missing from the import file for an optional field, that value will be removed from all items in the update file. If the field is required but the column or a value is missing, the import will generate an error, either for the whole import or for the row missing the required value.
Create Schedule
We recommend downloading a sample CSV file and entering values for your new sections into the provided fields. Then import your new file.
You can export a Schedule, copy the relevant data (do not copy the Schedule ID; a new one will be created for the new schedule), and update each row to generate new schedules. Be sure to generate a Version 2 Export to create a Version 2 Import.
You must use Name for the fields in the import; you cannot use ID. If you want to use ID for the objects in the import, use a Version 1 Schedule Import.
As with all CSV Imports, multiple values in a single field must be separated with semicolons (;). For example, multiple days in a recurring schedule would be listed as MO;WE;FR, separating each day with a semicolon.
For the Availability field, separate the parameter from its value using a bar (|). For example, a relative delay of 5 days in a capture's availability would be entered as relative|5. For a concrete availability date (non-recurring captures only), the field entry would be concrete|2019-04-12. Concrete availability dates use the yyyy-mm-dd format, as do all dates in the import. For tips on formatting dates in a spreadsheet program and keeping them properly formatted, see Formatting Dates for CSV Imports.
Create Schedules That Publish to Multiple Sections
Here's a tricky bit about the V2 Schedule Import. The Version 1 Schedule Create import uses the system-generated Section ID to identify the section to publish to. This allows multiple sections to be entered into the field (separated by semicolons) and could therefore identify multiple sections to publish the generated captures of the capture schedule. However, the V2 Create Schedule import uses Section Name, which requires using Term Name and Course ID in addition to Section Name to uniquely identify the section. This prevents identifying more than one section per import row.
This is where the required External ID field comes in.
Once you establish a new External ID for a capture schedule you are creating, you can use that External ID on subsequent rows of the Import to identify additional sections (and their associated availability) for this one capture schedule to publish to. To work this way, the External ID must be established in the same Create spreadsheet that contains the additional section-identifying rows. The first instance of the External ID and the new capture schedule is considered the master and must include all necessary field data for a new capture schedule. To identify additional sections for publishing, complete only the External ID (same as the master) and the Publishing information (Term, Course ID, Section Name, and Availability).
If you try to use an External ID that already exists during the import, the row will fail because the ID is not unique. You cannot update based on External ID; to update a schedule, you must use the system-generated Schedule ID and an Update-type import.
| Field Name | Description | Example |
|---|---|---|
External ID (required) |
An External Identifier for the Capture Schedule. Can be used in place of the Schedule ID for Deletes via CSV import. Is ALSO used for creating capture schedules that publish to multiple sections, as described above. This ID must be unique. You can make it any value you like, but it must uniquely identify this capture schedule. We recommend using only UTF-8 characters, however. |
CHEM103_SPR2019_MWF |
Name (optional) |
Name or title of the capture schedule you are creating. All captures generated from this schedule will also have this name. Often, this is also the name of the course/section for which the capture schedule is being created (if applicable). |
CHEM-101 or Wednesday Special Lecture |
Start Date (required) |
Start date for capture schedule in format YYYY-MM-DD | 2019-01-15 |
Start Time (required) |
Start time for the capture (to the minute) in ISO 8601 (24-hour) Time format HH:MM | 09:00 or 14:30 (for 2:30pm) |
End Time (required) |
End time for the capture (to the minute) in ISO 8601 (24-hour) Time format HH:MM | 09:50 or 16:00 (for 4pm) |
End Date (optional) |
End date for capture in Date format YYYY-MM-DD. Required for recurring captures. Leave blank if the capture schedule is not recurring. |
2019-04-30 |
Days of Week (optional) |
Days the recurring capture should occur: SU, MO, TU, WE, TH, FR, SA. Required for recurring captures (an End Date is specified). |
MO;WE;FR Separate multiple values with a semicolon |
Exclusion Dates (optional) |
Dates in a recurring capture should not use the YYYY-MM-DD format. If publishing to a section, these are in addition to exclusion dates for the section's term. |
2019-02-21;2019-04-19 Separate multiple values with a semicolon |
Campus Name (required) |
The Name of the Campus where the room where the capture will take place is configured | Main Campus |
Building Name (required) |
The Name of the Building where the room where the capture will take place is located. | Taylor Hall |
Room Name (required) |
The Name of the Room where the capture will take place. Note that the Room also identifies the capture appliance used to generate the capture. |
TH-131 or Taylor Auditorium |
Presenter (optional) |
Email address of the instructor for the capture; becomes the owner for all captures generated by this schedule. If no Presenter provided, capture owner will be None. An admin can assign ownership later if necessary. |
jdowling@myuniversity.edu |
Guest Presenter (optional) |
Name of any guest instructor or presenter for this capture who should be associated with this schedule but who may not have an account. | Dr. Michio Kaku; Dr. P. Venkman |
Term Name (optional) |
Name of the Term in which the section to be published to exists. Required if you are auto-publishing completed captures from this schedule. |
Spring 2019 |
Course Identifier (optional) |
The Course ID in which the section to be published to exists. Required if you are auto-publishing completed captures from this schedule. |
CHEM-1XX |
Section Name (optional) |
Name of the Section to which you are publishing the captures generated by this schedule. Required if you are auto-publishing completed captures from this schedule. |
CHEM-103 |
Availability (optional) |
Defines an availability setting for student access to the completed capture if published. Valid availability values include: immediate, unavailable, relative, or concrete. If left blank, availability defaults to Immediate. For Relative, include a bar (|) and the number of days to delay after completion before each capture will be made available to students. For Concrete, include a bar (|) and the date on which the completed capture will be made available to students. Only available for non-recurring capture schedules. For Unavailable, the completed captures are published but not visible to students until an instructor or administrator manually makes them available. |
immediate or relative|5 or concrete|2019-03-13 or unavailable |
Should Caption (optional) |
Boolean value for whether the capture should be captioned. Defaults to False (not captioned) if left blank. |
Valid values: True, False |
Should Stream Live (optional) |
Boolean value for whether the capture should be streamed live Defaults to False (not streamed live) if left blank. |
Valid values: True, False |
Input1 (optional) |
Identifies the input type to be captured through Channel 1 NOTE: This field is for visual input identifier only; audio is always captured. If both input fields are left blank, the resulting capture will be audio-only. |
Valid values: video, display, altvideo (altvideo is for SCHD only) |
Input2 (optional) |
Identifies the input type to be captured through Channel 2 NOTE: This field is for visual input identifier only; audio is always captured. If both input fields are left blank, the resulting capture will be audio-only. |
Valid values: video, display, altvideo (altvideo is for SCHD only) |
Input3 (optional) |
*BETA* Identifies the input type to be captured through channel 3. Currently not supported when Should Stream Live = "true" :: video NOTE: This field is for visual input identifier only; audio is always captured. If both input fields are left blank, the resulting capture will be audio-only. |
Valid values: video, display, altvideo (altvideo is for SCHD only) |
Input4 (optional) |
*BETA* Identifies the input type to be captured through channel 4. Currently not supported when Should Stream Live = "true" :: video NOTE: This field is for visual input identifier only; audio is always captured. If both input fields are left blank, the resulting capture will be audio-only. |
Valid values: video, display, altvideo (altvideo is for SCHD only) |
Capture Profile |
Identifies the name of the profile to be captured. Currently only supported for Epiphan devices. | Custom Profile |
Capture Quality (optional) |
Quality setting for the capture output. Currently, this will be the same setting used for the Live stream if the capture is set for live streaming. Defaults to High if left blank. |
Valid values: medium, high, highest |
Stream Quality (optional) |
Quality of the live stream if Should Stream Live is set to "true" *See Note below | Valid values: medium, high, highest *See Note below |
Live Stream Quality currently matches Capture Quality. The Live Stream Quality field appears in both the CSV Import and the Public API, but it is a placeholder for future support for setting Live Stream quality (not yet implemented). For now, Live Stream Quality always matches the configured Capture Quality, regardless of the value entered in this field. Be aware that setting mixed capture profiles may occasionally break VoD.
If you are having problems streaming Live captures, set your Capture Quality to Medium for captures that will also be streamed live. This will reduce the stream's size and bitrate. Also, both the PRO and POD devices stream at lower bitrates than SCHD.
Update Schedule
Generate a V2 Schedule Export, then select and update the necessary information for the import file. Then import your new file.
Remove or Append Field Values on Update
Since you can use the V2 Export file for your V2 Update-type Import (with altered values), we expect that you will retain any values you do not want to change. This matters because the CSV Import cannot perform partial updates to records (called PATCH in API terminology); updates use PUT calls, meaning ALL fields are updated based on the values provided. This means that for updates:
- To remove the value(s) for a field where the value is optional, remove the existing value and leave the field blank.
- If the value is required and the field is blank, the row will be rejected.
- If the value is optional and the field is blank, the value will be removed from the object's properties.
- If the value is optional and the field is missing (the column is not present) in the import, that value will be removed from all items in the update.
- To replace a field's value, remove the existing value and replace it with the new / updated value.
- To append the values in a field where multiple values are allowed, retain the existing values but add the new values into the field (separating with a semicolon).
| Field Name | Description | Example |
|---|---|---|
ID |
The system-generated ID for the capture schedule you want to update. | f4c464be-dc8-43a3-a748-00345b90ac6d |
External ID (required) |
An External Identifier for the Capture Schedule. Can be used in place of the Schedule ID for Deletes via CSV import. Is also used for creating capture schedules that publish to multiple sections, as described above. This ID must be unique. You can make it any value you like, but it must uniquely identify this capture schedule. |
CHEM103_SPR2019_MWF |
Name (optional) |
Name or title of the capture schedule you are creating. All captures generated from this schedule will also have this name. Often, this is also the name of the course/section for which the capture schedule is being created (if applicable). |
CHEM-101 or Wednesday Special Lecture |
Start Date (optional) |
Start date for capture schedule in format YYYY-MM-DD | 2019-01-15 |
Start Time (optional) |
Start time for the capture (to the minute) in ISO 8601 (24-hour) Time format HH:MM | 09:00 or 14:30 (for 2:30pm) |
End Time (optional) |
End time for the capture (to the minute) in ISO 8601 (24-hour) Time format HH:MM | 09:50 or 16:00 (for 4pm) |
End Date (optional) |
End date for capture in Date format YYYY-MM-DD. Required for recurring captures. Leave blank if the capture schedule is not recurring. |
2019-04-30 |
Days of Week (optional) |
Days the recurring capture should occur: SU, MO, TU, WE, TH, FR, SA. Required for recurring captures (an End Date is specified). |
MO;WE;FR Separate multiple values with a semi-colon |
Exclusion Dates (optional) |
Dates a recurring capture should not occur in format YYYY-MM-DD. If publishing to a section, these are in addition to exclusion dates for the section's term. |
2019-02-21;2019-04-19 Separate multiple values with a semi-colon |
Campus Name (optional) |
The Name of the Campus where the room where the capture will take place is configured | Main Campus |
Building Name (optional) |
The Name of the Building where the room where the capture will take place is located. | Taylor Hall |
Room Name (optional) |
The Name of the Room where the capture will take place. Note that the Room also identifies the capture appliance used to generate the capture. |
TH-131 or Taylor Auditorium |
Presenter (optional) |
Email address of the instructor for the capture; becomes the owner for all captures generated by this schedule. If no Presenter provided, capture owner will be None. An admin can assign ownership later if necessary. |
jdowling@myuniversity.edu |
Guest Presenter (optional) |
Name of any guest instructor or presenter for this capture who should be associated with this schedule but who may not have an account. | Dr. Michio Kaku; Dr. P. Venkman |
Term Name (optional) |
Name of the Term in which the section to be published to exists. Required if you are auto-publishing completed captures from this schedule. |
Spring 2019 |
Course Identifier (optional) |
The Course ID in which the section to be published to exists. Required if you are auto-publishing completed captures from this schedule. |
CHEM-1XX |
Section Name (optional) |
Name of the Section to which you are publishing the captures generated by this schedule. Required if you are auto-publishing completed captures from this schedule. |
CHEM-103 |
Availability (optional) |
Defines an availability setting for student access to the completed capture if published. Valid availability values include: immediate, unavailable, relative, or concrete. If left blank, availability defaults to Immediate. For Relative, include a bar (|) and the number of days to delay after completion that each capture is to be made available to students. For Concrete, include a bar (|) and the date by which the completed capture will be made available to students. ONLY available for non-recurring capture schedules. For Unavailable, the completed captures are published but not visible to students until an instructor or administrator manually makes them available. |
immediate or relative|5 or concrete|2019-03-13 or unavailable |
Should Caption (optional) |
Boolean value for whether the capture should be captioned. Defaults to False (not captioned) if left blank. |
Valid values: True, False |
Should Stream Live (optional) |
Boolean value for whether the capture should be streamed live Defaults to False (not streamed live) if left blank. |
Valid values: True, False |
Input1 (optional) |
Identifies the input type to be captured through Channel 1 NOTE: This field is for visual input identifier only; audio is always captured. If both input fields are left blank, the resulting capture will be audio-only. |
Valid values: video, display, altvideo (altvideo is for SCHD only) |
Input2 (optional) |
Identifies the input type to be captured through Channel 2 NOTE: This field is for visual input identifier only; audio is always captured. If both input fields are left blank, the resulting capture will be audio-only. |
Valid values: video, display, altvideo (altvideo is for SCHD only) |
Input3 (optional) |
*BETA* Identifies the input type to be captured through channel 3 Currently not supported when Should Stream Live = "true" :: video NOTE: This field is for visual input identifier only; audio is always captured. If both input fields are left blank, the resulting capture will be audio-only. |
Valid values: video, display, altvideo (altvideo is for SCHD only) |
Input4 (optional) |
*BETA* Identifies the input type to be captured through channel 4 Currently not supported when Should Stream Live = "true" :: video NOTE: This field is for visual input identifier only; audio is always captured. If both input fields are left blank, the resulting capture will be audio-only. |
Valid values: video, display, altvideo (altvideo is for SCHD only) |
Capture Profile |
Identifies the name of the profile to be captured. Currently only supported for Epiphan devices. | Custom Profile |
Capture Quality (optional) |
Quality setting for the capture output. Currently, this will be the same setting used for the Live stream if the capture is set for live streaming. Defaults to High if left blank. |
Valid values: medium, high, highest |
Stream Quality (optional) |
Quality of the live stream if Should Stream Live is set to "true" *See Note below | Valid values: medium, high, highest *See Note below |
Live Stream Quality currently matches Capture Quality. The Live Stream Quality field appears in both the CSV Import and the Public API, but it is a placeholder for future support for setting Live Stream quality (not yet implemented). For now, Live Stream Quality always matches the configured Capture Quality, regardless of the value entered in this field. Be aware that setting mixed capture profiles may occasionally break VoD.
If you are having problems streaming Live captures, set your Capture Quality to Medium for captures that will also be streamed live. This will reduce the stream's size and bitrate. Also, both the PRO and POD devices stream at lower bitrates than SCHD.
Delete Schedule
Generate a Schedule Export, then select and copy the rows for the sections you want to delete into a new file for the Delete-action import. You can retain additional fields in the file; all except ID are ignored. Then import your new file.
| Field Name | Description | Example |
|---|---|---|
ID (required) |
System ID or External ID of the schedule being deleted | 69324a-315-4de-8dg-g75d42 or CHEM103_SPR2019_MWF |