It has been quite around here for a few days. I have taken the time to make some screenshots of the new application that I have been toiling over on and off for the last month.
This application takes PDF documents from XAP’s website and reads them into memory, then searches for the relevant information needed. After key criteria is determined, it looks up their Laker IDs, and writes them on the application. It then splits the applications apart (they come in as one massive pdf), into different directories based on information contained in the application, and information returned from the Laker ID lookup. After this, the applications are imported into Application Extender, and indexed with the information gathered above.
An application will either end up in a folder containing applications that are good, and have a Laker ID that was found for the student, or a folder containing ones that don’t have a Laker ID returned. Also, the application could go into a disciplinary review folder based on answers to questions about criminal history. Anything that can’t be processed goes into an errors folder for manual review.
Without further ado:
(1) The application is secured by checking against Banner for correct credentials. Since uploading the applications requires a Banner account with appropriate permissions, these credentials are saved for use later on during processing.
(2)All parameters are saved in an XML file backend. Any parameter containing the word “password” is automatically encrypted / decrypted using AES 128-bit.
(1) Since I complain all the time about other people’s interfaces, I wanted to make sure that I took all of my own advice when designing a complex form. For visual appeal, you might have spotted icons from the Tango project. I can’t even describe how much better these are than the stock Microsoft icons.
(2) I have also broken out different sets of options into different group boxes to make the page flow better. Icons are placed for the relevant sections. Many of these options are pre-populated with default values, so less work has to be done for initial setup. Under actions, you can disable the import option to take the application for a test drive before importing untested configurations into a live system.
(1) Once you are satisfied with the main configuration, you are returned to the main form. Again, you will notice Tango icons, and group boxes. I have also created a progress indicator to report (in English!) the status of the utility. This is placed in the middle of the document, and the text size increased to draw attention. Also, I have included a progress bar that actually works. When it is fill, it means it is done, not fixing to be done.
(1) When the utility finishes, the status indicator prompts the user to look at the next section. Here, I have taken extensive measures to report accurate information on several key parts of the utility. You can see that the utility was in testing mode, so no data was actually sent to the live database. If I had, even more information about the number of files uploaded, accepted, and rejected would be displayed. This information is also contained in an email that is sent to the administrator.
As for that XML backend:
(1) I decided to use the Chilkat XML parser to manage my XML files. I have written methods inside of the utility to fetch and update content easily. You can see the password values are encrypted. As stated above, this is completely transparent to the application.
In the application, if something needs to find out what the “Import Utility form name” is, it makes the following call:
Updating a value is equally easy, making the following call:
At the end of this month, I will be going with Tom to demonstrate this utility in front of several Universities who have already expressed much interest in using this tool. For now, the utility is still in testing, and I hope to work out all show-stopping bugs before I set foot behind the podium.