Apply Online
URL: https://apply.admissions.uiowa.edu/
(Go on and apply, The University of Iowa is a great school!)
Apply Online is one of the first web applications that prospective student use when thinking about attending The University of Iowa. Prospective students can create an account, fill out admissions applications, and submit them (along with payment) to the Office of Admissions.
The web site helps them with the process of filling out the application. Each application is broken down into reasonable sized sections which can be filled out all at once or a section at a time in between sessions. There are plenty of helpful instructions alongside the fields. Page by page validation also helps to highlight problems along the way.
Features and Functionality
- Over a dozen different application forms for various colleges and programs, with each form having the following features:
- All application forms are driven from simple XML configuration files allowing us to make easy changes to the structure of the forms and add new forms easily.
- Dynamic pages where sections and fields become available or required based on answers to previous questions.
- Field by field validation using flexible rules (driven by the XML configuration).
- Application validation to check that the overall application is valid and ready for submission.
- Ability to accept credit cards for admissions fee payment.
- Process to move the data from a simple holding database to the production mainframe database which is a highly normalized database representing all of the fields on the various applications.
- The type of standard account registration and management tools you would expect for web site who's users can self-register.
- A suite of tools that provides the Office of Admissions administrative access to all of the applications currently being processed, access to detailed logs and reports of credit card payments and other transactions.
Challenges and Lessons Learned
This was our first major application to take credit cards. We have administrative tools that the Admissions office uses to reconcile transactions and track down any questions regarding payments. While technically, this is very straight-forward (we use PayPal and they provide a very nice API), there are process and political ducks that need to be in a row. When we first started, it was mostly mostly just technical common sense such as forcing SSL, and not saving any credit card numbers. Since then, the PCI standard has taken effect and we have taken steps to isolate this system and do all the things that are required to meet PCI compliance.
Validation of incoming information greatly reduces support costs for the Office of Admissions. When paper applications are submitted, there often has to be some back and forth between the Office of Admissions and the applicant to resolve issues such as fields not being filled in correctly, being illegible, etc. We validate at two different levels. First each field is validated as the applicant moves from page to page, then the application as a whole is validated to make sure that all the required fields are filled out based on answers to certain key questions in the application.
Flexibility is important. We started out with 4 different applications, and currently are up over a dozen with a new form being added every couple of years. All of the forms, fields, validation rules, etc. are driven from simple XML representations of the forms. This allows us to role out new forms, or make modifications to the existing forms rather easily. I think this might be our only project where we embraced XML rather than cursed at it.