College of Agricultural & Environmental Sciences
Faculty and MSP Recruitment System (Recruitments)
Content: Adam Getchell, Director of Information Technology, CA&ES Dean’s Office
Executive Reviewer: Thomas Kaiser, Executive Assistant Dean, CA&ES

Technical Reviewer: Scott Kirkland, Senior Application Architect, CA&ES Dean’s Office
Business Reviewers: Julie Fritz, Assistant Dean, Academic Personnel, CA&ES Dean’s Office; Everett Wilson, AA/EEO Policy and Data Analyst, Offices of the Chancellor and Provost

Description

The Recruitments administrative computer application is intended as a tool to support the recruitment process for faculty and MSP positions, and it is available to all units campus wide. It is a web-based application replacing various electronic and paper‐based systems, and has business processes and graphic themes that can be customized for each unit using the system.

Documents are stored in final form as PDFs in a secured SAN file system, and are generally uploaded as PDF files. However, if the optional VSTO (Visual Studio Tools for Microsoft Office) plug‐in is used, the system may convert many Microsoft Office document types into PDF easily and immediately. There are many convenience functions built-in to handle PDF documents; for example, the entire dossier of an applicant can be automatically collated to a single PDF, complete with bookmarks for each section.

Roles Management for the application is handled by a separate Roles Management System (named CatBert), and accessed by the Recruitments application using web services. Notification, access rights, and roles can be managed in a decentralized way by delegating permissions to an Administrative role which has the ability to create users, grant roles, establish certain business rules (e.g. what document types to request, committee membership, etc.) and establish notifications for a given recruitment. Recruitments may span numerous units, and application role access can be granted to anyone with a Kerberos ID (which can be obtained for users outside of UC Davis via the temporary affiliate form).

Workflow is handled via email notifications. Applicants receive status and reminders visually within the application, as well as reminders via email, and the system generates and transmits email in response to defined workflow actions by specified roles.

Usage

Recruitmentsis widely used across the UC Davis campus. The following are some basic usage statistics (generated in March 2011):

  • 30 campus units across 7 colleges/divisions/schools utilize Recruitments
  • 54 positions have previously been recruited; 18 positions are currently accepting applications
  • 2,428 applications have been created in Recruitments; 1,820 of those applications have actually been completed and submitted
  • 15,809 files (e.g. MS Office documents) have been uploaded by applicants
  • 936 distinct recruitment committee members have reviewed applications

Support

At present, the first line of support is provided by an email list of people that have been granted administrative access to the application. Technical issues with the application are currently handled by submitting an email ticket to an automatic help desk ticket tracking application, which routes the submitted information to the programmers on the project. It is envisioned that first line help desk support will eventually be transitioned to a dedicated help desk staff which would be able to provide basic support of web browser issues before submitting further issues to programmers via the Issues system in GitHub (the code repository for Recruitments). Programmers are then able to resolve and close submitted issues, which automatically notifies submitters on the first tier, which would then be able to advise the client.

Infrastructure and Application Architecture

The system provides for three levels of authentication: none, for anonymous users wishing to browse available jobs, a locally stored user profile based on e-mail for applicants wishing to apply for positions, and DistAuth/CAS (either, depending on a settings configuration) based authentication for faculty reviewers, committee members, and application administrators to utilize the system.

The physical layers of the system consist of (soon to be clustered) web application front ends and a database back end, separated by firewalls with “default-deny” ingress and egress rules, housed in the Data Center.

The logical tiers of the system include a Web UI tier that handles client-side validation and display, a Business Object tier that handles business rules and validation, and a Data Objects tier that provides for data access via object relational mapping to the backend Microsoft SQL databases. Supporting tiers include a Service Oriented Architecture (SOA) based on web services to handle the upload/download/validation of files added/retrieved to the system, user authorization and roles management, and error handling frameworks. Some service tiers use web services on other systems.

The system has security features built into the system, including SSL certificates for encrypted communication, client and server side data validation, business object validation and database consistency, and separated database access accounts.

Finally, the system has been developed using test-driven development, with planned software tests for essential functionality integrated into the build-compile cycle, and the use of source-control/project management/automated build management with Microsoft Team Foundation Server. Recruitments version 1 was developed in ASP.NET 2.0 on IIS 6.0 and jQuery 1.2.6, using the NHibernate Object Relational Mapper and a SQL Server 2005 backend.

Collaborative Development

In order to make Recruitments broadly usable by the University, the next version is being developed using the GitHub cloud-hosted source code repository based on the Git Distributed Version Control System. The entire source code of the application is on the UC Davis GitHub repository located here:

Access to the repository can be granted to any interested parties obtaining free GitHub accounts and then emailing one of the following people:

  • Adam Getchell,
  • Scott Kirkland,
  • Alan Lai,

Once added to the developers group, a programmer has the following options:

  • They can browse the entire source code, branches, and commit history of any project that has been placed there, including Recruitments, UCDArch, and Purchasing to name a few
  • They can read and submit issues, read/edit project wikis, and follow/be notified of status changes to any of the projects of their choosing
  • They can fork and download projects such as Recruitments, build/compile on their own, make changes, and submit those changes (“Pull-Requests”) back to the original project for inclusion

(Note that the UC Davis GitHub repository contains both open-source (public) and private projects. UCDArch is an open-sourced project with a license written/vetted by Jan Carmikal, and can be freely distributed under the terms of the included license. Recruitments, on the other hand, is a private project, and only viewable by the members of the UC Davis GitHub organization. Thus members of this group are asked not to redistribute the project outside GitHub, which will maintain this private repository status.)

Also for consideration in the new system is direct integration into the MyInfoVault system, which contains the complete academic dossiers of faculty at the University for merit and promotion processes. Recruitments would be enhanced to allow direct importation of the selected candidate into MyInfoVault. This integration work is on-going.

Finally, to aid in future development, an active issues tracking/voting system, UserVoice, has been added. UserVoice allows for login federation; thus, clients are granted voting and issues tracking access with their own UC Davis logins, which have been mapped to

Resources

An online video walk-through of the system is available at the following URL:

A test system is available for people to familiarize themselves with the features of the system at the following URL:

The latest updates to the application have been discussed at the following URL:

The production system runs on CA&ES servers in the campus data center and may be accessed at the following URL:

The Recruitments web application, including a complete technical overview, was submitted to the campus Policy and Procedure 200-45 Administrative Computing Policy review process in March of 2008:

The code base of the Recruitments application has been placed in the UC Davis GitHub source code repository:

UC Davis personnel with GitHub accounts may request access to the source code, submit feature requests and bugs, and contribute changes to the application by going to the private repository located at the following URL (note: this URL will resolve only for authorized users):

For programmers with access to upload code to the repository, the Recruitments application is built and tested automatically every time code changes are checked in. A private URL provides access to TeamCity, the Continuous Integration server which builds test versions of the application prior to deployment to the production environment.