Building a modern portal in Drupal

tom.smith

We all know that time is kind to wine and cheese but is hard on technology. In the case of Kent State University (KSU) time was exceptionally cruel to our portal. So we embarked on a mission two years ago to ditch our aging java portal and build a new one in Drupal! 

Our adventure started with defining our core components. KSU has had a functional and stable portal for over a decade and by modern standards is archaic. So not only did we have to rebuild all the preexisting functionality of our current portal but bring in all the modern goodness users love and expect, too. 

Remember the portals of years past: AOL, iGoogle, and, dare I say it, My Yahoo! They were not much more than a link farm and if you were lucky a RSS reader. We started knowing we didn’t want just another average portal, and we had way too much customization to use big ol’ Open Atrium. We needed to our portal to be thin enough to sit on top on our existing systems but big enough to provide a modern experience. 

Below you will find the six pillars of our portal rebuild:

  1. We wanted to ingest data in real time from any source, in any format, with any authentication method, without making any code changes. We also wanted the data to be cached on a per user basis or endpoint for any amount of time we wanted. This would ultimately lead us to finding a base bug in PHP curl. 
  2. We wanted to build interactive components or widgets that help students keep track of deadlines, find activities and keep track of their academic progress. We also needed a suite of tools for faculty and staff member, such as course and schedule management. 
  3. We wanted Single Sign On (SSO)! That way users don’t have to enter their password on any of our 80 web applications or any affiliated sites that our students have access to. 
  4. We wanted a portal with search at its core. Our old portal did not have any type of search, which was always a major complaint. We needed it to be great. We needed to emulate the Google One Box and give intelligent results that are just as interactive as the rest of our website.
  5. We wanted dashboarding. Many of our students also hold campus jobs so we wanted them to have different dashboards to see profile specific information. However, we also wanted to give them the ability to have a custom dashboard where they can pin frequently used tools and links without having remember the location of everything.
  6. Lastly we wanted our users to have a great user experience while keeping our site ADA and WCAG 2.0 compliant. 

This sounded like an ambitious project, but after about a year of coding, we had done all of this and more. Today the KSU portal services more than 40,000 students and 6,000 faculty and staff members. On a weekly basis, we do about 2,000,000 web service calls, 500,000 SSOs and 350,000 unique sessions. All while keeping an average server load time of 400ms and total page load of under 3 seconds. 

Come hear about our journey to Drupal and get an in-depth explanation of our architecture,  custom modules and theme. This will be technical enough a developer will not be bored but broad enough a project manager can keep up with the core concepts. I will also include a few good stories of our mishaps and victories for good measure. Most importantly come to learn how to ditch your aging portal for a modern one built in Drupal, with love.

Session Track

Coding and Development

Experience Level

Intermediate

Drupal Version