- Migrating Custom Fields
- Plugin Configuration
- Powerschool Data Dictionary
The API (Application Programming Interface) functionality in Powerschool allows schools to automate the updating of certain (student core fields) fields of current student data via the API. The list of student core fields are listed at the end. As the functionality of the API expands, Powerschool plans to add more custom fields. WE RECOMMEND THAT THIS BE INITIALLY CONFIGURED AND TESTED IN A TEST ENVIRONMENT BEFORE UPDATING LIVE DATA.
Migrating Custom Fields
In order for the API to work correctly, the following needs to be configured:
- You will need to create database extensions.
The following is from Powerschool:
Legacy Custom Field Data Migration
Migrate Powerschool legacy custom fields to database extensions. Legacy custom fields can be mapped to extended fields and data migrated within the application using this feature. This allows all current functionality, including reports and custom pages, to continue to work and pull data from the new extended field without having to re-create the pages.
In a future release, you will be able to migrate Pearson Core Custom Fields as well as State and Provincial Compliance related fields as they are released. When available, this feature will allow users to migrate their own user created custom fields en masse.
IMPORTANT NOTE: This is a one-time irreversible data migration. Data in excess of 4000 1-byte (or 2000 2-byte) characters will be truncated and cannot be retrieved. Back up your data before proceeding.
How to Migrate Custom Fields
- Sign in at the District Office.
- On the start page, choose System from the main menu. The System Administrator page appears.
- Click Page and Data Management. The Page and Data Management page appears.
- Click Custom Field Data Migration. The data migration page appears.
- Click Choose Custom Field Set. The section expands to display more options.
- Choose the custom fields set you want to migrate from the pop-up menu. Note: Select the field set for which you would like to run the Migration Report, Get Data functionality, and Custom Field Migration. For example, the Core Fields field set will migrate 61 Pearson provided custom fields to become StudentCoreFields and UserCoreFields database extensions. For more details about Pearson provided database extensions, see the Data Dictionary Tables for PowerSchool 7.x, available on PowerSource.
- Click Migration Report.
- On the start page, click the Report Queue icon in the navigation bar.
- Click on Custom Field Migration Report to view details on the records where data will be truncated.
- Return to the Custom Field Data Migration page. Database Extensions Visual Walkthrough Legacy Custom Field Data Migration 19
- Click Get Data to download a zip file archive of text files containing custom field data in excess of 4000 1-byte (or 2000 2-byte) characters that will be truncated when migrated. Archive the files, or modify the records as needed and re-import the updates using Quick Import.
- Re-run the migration report on the Migrate Custom Fields page to verify your changes.
- When all applicable fields have been modified, return to the Migrate Custom Fields page.
- On the Migrate Custom Fields page, click Next. The Migrate Fields section expands to display more options.
- Click Migrate Fields. Note: If the selected migration is already running from another session/server, a message appears alerting you that the migration is already running and includes the server information.
- Click Next. The Migration Summary section expands
- When the migration is complete, summary information appears, with details on the types of records migrated, the number of records migrated, and the number of records truncated (if any).
View Migration History
To view a list of all custom fields sets that have previously been migrated, click Migration History. Each field set that has been migrated appears on the page. When the field set is migrated, it is no longer available to select on the Field Set to Migrate pop-up menu on the Choose Custom Fields Set section of the page.
If you require assistance with the above, please call Powerschool directly. Once the above in done in Powerschool, the following needs to be configured:
The SCHOOL NUMBER must correspond between Powerschool and K-12 Online.
- In Powerschool, navigate Start Page > District Setup > Schools/School Info
- In K-12 Online, navigate DCP > SCHOOL > Manager
If the School Numbers in Powerschool and K-12 Online do not correspond, please send a support ticket to change the school number in K-12 Online.
- Confirm the District Student Formats settings are what you want imported back into Powerschool by setting them in the DCP>SETTINGS>System>SIS Settings> Student Formatting
- Confirm that your Emergency Contact Relationships are synchronized.
- Create a support ticket to request a plugin zip file to be sent to you.
- Save the zip file where you can access it.
- You will now be able to create your API Plugin and configure it.
Plugin Configuration
5.Navigate in DISTRICT Powerschool: Start Page > System Administrator > System Settings > Plugin Management Configuration
- Click "Install" button
- Browse for your XML file that you received from K-12 Online and click "Install"
- Look for the k12online_API_5.0 Plugin on the list of Plugins and double-click on the name
- Click on the OAuth Configuration under Data Provider Configuration at the bottom of the page
- Now go to the DCP in K-12 Online >SETTINGS> Parent Portal > System Forms / Fields > District Settings and click on the Hyperlink "Click here to view Powerschool Settings"
- Copy and paste the Client ID, Secret Key and the BASE URL of your Powerschool site. MAKE SURE YOU COPY THIS CAREFULLY!!! NO HIDDEN SPACES BEFORE OR AFTER AS THIS WILL CAUSE PROBLEMS and frustration!
- Click "update"
- Make sure you "enable" the plugin by checking the checkbox
- TEST your synchronization by updating just 1 record, making sure you screenshot the page in case the API does not work. See UPDATING STUDENT INFO & EMERGENCY CONTACTS.
POWERSCHOOL'S DATA DICTIONARY FOR API CORE FIELD UPDATES
K-12 Online Field names | Powerschool Core Field names (initial pull) | API Updates |
First Name | First_Name | |
Last Name | Last_Name | |
Student Number | Student_Number | |
Access Key | Student_Web_ID | |
Gender | Gender | |
Birth Date | DOB | |
School Grade Level | Grade_Level | |
E-mail | student/contact_info/email* | x |
Class Teacher | Home_Room | |
Phone Number | Home_Phone | x |
Mobile Number | | |
Mailing Address 1 | Mailing_Street | x |
Mailing City | Mailing_City | x |
Mailing State | Mailing_State | x |
Mailing ZipCode | Mailing_Zip | x |
Residential Address 1 | Street | x |
Residential City | City | x |
Residential State | State | x |
Residential ZipCode | Zip | x |
Family Key | Family_ident | |
First Name | Mother | x |
Last Name | Mother | x |
Address | | |
City | | |
State | | |
Zip | | |
E-mail | MAPPED with extended schema | (x) |
Phone Number | Mother_home_phone | x |
Mobile Number | MAPPED with extended schema | (x) |
Work Number | motherdayphone | x |
First Name | Father | x |
Last Name | Father | x |
Address | | |
City | | |
State | | |
Zip | | |
E-mail | MAPPED with extended schema | (x) |
Phone Number | father_home_phone | x |
Mobile Number | MAPPED with extended schema | (x) |
Work Number | fatherdayphone | x |
First Name (Physician) | Doctor_Name | x |
Last Name (Physician) | Doctor_Name | x |
Work Number | Doctor_Phone | x |
First Name (Dentist) | Dentist_Name | x |
Last Name (Dentist) | Dentist_Name | x |
Work Number | Dentist_Phone | x |
First Name | Guardian_FN | x |
Last Name | Guardian_LN | x |
Name | | |
Address | | |
City | | |
State | | |
Zip | | |
E-mail | GuardianEmail / MAPPED with extended schema ** | x (x) |
Phone Number | | |
Mobile Number | MAPPED with extended schema | (x) |
Work Number | guardiandayphone | x |
Emergency1 Relation (name, not code) | Emerg_1_Rel | x |
Emergency1 Last Name | Emerg_Contact_1 | x |
Emergency1 First Name | Emerg_Contact_1 | x |
Emergency1 E-mail | | |
Emergency1 Cell | Home | Work | Emerg_1_Ptype | x |
Emergency1 Phone Number / Mobile Number / Work Number | Emerg_Phone_1 | x |
Emergency2 Relation (name, not code) | Emerg_2_Rel | x |
Emergency2 Last Name | Emerg_Contact_2 | x |
Emergency2 First Name | Emerg_Contact_2 | x |
Emergency2 E-mail | | |
Emergency2 Cell | Home | Work | Emerg_2_Ptype | x |
Emergency2 Phone Number / Mobile Number / Work Number | Emerg_Phone_2 | x |
Emergency3 Relation (name, not code) | Emerg_3_Rel | x |
Emergency3 Last Name | Emerg_Contact_3 | x |
Emergency3 First Name | Emerg_Contact_3 | x |
Emergency3 E-mail | | |
Emergency3 Cell | Home | Work | Emerg_3_Ptype | x |
Emergency3 Phone Number / Mobile Number / Work Number | Emerg_3_Phone | x |
- ** If Extended Schema is used for mapping Mother, Father and Guardian Cell and Email, a separate Guardian email needs to be created with a database extension. The system will use the Guardian Email database extension and NOT the corefield.
- If no Extended Schema exists, guardian email will then be separated into Mother email, Father email and Guardian email respectively.