1. Major features

1.1. HTML emails

onCourse can now send multipart emails with plain and html parts. HTML emails can be created in a tool of your choice and inserted into outgoing messages.

1.2. Mailing lists

We’ve optimised the sending of mailing lists, and you should also receive some visual progression so that you know that things are happening as messages to large lists are being sent. Mailing lists have been given greater prominence within the interface to make them easier to use and search on. The web site allows students and potential students to subscribe and unsubscribe to mailing lists.

1.3. Bounce processing

When outgoing emails or SMSs bounce more than a certain number of times, the person has that contact method set as undeliverable. This happens automatically as onCourse processes both the bounced emails and SMS failure notifications.

1.4. SSL

Improvements to handling of SSL encryption between client and server to allow the client to verify that it is connecting to the correct server and no man-in-the-middle attack is being attempted.

1.5. Date picker

For all text fields which require a date, there is now a date picker. This simplifies the process of selecting dates from a small popup calendar widget.

1.6. Overview Calendar

From the session button on the splash screen, you can know view the entire programmed sessions for your college for any given day, week or month. You can also use the tag groups to select one or more subject or other tags for example, the program manager for Arts can easily view all the upcoming arts classes in a single overview.

1.7. Record bulk processing

Adding and removing tags in bulk as well as web-enabling classes in bulk.


Numerous AVETMISS improvements, reducing the time required to clean up data for AVETMISS export toward that ultimate goal of zero. We are pretty close in most places right now, mainly with the exception of checking postcode validity.

2. Minor features

2.1. Full change log

  • Contact profile picture feature.

  • Added ldap authorisation as well as authentication. Roles are given to users when the log in from data in the LDAP data source.

  • Prevented phantom changes to the invoice, causing the "there are un-commited changes" dialog to show up

  • Clean up the preference view layout.

  • Changed label for concession name entry to avoid confusion

  • Fixed sheet drawing issues – opening the sheet bigger than a frame does not cause painting grief. now it is positioned in the centre.

  • Fixed a bug where "Send Email" is truncated at the top of the messaging window

  • The database backup service is not available if the database backend in not Derby (default database)

  • Corrected behaviour on record cancelling (or pressing prev/next button) where it was possible to save record without proper permissions using "Keep Changes"

  • Debtors and creditors report improved: added student id column, phone fields made wider, alignment fixed

  • Fixed button spacing on subrecord list

  • Made the screen for adding discounts/promo codes to class more comprehensible

  • Allow searching fields in view on list view by default rather than just last name which is more intuitive.

  • UserListController shouldn’t subclass TaggableListController as SystemUser is not Taggable.

  • Adjusted the minimum size of discount and promocode views, now they both look good in sheet

  • Fixed the link icon, now the implementation allows traversing through the relationships (allowing to display the link on contact relation table for example)

  • Profit and loss for class report breaks down the totals per account.

  • The sheet dialog size is fixed (the spacer between buttons was causing the layout to blow up)

  • Reducing number of times contacts (and their relations) are validated.

  • Optimisations: These two together significantly reduce the time lag for QuickEnrol.

    • queries by utilising local_cache for non-shared contexts.

    • validation calls are reduced by having objects register themselves for validation (and thus if already validated for the ValidationResult not doing so again).

  • Because this code is called so often (7500 times just to press tab in QE), the logger debugs are taking all of 500ms combined. We don’t really need them in production code since the logs they create are a bit overwhelming.

  • Performance improvement for tag validation.

  • Fixed typo in the reconcile screen

  • Re-added room combobox to the session create dialog

  • Removed double call to the validation on selecting contact with clairvoyance on QE

  • Fixed exception when creating session in Course view (the automatic assignment of tutors wont work, since a course does not have relation to tutors)

  • Using common lock for graph-related methods in order to safeguard from deadlocks.

  • Reducing validation for CVV. It should only provide a warning which should not prevent saving of the payment.

  • Frame disposal is posted to the event dispatch thread, this way a collision between two threads (one closing frame one refreshing etc) is avoided.

  • Don’t log user passwords when debugging is set to full

  • Fixed the problem with preference view, the ldap server port preference is an integer.

  • Login: the password is sent as encrypted already, no need to re-encrypt it again on server.

  • Refactor the security filter. This resolves some earlier LDAP issues and also simplifies all the code considerably.

  • Fixed sizing of dialogs, some information was not visible.

  • The payment view in sheet could not be closed, now behaves correctly.

  • Two data upgrades, one fixing a typo in the contact relation table, second setting the default values for ldap

  • Enabling/disabling widgets on the ldap preference tab. Friendly message when ldap licence is off and user tries to enable it.

  • Email from should never be different from reply to email address (for messages sent from onCourse)

  • Fix problem with posix style LDAP accounts.

  • Fixed course class tutor report, was broken after the change in schema which allowed linking many tutors to a class/session.

  • Improved speed of sending emails by batching the process

  • Improved user experience of sending emails by providing visual feedback on progress

  • Improvement in session drawing time by not displaying tutor information

  • Improvement in session colour coding for sessions when grouped by course and displaying over 500 sessions

  • Removed extended info on the session blob in calendar, trade-off for faster calendar drawing

  • Added "core filter" to the session list

  • Fixed issue where the copy/cut/paste menu items did not work on windows.

  • Enrolment confirmations need the student first/last names as options. (Fixing labels)

  • Fixed problem with module clairvoyance not accepting values.

  • On windows hitting close toolbar button, then answering no does not cause toolbar window to go away.

  • Payment status is set to success when the payment gateway is not contacted.

  • Fixing issue where selecting the datafile would create a new one inside of it.

  • onCourse does not use the system set web proxy on Mac OS X. This fixes the problem with web proxy preventing connecting to server.

  • Removed webpages GUI – webpages are now edited directly on the website.

  • Improved the code forcing repainting of the sheet. This resolves issue with sheet becoming transparent when window looses focus, and also avoids the flickering effect.

  • Catching and munching an exception which does nothing serious. It happens at random when disposing sheet.

  • Fixed see-through effect caused by search field on list view

  • Fixed problem with processing CC payments when gateway is inaccessible (or other generic Internet related problem occurred)

  • Updating the null status enrolments, all enrolments, not only the one with invalid status were set to success

  • Fixed exception raised when opening certain Courses (with qualification which does not define value in isOffered field)

  • Show error message when try to use old server version with newer data file.

  • If an outcome is not classroom based or employment based, then don’t export the attached site.

  • Updating properties to allow obtaining soap stubs from a local instance. Also setting payment testing to true for run targets

  • Fixed validation problem when saving created session records.

  • Course qualification validation was not executed properly in conjunction with preference for reducing the visible qualifications to offered only.

  • Fixed layout glitches in preference view

  • Fixed class cast exception in automatic logout time

  • Do not close dashboard when ESC pressed.

  • Add mandatory custom fields to new object.

  • Clean up all known issues with the HeartBeatThread. This should make it more resilient and the code is now MUCH smaller and simpler to follow.

  • Remove window and buttons decoration, change size and background color.

  • Better error message + updating JavaDoc for setAccountOut

  • the data upgrade is now less automatic, more manual but allows better control over the order of the data updates.

  • Clean up messages when untrusted SSL key is received by client.

  • removed deprecated search option from the class list view (tutor confirmed date). There is another search option which can be used (tutor confirmed on)

  • Contents of the sheet was not drawn when the frame lost focus. Added additional code to force repainting of the frame.

  • Fix for duplicate queued records resolving during dequeuing of onCourse records for replication

  • fixed the exceptions on server startup when the keystore already exists (or entry within the keystore)

    keystore file name changed.

  • Re-added dialog when cancelling edit

  • Fixed a problem setting the enrolment status when the web gateway is not enabled.

  • Copy, cut and paste buttons on menu work as expected.

  • Fixed a bug when calculating student contact hours

  • Student contact hours calculated more robustly

  • Session edit controller must be invoked in new frame, not in sheet. This matches up with the behaviour of other edit controllers

  • Added search on the class start date

  • Force build to use JDK 1.5 and not 1.6 to help avoid accidentally using Java 6 constructs.

  • Fix 100% CPU load in idle state.

  • Fixes for thrashing heartbeat thread and shutdown hangs.

  • Added dialog that shows that the enrolment confirmations were sent

  • Capturing all exceptions when class duplication fails and displaying a message to the end user

  • Overview calendar colour coding

  • Allowing multiple sort of data for reports

  • Printing the class funding fixed

  • Re-enabled the funding source field in class

  • Added feature to re-send enrolment confirmation

  • Added rollover picture for session toolbar button

  • Added session overview

    • selecting session in calendar highlights the session in the table
      scrolls it to make visible

    • selecting a session in table highlights the session in the calendar
      scrolls it to make visible

  • swapped port field and find server button on login screen

  • fixed the icon display in Clairvoyance field

  • Minor improvements to tab names in general preferences.

  • Add date picker for every text field with date.

  • AVETMISS changes

    • Fix language proficiency in AVETMISS export.

    • Fix Aboriginal export to AVETMISS.

    • Fix suppression of newlines in AVETMISS export and write test case for this problem.

    • Split address across newlines for AVETMISS export.

    • If no additional language spoken at home other than English, then the Australian government doesn’t want to know how well you speak English. Sigh…

    • Fix commencing course identifier export logic.

    • Only export successful enrolments.

    • Courses can have 6 or 4 character field of educations in different circumstances.

    • Prior education and disability choices need to have NONE as a choice.

    • Site name now uppercase.

    • Export only unique records for AVETMISS

    • If street address blank then export 'NOT PROVIDED' for AVETMISS.

    • Fix handling of state and postcode when bad data supplied for AVETMISS export.

    • Export @@ for students who didn’t answer language other than English question.

    • Is suburb not supplied then export "NOT PROVIDED"

    • If string longer than desired AVETMISS field, then truncate. Also strip newline, return and tab.

    • Change exported Avetmiss files to use file names required by NCVER.

    • Fixed: avetmiss 120: For outcomes not set, export 00 instead of 0. Space not allowed in the field.

    • "Training Organisation Type Identifier" in NAT00010 updated from release 5 to 6

    • Upper case for the Suburb in site and Course/Qualification name

    • Fixed: "No records should appear in that files unless their is a corresponding enrolment record in the NAT00120"

      get outcome list from course classes and then get all data (students, sites, qualification, …) from that outcome list.

  • Avoid showing an error which could sometimes occur when shutting down client

  • Simplified SSL certificate handling for the client-server encryption.

  • Fixed error when doubleclicking on tutor in class edit view

  • Fixed fonts when printing certificate.

  • Fixed problems with certificate report page turning.

  • Small tweak which makes sure that any mass edit action can access a frame to allow progress display. (was not working for edit controllers)

  • Fixed problem with creating sessions in ClassEditView

  • Fixed problem with textfield for email url, the formatter was missing.

  • Removed code which was supposed to prevent showing records when an empty tag is checked. it is more complex than it seems.

  • If on list view a checkbox next to a tag is checked and this tag is not found then no records are displayed (cf all records were displayed)

  • "Untag all" action added

  • Improved the enrolment cancellation process

  • Fixed validation message on course field of education field

  • Mass web enable message tweaked when enabling or removing a single class, fixed grammar of action completed message

  • Added a tax field to enrolment/class cancel screen

  • More information about a class is displayed in the combobox on QE

  • Allowed for drag and drop of modules to the list in course

  • Fixed problems with user interface of adding a discount to class

  • The validation on clairvoyance not always set the background

  • Fixed alignment and text on the attendance certificate

  • Disable textfield in ldap tab if there is no license for ldap authentication

  • Added weight to the tags. This will allow users to adjust which order tags are displayed on the website. Ie. Subject categories

  • Fixing conditions for running replication.

    • doesn’t depend on website being licenced (otherwise you can’t update the licence from willow)

    • doesn’t depend on nighttime or weekends (as colleges like tango run classes on weekends and nights)

  • Tweaked the mass editing:

    • showing progress and notification upon completion

    • moved execution to a separate thread – no gui blocking

    • added the mass edit actions to cog wheel

  • Usability improvement for session view, the split between calendar/list of sessions has been pulled higher

  • Adding class location to enrolment confirmations.

  • Display information "student on waitinglist" in contact edit view only if contact is a student.

  • Changed waiting list info on student dialog from central alignment to left alignment

  • Mailing Lists: Bounce processing

  • Outcome enrolment’s invoiceline total price unavailable, throws an exception. The field is only for det export.

  • Cleanup of some bash variables in script, and making windows clients log to a different file to the server

  • Optimization for dataupgrade

  • Added validation for the refund amount when cancelling the enrolment

  • Added 'fee paid' to the enrolment list view

  • "network connection lost" during automatic logout was disabled

  • Fixed reported bugs related to automatic logout:

    • If I uncheck the tick box, I still end up getting logged out.

    • If I take the value out of the box, I can’t save the record, even with the checkbox unticked.

  • Allowed search for TutorClasses date confirmed.

  • Tutor name displayed on the class list, sending message to multiple classes does not put the same student multiple times on the list

  • Added "Friend" as available contact relation type

  • Find on Contact list fixed

  • Added labels to student edit view (left bottom) and course edit view for number of students on waiting list.