For Developers

Implementation Details

This document provides technical details on how the integration between Powerschool and Edlink works. It also includes recommendations for addressing common issues during implementation.

Entity Mapping

This table explains how entities from PowerSchool are mapped to Edlink entities.

EntityEdlink Entity
AssetAsset
AttendanceDailyMeeting, Attendance
AttendanceMeetingMeeting, Attendance
ContactAssociationAgent
CourseCourse
CourseSubject
CalendarDayCalendar, Day
DepartmentDepartment
DistrictDistrict
CCEnrollment
SectionTeacherEnrollment
RoomFacility
FeeFee
GuardianPerson, Agent
IncidentIncident
PeriodPeriod
PersonPerson
PortalGuardianPerson, Agent
RoomRoom
SchoolSchool
SectionClass
StaffPerson
StaffEnrollmentEnrollment
StudentPerson
TermSession
TransportationRoute
  • Merge Staff
    Should we merge staff members by Powerschool users' dc_id? (default: true)_
  • Sync Guardians
    Should we sync guardians from Powerschool? (default: true)
  • Remove Graduated and Inactive Students
    Should we remove graduated and inactive students from Powerschool? (default: true)
  • Remove Inactive Staff
    Should we remove inactive staff from Powerschool? (default: true)
  • Remove Classes Without Enrollments
    Should we remove classes without enrollments from Powerschool? (default: true)
  • Remove Courses Without Enrollments
    Should we remove courses without enrollments from Powerschool? (default: true)
  • Sync GPAs
    Should we sync GPAs from Powerschool? (default: false)

Limitations

  • Powerschool does not always store email addresses in a field that is normally accessible by the default plugin. Where email is stored can vary by district. The plugin might require minor customization for Edlink to support this.
  • Edlink enables developers to list and create assignments, categories, and grades in Powerschool. We cannot create or modify district-level categories, but we can list district-level categories. We can create and modify user-level categories.
  • Powerschool does not support times for assignment due date or display date. The due date will be set to the end of the day and the display date will be set to the start of the day.