Local API - NOVA-T Interfaces
Background
Nova-T 4 has a number of bespoke exports to third party MIS systems, some of which did not outlive Nova-T 4. ESS has included a single variant of the third party MIS export within Nova T-6 which are detailed below.
Critically this export is intended for use in schools where SIMS is not in use. If SIMS is in use then the SIMS database should be used to access timetable data via SIMS .Net APIs. Partners requiring assistance with the SIMS .Net APIs should contact partner support outlining the data that they require.
Nova-T6: 3rd Party Export
The routine in Nova-T6 “” produces a set of comma-separated files in a single target directory. The format of these files is somewhat arcane, as they are based on a legacy export routine in Nova-T4.
The files produced are named as follows:
- NCLASS.DAT
- TBTR?.DAT * with ? being a letter in the range A,B,C…Z)
- YNAMES.DAT
- NOVACURR.TXT
- NCLASS.DAT
This file describes the Non-Class codes scheduled on the timetable
PPA ,23,AA ,
BLANK ,38,AW ,
BLANK ,05,AW ,
Meeting ,02,AL ,R2
PPA ,07,AA ,
Admin ,04,AB ,R11
The comma separated fields are as follows:
Purpose Max Width
- Non-class code 8
- Period number 3
- Staff code 4
- Room code 4
- TBTR?.DAT
This file describes the timetable for a single year
X/Te,29,PM ,T2 ,7x/Te1a,839
X/Te,24,PM ,T2 ,7x/Te1a,839
X/Te,08,RT ,T2 ,7x/Te1b,843
X/Te,34,RT ,T2 ,7x/Te1b,843
Y/Ma1,26,RH ,M2 ,7y/Ma1,693
Y/Ma1,07,RH ,M2 ,7y/Ma1,693
Y/Ma1,24,RH ,M2 ,7y/Ma1,693
Y/Ma1,36,RH ,M2 ,7y/Ma1,693
Y/Ma2,11,MU ,M3 ,7y/Ma2,817
Y/Ma2,26,MU ,M3 ,7y/Ma2,817
Y/Ma2,07,MU ,M3 ,7y/Ma2,817
Y/Ma3,11,CJ ,M1 ,7y/Ma3,837
Y/Ma3,26,CJ ,M1 ,7y/Ma3,837
The comma separated fields are as follows:
Purpose Max Width
- Class Code 5
- Period Number 3
- Staff Code 4
- Room Code 4
- Class Descriptor 9
- External Id 5
The Class Code is constructed as <BlockId>/<Subject><Set>
The BlockId is a single letter, the Subject is a two character code, and the Set is a digit.
The External Id is an integer.
- YNAMES.DAT
This file contains a single line of text. Each pair of characters in this line represents the name of a year whose details are recorded in TBTR?.DAT. If a year name has only one character, it is left-padded with a space.
7 8 91011L6U6
The first two characters refer to TBTRA.DAT, the next two to TBTRB.DAT etc.
- NOVACURR.TXT
This file is only loosely connected to the others, as it does not contain any timetable information. It describes the “blocks” in the curriculum plan and lists the classes in each case.
Maths,8,x
8x/Ma1,8x/Ma2,8x/Ma3,8x/Ma4
Maths,8,y
8y/Ma1,8y/Ma2,8y/Ma3
PE,8,x
8x/Pe1,8x/Pe2,8x/Pe3
PE,8,y
8y/Pe1,8y/Pe2,8y/Pe3
Option A,11,x,y
11A/Dr1,11A/Mu1,11A/Re1,11A/Fr1,11A/Gg1,11A/Gg2,11A/Ar1,11A/Dc1
The rows are to be considered in pairs.
In each case, the first row describes a “block”
The comma separated fields are as follows:
Purpose Max Width
- Block name 16
- Year name 2
- Band 1 1
- Band 2 1
etc
(The block may be supported by several bands.)
The second row of each pair simply lists the classes within the block, separated by commas.
XML format
In Nova-T6 there is an option to produce these same export files in an equivalent XML format. Examples are shown below:
- NCLASS.XML
<NCLASS>
<NCC NAME="PPA " PERIOD="23" TCHR="AA " ROOM=" " ></NCC>
<NCC NAME="BLANK " PERIOD="38" TCHR="AW " ROOM=" " ></NCC>
<NCC NAME="BLANK " PERIOD="05" TCHR="AW " ROOM=" " ></NCC>
<NCC NAME="BLANK " PERIOD="37" TCHR="AW " ROOM=" " ></NCC>
</NCLASS>
- TBTR?.XML
<TBTR>
<LESSON CODE="X/Te" PERIOD="29" TCHR="PM " ROOM="T2 " CLASS="7x/Te1a" EXTID="839" >
</LESSON>
<LESSON CODE="X/Te" PERIOD="24" TCHR="PM " ROOM="T2 " CLASS="7x/Te1a" EXTID="839" >
</LESSON>
<LESSON CODE="X/Te" PERIOD="08" TCHR="RT " ROOM="T2 " CLASS="7x/Te1b" EXTID="843" >
</TBTR>
- YNAMES.DAT
<YNAMES>
<YEARS >
<YEAR NAME=" 7"/>
<YEAR NAME=" 8"/>
<YEAR NAME=" 9"/>
<YEAR NAME="10"/>
<YEAR NAME="11"/>
<YEAR NAME="L6"/>
<YEAR NAME="U6"/>
</YEARS>
</YNAMES>
- NOVACURR.XML
<NOVACURR>
<CURR BLOCK="Exp Arts" YEAR="8" >
<BAND NAME="x"/>
<GROUP NAME="8x/Ar1"/>
<GROUP NAME="8x/Mu1"/>
<GROUP NAME="8x/Dr1"/>
</CURR>
<CURR BLOCK="Option A" YEAR="11" >
<BAND NAME="x"/>
<BAND NAME="y"/>
<GROUP NAME="11A/Dr1"/>
<GROUP NAME="11A/Mu1"/>
<GROUP NAME="11A/Re1"/>
<GROUP NAME="11A/Fr1"/>
<GROUP NAME="11A/Gg1"/>
<GROUP NAME="11A/Gg2"/>
<GROUP NAME="11A/Ar1"/>
<GROUP NAME="11A/Dc1"/>
</CURR>
</NOVACURR>