Moving from SharePoint to Drupal 8
November 6, 2018
Grant Leading Technology (GLT) is a shared services organization based out of Washington that assists federal agencies with portfolio management, asset management, business process re-engineering, defining workflows, etc.
This platform aims to provide a single interface for end clients (federal agencies) to make requests for certain types of services, for Project Managers to capture requirements, and for end contractors to award the project.
GLT had a working product, but this had some limitations in terms of configurability. They were also not satisfied with the current user interface (UI) and were looking for a product that offered a better experience.
Over a six-month period beginning September 2017, the Axelerant team was able to successfully deliver a solution that is now being used by one of GLT’s clients. Axelerant’s experience with Drupal enabled the team to build a platform which is configurable and scalable, and which provides a single interface to end clients to record requests, send alerts, visualize the project state at each workflow cycle, and generate reports as needed.
We were asked to come up with the answers.
GLT reached out to Axelerant to help them come up with a product that could facilitate easy monitoring and collaboration between different offices and departments to review packages and related documents.
The existing product was built on top of Microsoft SharePoint, and had simple workflows and reporting features. This system offered no easy way to define and configure workflows, document versioning was a challenge, the dashboard was quite limited, and alerts and reminders were missing. Activity logs needed for audit purposes were incomplete, and commenting was not possible. GLT was also not satisfied with the look and feel of the existing system.
Our team selected the tech stack.
Axelerant engineered a Drupal 8 based Acquisition Management Tracking System for GLT. This provided a completely configurable system to the admin to configure alerts, reminders and workflows, and view reports.
The system was hosted on Amazon Web Services (AWS) using MS SQL as a database, and was architected on a Software-as-a-Service (SaaS) based model to support multiple organizations or clients of GLT.
Ultimately, consultative engineering is the solution.
The Axelerant team took a consultative approach, engineering the product alongside GLT. They analyzed the requirements holistically, understood the business and technical needs, their limitations, the day-to-day problems of end clients, and then provided strategic input on product architecture decisions. They also researched and offered ways to improve the user experience by showcasing multiple options.
The team followed agile best practices, building the product iteratively. Regular demos and check-ins with the client ensured that the team maintained focus on desired outcomes at all times, in spite of evolving business needs.
Drupal 8 was the obvious choice, in this case.
GLT needed a tool that offered flexibility and the ability to customize for future needs, along with a more aesthetically pleasing look and feel. Drupal provides most of the functionality that was needed for this system out of the box—Workflows, User Management, Permissions, Comments, Activity Logs, and Revisions—and was easy to configure and extend for custom functionalities. This made Drupal 8 the clear choice for this solution.
It all started with a deep dive into requirements.
The Axelerant team began the engagement by trying to fully understand GLT’s business needs and the nitty-gritties of their workflows. Initially, they received a brief from the Product Owner about the system requirements, GLT’s vision, and goals. Next, they were given a demo of the existing SharePoint system to help them understand how it works, and identify any pain points that needed to be addressed.
An initial requirement gathering sprint enabled the team to validate all the requirements and get confirmation from GLT. The team defined the workflow collaboratively with GLT and documented it. This documentation was reviewed and approved by the Product Owner.
They began wire framing the product, presenting GLT with multiple options, getting their feedback and making changes to the wireframe as needed, before moving on to designing the actual UI.
There were several rules and permissions to be implemented, depending upon the type of request to be made and the workflow stage of the project. One example of such a workflow could be a department wanting to renovate its interiors. The department manager would raise a request describing the details of the revamp, along with the budget. The central organization would process the request, and it would go through different stages before being awarded to a contractor. At each stage, all stakeholders needed to be able to monitor the project approval status.
Axelerant used JIRA and Confluence to capture all the requirements, and ensured that all details were well documented. The team conducted a product demo after every sprint, considering feedback and improving requirements at each subsequent stage of the engagement.
We leveraged Drupal to create required experiences.
The team used the Drupal Workflow Module extensively. They wrote custom workflow rules to send emails, trigger alert emails, and perform other workflow steps. They created a custom dashboard for all users and utilized the combination of roles and permissions to manage access to projects.
Drupal’s configuration management was of great help while working with different environments—Dev, UAT and Production. The team used Drupal’s default File Management systems to manage all the documents related to projects. They used the core Migrate module of Drupal 8 to successfully migrate large amounts of data and attachments from the SharePoint system to Drupal.
Our UI/UX designs are for government end-clients.
GLT was not happy with the UI of their existing SharePoint system. Axelerant’s UI/UX team carefully looked at the existing system and evaluated it to understand the requirements better.
After a few iterations, they were able to finalize a fresh and modern looking UI which provides a great experience to the different roles using this new system.
We continue to provide dependable DevOps support.
Some clients of GLT had specific deployment requirements to use the Microsoft web server IIS and Microsoft SQL Server. The Axelerant team hosted the application on Microsoft Windows Server 2016 on AWS and used Amazon Relational Database Service (Amazon RDS) for SQL Server.
Drupal 8 didn’t work seamlessly with SQL Server initially, and there were some issues related to caching, database collation, etc. With the help of the sqlsrv module and phpmssql, the team was able to solve these issues. Axelerant’s DevOps team configured the IIS server to allow Drupal 8 to run smoothly on it.
Our agile teams align, continuously.
As this was a product that was meant for the federal government, there were some very specific requirements, and not everything that would be required from the technical and security perspective down the road was clear initially.
Midway into the product development, some new requirements emerged that necessitated a migration back from MySQL to MSSQL for compliance reasons. GLT was very diligent in trying to stay on top of these changes so there was minimal impact on end users, and the Axelerant team was highly responsive, addressing any challenges right away.
|"If there was a bug, someone from Axelerant would be on it right away. Given the time difference between the US and India, that was very comforting."
Additionally, when GLT demoed the product to their end clients, these agencies also offered some direct feedback and feature requests. The Axelerant team worked proactively to address these requirements and make changes as needed.
As the team worked in sprints, they were able to quickly adapt to these emerging needs by replanning the backlog. The team was reviewing and assessing requirements every two weeks, checking with GLT, and ensuring they understood all business concerns. This meant that they were able to continuously realign with evolving business needs and keep an eye on the larger vision at all times.
They also spent lot of time and effort in making sure all architecture was extensible at all points, so that the system would be easily configurable and could accommodate new requirements in the future. This made it easy for them to quickly adapt in response to any change requests.
There are positive and powerful results.
The new system has already been deployed for one agency. This system includes these key features, including:
- A dashboard for end-users to view the progress of the project, and for Project Managers, Divisional Managers and Organization Admin to view reports
- Personalized dashboard by role: Program Office User, Program Office Manager, COR (Contract Office Representative) Manager, COR, CO (Contracts Officer) Manager, CO, Admin
- A simple way to view document archives
- An easily accessible activity log and comments
- Configurable workflow alert rules with email and alert reminders in case of delays
- Validations system to make sure all the required documents are submitted by each office before moving the package to the next office
- A timeline, capturing project status and time spent on each phase
The new system eliminates the manual effort required to manage some tasks. It makes navigation easy for end users, rather than forcing them to go offline to view documents, as was previously the case. Finding relevant data is also faster and easier, which is important for audit purposes. This saves time, money, and creates customer experiences to be proud of.
What's happening now?
Axelerant is currently engaged in maintaining the product while also gathering requirements for the next phase of the engagement, which would aim at allowing multiple agencies to define custom workflows through the system. This would enable admins to quickly provision new agencies as well as manage different agencies efficiently. The future is bright.