Introduction

Fraser Academy, a pioneer in empowering students with dyslexia and language-based learning differences, is an accredited independent, nonprofit day school committed to fostering successful learners from grades 1-12.

The school has transitioned to Blackbaud’s Raiser’s Edge for fundraising and donor management, aligning with their reliance on donations. Ensuring synchronization between their student information system and the fundraising platform is pivotal and challenging. As Fraser Academy embarks on a new phase, aiming to fundraise for a new campus, they prioritize innovative fundraising initiatives, necessitating access to accurate data and efficient processes. Because of this, they adopted Blackbaud’s Student Information System but they contacted us with the challenge of seamlessly generating Ministry of Education reports, a feature not natively supported by Blackbaud. They aim to develop a complementary tool to effectively bridge this gap.

Overcoming Hurdles

Data Migration

The initial hurdle involved extracting and exporting precise information from MySchool for seamless integration with Blackbaud.

Blackbaud API Limitations

Quickly recognized limitations in Blackbaud’s API, where the necessary data wasn't easily accessible or exposed through their endpoints, necessitating creative workarounds for bulk data extraction essential for generating required data.

Solution: Crafting the Perfect Tool

We kicked things off by diving deep into understanding all the reports needed. We even got in touch with the Ministry of Education to learn exactly what data files were required. Once we had a clear picture, we started digging into how Blackbaud, the system we were working with, organized its data. This part was a bit frustrating at times because the system was a bit rigid and missed some important features.

The Journey of Building a Special Software

We wanted to make sure that the student data, which is super sensitive, was safe and that our app was speedy. So, we chose to use AWS serverless, a secure and fast platform.

Putting a Lock on it with OAuth

We added a way to log in using Blackbaud credentials, so Fraser Academy could control who accesses what based on roles, all within the Blackbaud system.

Getting the Data and Making it Shine

We found a clever way to gather most of the data by creating special lists in Blackbaud. Think of these lists like customized views for different types of reports. We then put on our magician hats, combined these lists, added some logic to make everything make sense, and formatted it into neat templates ready to be sent to the Ministry.

Solving Puzzles: Debugging Adventures

There was this one report crucial for securing funding that gave us a little headache. Blackbaud wasn't being very cooperative in providing the necessary info related to classes and attendance records. To ease this process, we created a smart report that highlighted potential issues with students based on their expected attendance. It was like our secret detective tool for auditing the data!

Key Insights and Takeaways: Lessons from the Journey

Navigating Timeouts and Memory Management

Handling an extensive dataset, often exceeding 100,000 rows, presented its challenges. The app, relying on AWS Lambda functions, encountered occasional timeouts during the creation of reports, particularly the resource-intensive MS Excel files. A strategic resolution involved offloading some processing responsibilities to the browser (client side), mitigating the strain on the system and ensuring smoother performance.

Mastering Blackbaud’s Advanced List Feature

While Blackbaud’s advanced list feature proved highly useful, it also exhibited some limitations. Managing list size constraints necessitated a thoughtful approach, leading to the division of lists into more manageable segments. Additionally, due to specific limitations regarding data filters, joins, and configuration alterations, a deeper level of customization and creative problem-solving became essential. Notably, modifications to field configurations could break list functionality, prompting proactive user notifications to maintain a seamless user experience.

Embracing these insights, we forged ahead, enriching our project with every challenge encountered and overcome.

Looking Ahead: Our Roadmap

After a year of active usage, our reports app has matured, albeit not without a few bumps on the road caused by evolving data landscapes. Throughout this journey, we maintained a steadfast commitment to supporting and delivering the necessary reports promptly.

Our trajectory forward involves an exciting vision of further streamlining operations. The aim is to automate the report generation process, striving for seamless submissions directly to the Ministry. As advancements unfold in the coming years, we eagerly anticipate integrating this automated submission feature into our workflow.