Giving postgraduate students a more flexible and reliable search facility, so they can easily find information at busy application times
Complexity made simple
The old site's simple search interface was powered by a tremendous amount of business logic, which had been honed over the years so visitors can see the results they expect. This meant that while we rebuilt the platform to handle large amounts of data and traffic, it was important to accurately replicate this business logic. Despite this complexity we managed to optimise our code to the point where the system was able to return results quickly, even when under high load.
Adapting and evolving tools
We selected Google Ad Manager as the main platform to manage adverts on the site, as it’s the industry standard with built-in support for common third party advertiser tags. We created a tool to import the current advertising from the old site to the new system. Since Google Ad Manager didn’t provide all the functionality we needed for tracking engagement, we added a bespoke tracking system to measure activity on content pages. The client’s mailing list for candidates has some unique requirements and constraints, so we built a custom tool to manage and send these emails, using AWS SES to ensure delivery. This is integrated with the internal tracking tool to measure the performance of the mailing list content.
We chose Elasticsearch to perform the search itself, as it’s able to handle large amounts of traffic and data, while Django CMS is the platform for managing content on the site. It’s one of the most popular CMS packages for Django, so we were confident it could provide long-term support for the lifespan of the new site.
The course database needs to deal with multiple data sources, each one arriving in a different file format and structure, with varying levels of consistency. We brought them together by building a series of importers and administration tools to manipulate the data into a common format, standardising any differences. To avoid the cost of doing it manually, we built an import tool to automatically migrate the several thousand pages of content from the old sites. These were still live and being continually updated, so by designing the importer to be idempotent, we could safely rerun it repeatedly, always giving us the latest data.
We took over the maintenance of the client's existing sites whilst we built their replacement. The new system was deployed separately on AWS, allowing for testing and staff training. Once the project functionality had been signed off, we re-ran our importers one last time to make sure the new site was up to date with the latest content and advertising. The site was then seamlessly switched over, with no downtime for end users.
We built a fast and efficient content management system and course database with an optimised search interface. The platform can return results quickly while under high volumes of traffic.
Postgraduate students can find the information they need quicker and easier than ever before. There’s greater insight into user engagement with improved accuracy, which is appreciated by advertisers. The optimised search performs well during high levels of traffic, which has improved user engagement, and has helped to drive advertiser interest year on year.
We continue to support and extend this site with additional functionality. Recently, we restructured search results to reflect changes in the data sources, and implemented various features across the site to make it even easier for students to find the information they want.