/
CSV (Comma Separated Value) Identity Feed

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

Description

lien

Student file

CSV_Eleves.csv

Parent file

CSV_Parents.csv

Teacher file

CSV_Enseignants.csv

Staff file

CSV_Personnels.csv

Guest File

CSV_Invites.csv

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"