Centralizing global operations can be a huge challenge for any organization. Numerous complexities arise when trying to balance local requirements with global efficiencies. IT teams in particular are tasked with driving consistency across digital environments that serve both internal users and customers around the world. For these organizations, flexible technologies are business-critical.
The IT team at the University of the Nations (UofN) knows this challenge well. UofN is a Christian academic institution that operates 600 locations across 180 nations around the world with courses in 97 languages. In a unique, modular approach to learning, each affiliate location designs its own courses and manages its own student experience, from registration through course completion. Students may take courses in many different countries or regions as they work towards their academic goals.
Localizing education on a global scale
For the UofN IT team, flexibility was key. To support their transnational education model, they needed a centralized system that would give individual schools the autonomy they need and provide students with a consistent, streamlined experience across locations.
The organization had struggled with a legacy system built on SQL Server, Access, and Cold Fusion, among other technologies. The system had limited capabilities and didn’t allow them to create the sophisticated, highly-localized user experience that they envisioned. Plus, maintaining the system was cumbersome and resource intensive.
UofN rebuilt their stack on Heroku + Salesforce
UofN was impressed with the power of Salesforce products and what they could do right out of the box. They appreciated the platform’s ability to support edge case scenarios with customization features that fit their business needs. So the organization chose the Salesforce Platform + Salesforce Sales Cloud as their CRM solution and system of record for their student and course data.
UofN’s UX designers wanted complete control over the UI and their developers needed a local environment to quickly iterate and try out new design features. The team also wanted to use the language and tools that they thought best for the project and their own workflow. So they decided to build their entire administration app using the Salesforce Platform connected to Sales Cloud and Heroku using the Salesforce API.
It was a huge win for our team to jump to Heroku for the customer facing app. Combining Salesforce with Heroku provides a best of breed approach, and allowed us to leverage the unique strengths of both technologies. Eric Jones, Engineer, University of the Nations
UofN’s new Heroku + Salesforce and Heroku architecture provided the best solution. It allowed them to expose Salesforce objects and classes through the REST API for their Model, then the Controller and View could reside in an AngularJS app served by Node.js running on Heroku. Any model business logic they were working with could now more easily be used within functionality they were providing to their full Salesforce users, keeping their app leaner and easier to work with.
Although the primary web app was built using AngularJS and Node.js, a small subset of administrators needed direct access to very specific Salesforce data, so the team used Force.com to build an app that met their particular needs. In addition, they found it easier to plug in some Visualforce and Apex code for a few specific functions of the Heroku app, such as printing an invoice or certificate.
Our developers come from diverse backgrounds and skillsets. Because the Heroku platform supports so many languages and frameworks, the team can use whatever they feel best fits the project. Vince Licari, International Director of Information Systems, University of the Nations
Because their business is multi-lingual as well as multi-national, the UofN team needed to incorporate a robust localization strategy into their architecture and app design. They loved the Translation Workbench feature in Salesforce and wanted to leverage it for their Heroku app to help streamline the localization process. So they created hooks that turn UI text into custom labels in Salesforce, which then translates and funnels the localized text back into the web app for display.
Our app’s translation needs are super complex. Salesforce Translation Workbench is so good, so clean, we just had to find a way to hook into it. I can’t imagine having to build it ourselves. Vince Licari, International Director of Information Systems, University of the Nations
Performance was another critical concern for the team. In some parts of the world, their schools and students use low-bandwidth connections, so the web app needed to run smoothly in those areas. UofN chose Heroku Add-on Redis Cloud to store user sessions, as well as translated custom labels and object-level metadata that is accessed by the app. This improves performance and greatly reduces API calls to Salesforce. In addition, they proxy all their Salesforce API calls with a Heroku app built in Node.js and Express.js, which allows them to inject Redis caching, set up error handling, and manage user authentication without any overhead from the main Angular app. By using environmental configuration settings, the team is able to run a local version of their Node.js app for development and seamlessly deploy to Heroku.
With inclusion of Heroku’s Pipelines feature, our team has a very robust and efficient method of development, testing, and deployment. We like it! Darrel Stone, Engineer, University of the Nations
On the operations side, The UofN team is able to pre-process user data in the Heroku app which reduces the load on the Salesforce API and Visualforce. Heroku also allows them to access app activity data, monitor traffic and adjust the dynos accordingly to mitigate any potential issues. Along with SSL for encryption and Deploy Hooks for deployment alerts, the team anticipates using more Heroku Add-ons in the future for orchestration support as they continue to build out the app and platform.
The way we’re doing deployments now on Heroku makes our developers want to get out of bed in the morning and get into the office as quick as they can because they love what they’re doing. Vince Licari, International Director of Information Systems, University of the Nations
A world of benefits, pre- and post-launch
One of the best benefits of using Heroku was the platform’s ease of use. As project owner, Vince Licari noticed a marked impact on his development team after switching to Heroku. He knew that happy developers were highly motivated and highly productive, as well as highly creative. During development, Vince started seeing his team percolate new ideas delivering top quality results.
Heroku makes our developers’ lives easier, so they can produce more and come up with fantastic, innovative ideas, which then benefits our students and staff. Vince Licari, International Director of Information Systems, University of the Nations
For UofN’s business, the new global administration app brought an increase in student engagement as well as staff efficiency. Some school locations were still using paper processes, and the easy intuitive user experience quickly drove adoption of the new system. As such, the organization gathered cleaner, more usable data that is easier to access for all stakeholders.