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

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

Add importers for previous study course data.

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