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

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

Enable import of student history.

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