Single Sign-On (SSO) allows users to log into Discovery Education with familiar credentials through a portal. However, user accounts within Discovery Education must still be managed by sending .csv files with user data on a regular basis. This can be automated by building a process that generates the .csv files with the appropriate data, then posts it to our SFTP server nightly. We recommend that classes and class rosters are also imported. The import templates and documentation can be found within My Admin > Tools > User Import.
IMPORTANT: For each template, all column headers must be present, and all required fields must be populated. A list of required fields can be found on the import page under the Details link for each file type. Any extraneous commas within the data must be removed or contained within double quotes (eg. "smith, jr").
Requirements
- Ability to create a process that generates .csv files conforming to Discovery Education's templates and requirements.
- Ability to post the .csv files to Discovery Education's SFTP site nightly.
- Please provide Discovery Education staff with the public IP that will be connecting to the SFTP site.
- SSO technology requirements are met.
Note: All instances of quotation marks require "straight double quotes". “Curly double quotes” may cause an error.
Step 1: Prepare
Existing Discovery Education usernames will need to be configured to an SSO format. If users have self-registered in the past, then this involves updating their existing usernames to the SSO format. Usernames can be updated based on other Unique Identifiers matching between the .csv files and the user's profile.
Unique Identifiers
Unique identifiers are used to match users in our database to data populated on the .csv files. If at least one field matches, then other data fields will be updated based on the .csv data.
- Username
- Email (teachers only)
- Teacher ID
- Student ID
We highly recommend populating the Teacher ID and Student ID fields, since these should be static, unique identifiers for users. To review the Unique Identifiers currently on users' profiles, navigate to My Admin > Tools > User Import > History to export the user lists.
Step 2: Standardize for SSO
In order for SSO to work properly, certain fields must be configured with specific data. This will vary based on the type of SSO being used. Use the table below to determine the data field values needed for your SSO type. For Usernames, a suffix may be applied to the given value to ensure a unique namespace for your district. Please refer to the specific SSO integration guide for your chosen technology for more details on the username convention.
SSO Type | CSV Field | Field Value |
---|---|---|
Username | Google Email Address | |
Office 365 | Username | Office 365 Email Address |
ADFS / SAML | Username | ADFS/ SAML Name ID |
LDAP | Username | sAMAccountName |
Classlink | Username | Classlink LoginID |
Clever Instant Login | Username | Clever Email or Clever GUID |
Canvas | Teacher ID Student ID | Canvas SIS_ID or Custom field |
Schoology | Teacher ID Student ID | Schoology Unique ID or Custom field |
Brightspace | Email or Teacher ID / Student ID | Email or Teacher ID / Student ID |
User Experience
Please note that once SSO is launched, users will no longer be able to log in at https://www.discoveryeducation.com. Existing credentials will no longer be valid. Users must navigate to their SSO URL or portal for authentication. Please refer to the SSO integration guide for the user experience specific to your chosen technology.
Step 3: Generate Files
A process or script must be created to export data from the District’s information system into Discovery Education’s .csv templates. Given that information systems vary broadly, Discovery Education cannot assist with this process. For assistance, please contact your information system vendor’s support team.
General file requirements
- Must be in .csv format.
- All headers must match the templates exactly.
- Any extraneous commas within the data must be removed, or contained within double quotes (eg. "smith, jr").
- All required fields must be populated.
Step 4: Launch
Users should be notified when SSO will launch, since it will change the way they log in. On the launch date, upload the files manually within My Admin > Tools > User Import. A validation process will confirm that there are no data errors and that the files are safe to post to the SFTP site. If errors are found, adjustments to the District’s export process may be required. Be sure to monitor the status on the History tab.
Step 5: Automate
Once SSO is launched and the .csv files are validated with no errors, SFTP credentials can be given to complete the automation process. Please provide Discovery Education staff with the public IP that will be connecting to the SFTP site.
File Name Requirements
The .csv file names must meet the following requirements to be recognized by the SFTP process: (account_guid)_(user_guid)_(template type)_(date)_(time).csv. The account_guid and user_guid identify the district and user performing the upload, respectively, in the Discovery Education system. These fields will be provided by Discovery Education’s support staff along with SFTP credentials. The template type determines the type of import:
- teacher
- student
- class
- teacherroster
- studentroster
The required date format:
- MM_DD_YYYY
The required time format:
- HH_MM_SS_SSS (millisecond)
Examples:
10000000-0000-XXXX-XXXX-000000000000_90000000-0000-XXXX-XXXX-000000000000_teacher_08_14_2020_22_02_00_000.csv
10000000-0000-XXXX-XXXX-000000000000_90000000-0000-XXXX-XXXX-000000000000_student_08_14_2020_22_02_00_000.csv
10000000-0000-XXXX-XXXX-000000000000_90000000-0000-XXXX-XXXX-000000000000_class_08_14_2020_22_02_00_000.csv
10000000-0000-XXXX-XXXX-000000000000_90000000-0000-XXXX-XXXX-000000000000_teacherroster_08_14_2020_22_02_00_000.csv
10000000-0000-XXXX-XXXX-000000000000_90000000-0000-XXXX-XXXX-000000000000_studentroster_08_14_2020_22_02_00_000.csv
Column Headers and Required Fields
This section gives a high level overview of the Column Headers and the fields in each template. Ensure that all columns and headers are present, even if optional fields are not used. For an explanation of the required fields, please refer to the examples on the import page under the Details link for each file type.
Teacher Template
Headers: SchoolName, SchoolID, FirstName, LastName, Username, Email, TeacherID
Col | Header | Required | Description | Accepted Entries |
---|---|---|---|---|
A | School Name | No | Friendly name for the School. | |
B | SchoolID | Yes | Unique identifier for each school. Custom School IDs may be mapped in lieu of the Site Passcode. | Site Passcodes can be found in the My Admin section. |
C | First Name | Yes | ||
D | Last Name | Yes | ||
E | UserName | Yes | SSO Specific Value | |
F | Yes | Staff email. | ||
G | TeacherID | No | Unique Identifier for teachers within your district. Optional, but needed to link teachers to classes if importing class and roster files. |
Student Template
Headers: SchoolName, SchoolID, FirstName, LastName, Username, Email, StudentID, Grade
Col | Header | Required | Description | Accepted Entries |
---|---|---|---|---|
A | School Name | No | Friendly name for the School. | |
B | SchoolID | Yes | Unique identifier for each school. Custom School IDs may be mapped in lieu of the Site Passcode. | Site Passcodes can be found in the My Admin section. |
C | First Name | Yes | ||
D | Last Name | Yes | ||
E | UserName | Yes | SSO Specific Value | |
F | No | Student email. | ||
G | StudentID | No | Unique Identifier for students within your district. Optional, but needed to link students to classes if importing class and roster files. | |
H | Grade | No | K, 1, 2, … 12 |
Class Template
Headers: SchoolName, SchoolID, ClassID, ClassYear, ClassName
Col | Header | Required | Description | Accepted Entries |
---|---|---|---|---|
A | School Name | No | Friendly name for the School. | |
B | SchoolID | Yes | Unique identifier for each school. Custom School IDs may be mapped in lieu of the Site Passcode. | Site Passcodes can be found in the My Admin section. |
C | ClassID | Yes | Identifier for the class. Must be unique within a school. | |
D | ClassYear | Yes | Differentiates classes from year to year if class ID remains the same. | Free text up to 50 characters. |
E | ClassName | Yes | Name that users will see. |
Teacher Roster Template
This template associates the teacher and class data from the previous files to add the teacher to the class.
Headers: SchoolName, SchoolID, ClassID, TeacherID
Col | Header | Required | Description | Accepted Entries |
---|---|---|---|---|
A | School Name | No | Friendly name for the School. | |
B | SchoolID | Yes | Unique identifier for each school. Custom School IDs may be mapped in lieu of the Site Passcode. | Site Passcodes can be found in the My Admin section. |
C | ClassID | Yes | Identifier for the class. Must be unique within a school. | |
D | TeacherID | Yes | Identifier for the teacher. Should match Teacher ID from Teacher.csv. |
Student Roster Template
This template associates the student and class data from the previous files to add the student to the class.
Headers: SchoolName, SchoolID, ClassID, StudentID
Col | Header | Required | Description | Accepted Entries |
---|---|---|---|---|
A | School Name | No | Friendly name for the School. | |
B | SchoolID | Yes | Unique identifier for each school. Custom School IDs may be mapped in lieu of the Site Passcode. | Site Passcodes can be found in the My Admin section. |
C | ClassID | Yes | Identifier for the class. Should match Class ID from Class.csv. | |
D | StudentID | Yes | Identifier for the student. Should match Student ID from Student.csv. |
For questions or to implement SFTP imports, please contact the Customer and Technical Support team at 1-800-323-9084 or email education_info@discoveryed.com.