Case Study

Creating Pretext: A Custom Enterprise-Level Document Management System

As a mid-sized company within the media publishing industry, our client (Chris) had a lot of important documentation to manage, but was frustrated with the company’s current, very disorganized filing system. He needed a new system that would allow his staff to easily organize and find files, attach snippets of information to existing projects, and put him in control of where information was stored and who had access to it.

Initially, a ready-built, enterprise-level document management system (DMS) was thought to be the ideal solution, but an exhaustive search for a suitable software-as-a-service (SAAS) solution revealed that no single product included every feature on Chris’ extensive wish list. It also meant that Chris would have to change the pre-established workflow among his team and even relinquish control over where his company’s information would be stored geographically (which is common with many SAAS offerings).

Chris thought he might have to settle for something off the shelf or be left with no choice but to use their existing manual process.

Turns out, there was an option. A great option. Northsail.

Services Provided

Architecture

Architecture

UI/UX Design

UI/UX Design

Development

Development

Security

Security

Cloud Infrastructure

Cloud Infrastructure

The Challenge

To create a robust, flexible document management system that would serve Chris’ growing company, both in terms of file volume and the onboarding of more staff and project teams. It was imperative that information be extremely well-organized and easy to find, with the emphasis being on intelligent search algorithms and not on the people using the application.

The system also needed to efficiently facilitate content sharing and be fault-tolerant in order to prohibit internal document tampering. Safeguarding information from external threats was another key concern that had to be resolved; sensitive data and metadata had to be secure, whether at rest or in transit to a user. With respect to regulating usage, the Access Control List (ACL) had to be simple enough for key personnel to manage, so that assigning permissions and restrictions wasn’t time consuming or cumbersome.

Our Solution

With a clear list of objectives, features and deliverables in hand, we set off to create a custom document management system for Chris that we called Pretext. We began by architecting the layout/user interface (UI) and then building the system’s most important features with intelligent search capabilities and overall flexibility.

Organizing Data Made Easy for Better Efficiency

Ease of use and peace of mind were at the heart of every feature we created; users could effortlessly create document hierarchies, save documents, attach HTML snippets or affix a ReadMe snippet to every new project file in a simple way using encryption and convenient access to versioned files (like Google docs). This flexibility was particularly helpful with project management activities such as grouping projects under clients, storing business requirement docs (BRDs), statements of work (SOW), feature files, accounts credentials and more!

Not only did it allow users the freedom to create their own file structure and customize how they wanted to see it, it also presented them with a variety of pre-loaded content types they could upload and store in different ways, while keeping everything organized and nicely displayed through a common, user-friendly interface.

A Smart User Experience

Pretext offers sensible and flexible UI control. It will adapt its layout to whatever type of information is added and stored to ensure the data is presented in a clear and visually appealing way to users. As seen in this example, the UI has responsively changed from displaying a document to showing service account credentials.

Adaptable to Custom Content Saves Future Expense

With staff performing a wide range of job functions, they would eventually have a need to input custom types of content into the system that were different from the scenarios already built in to Pretext. By making the application more flexible, we successfully created an intelligent system that could quickly recognize, interpret, accept, process and store new content types with ease.

This smart approach saved Chris time and money, because the system was designed to accommodate unique requests based on future user wants/needs without him having to involve Northsail every time a new content type was identified.

Custom Data Types

For example, if Chris’ IT department decided to record, track and store information about their software licenses, they could easily create and enter this data by setting up a custom record type with the following fields:

  • Product
  • Used By
  • Key
  • Expires
  • Notes

From there, the system would automatically determine and show the user the most appropriate interface to capture his or her input, while displaying the information based on the types of fields and amounts defined.

Quick & Intuitive Search Results Save Time

Through design ingenuity and tagging, the system was set up with an intuitive search feature that intelligently determines the best document matches from its content hierarchy based on the keyword(s) entered by the user or contextually where he/she is within the application. Whether it shows a parent folder, sub-folder(s), or the most referenced or accessed files, users can rely on receiving rapid and accurate results to get them what they need quickly and avoid unproductive time with endless searches.

Intelligent Search Design

With Pretext’s intelligence and how Human Resources stores and tags their staff roster data, Project Managers can quickly search the system to find staff with specific skill sets to assist with certain projects (e.g. copywriting, search engine optimization, design, social media marketing).

Smart Encryption & Tailored Permissions for Maximum Protection

To provide maximum file protection, we:

  • Carefully designed an encryption method that greatly reduced the odds of someone compromising the data, while in transit or being stored, by allowing team members to encrypt and decrypt data using their own secret encryption password without knowing the actual encryption secret used for the rest of the team. This was particularly beneficial with staff changes, as the real key was not known and didn’t have to change
  • Equipped the system so files could not be permanently deleted; Admin could still recover them by an audit trail, once they were discarded
  • Designed an Access Control List (ACL) with toggle columns and a permissions file tree to allow designated staff to easily navigate options, and quickly set up individuals or teams. Even granular permissions can be applied that supersede a group, so specific users can have greater access than the group(s) they are part of
Simple Access Control

As you can see in this example, permissions are easily granted with a few simple clicks in the read, write, denied or inherited columns of the file tree. Staff can conveniently assign blanket access to overall parent folders, which helps them handle permissions for large volumes of files, or take a more surgical approach and set restrictions on specific sub-folders if necessary.

Overview of Pretext Features

Folders
Folders

Data is structured with folders. The hierarchy a user builds is easily searchable as implicit tags.

Tags
Tags

Users categorize their snippets and colour-code them so they’re easier to find in search results.

Favourites
Favourites

Allows for quicker access to a user’s most frequently accessed folders or snippets.

Data Storage
Data Storage

Stores data (snippets, files, documents, code and more), as well as encrypted credentials so IT has a single, well-organized place to track everything.

Attachments
Attachments

Users can upload files directly to a snippet.

Versioning
Versioning

Users can easily flip back and forth between logged document versions to see different states of their data.

Accountability
Accountability

Audit logs detail a snapshot history of snippets which allow users to rollback to an original file if needed.

History
History

Shows who made changes to a snippet and when for better user and Admin control of files.

Chris and his staff got quite creative and used the system in ways we never imagined. Pretext’s flexibility was key to accommodating that.

The Key Technologies

Node.js
Angular
PostgreSQL
OpenResty
AWS
EC2
ASG
ALB
RDS
s3

The Metrics of Success

We successfully delivered a custom-designed solution that:

  • Had a phenomenal adoption rate amongst staff, with little or no pushback, due to ease of use
  • Had the ability to add new content classifications as staff members’ needs changed
  • Increased efficiency by allowing staff to find information more quickly
  • Created a strong ROI since jobs were getting done faster in the system
  • Was flexible in handling many different scenarios and the needs of different departments
  • Was safe and secure; there was no risk or hassle of changing encryption secrets when staff moved on

The final result:

By applying our strengths in UI/UX design, architecture and product development, we built a custom platform that successfully solved Chris’ challenges, met his staff’s needs with a system design that was tailored to their existing workflow and use cases, and achieved a measurable ROI through increased productivity, data organization and security. Today, we continue to work with Chris and his team on additional features and tools for a variety of business initiatives.