Developing Open Source Software in the Library

The CA time sheet system is housed behind the Borrow and Return desk in the library. Before Yi and Anderson updated the system, the CAs would sign-in with paper and pen requiring coordination from multiple people. The paper sign-in sheet would be posted and removed daily, with the sheets used to create time cards for the CAs. Someone would need to create the sheets, another person would post the sheets, and finally, someone would collect the sheets to create a time card. If a CA didn’t report in this would cause complications as a substitute had to be contacted. According to Anderson, the iPad-based web application reduces paper and human resources. Supervisors can be alerted that a substitute is needed without leaving their office and they can login tosee who has not checked-in in real-time.

The time sheet system was created using PHP, CSS, HTML, jQuery, JavaScript and the PHP framework, Codeigniter. Various software found through the code repository GitHub.com and an OSS iPad application called Libki, developed specifically for libraries, were also integrated into to system. The library’s homegrown internal tech ticketing troubleshooting system is an essential component as well as it is used for supervisors and CAs to login. It took a year to develop the program. Input from CAs, the library’s administrative assistant, Suraya Choudhury, IT Associate Todd Wilson, and Prof. Nancy Gonzalez (retired) was used to improve the system.

Anderson is currently coding a web application used to loan the library’s collection of iPads and recently acquired laptops. Similar to the time sheet software, this will replace paper-based forms used to loan out these technologies. It will enforce several steps that were difficult to do using the previous system, such as checking loans for damage and cleaning them. It will also allow CAs to photograph technology prior and after their loan, keep a updated record of what technology is available, and digitally collect statistics.

The most ambitious project is UrsulaPrint, the library’s print management system.  Yi coded and built this system to replace PaperCut, a proprietary subscribed print management service paid for by student technology fee funding. Yi stated that it took 6 months to prototype UrsulaPrint. It was built from scratch using a variety of OSS including batch file scripting, VB.Net code, HTML, CSS, the Apache web server, Ghostscript, RedMon, and PDFInfo. It was developed partly because of students expressing frustration over previous print systems. Built to be user-friendly, flexible for growth, and open for future integration, it was deployed in the fall of 2018 after a month of testing. Students can login using their library barcode into UrsulaPrint. They can print from their laptop, mobile device, any of the 70 public library workstations, or a device connected to Google Print. Printouts are released from any of the library’s printer release terminals. Currently, this system only works on-campus.

Code for these programs will be publicly available on the library website in the near future.