[12863] | 1 | .. _export: |
---|
| 2 | |
---|
| 3 | Data Export |
---|
| 4 | *********** |
---|
| 5 | |
---|
[12870] | 6 | Regular data exporters (1) collect objects from specific containers, |
---|
| 7 | (2) iterate over the collected objects, (3) extract and mangle |
---|
| 8 | information from each object, (4) write the information of each object |
---|
| 9 | into a row of a CSV file and (5) finally provide the file for |
---|
| 10 | download. The CSV file is neither stored in the database nor archived |
---|
| 11 | in the filesystem. (3) and (4) means a flattening of the hierarchical |
---|
| 12 | data structure, i.e. a mapping of objects to flat relational data to |
---|
| 13 | be stored in a CSV table. The extracted information must not |
---|
| 14 | necessarily be based only on static attributes of the collected |
---|
| 15 | object. The data, finally stored in the CSV file, can also be derived |
---|
| 16 | from parent or child objects, or dynamically computed by the object's |
---|
| 17 | methods and property attributes. These methods and properties can |
---|
| 18 | retrieve information from everywhere in the portal's database. In the |
---|
| 19 | following we list all exporter classes including two attributes and a |
---|
| 20 | method description. The `fields` attribute contain the column titles |
---|
| 21 | of the export file. These are not necessarily only attributes of the |
---|
| 22 | exported objects. |
---|
[12863] | 23 | |
---|
| 24 | .. note:: |
---|
| 25 | |
---|
[12883] | 26 | The list of exported columns usually underlies heavy customizations. |
---|
| 27 | In the Kofa base package only very few columns are being exported. In |
---|
| 28 | some Kofa custom packages tons of data are being gathered from |
---|
[13104] | 29 | applicants and students and the number of columns increases |
---|
| 30 | accordingly. |
---|
[12863] | 31 | |
---|
[12870] | 32 | The `title` attribute unveils the name of the exporter under which |
---|
| 33 | this exporter will be displayed in the user interface. The |
---|
| 34 | `mangle_value()` method shows how some of fields are being dynamically |
---|
| 35 | computed. |
---|
[12863] | 36 | |
---|
| 37 | Regular Exporters |
---|
| 38 | ================= |
---|
| 39 | |
---|
| 40 | User Exporter |
---|
| 41 | ------------- |
---|
| 42 | |
---|
| 43 | .. autoclass:: waeup.kofa.userscontainer.UserExporter() |
---|
| 44 | |
---|
| 45 | .. autoattribute:: waeup.kofa.userscontainer.UserExporter.fields |
---|
| 46 | .. autoattribute:: waeup.kofa.userscontainer.UserExporter.title |
---|
| 47 | .. automethod:: waeup.kofa.userscontainer.UserExporter.mangle_value() |
---|
| 48 | |
---|
| 49 | Faculty Exporter |
---|
| 50 | ---------------- |
---|
| 51 | |
---|
| 52 | .. autoclass:: waeup.kofa.university.export.FacultyExporter() |
---|
| 53 | |
---|
| 54 | .. autoattribute:: waeup.kofa.university.export.FacultyExporter.fields |
---|
| 55 | .. autoattribute:: waeup.kofa.university.export.FacultyExporter.title |
---|
| 56 | .. automethod:: waeup.kofa.university.export.FacultyExporter.mangle_value() |
---|
| 57 | |
---|
| 58 | Department Exporter |
---|
| 59 | ------------------- |
---|
| 60 | |
---|
| 61 | .. autoclass:: waeup.kofa.university.export.DepartmentExporter() |
---|
| 62 | |
---|
| 63 | .. autoattribute:: waeup.kofa.university.export.DepartmentExporter.fields |
---|
| 64 | .. autoattribute:: waeup.kofa.university.export.DepartmentExporter.title |
---|
| 65 | .. automethod:: waeup.kofa.university.export.DepartmentExporter.mangle_value() |
---|
| 66 | |
---|
| 67 | Course Exporter |
---|
| 68 | --------------- |
---|
| 69 | |
---|
| 70 | .. autoclass:: waeup.kofa.university.export.CourseExporter() |
---|
| 71 | |
---|
| 72 | .. autoattribute:: waeup.kofa.university.export.CourseExporter.fields |
---|
| 73 | .. autoattribute:: waeup.kofa.university.export.CourseExporter.title |
---|
| 74 | .. automethod:: waeup.kofa.university.export.CourseExporter.mangle_value() |
---|
| 75 | |
---|
| 76 | Certificate Exporter |
---|
| 77 | -------------------- |
---|
| 78 | |
---|
| 79 | .. autoclass:: waeup.kofa.university.export.CertificateExporter() |
---|
| 80 | |
---|
| 81 | .. autoattribute:: waeup.kofa.university.export.CertificateExporter.fields |
---|
| 82 | .. autoattribute:: waeup.kofa.university.export.CertificateExporter.title |
---|
| 83 | .. automethod:: waeup.kofa.university.export.CertificateExporter.mangle_value() |
---|
| 84 | |
---|
| 85 | Certificate Course Exporter |
---|
| 86 | --------------------------- |
---|
| 87 | |
---|
| 88 | .. autoclass:: waeup.kofa.university.export.CertificateCourseExporter() |
---|
| 89 | |
---|
| 90 | .. autoattribute:: waeup.kofa.university.export.CertificateCourseExporter.fields |
---|
| 91 | .. autoattribute:: waeup.kofa.university.export.CertificateCourseExporter.title |
---|
| 92 | .. automethod:: waeup.kofa.university.export.CertificateCourseExporter.mangle_value() |
---|
| 93 | |
---|
| 94 | Access Code Batch Exporter |
---|
| 95 | -------------------------- |
---|
| 96 | |
---|
| 97 | .. autoclass:: waeup.kofa.accesscodes.export.AccessCodeBatchExporter() |
---|
| 98 | |
---|
| 99 | .. autoattribute:: waeup.kofa.accesscodes.export.AccessCodeBatchExporter.fields |
---|
| 100 | .. autoattribute:: waeup.kofa.accesscodes.export.AccessCodeBatchExporter.title |
---|
| 101 | |
---|
| 102 | Access Code Exporter |
---|
| 103 | -------------------- |
---|
| 104 | |
---|
| 105 | .. autoclass:: waeup.kofa.accesscodes.export.AccessCodeExporter() |
---|
| 106 | |
---|
| 107 | .. autoattribute:: waeup.kofa.accesscodes.export.AccessCodeExporter.fields |
---|
| 108 | .. autoattribute:: waeup.kofa.accesscodes.export.AccessCodeExporter.title |
---|
| 109 | .. automethod:: waeup.kofa.accesscodes.export.AccessCodeExporter.mangle_value() |
---|
| 110 | |
---|
| 111 | Hostel Exporter |
---|
| 112 | --------------- |
---|
| 113 | |
---|
| 114 | .. autoclass:: waeup.kofa.hostels.export.HostelExporter() |
---|
| 115 | |
---|
| 116 | .. autoattribute:: waeup.kofa.hostels.export.HostelExporter.fields |
---|
| 117 | .. autoattribute:: waeup.kofa.hostels.export.HostelExporter.title |
---|
| 118 | |
---|
| 119 | Bed Exporter |
---|
| 120 | ------------ |
---|
| 121 | |
---|
| 122 | .. autoclass:: waeup.kofa.hostels.export.BedExporter() |
---|
| 123 | |
---|
| 124 | .. autoattribute:: waeup.kofa.hostels.export.BedExporter.fields |
---|
| 125 | .. autoattribute:: waeup.kofa.hostels.export.BedExporter.title |
---|
| 126 | |
---|
[13144] | 127 | Document Exporter |
---|
| 128 | ----------------- |
---|
| 129 | |
---|
| 130 | .. autoclass:: waeup.kofa.documents.export.DocumentExporterBase() |
---|
| 131 | |
---|
| 132 | .. automethod:: waeup.kofa.documents.export.DocumentExporterBase.mangle_value() |
---|
| 133 | |
---|
[12863] | 134 | Application Data Exporters |
---|
| 135 | ========================== |
---|
| 136 | |
---|
| 137 | Applicants Container Exporter |
---|
| 138 | ----------------------------- |
---|
| 139 | |
---|
| 140 | .. autoclass:: waeup.kofa.applicants.export.ApplicantsContainerExporter() |
---|
| 141 | |
---|
| 142 | .. autoattribute:: waeup.kofa.applicants.export.ApplicantsContainerExporter.fields |
---|
| 143 | .. autoattribute:: waeup.kofa.applicants.export.ApplicantsContainerExporter.title |
---|
| 144 | |
---|
| 145 | Applicant Exporter |
---|
| 146 | ------------------ |
---|
| 147 | |
---|
| 148 | .. autoclass:: waeup.kofa.applicants.export.ApplicantExporter() |
---|
| 149 | |
---|
| 150 | .. autoattribute:: waeup.kofa.applicants.export.ApplicantExporter.fields |
---|
| 151 | .. autoattribute:: waeup.kofa.applicants.export.ApplicantExporter.title |
---|
| 152 | .. automethod:: waeup.kofa.applicants.export.ApplicantExporter.mangle_value() |
---|
| 153 | |
---|
| 154 | Student Data Exporters |
---|
[12865] | 155 | ====================== |
---|
[12863] | 156 | |
---|
[12870] | 157 | When starting a Student Data Exporter in the Data Center all student |
---|
| 158 | records will be taken into consideration, no matter what or where a |
---|
| 159 | student is studying. The exporter can also be started 'locally' at |
---|
| 160 | various levels in the academic section. Starting one of the exporters |
---|
| 161 | e.g. at faculty or department level means that only the data of |
---|
| 162 | students are exported who study in this faculty or department |
---|
| 163 | respectively. The exporter can also be started at certificate level. |
---|
| 164 | Then only the data of students, who are studying the named study |
---|
| 165 | course, will be taken into account. At course level the data of those |
---|
| 166 | students are being exported who have attended or taken this specific |
---|
| 167 | course. |
---|
[12863] | 168 | |
---|
[12870] | 169 | Student Data Exporter can be further configured through a |
---|
| 170 | configuration page. Search parameters like the student's current level, |
---|
[12883] | 171 | current session and current study mode can be set to filter sets of |
---|
[12870] | 172 | students in order to decrease the size of the export file. The set of |
---|
| 173 | filter parameters varies and depends on the 'locatation' from where |
---|
| 174 | the exporter is called. A completely different set of filter |
---|
| 175 | parameters is provided for courses. In this case the session and level |
---|
| 176 | can be selected when the course was taken by the student. |
---|
[12863] | 177 | |
---|
| 178 | Student Exporter |
---|
| 179 | ---------------- |
---|
| 180 | |
---|
| 181 | .. autoclass:: waeup.kofa.students.export.StudentExporter() |
---|
| 182 | |
---|
| 183 | .. autoattribute:: waeup.kofa.students.export.StudentExporter.fields |
---|
| 184 | .. autoattribute:: waeup.kofa.students.export.StudentExporter.title |
---|
| 185 | .. automethod:: waeup.kofa.students.export.StudentExporter.mangle_value() |
---|
| 186 | |
---|
| 187 | Student Study Course Exporter |
---|
| 188 | ----------------------------- |
---|
| 189 | |
---|
| 190 | .. autoclass:: waeup.kofa.students.export.StudentStudyCourseExporter() |
---|
| 191 | |
---|
| 192 | .. autoattribute:: waeup.kofa.students.export.StudentStudyCourseExporter.fields |
---|
| 193 | .. autoattribute:: waeup.kofa.students.export.StudentStudyCourseExporter.title |
---|
| 194 | .. automethod:: waeup.kofa.students.export.StudentStudyCourseExporter.mangle_value() |
---|
| 195 | |
---|
| 196 | Student Study Level Exporter |
---|
| 197 | ---------------------------- |
---|
| 198 | |
---|
| 199 | .. autoclass:: waeup.kofa.students.export.StudentStudyLevelExporter() |
---|
| 200 | |
---|
| 201 | .. autoattribute:: waeup.kofa.students.export.StudentStudyLevelExporter.fields |
---|
| 202 | .. autoattribute:: waeup.kofa.students.export.StudentStudyLevelExporter.title |
---|
| 203 | .. automethod:: waeup.kofa.students.export.StudentStudyLevelExporter.mangle_value() |
---|
| 204 | |
---|
| 205 | Course Ticket Exporter |
---|
| 206 | ---------------------- |
---|
| 207 | |
---|
| 208 | .. autoclass:: waeup.kofa.students.export.CourseTicketExporter() |
---|
| 209 | |
---|
| 210 | .. autoattribute:: waeup.kofa.students.export.CourseTicketExporter.fields |
---|
| 211 | .. autoattribute:: waeup.kofa.students.export.CourseTicketExporter.title |
---|
| 212 | .. automethod:: waeup.kofa.students.export.CourseTicketExporter.mangle_value() |
---|
| 213 | |
---|
[12865] | 214 | Student Payment Exporter |
---|
| 215 | ------------------------ |
---|
[12863] | 216 | |
---|
[12865] | 217 | .. autoclass:: waeup.kofa.students.export.StudentPaymentExporter() |
---|
[12863] | 218 | |
---|
[12865] | 219 | .. autoattribute:: waeup.kofa.students.export.StudentPaymentExporter.fields |
---|
| 220 | .. autoattribute:: waeup.kofa.students.export.StudentPaymentExporter.title |
---|
| 221 | .. automethod:: waeup.kofa.students.export.StudentPaymentExporter.mangle_value() |
---|
[12863] | 222 | |
---|
[12971] | 223 | Student Unpaid Payment Exporter |
---|
| 224 | ------------------------------- |
---|
| 225 | |
---|
| 226 | .. autoclass:: waeup.kofa.students.export.StudentUnpaidPaymentExporter() |
---|
| 227 | |
---|
| 228 | .. autoattribute:: waeup.kofa.students.export.StudentUnpaidPaymentExporter.title |
---|
| 229 | |
---|
[12865] | 230 | Bed Ticket Exporter |
---|
| 231 | ------------------- |
---|
[12863] | 232 | |
---|
[12865] | 233 | .. autoclass:: waeup.kofa.students.export.BedTicketExporter() |
---|
[12863] | 234 | |
---|
[12865] | 235 | .. autoattribute:: waeup.kofa.students.export.BedTicketExporter.fields |
---|
| 236 | .. autoattribute:: waeup.kofa.students.export.BedTicketExporter.title |
---|
| 237 | .. automethod:: waeup.kofa.students.export.BedTicketExporter.mangle_value() |
---|
[12863] | 238 | |
---|
[12884] | 239 | .. note:: |
---|
[12863] | 240 | |
---|
[12884] | 241 | The above exporters refer to a specific content type (object class). |
---|
| 242 | They export all attributes of these objects and a few additional |
---|
| 243 | parameters derived from the parent objects. These exporters can be |
---|
| 244 | used for reimport, or more precisely for backing up and restoring |
---|
| 245 | data. The following 'special' exporters are made on request of some |
---|
| 246 | universities to collect and compose student data for analysis and |
---|
| 247 | postprocessing by the university. |
---|
| 248 | |
---|
[12863] | 249 | DataForBursary Exporter |
---|
| 250 | ----------------------- |
---|
| 251 | |
---|
| 252 | .. autoclass:: waeup.kofa.students.export.DataForBursaryExporter() |
---|
| 253 | |
---|
| 254 | .. autoattribute:: waeup.kofa.students.export.DataForBursaryExporter.fields |
---|
| 255 | .. autoattribute:: waeup.kofa.students.export.DataForBursaryExporter.title |
---|
| 256 | .. automethod:: waeup.kofa.students.export.DataForBursaryExporter.mangle_value() |
---|
| 257 | |
---|
| 258 | Student Payments Overview Exporter |
---|
| 259 | ---------------------------------- |
---|
| 260 | |
---|
| 261 | .. autoclass:: waeup.kofa.students.export.StudentPaymentsOverviewExporter() |
---|
| 262 | |
---|
| 263 | .. autoattribute:: waeup.kofa.students.export.StudentPaymentsOverviewExporter.fields |
---|
| 264 | .. autoattribute:: waeup.kofa.students.export.StudentPaymentsOverviewExporter.title |
---|
| 265 | .. autoattribute:: waeup.kofa.students.export.StudentPaymentsOverviewExporter.curr_year |
---|
| 266 | .. automethod:: waeup.kofa.students.export.StudentPaymentsOverviewExporter.mangle_value() |
---|
| 267 | |
---|
| 268 | Student Study Levels Overview Exporter |
---|
| 269 | -------------------------------------- |
---|
| 270 | |
---|
| 271 | .. autoclass:: waeup.kofa.students.export.StudentStudyLevelsOverviewExporter() |
---|
| 272 | |
---|
| 273 | .. autoattribute:: waeup.kofa.students.export.StudentStudyLevelsOverviewExporter.fields |
---|
| 274 | .. autoattribute:: waeup.kofa.students.export.StudentStudyLevelsOverviewExporter.title |
---|
| 275 | .. automethod:: waeup.kofa.students.export.StudentStudyLevelsOverviewExporter.mangle_value() |
---|
| 276 | |
---|
| 277 | Combo Card Data Exporter |
---|
| 278 | ------------------------ |
---|
| 279 | |
---|
| 280 | .. autoclass:: waeup.kofa.students.export.ComboCardDataExporter() |
---|
| 281 | |
---|
| 282 | .. autoattribute:: waeup.kofa.students.export.ComboCardDataExporter.fields |
---|
| 283 | .. autoattribute:: waeup.kofa.students.export.ComboCardDataExporter.title |
---|
[13162] | 284 | .. automethod:: waeup.kofa.students.export.ComboCardDataExporter.mangle_value() |
---|
| 285 | |
---|
| 286 | File Export |
---|
| 287 | =========== |
---|
| 288 | |
---|
| 289 | You want to export files (passport images, pdf slips), for instance |
---|
| 290 | of all students in a department or applicants in an applicants |
---|
| 291 | container? There is no facility in Kofa which does this job for you, |
---|
| 292 | but you can batch-download files by means of your operating system |
---|
| 293 | on your local machine. This works perfectly with the the `wget` |
---|
| 294 | command on Linux or MacOS computers. Windows does not provide such a |
---|
| 295 | command. |
---|
| 296 | |
---|
| 297 | If ``numbers.txt`` contains the application numbers of applicants in |
---|
| 298 | the applicants container ``xyz``, the following bash script will |
---|
| 299 | download all passport images directly onto you computer:: |
---|
| 300 | |
---|
| 301 | wget --save-cookies cookies.txt --keep-session-cookies --post-data 'form.login=my-username&form.password=my-password' https://my-kofa-site/login |
---|
| 302 | |
---|
| 303 | for i in $(cat numbers.txt) |
---|
| 304 | do |
---|
[13189] | 305 | wget --load-cookies cookies.txt --output-document=$i.jpg https://my-kofa-site/applicants/xyz/$i/passport.jpg |
---|
[13162] | 306 | done |
---|
| 307 | |
---|
| 308 | If ``numbers.txt`` contains the ids of students in a department, the |
---|
| 309 | following bash script will download all passport images directly |
---|
| 310 | onto you computer. The script is a slightly extended, more user |
---|
| 311 | friendly version of the script above:: |
---|
| 312 | |
---|
| 313 | if [ $# -lt 3 ] |
---|
| 314 | then |
---|
| 315 | echo "usage: $0 username password filename" |
---|
| 316 | exit 1 |
---|
| 317 | fi |
---|
| 318 | |
---|
| 319 | wget --save-cookies cookies.txt --keep-session-cookies --post-data "form.login=$1&form.password=$2" https://my-kofa-site/login |
---|
| 320 | |
---|
| 321 | while read variable |
---|
| 322 | do |
---|
| 323 | echo https://my-kofa-site/students/$variable/passport.jpg |
---|
| 324 | wget --load-cookies cookies.txt --output-document $variable.jpg https://my-kofa-site/students/$variable/passport.jpg |
---|
| 325 | done < $3 |
---|
| 326 | |
---|
| 327 | |
---|