CSV (Comma Separated Value) Identity Feed
This guide describes how to use CSV files to feed large-scale user data. The system is based on scheduled tasks (Cron) and call an Identity Feed API.
Requirements
School must have an unique and durable identifier
Users must have an unique and durable identifier
Application responsible of school and user management must produce for each school one CSV file by user profile :
student
,teacher
,parent
,staff
,guest
CSV file format
UTF-8 encoding with BOM
extension : .csv
separator : semicolon (';')
required data : by convention a column’s label beginning with a capital letter indicates that must be completed (see Examples of CSV files).
CSV Identity Feed packaging
For each school ,archive a CSV files in a zip file that complies with the naming convention : ProjectName_SchoolName_YYYYYmmdd_SchoolIdentifier.zip with YYYYmmdd corresponding to the transfer date (20160913 for 13/09/2016).
CSV file name must comply with the following convention:
CSV_Student_YYYYmmdd.csv
CSV_Parent_YYYYmmdd.csv
CSV_Teacher_YYYYmmdd.csv
CSV_Staff_YYYYmmdd.csv [OPTIONNAL]
CSV_Guest_YYYYmmdd.csv [OPTIONNAL]
Edifice plateform configuration for CSV Identity Feed
"csv": {
"path":"/home/user/Project",
"config" : {
"namePattern": ".?/Projet_(.?)_.*?.zip",
"profiles" : {
"Students": "Student",
"Teachers": "Teacher",
"Parents": "Relative"
},
"preDelete" : true
},
CSV Identity Feed process at a glance
Choose the deletion policy
Enable deletion of absent users
Define pre-delete timeout
Export from schools management application identity of students, parents and teachers in a CSV Identity Feed package
Transfer by FTP protocol CSV Identiy Feed Packages
Choose frequency and schedule
Provide the IP address and a public ssh key for the SFTP client (schools management application side)
Provide the IP address and port of the SFTP server (Edifice platform side)
Collection and processing of CSV Identity feed triggered by a scheduled task (cron)
Load data into the Edifice platform
Creation of new users in corresponding school
Creation of new classes in corresponding school
Attach user in classes
Link studends with theirs parents
Update existing user’s data
Update user’s classes attachement
Update of links between students and parents
Pre-delete users absent from CSV identity Feed
CSV Identity Feed files examples
Description | lien |
---|---|
Student file | |
Parent file | |
Teacher file | |
Staff file | |
Guest File |
CSV Identity Feed supported fields
Generic fields
"externalid":"externalId"
"nom":"lastName"
"prenom":"firstName"
"classe":"classes"
"idenfant":"childExternalId"
"datedenaissance":"birthDate"
"childid":"childExternalId"
"childexternalid":"childExternalId"
"nomenfant":"childLastName"
"prenomenfant":"childFirstName"
"classeenfant":"childClasses"
"civilite":"title"
"telephone":"homePhone"
"telephonetravail":"workPhone"
"adresse":"address"
"cp":"zipCode"
"ville":"city"
"pays":"country"
"email":"email"
Secondary school specific fields
"presencedevanteleves":"teaches"
"fonction":"functions"
"niveau":"level"
"regime":"accommodation"
"filiere":"sector"
"mef":"module"
"libellemef":"moduleName"
"boursier":"scholarshipHolder"
"transport":"transport"
"statut":"status"
"codematiere":"fieldOfStudy"
"matiere":"fieldOfStudyLabels"
"persreleleve":"relative"
"discipline":"classCategories"
"matiereenseignee":"subjectTaught"
"professeurprincipal":"headTeacher"