Skip to end of banner
Go to start of banner

SchoolInfo Campus

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

http://specification.sifassociation.org/Implementation/AU/3.4.5/CommonTypes.html#CampusContainerType


Element/@AttributeCharSynergetic MappingDescriptionType
CampusContainerTypeO

Optional campus details.

 

ParentSchoolIdC

Config.Value

(ExternalSystem>SIF>SchoolInfo>>LocalID)

Parent School Id needs to be supplied if this Campus is not the Admin Campus. This number should be the state-assigned identifier for this school or the locally-assigned identifier for this school.

 
xs:normalizedString
SchoolCampusIdMluCampus.CampusCode

Specific Campus Id - This may be the same as the School Local Id.

 
xs:normalizedString
CampusTypeO<Not mapped>

Type of campus.

 
AUCodeSetsSchoolLevelType
AdminStatusM'N'

Is this campus the Admin Campus?

 
AUCodeSetsYesOrNoCategoryType


Requirement

Change for SchoolInfo GET requests to return multiple records.

A Synergetic client configured with no campuses will have a single SchoolInfo record, otherwise a record will be generated for the core school and any records that exist in luCampus.

Any blank or inactive luCampus values will be ignored.

This should be backwards compatible, and should result in campus being contextualised in a non-destructive fashion.

Approach

Will pass the SchoolCampusId as per lookup table luCampus.

We will need to store the additional campus-based SchoolInfoRefID in luCampus.

We currently support a single SchoolInfoRefId recorded in Synergetic.

When we receive a SchoolInfo request with a SchoolInfoRefId relating to a specific campus, this needs to be referenced against the respective entries in luCampus and then apply a different logic to contextualise the data being returned.

If a POST request is made with a campus-level SchoolInfoRefId, then the record can be translated so that campus detail can be effectively stored (ie. if a POST for StudentSchoolEnrollment was required) as there are no other campus-related fields in the specification.
If you had the 'Admin' school in the posting and there are multiple year levels split across campuses in the school, then this would otherwise fail so the CampusContainerType addresses this.

We will not populate the CampusType value.

Implementation

  • Update luCampus to add SchoolInfoRefId
  • Retrospective changes to GET requests for currently implemented SIF objects, including SchoolInfo, StaffAssignment, StudentAttendanceTimeList, StudentContactRelationship, StudentSchoolEnrollment, StudentScoreJudgementAgainstStandard, TeachingGroup, Timetable, TimetableCell
  • Modify implementation of the SchoolInfo object to cater for additional mappings if these are required on a per-campus basis (ie. ACARAId)
  • 'Admin' SchoolInfoRefId field will be always N 
  • Documentation (clearly mark which objects are 'Campus' enabled)

Challenge

We have a concept of an object store that we would need to promulgate instances of every possible object.

Additional records will need to be generated to cater for instance where campus-level SchoolInfoRefId records are in play

Solution

No additional record has been generated for this. Instead a new column added to Object Store to maintain the campus ref id. The object xml remains the same containing Main School SIF3RefID. For Single and Multi Endpoints  of the campus enabled SIF objects the response still has the Main School SIF3 RefID in school node. However for Service Path endpoints this node holds the campus sif3 refid based on the campus refid the consumer passes on the request


  • No labels