-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathserialInfo.txt
194 lines (170 loc) · 5.97 KB
/
serialInfo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
> In-depth sight of the serials directory tree. [In conformity with serialDir.txt]
May be valid for this version only.
> Note
- Every serializable file is either an array of Strings, or simply a String.
- Where every string (or every entry of the array where implemented so) must be a
line-separated value such that Every line must represent a separate value, or property
unless otherwise implemented, as with the News type.
- If a field, or property, by itself has the potential to cause problems
over having the delimiter (i.e the line-separator), then it should be
saved in a separate serializable file. E.g Student.about.
This, particularly a problem when dealing with the News type;
or even question of an Assignment.
- Leave primitive types as they are.
- A null Date instance is represented by -1. All Date objects must be serialized
by the Date.getTime value.
- All the files elaborated below are relative to Dashboard.getPath
> Configurations (configs.ser) | String
Contains the Dashboard's configuration data.
0: isAuthentic <boolean>
1: userName <String>
3: version <String>
4: deprecateTime <long>
> Settings (settings.ser) | String
Contains all the settings at collapse.
0: noVerifyNeeded <boolean>
1: confirmExit <boolean>
2: initialDelay <int>
3: dismissDelay <int>
4: lookAndFeelName <String>
5: backgroundColorName <String>
> Portal (portal.ser) | String
Contains all portal related data.
0: registrationNotice <String>
1: lastRegistrationNoticeUpdate <long>
2: admissionNotice <String>
3: lastAdmissionNoticeUpdate <long>
4: isAutoSync <boolean>
5: lastLogin <long>
> Notifications (alerts.ser) | String[]
Stores notifications and information on their read-state.
0: heading <String>
1: text <String>
2: information <String>
3: time <long>
4: isRead <boolean>
> Modules (modules/ )
Courses are serialized to an array of Strings where every
entry of the array is further split by the host platform's
specific line-separator, as elaborated above.
Every entry represents a course, and every
line therein represents a property of the course,
such that virtually the same course could be reconstructed
during build.
>> RegisteredCourses (doing.ser) | String[]
0: code <String>
1: name <String>
2: lecturer <String>
3: venue <String>
4: room <String>
5: day <String>
6: time <String>
7: isConfirmed <boolean>
>> Courses (done.ser) | String[]
0: year <String>
1: semester <String>
2: code <String>
3: name <String>
4: lecturer <String>
5: campus <String>
6: room <String>
7: day <String>
8: time <String>
9: score <double>
10: creditHours <int>
11: requirement <String>
12: isVerified <boolean>
13: lecturerNameChangeability <boolean>
> User (user/ )
It's seemingly more difficult to deal with the user's data.
>> Fundamentals (core.ser) | String
Refers to the fundamental user details.
0: firstName <String>
1: lastName <String>
2: nationality <String>
3: address <String>
4: maritalStatue <String>
5: dateOfBirth <String>
6: placeOfBirth <String>
7: nameFormat <String>
8: isGuest <boolean>
...Student only details...
9: monthOfAdmission <int>
10: yearOfAdmission <int>
11: semester <String>
12: matNumber <String>
13: major <String>
14: majorCode <String>
15: minor <String>
16: minorCode <String>
17: program <String>
18: school <String>
19: division <String>
20: portalMail <String>
21: portalPassword <String>
22: studentMail <String> (deprecated)
23: studentPassword <String> (deprecated)
24: level <String>
25: status <String>
26: CGPA <double>
>> Telephones (dials.ser) | String[]
>> About (about.ser) | String (nont line separated)
>> Extra / Additional
Keys (extra.keys.ser) | String[]
Values (extra.values.ser) | String[]
> Tasks (tasks/ )
The tasks folder stores data regarding all the 4 main task types,
each in a separate file therein. Every file is an array of String.
>> Todo type (todos.ser) | String[]
0: description <String>
1: startDate <long>
2: specifiedDuration <int>
3: totalTimeConsumed <int>
4: isActive <boolean>
5: dateCompleted <long>
6: eveIsAlerted <boolean>
7: doneIsAlerted <boolean>
>> Project type (projects.ser) | String[]
0: projectName <String>
1: type <String>
2: startDate <long>
3: specifiedDuration <int>
4: totalTimeConsumed <int>
5: isLive <boolean>
6: dateCompleted <long>
7: eveIsAlerted <boolean>
8: completionIsAlerted <boolean>
>> Assignment type (assignments/ )
>>> Assignments self (assignments.ser) | String[]
An array of all the assignments.
Every entry is such that a line-separated value, excluding the members field.
0: courseName <String>
1: deadLine <long>
2: isGroup
3: modeOfSubmission <String>
4: startDate <long>
5: isOn
6: dateSubmitted <long>
7: eveIsAlerted <boolean>
8: submissionIsAlerted <boolean>
>>> Questions (questions.ser) | String[]
An array of all the questions.
A question may span multiple lines, hence this separation is a must.
The size of this array := the size of the assignments (as above).
>>> Members (groups.members.ser) | String[]
An array of all the members of all the group-assignments.
Every entry is such that a line-separated value.
The size of this array is equals the number of group assignments.
>>> Event type (events.ser) | String[]
0: title <String>
1: dateDue <long>
2: isPending <boolean>
3: eveIsAlerted <boolean>
4: timeupIsAlerted <boolean>
>> News (news/ )
Should store content of every news.
--> Heads (heads.ser) <String[]>
--> Bodies (bodies.ser) <String[]>
--> Links (links.ser) <String[]>
--> Contents (contents.ser) <String[]>
--> Access time (accessTime.ser) <String>