MyEd updates β building for the future
Last month we released more improvements for MyEd, the Universityβs web portal. We deployed updates to several key pieces of functionality, including Calendar, Notifications, Collaborate, Library and My finance. Although end users wonβt see any changes in functionality, these updates are an important step in the work we are doing to make MyEd sustainable for the future.
Building a MyEd for the future
MyEd has been around for a long time. Some of the technical components it relies on are old, and need to be upgraded or replaced to make sure that MyEd remains reliable and sustainable. One of these is uPortal, the open-source application which provides the MyEd backend. Some of the functionality that relies on uPortal are the components that integrate with other University services and systems.Β These include the email and calendar previews, the Library, Notifications and My finance, and are some of the most heavily used features in MyEd. These components use uPortal to securely connect to the APIs that provide data and services, and to control what users are allowed to access and do.
Planned changes to uPortal mean that we need to make changes to ensure that these components continue to work. Changes will also be needed if we decide to replace uPortal with a different technology rather than upgrading it.
We therefore decided to explore how we might redevelop our this functionality to make it less dependent on the MyEd backend.Β This would mean that we would be ready for the changes planned for later versions of uPortal, and that it would be much easier to switch technologies in future if required.Β
New opportunities and new approaches
From last summer MyEd has been using Microsoft Entra for authentication. The University has a central platform known as Choreo for integration middleware and publishing APIs.Β Together, Entra and Choreo offer a solution to remove the dependency on uPortal for our integrations. The use of Entra and Choreo means that we are using technologies which are well understood at the University, and which also offer potential for re-use beyond MyEd.
Although both Entra and Choreo have been in use at the University for several years, using them for our components means using them in new ways. Decoupling from uPortal means that we can no longer rely on uPortal to manage authentication and authorisation. Instead, MyEdβs front end now uses Entra to authenticate users. Additional information in Entra access tokens is used to determine whether a users should have access to functionality within an component, and if so, what level of access they should have, and what information they should see.Β In Choreo, newly developed services for MyEd handle the API calls to University or external services for the components. and make relevant information and functionality available to the user, according to the role based access controls that have been defined.
Implementation and success
Once the new architecture for components had been agreed, the process for updating them and testing the new approach could begin.
Although the changes are invisible to end users, they are significant, and we needed to do extensive testing to ensure no functionality was adversely affected. We also had to carry out load testing as this was a new way to use Choreo, and MyEd is a high use system.
As expected, we did encounter various issues along the way which had to be resolved, and some of these took longer to resolve than we would have liked, delaying our progress. However, we were able to find solutions, and successfully decoupled six of our most used integrations from uPortal.Β These were updated on the live MyEd service in June, and have been very successful, with no issues arising post-deployment.
This work has been a key step forward for MyEd, significantly reducing our reliance on uPortal, and opening up MyEd to new opportunities, both technical and business related.