source: main/waeup.kofa/trunk/CHANGES.txt @ 16845

Last change on this file since 16845 was 16831, checked in by Henrik Bettermann, 3 years ago

Improve export and reimport of previous study course data.

File size: 24.0 KB
Line 
1Changes
2*******
3
41.7.2.dev0 (unreleased)
5=======================
6
7* Add `previous` field to `StudentStudyCourseProcessor`,
8  `StudentStudyLevelProcessor` and `CourseTicketProcessor` to ensure
9  that previous study course data are being imported into the right study
10  course container.
11
12* Add exporters for previous study course data.
13
14* Enable import of student history.
15
16* Don't complain but remove leading and trailing whitespaces
17  while converting values during import.
18
19* Add 'Modules Level'.
20
21* Ease customization of portrait upload conditions.
22
23* `OutstandingCoursesExporter`: Remove passed courses from outstanding
24  courses lists.
25
26* Enable students and officers to upload scanned signature in the same
27  way as passport pictures are handled. Some tabs and titles had to be
28  renamed. The placeholder file, which is still the portrait
29  placeholder, are no longer shown on base pages.
30
31* Send email to student after single record creation.
32
33* Forward credentials to login page after password reset request.
34
35* Enable applicants to upload also additional jpg files.
36
37* Prefill login form after applicant registration.
38
39* Show local roles on faculty, department, course and certificate pages
40  and provide 'Contact' button so that authenticated users can contact
41  officers via Kofa.
42
43* Extend `IPayer` adapter.
44
45* Adjust `ApplicantOnlinePaymentProcessor.getMapping` (2nd bugfix).
46
47* Sort attendance.pdf first by faculty and department before certcode.
48
49* Add serial no to the coursetickets.pdf.
50
511.7.1 (2021-04-20)
52==================
53
54* Add `p_id` to `ApplicantOnlinePaymentProcessor.location_fields` (bugfix).
55
56* Enable managers to edit/remove all flash notices of students in a department.
57
581.7 (2021-04-13)
59================
60
61* Add `key` field to `CertificateExporter`.
62
63* Add payment option (`p_option`) field to payment tickets and add
64  select box on online payment add form pages. Disable this feature
65  in the base package.
66
67* Allow lecturers to export all course tickets, not only
68  those of current academic session.
69
70* Disable clearance request button if not in state 'clearance started'.
71
72* Make maximum number of applicants on `ApplicantsContainerManageFormPage`
73  customizable.
74
75* Implement bulk emailing.
76
77* Make login trouble links more conspicuous.
78
79* Add `ApplicantEmailSource` (not used and tested in base package).
80
81* Redirect to payment ticket page after ticket creation.
82
83* Use Uli's marker substitution hack to inject signature
84  images into pdf files.
85
86* Implement `ExportPDFPersonalDataSlip` (without button
87  in the base package). Rename `ExportPDFBaseDataPlusSlip`
88  `ExportPDFStudyCourseBaseDataSlip`.
89
90* Save email address provided by mandate when referee report
91  is created. Add `RefereeReportManageFormPage` (no button available).
92
93* Show submitted transcript application records on
94  `TranscriptOfficerLandingPage` (not used in base package).
95
96* Implement `ContactApplicantFormPage`.
97
98* Use `Applicant.createStudent` method also to create graduated
99  students from transcript application data (not used in base package).
100
101* Implement `RefereesRemindPage`.
102
103* Remove contact email header and add footer.
104
105* Implement webservice `get_payment`.
106
107* `year` (Year of Entrance) is no longer required when creating
108  an applicants container.
109
110* Implement temporary clearance.
111
112* `reg_number` is no longer a required field in `IApplicantBaseData`.
113
114* Add `entry_session` to student data exporters.
115
116* Add `DownloadTranscript` permission.
117
118* Implement webservice `get_unpaid_payments`.
119
120* Prepare `renderPDFAdmissionLetter` for merging with another pdf document.
121
122* Add `picture_editable` property attribute to `ApplicantsContainer`.
123
124* Add webservice to check if graduated student exists.
125
126* Implement `ExportPDFBaseDataPlusSlip` (without button
127  in the base package)
128
129* Implement `ApplicantRefereeReportExporter`.
130
131* Improve referee reports.
132
133* Use consistent flow value formatting for CGPA.
134
135* Bugfix: If level_session of a studylevel object has changed,
136  coursetickets_catalog must be informed. Otherwise lecturers
137  don't see their students.
138
139* Implement `BatchProcessor.checkCreateRequirements` and
140  `BatchProcessor.checkUpdateRequirements` methods mainly
141  to protect course result lists of graduated student.
142
143* Do not allow course validation if no score has been entered.
144
145* Add `unlock_score` field to `CourseTicketProcessor`.
146
147* Add `UpdateCourseTicketsView`.
148
149* Don't show 'Base Data' header on slips if no form fields do
150  follow.
151
152* When adding course tickets, check if course has already been
153  passed at previous level.
154
155* Add `StudentTrimmedPaymentExporter` (requested by Uniben).
156
157* Add `AccommodationDisplayFormPage`.
158
159* Don't allow students to add former courses in course lists.
160
161* Use kofa-filterbox for filtering users when assigniing
162  local roles in academics section.
163
164* Add `waeup.local.ReportsOfficer` role.
165
166* Add `TrimmedDataExporter`.
167
168* Make `getUsers` customizable.
169
170* Add logging message to `releaseBedIfMaintenanceNotPaid`.
171
172* Provide components for file uploads in the applicants section.
173
174* Copy also files from applicants to students section.
175
176* Reset _curr_stud_id if student could not be created.
177
178* Add `TranscriptDataExporter` and reorganize exporter names.
179
180* Add `session_level`filter to `StudentStudyLevelExporter`.
181
182* Add LetterPDFCreator utility and use this pdf creator
183  for admission slips. letterhead_admission.jpg file
184  must exist in students/static.
185
186* Add application worklfow transition `reset6`.
187
188* Add `StudentOutstandingCoursesExporter`.
189
190* Sort lecturers on scores slip.
191
192* Don't show hint on pdf slips.
193
194* Make max passport picture size customizable.
195
196* Redirect to `ChangePasswordRequestPage` after successfully
197  adding an officer.
198
199* Add get_bursary_data webservice.
200
201* Implement bed selector.
202
203* Implement combi payments.
204
205* Make max file size customizable.
206
207* Add `score_editing_disabled` switch at course level.
208
209* Take `DELETION_MARKER` into consideration when updating passwords.
210
211* Implement parents access to student data.
212
213* Do not print picture on application slip if application is without
214  passport picture.
215
216* Do not copy applicant_id into reg_number field after applicant creation.
217
218* Successful applicant payments do trigger 'approve' transition only
219  if applicant is in state 'started' and either p_category is 'application' or
220  applicant is special.
221
222* Allow to add applicants containers with a number instead of entrance year
223  in container code.
224
225* Add semester filter to Fix `CourseTicketExporter`.
226
227* Add `FacultiesExportJobContainerSelectStudents` view to allow
228  bursary officers to export student data for a  small subset of students
229  by entering a list of student ids or matric numbers.
230
231* Add passport picture switch to applicants containers.
232
233* Use decimal.Decimal to counteract Python floating point limitation.
234
235* Add level 0 (None) to course levels.
236
237* Ease customization of selectable payment categories.
238
239* Make maximum number of files listed in `finished` subfolder
240  customizable.
241
242* Add attendance_sheet.pdf view.
243
244* Implement course result validation workflow for lecturers.
245
246* Add graduated students filter.
247
248* Backup deleted graduated student data somewhere else to ease graduated
249  student data migration.
250
251* Add `transcript_remark` field to study levels. Add page to allow
252  transcript officers editing the field during transcript processing.
253
254* Increase password strength. Officers are now required
255  to set a password which has at least 8 characters and which contains
256  at least one uppercase letter, one lowercase letter and one
257  digit. Stored insecure passwords are no longer accepted.
258  Officers with an insecure password can't login and are
259  redirected to the `ChangePasswordRequestPage` to request a
260  new password.
261
262* Add `AccommodationPaymentsExporter` which can be used by
263  accommodation officers.
264
265* Add ReleaseExpiredAllocationsActionButton which has previously
266  only been used by Uniben.
267
268* Fix get_student_payment_stats. Department codes are not
269  unique. Use its path instead.
270
271* Implement study level 0 (Level Zero) option for storing
272  orphaned course tickets (tickets without level assignment
273  or information). Add `ticket_session` field to `ICourseTicket`.
274
275* Implement new transcript processing workflow.
276
277* Always display applicant payments if they exist.
278
279* Allow `ApplicationsManager` to view statistics.
280
281* Add payment session filter to payment exporters.
282
283* Add `SessionPaymentsOverviewExporter`.
284
285* Rename `StudentPaymentsOverviewExporter`.
286
287* Fix `CourseTicketExporter`. Ticket level and session filter
288  did not work.
289
290* Add payment category filter to payment exporters.
291
292* Remove 'hidden' attribute from ordereddSelectionList which has
293  caused a malfunction in Internet Exporer.
294
295* Set ssl index URL in buildout.cfg
296
297* Use the 'new' recaptcha v2.
298
299* Allow lecturer role assignment also at department level.
300
3011.6 (2018-04-05)
302================
303
304* Add ticket level and session filter to `CourseTicketExporter`.
305
306* Add 'Student Record Creation' Report page.
307
308* Add `CreateStudents` permission and `StudentsCreator` role.
309
310* Do not allow uploading data with trailing whitespaces.
311
312* Do no longer hide the 'Create students' buttons but switch the portal to
313  maintenance mode to ensure that nobody can enter the portal during
314  record creation except for user 'admin'. This guarantees that record
315  creation is only started once.
316
317* Replace `gpa_boundaries` utility attribute by `GPABoundaries` method
318  which may return different values in custom packages depending on faculty,
319  department or certificate code (requested by AAU Ekpoma).
320
321* Allow `ApplicantOnlinePaymentProcessor` to import records without
322  `p_id` column in create mode.
323
324* Add `waeup.showStudents` permission to `ExportManager` role.
325
326* Fix `CertificateProcessor.checkHeaders`. The processor requires both
327  faculty_code *and* department_code in create mode.
328
329* Add 'Update all tickets' button to `StudyLevelEditFormPage`.
330
331* Do not allow to create more than 10 students with a single request to
332  avoid a timeout of Nginx/Apache.
333
334* Redirect to manage page after editing of certificate courses.
335
336* Add `course_category` attribute to course tickets. In the base package,
337  this attribute is omitted from display and manage pages.
338
339* Add `course_category` attribute to certificate courses.
340
341* Simplify configuration of maximum or minimum total credits.
342
343* Add `outstanding` attribute to course tickets.
344
345* Exclude graduated students from `LevelReport`, `SessionResultsPresentation`
346  and `RawScoreReport`.
347
348* Allow applicants in states `admitted`, `not admitted` or `created` to
349  download the payment slip.
350
351* Catch traceback (`RequiredMissing`) if a required field is cleared
352  by import.
353
354* Add role `FingerprintReaderDeviceRole` intended for fingerprint reader
355  devices that access the portal via XMLRPC.
356
357
3581.5 (2017-02-14)
359================
360
361* Happy Valentines Day everybody!
362
363* Sort arguments in table of `ReportsContainerPage`.
364
365* Add `entry_session` and `p_session` filter to Student Payment Statistics
366  generator. Adjust reports: Change footer and filename formats.
367
368* Add officer name fields do `IDepartment` and `IFaculty`.
369  Plugins must be updated!
370
371* Add serial number column to Session Results Presentations.
372
373* Add Raw Score Report to base package.
374
375* Only user 'admin' is allowed to access the `DatacenterSettings` page.
376
377* Show correct level title on Level Reports and Session Results Presentations.
378
379* Get set of selected students also from list of matric numbers.
380
381* Confine Level Reports and Session Results Presentations to certificates.
382
383* Show report number (job_id) on report pdf slips.
384
385* Level report: Count and display the number of courses registered but
386  not taken.
387
388* Add control button to create graduated students.
389
390* Add option to render transcripts without passport picture and QR code.
391
392* Catch Reportlab `LayoutError`.
393
394* Replace `course_registration_allowed` by `course_registration_forbidden`
395  method.
396
397* Add export purge button.
398
399* Add report purge button.
400
401* Add property attribute `total_score` in order to make provision
402  for additional scores (like contineous assessments) in custom
403  packages.
404
405* Make provision against storing other objects than applicant payments
406  in applicant containers.
407
408* Count mandates on configuration page and provide 'Purge' button.
409
410* Start `ApplicantExporter` and `ApplicantPaymentExporter` at the same
411  time when calling `ExportJobContainerJobStart`.
412
413* Add `ApplicantPaymentExporter`.
414
415* Add file upload functionality to `EditScoresPage`.
416
417* Add `LecturerLandingPage` and `LecturerCourses` `ManageLink`
418  viewlet.
419
420* Add `ExportPDFScoresSlip`.
421
422* Add `DownloadScoresView` which is for lecturers only. Remove
423  `waeup.showStudents` from `Lecturer` role. Adjust
424  `DataForLecturerExporter`. Only editable course tickets are being
425  exported.
426
427* Remove application fee fallback option. Application fees can only
428  be set via applicants containers. Hide Payment Tickets section on
429  application pages if fee isn't set.
430
431* Add  `ApplicantOnlinePaymentProcessor`.
432
433* Improve `AddStudyLevelFormPage`.
434
435* Create new exporter for lecturers and further restrict the usage of
436  exporters at course level. Lecturers can only export data of
437  current academic session.
438
439* Show certificate-specific p_level value on payment pages.
440  Ensure that only allowed payment levels can be selected when
441  adding a balance payment.
442
443* Add `flash_notice` field.
444
445* Documentation updates.
446
447* Update pinned versions: six
448
449
4501.4.1 (2016-02-14)
451==================
452
453* Add new application workflow state (`processed`) and transition
454  (`process`).
455
456* Add `DegreeSource` and `degree` field to `ICertificate`.
457  Plugins must be updated!
458
459* Upgrade bootstrap.py script and update some dependencies. For
460  already running instances a new init might be neccessary, i.e.
461  you might have to create a new virtualenv and run bootstap.py
462  and buildout from that new virtualenv to get rid of old
463  package versions in the runtime environment.
464
465* Upgrade versions.cfg to contain bugfix releases of packages we
466  depend on.
467
468
4691.4 (2016-01-14)
470================
471
472* Add button and view which allow students to unregister their
473  current course list unless the courses have not been validated.
474
475* Configure transfer payments and let students enter their desired
476  study course. Save entered text in `p_item` attribute.
477
478* Add further permissions to the local `ApplicationsManager` role and
479  make it assignable at applicants container level.
480
481* Disable rendering of HTML tags in fullnames.
482
483* Add bed statistics components.
484
485* Add option which allows students to select a desired hostel before
486  booking accommodation.
487
488* Add `BedProcessor`.
489
490* Add portal maintenance mode.
491
492* Allow also `reg_number` on public page to check application status
493  without password.
494
495* Remove `beds_reserved` attribute from hostels. Hostels do no longer
496  contain information about reserved bed spaces.
497
498* Add methods and page to release expired bed allocations.
499
500* Use lastname instead of firstname for first-time password requests.
501
502* When building docs, ignore members with dots in name.
503
504
5051.3.3 (2015-10-06)
506==================
507
508* Show file size of pdf documents in the documents section.
509
510* Add `MANIFEST.in`.
511
512
5131.3.2 (2015-09-14)
514==================
515
516* Add public page to check application status without password.
517
518* Fix department breakdown of student statistics.
519
520* Enable purging of applicants containers.
521
522* Enable pre-filling of applicants containers with empty
523  application records which are used during self-registration
524  to avoid excessive growth of the Data.fs.
525
526* Do only allow one running export job.
527
528* Add switch to disable all exports.
529
530* Enable import of list-of-choices fields.
531
532* Include 'end day' when searching for payments in a given period.
533
534* Do not create special application payment tickets with zero amount.
535
536* Remove manual clearance lock. Replace `clearance_locked` field by
537  property attribute.
538
539* Make student email field required.
540
541* Rename application workflow transitions and remove forbidden transitions.
542
543* Rename 'application section' for the sake of consistency.
544
545* Rename student views which are not layout-aware and thus not pages.
546
547* Register KofaSourceOrderedMultiSelectWidget for IterableSource and
548  KofaSourceOrderedMultiSelectWidget for IVocabularyTokenized.
549
550* Implement session-specific course registration deadline and
551  late registration payment.
552
553* Remove quite old bug in `doImport`: Replace empty strings *and* lists with
554  ignore-markers in update *and* create mode.
555
556* Add StudentUnpaidPaymentExporter to export only unpaid tickets.
557  This exporter is designed for finding and finally purging outdated
558  payment ticket.
559
560* Remove deprecated xml importer and exporter components.
561
562* Rearrange datacenter upload page. Provide modal windows to view all
563  processors and sources and vocabularies.
564
565* Reorganize doctests. Remove deprecated doctests.
566
567* Enable temporary suspension of officer accounts. Plugins must be
568  updated after restart.
569
570* Rename 'Portal Users' 'Officers'.
571
572* Add link 'Kofa Docs for this page' at the end of the content box
573  which refers to the corresponding section of the
574  `Kofa Documentation <http://kofa-doc.waeup.org>`_.
575
576* Filter students by current level in reports.
577
578* Add `StudentsUtils.increaseMatricInteger` method which allows to use various
579  matric number counters when computing the matric number.
580
581* Bypass school fee payment activation code creation if student is allowed
582  to proceed to next session.
583
584* Convert `level` into a schema field to be consistent with the documentation.
585
586* Rename classes `StudentPaymentsExporter` and `BedTicketsExporter` to be
587  in accordance with other exporter names.
588
589* Add `ReportsOfficer` and `ReportsManager` roles with corresponding
590  permissions.
591
592* Do not automatically allow import managers to import user data.
593
594* Skip empty rows produced by spreadsheet software.
595
596* Add components to  configure a student export jobs in faculties.
597
598* `StudentOnlinePaymentProcessor` : Raise `DuplicationError` if payment
599  (in state ``paid``) with same `p_session` and `p_category` exists.
600
601* Add new payment state ``waived``. This state can only be set by import
602  and is only used for the payments overview exporter to
603  mark sessions with waived fees.
604
605* Add exporter methods and export page to filter student data exports
606  by entering a list of student ids.
607
608* Student statistic can now be broken down by faculties or by departments.
609
610* Check if `p_id` exists in payments catalog when importing payment tickets in
611  create mode.
612
613
6141.3.1 (2015-01-14)
615==================
616
617* 1.3 was a brown bag release. Fix uploaded files.
618
619
6201.3 (2015-01-13)
621================
622
623* Add documents package.
624
625* Do not compare ResultEntry objects but their attributes.
626
627* Modify getWidgetsData so that we always get the same error format.
628
629* Validate all codes in university.
630
631* Catch traceback when creating an application slip with a corrupted
632  image file.
633
634* Remove deprecated HTML and REST widgets and use html2dict and rest2dict
635  instead.
636
637* UserProcessor: Check if imported roles do exist in the portal.
638
639* Enable localization of batch processing modules.
640
641* Hide 'Create students' button. Only user admin can see this button.
642
643* Add application_slip_notice field to ApplicantsContainer.
644
645* Remove 'Size' column from logfiles table.
646
647* Add permission, page and button to mass-clear all students in a department.
648
649* Hide export download button 24 hours after file generation.
650
651* Add helper to allow `meminfo` checks for cached memory, etc.
652
653* Allow external checks of system load before performing expensive
654  actions.
655
656* Add new dependency: `psutil` (required to check system state).
657
658* Show flash message on general search page for the academic section.
659
660* Fix `CertificateCourseProcessor`. Mandatory is not a required field
661  and might be missing in import files. Improve logging. Extend and
662  fix CertCourseProcessorTests.
663
664* Provide customizable method for disabling clearance by clearance
665  officers.
666
667* Merge Javascript functions into one file. Add Javascript function to
668  calculate copyright notice year automatically.
669
670* Use lastname (surname) instead of firstname to verify found
671  application record on ApplicantRegistrationPage.
672
673* Append hash '#' also to datetimes to circumvent unwanted excel
674  automatic.
675
676* Method for (customizable) application passport upload requirements
677  added.
678
679* Filter payment ticket data exports by specifying the payment_date
680  period.
681
682* Method for (customizable) application payment slip download
683  requirements added.
684
685* Method for (customizable) application payment ticket upload
686  requirements added.
687
688* Remove unused rowadd javascript function.
689
690* certcode and reg_number added to DataForBursaryExporter.
691
692* Some batch processor names corrected.
693
694* Fixed ReST markup in setup.py long description.
695
696
6971.2 (2014-06-16)
698================
699
700* Redirect to login page after using password mandate.
701
702* Adding student payment tickets is logged.
703
704* Provide XMLRPC services for storing and retrieving fingerprint
705  scans.
706
707* Sort ContextualDictSource by dictionary values not by keys.
708
709* Add regular school fee and balance payments when exporting payments
710  overviews.
711
712* Add samePaymentMade method to StudentsUtils.
713
714* Fingerprint file upload enabled.
715
716* is_fresh property method added to Student class.
717
718* Special application procedure modified. Special applicants must submit
719  their form before they can download payment slips. Thus the regular
720  workflow is now applied but, in contrast to regular applications,
721  special applicants can create and pay more than one payment ticket.
722  Also application slips are hidden.
723
724* Add setMatricNumber and constructMatricNumber methods to StudentsUtils.
725
726* When sending mails, always set from-address to 'no-reply@waeup.org'.
727  Real from-addresses are now set in Cc and Reply-To fields. This is
728  to tackle problems with yahoo (does not allow yahoo.com mails to be
729  sent from non-yahoo servers).
730
731* Multiple payments in special application containers enabled.
732  Special payment applicants remain in state started after payment.
733
734* File input fields brought into shape with Bootstrap 3.
735
736* Transcript and access code pagetemplates adjusted.
737
738* Print QR codes on all student slips.
739
740* Allow adding current_level to base data section on all student slips
741  (requested by Uniben).
742
743* Windows is no longer supported. Installation manual removed.
744
745* Added JS helper to scroll to sequencelists after adding/removing items.
746
747
7481.1 (2014-03-13)
749================
750
751* Add display_fullname column to `CourseTicketExporter` (requested by Uniben).
752
753* Do also export student and course ticket data of students on probation.
754
755* 'Create student' option removed from 'Application Transition'
756  select field.
757
758* API docs added.
759
760* Back-to links replaced by animated jQuery plugins.
761
762* Default frontpage text updated.
763
764* Use absolute urls on datacenter pages.
765
766* Provide customizable method for disabling student payments.
767
768* After login and logout, regular users (officers) are redirected
769  to the portal's index page not to the portal's root. The
770  root URL can now be rewritten be Nginx or Apache so that the user
771  is being redirected to the university website
772  when entering the root URL directly or clicking the acronym.
773
774* Show tooltip alert and warning window before updating plugins.
775
776* JSAction has been deprecated. KofaAction can be used instead. Additional
777  parameters can be used in @action decorators to enable tooltips and/or
778  warning windows. The old @jsaction decorator still triggers a default
779  warning message.
780
781* jquery-ui.min.js is also used for tooltips.
782
783* Do not create TSC AC batch when updating plugins.
784  All TSC batches are created.
785
786* Make table on applicantsrootpage responsive.
787
788* Change width of input, select and textarea fields.
789
790* Use only https in theme.html.
791
792* INSTALL.txt updated and integrated into Sphinx documentation.
793
794* Redundancies removed in docs.
795
796
7971.0 (2014-02-22)
798================
799
800* Diazofied the complete package.
801
802
8030.2.1 (2014-02-21)
804==================
805
806* Send mails to from-address, if site-wide config admin is
807  different from it.
808
809* Change flash message for successful applicants.
810
811* Use more attributes of applicants with payer objects.
812
813* Update copyright infos (year).
814
815* Localization updates.
816
817
8180.2 (2014-01-09)
819================
820
821Tons of changes.
822
823
8240.1 (never released)
825====================
826
827Initial version. Copy from waeup.sirp.
Note: See TracBrowser for help on using the repository browser.