The Problem:
We were tasked with creating a new Corporate Intranet to overhaul the 8 year-old brittle maintenance nightmare that was the old intranet. We had no choice but to start from scratch, because the codebase that was in production was not the same codebase in source control, and it was not built with OOP best practices, to say the least.
We started by sending out a few company-wide surveys, asking about what they liked or didn’t like about the existing intranet - we call it Navigator - and perhaps some new features that they have seen from other companies or with other tools. Our response was underwhelming, and we quickly realized that a lot of non-technical people who don't really think about these things like we do, don't really know what is even possible, let alone what they may want.
So we took a stab at it. After a lot of research, requirements gathering, and infrastructure build-out, we finally settled on an overall design and organization of the content.
Goals:
- Be flexible - allow this application to grow and change over time
- Allow users to have control of their content
- Search for anything (and find it!)
- Accessible and functional on any internet connected device
The Solution:
An elegant, branded Intranet that is every employee's default page. Users can add, remove, re-arrange and sort
from a variety of configurable Widgets, and we have analytics about how people are using them. Single Sign-On using ADFS, a CMS utilizing SharePoint 2016,
and a custom client layer built in C# MVC. We built out a primary web client, API Gateway, and host of Microservices; one microservice per
disperate database to control permissions and access, and serve data as a RESTful API using Microsoft API routing
best practices.
Directory
Our most widely used tool, the Directory, allows authenticated users to find other employees, conference rooms, and facilities, where we
render the location as a geographical X-Y coordinate on a map, served in real-time from our GIS team's data.
Data Workflow
We enacted a workflow and process to maintain employee data, from HR entering new hires into the payroll system,
and having that flow gracefully into Active Directory, to being replicated with AD in Azure.
Content Owners
Everyone can maintain their own content, especially documents such as Policies & Procedures, Forms, and
other department specific documents. We worked with our Internal Communications Manager to be build tools
that enable her to keep employees informed by writing blog-style articles - uploading, dragging,
and resizing images for each article, and admin pages to add, edit, or delete all articles.
Configurable Widgets
Each widget is entirely self-contained and independent from anything else. This allows easier support
and maintenance, as well as development of new widgets. Users can add, remove, or rearrange widgets
however they want with a simple drag-and-drop interface.