source: main/waeup.kofa/branches/uli-py3/docs/source/userdocs/datacenter/export.rst @ 17958

Last change on this file since 17958 was 15924, checked in by Henrik Bettermann, 5 years ago

Change name of exporter classes.

File size: 15.0 KB
Line 
1.. _export:
2
3Data Export
4***********
5
6Regular data exporters (1) collect objects from specific containers,
7(2) iterate over the collected objects, (3) extract and mangle
8information from each object, (4) write the information of each object
9into a row of a CSV file and (5) finally provide the file for
10download. The CSV file is neither stored in the database nor archived
11in the filesystem. (3) and (4) means a flattening of the hierarchical
12data structure, i.e. a mapping of objects to flat relational data to
13be stored in a CSV table. The extracted information must not
14necessarily be based only on static attributes of the collected
15object. The data, finally stored in the CSV file, can also be derived
16from parent or child objects, or dynamically computed by the object's
17methods and property attributes. These methods and properties can
18retrieve information from everywhere in the portal's database. In the
19following we list all exporter classes including two attributes and a
20method description. The `fields` attribute contain the column titles
21of the export file. These are not necessarily only attributes of the
22exported objects.
23
24.. note::
25
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
29  applicants and students and the number of columns increases
30  accordingly.
31
32The `title` attribute unveils the name of the exporter under which
33this exporter will be displayed in the user interface. The
34`mangle_value()` method shows how some of fields are being dynamically
35computed.
36
37Regular Exporters
38=================
39
40User 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
49Faculty 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
58Department 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
67Course 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
76Certificate 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
85Certificate 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
94Access 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
102Access 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
111Hostel 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
119Bed 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
127Document Exporter
128-----------------
129
130.. autoclass:: waeup.kofa.documents.export.DocumentExporterBase()
131
132  .. automethod:: waeup.kofa.documents.export.DocumentExporterBase.mangle_value()
133
134Application Data Exporters
135==========================
136
137Applicants 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
145Applicant 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
154Applicant Payment Exporter
155--------------------------
156
157.. autoclass:: waeup.kofa.applicants.export.ApplicantPaymentExporter()
158
159  .. autoattribute:: waeup.kofa.applicants.export.ApplicantPaymentExporter.fields
160  .. autoattribute:: waeup.kofa.applicants.export.ApplicantPaymentExporter.title
161  .. automethod:: waeup.kofa.applicants.export.ApplicantPaymentExporter.mangle_value()
162
163Student Data Exporters
164======================
165
166When starting a Student Data Exporter in the Data Center all student
167records will be taken into consideration, no matter what or where a
168student is studying. The exporter can also be started 'locally' at
169various levels in the academic section. Starting one of the exporters
170e.g. at faculty or department level means that only the data of
171students are exported who study in this faculty or department
172respectively. The exporter can also be started at certificate level.
173Then only the data of students, who are studying the named study
174course, will be taken into account. At course level the data of those
175students are being exported who have attended or taken this specific
176course.
177
178Student Data Exporter can be further configured through a
179configuration page. Search parameters like the student's current level,
180current session and current study mode can be set to filter sets of
181students in order to decrease the size of the export file. The set of
182filter parameters varies and depends on the 'locatation' from where
183the exporter is called. A completely different set of filter
184parameters is provided for courses. In this case the session and level
185can be selected when the course was taken by the student.
186
187Student Exporter
188----------------
189
190.. autoclass:: waeup.kofa.students.export.StudentExporter()
191
192  .. autoattribute:: waeup.kofa.students.export.StudentExporter.fields
193  .. autoattribute:: waeup.kofa.students.export.StudentExporter.title
194  .. automethod:: waeup.kofa.students.export.StudentExporter.mangle_value()
195
196Student Study Course Exporter
197-----------------------------
198
199.. autoclass:: waeup.kofa.students.export.StudentStudyCourseExporter()
200
201  .. autoattribute:: waeup.kofa.students.export.StudentStudyCourseExporter.fields
202  .. autoattribute:: waeup.kofa.students.export.StudentStudyCourseExporter.title
203  .. automethod:: waeup.kofa.students.export.StudentStudyCourseExporter.mangle_value()
204
205Student Study Level Exporter
206----------------------------
207
208.. autoclass:: waeup.kofa.students.export.StudentStudyLevelExporter()
209
210  .. autoattribute:: waeup.kofa.students.export.StudentStudyLevelExporter.fields
211  .. autoattribute:: waeup.kofa.students.export.StudentStudyLevelExporter.title
212  .. automethod:: waeup.kofa.students.export.StudentStudyLevelExporter.mangle_value()
213
214Course Ticket Exporter
215----------------------
216
217.. autoclass:: waeup.kofa.students.export.CourseTicketExporter()
218
219  .. autoattribute:: waeup.kofa.students.export.CourseTicketExporter.fields
220  .. autoattribute:: waeup.kofa.students.export.CourseTicketExporter.title
221  .. automethod:: waeup.kofa.students.export.CourseTicketExporter.mangle_value()
222
223Student Payment Exporter
224------------------------
225
226.. autoclass:: waeup.kofa.students.export.StudentPaymentExporter()
227
228  .. autoattribute:: waeup.kofa.students.export.StudentPaymentExporter.fields
229  .. autoattribute:: waeup.kofa.students.export.StudentPaymentExporter.title
230  .. automethod:: waeup.kofa.students.export.StudentPaymentExporter.mangle_value()
231
232Bed Ticket Exporter
233-------------------
234
235.. autoclass:: waeup.kofa.students.export.BedTicketExporter()
236
237  .. autoattribute:: waeup.kofa.students.export.BedTicketExporter.fields
238  .. autoattribute:: waeup.kofa.students.export.BedTicketExporter.title
239  .. automethod:: waeup.kofa.students.export.BedTicketExporter.mangle_value()
240
241.. note::
242
243  The above exporters refer to a specific content type (object class).
244  They export all attributes of these objects and a few additional
245  parameters derived from the parent objects. These exporters can be
246  used for reimport, or more precisely for backing up and restoring
247  data. The following 'special' exporters are made on request of some
248  universities to collect and compose student data for analysis and
249  postprocessing by the university.
250
251Outstanding Courses Exporter
252----------------------------
253
254.. autoclass:: waeup.kofa.students.export.OutstandingCoursesExporter()
255
256  .. autoattribute:: waeup.kofa.students.export.OutstandingCoursesExporter.fields
257  .. autoattribute:: waeup.kofa.students.export.OutstandingCoursesExporter.title
258  .. automethod:: waeup.kofa.students.export.OutstandingCoursesExporter.mangle_value()
259
260Data For Bursary Exporter
261-------------------------
262
263.. autoclass:: waeup.kofa.students.export.DataForBursaryExporter()
264
265  .. autoattribute:: waeup.kofa.students.export.DataForBursaryExporter.fields
266  .. autoattribute:: waeup.kofa.students.export.DataForBursaryExporter.title
267  .. automethod:: waeup.kofa.students.export.DataForBursaryExporter.mangle_value()
268
269Unpaid Payments Exporter
270------------------------
271
272.. autoclass:: waeup.kofa.students.export.UnpaidPaymentsExporter()
273
274  .. autoattribute:: waeup.kofa.students.export.UnpaidPaymentsExporter.title
275
276Accommodation Payments Exporter
277-------------------------------
278
279.. autoclass:: waeup.kofa.students.export.AccommodationPaymentsExporter()
280
281  .. autoattribute:: waeup.kofa.students.export.AccommodationPaymentsExporter.fields
282  .. autoattribute:: waeup.kofa.students.export.AccommodationPaymentsExporter.title
283  .. automethod:: waeup.kofa.students.export.AccommodationPaymentsExporter.mangle_value()
284
285School Fee Payments Overview Exporter
286-------------------------------------
287
288.. autoclass:: waeup.kofa.students.export.SchoolFeePaymentsOverviewExporter()
289
290  .. autoattribute:: waeup.kofa.students.export.SchoolFeePaymentsOverviewExporter.fields
291  .. autoattribute:: waeup.kofa.students.export.SchoolFeePaymentsOverviewExporter.title
292  .. autoattribute:: waeup.kofa.students.export.SchoolFeePaymentsOverviewExporter.curr_year
293  .. automethod:: waeup.kofa.students.export.SchoolFeePaymentsOverviewExporter.mangle_value()
294
295Session Payments Overview Exporter
296----------------------------------
297
298.. autoclass:: waeup.kofa.students.export.SessionPaymentsOverviewExporter()
299
300  .. autoattribute:: waeup.kofa.students.export.SessionPaymentsOverviewExporter.fields
301  .. autoattribute:: waeup.kofa.students.export.SessionPaymentsOverviewExporter.title
302  .. automethod:: waeup.kofa.students.export.SessionPaymentsOverviewExporter.mangle_value()
303
304Study Levels Overview Exporter
305------------------------------
306
307.. autoclass:: waeup.kofa.students.export.StudyLevelsOverviewExporter()
308
309  .. autoattribute:: waeup.kofa.students.export.StudyLevelsOverviewExporter.fields
310  .. autoattribute:: waeup.kofa.students.export.StudyLevelsOverviewExporter.title
311  .. automethod:: waeup.kofa.students.export.StudyLevelsOverviewExporter.mangle_value()
312
313Combo Card Data Exporter
314------------------------
315
316.. autoclass:: waeup.kofa.students.export.ComboCardDataExporter()
317
318  .. autoattribute:: waeup.kofa.students.export.ComboCardDataExporter.fields
319  .. autoattribute:: waeup.kofa.students.export.ComboCardDataExporter.title
320  .. automethod:: waeup.kofa.students.export.ComboCardDataExporter.mangle_value()
321
322Data For Lecturer Exporter
323--------------------------
324
325.. autoclass:: waeup.kofa.students.export.DataForLecturerExporter()
326
327  .. autoattribute:: waeup.kofa.students.export.DataForLecturerExporter.fields
328  .. autoattribute:: waeup.kofa.students.export.DataForLecturerExporter.title
329  .. automethod:: waeup.kofa.students.export.DataForLecturerExporter.mangle_value()
330
331Transcript Data Exporter
332------------------------
333
334.. autoclass:: waeup.kofa.students.export.TranscriptDataExporter()
335
336  .. autoattribute:: waeup.kofa.students.export.TranscriptDataExporter.fields
337  .. autoattribute:: waeup.kofa.students.export.TranscriptDataExporter.title
338  .. automethod:: waeup.kofa.students.export.TranscriptDataExporter.mangle_value()
339
340File Export
341===========
342
343You want to export files (passport images, pdf slips), for instance
344of all students in a department or applicants in an applicants
345container? There is no facility in Kofa which does this job for you,
346but you can batch-download files by means of your operating system
347on your local machine. This works perfectly with the the `wget`
348command on Linux or MacOS computers. Windows does not provide such a
349command.
350
351If ``numbers.txt`` contains the application numbers of applicants in
352the applicants container ``xyz``, the following bash script will
353download all passport images directly onto you computer::
354
355  wget --save-cookies cookies.txt --keep-session-cookies --post-data 'form.login=my-username&form.password=my-password' https://my-kofa-site/login
356
357  for i in $(cat numbers.txt)
358  do
359   wget --load-cookies cookies.txt --output-document=$i.jpg https://my-kofa-site/applicants/xyz/$i/passport.jpg
360  done
361
362If ``numbers.txt`` contains the ids of students in a department, the
363following bash script will download all passport images directly
364onto you computer. The script is a slightly extended, more user
365friendly version of the script above::
366
367  if [ $# -lt 3 ]
368  then
369     echo "usage: $0 username password filename"
370     exit 1
371  fi
372
373  wget --save-cookies cookies.txt --keep-session-cookies --post-data "form.login=$1&form.password=$2" https://my-kofa-site/login
374
375  counter=0
376
377  while read variable
378  do
379     counter=$((counter+1))
380     wget --load-cookies cookies.txt --output-document $variable.jpg https://my-kofa-site/students/$variable/passport.jpg
381     if [[ "$counter" -gt 1000 ]]; then
382        wget --save-cookies cookies.txt --keep-session-cookies --post-data "form.login=$1&form.password=$2" https://my-kofa-site/login
383        counter=0
384     fi
385  done < $3
Note: See TracBrowser for help on using the repository browser.