Case Study: Custom PHP development for animal rescue

by | Nov 17, 2021

Pet listings on the MLAR.org website

Late in 2019, Main Line Animal Rescue had a problem. A critical feature of their website, the pages that profile the adoptable animals, was suddenly knocked offline. A key software component was found to have a known security vulnerability, and the site hosting company barred its use.

I was asked to assess the problem and to recommend solutions. Purchasing and implementing a replacement code module was a possibility, but replacing this section of the site was actually the solution which presented the lowest cost to implement as well as the best chance to bring this function back on line the soonest.

One challenge that needed to be overcome is that the all of the information about the animals was stored not in the website, but rather in the kennel management system, meaning that custom code needed to be written to pull that information for the site.

Ordinarily, custom software development is not the preferred approach to website building. Considering all of the different types of devices and browsers that can be used to access a site, plus the continuous vigilance over security needed (sites managed by Airdrie Media are patched weekly), it is almost always a better idea to utilize well-established software components whenever possible. In this case, however, there were no available third-party components to manage the interface between the kennel management software and the website, so it had to be built.

This project included custom PHP development (PHP being the most common scripting language used for websites today) as well as responsive HTML and PHP. A page caching system was developed so that the most complex pages could be pre-built and stored for later use (saving time when subsequent visitors asked for the same page). Additionally, working closely with MLAR and PSPCA staff, we were able to implement some new features that the former site didn’t have so, in the end, not only was the animal listing functionality restored but came back better than before.