Blog Insights
Digital Transformation in Action
This post was written by Sophia Wang, BS Computer Science ‘23, Brandeis University
This summer, I talked to Senior Developer Elvis Morales about a plugin he had recently built for a component of the Children’s Hospital Colorado Foundation (CHCOF) website. The new plugin makes data collection integration easier and more efficient across all of CHCOF’s platforms. Read my interview to see a great example of digital transformation in action.
Sophia: Can you give a brief overview of what your new plugin does?
Elvis: The plugin, “TeamRaiser Dynamic Blocks”, is a block that was built on top of CHCOF’s WordPress Gutenberg content management system (CMS) editor. Gutenberg, also known as a block editor, helps create pages with components in the form of blocks such as headings, paragraphs, lists, and images. On top of all the common features, there is also an option to use custom blocks, which is what I used to create the plugin for CHCOF.
The custom block pulls numbers and data from an external API (a computing interface that helps multiple software intermediaries interact). CHCOF wanted to pull data from Blackbaud, a platform that they use for their events and fundraisers. Teamraiser is one of the applications inside of that platform, and by using Teamraiser’s API and writing javascript code on top of it, we were able to retrieve the data they desired. Currently, it pulls key values like the amount of money raised, the number of event participants, and progress measurement. Every time the page loads, communication occurs between softwares, resulting in numbers being updated and displayed on CHCOF’s website in real-time.
The custom feature is an easy drag-and-drop element, and could be easily used, reused, and rearranged like any other block. Whether they want the data visualized on top or bottom of the page, content editors can put it where they choose on the page without having to manually go into the WordPress backend and update numbers one-by-one.
Sophia: What was the reason for creating this plugin?
Elvis: CHCOF was interested in getting donations and participant data live on their website without having to copy and paste information from one platform to another, which would have been a very repetitive task. They wanted their website to be integrated with the other platforms they were using.
The website we are building for CHCOF is used to assist with the organization’s marketing and content, while Blackbaud is used for what CHCOF does in the background. So, connecting the two to show this mission-driven data was very important to them. CHCOF can continue with what they do internally, but now they have the option to get background data and show it in a very custom format that works with the website and their mission.
Sophia: How does this plugin help nonprofit and public sector agencies?
Elvis: Because of the way the plugin was built, the block has settings in the back-end, making it flexible to cater to other clients. We could install the plugin, with the addition of some adjustments, but the functionality of retrieving numbers from the API is built-in. All that would be needed is to update settings to correspond to what statistics they want to show, this could be the amount that has been accomplished, percentage of goal, amount of contributors, amongst other things.
The block can be repurposed and reused for any other organization that uses similar applications like Teamraiser and Blackbaud. Blackbaud is very well-known and used by many mission-driven organizations that want to collect information. It could also be a possibility to grab values from other popular platforms like Gofundme or Eventbrite.
Sophia: How do you see this plugin expanding to support other mission-driven organizations and how can other organizations start using this plugin?
Elvis: Currently, the block is a WordPress plugin, so the code is built-in for the WordPress CMS. But, the logic, design, architecture, and javascript of the plugin can be altered for organizations that use or want to use other CMSs. Drupal, for example, can have a Gutenberg editor enabled, and we can create a module that can provide for this block to integrate into the Drupal platform.
The plugin for CHCOF itself was built in a week. We took another few days to do some minor changes and front-end design and development, bringing the grand total to a week and a half. If we were to recreate this on another system, it would only take about a week. It would be the matter of learning about how the platform works, the values that would be fetched, the needs of being in another CMS, and adjusting as needed.
Sophia: What difficulties were encountered that made you want to create something new? Or, how did you know you needed to use something new, rather than using something that was already created?
Elvis: It all boils down to understanding very clearly the requirements of what you are building, what the client wants, and what the client needs. From there, the first call is to do the research and find if there is anything existing online or at least comes close to it. Taking something and modifying it to suit client needs definitely saves time.
For CHCOF, we were in a scenario where this plugin did not exist. There was no existing Gutenberg block that met with what the client was specifically looking for. It was a unique case, and that was when we decided to build it from scratch ourselves.
Sophia: What is some advice you would like to give when creating efficiencies and solutions for impactful work through technology?
Elvis: As a developer and a doer, I have learned that when you have to do the same thing or create the same solution twice, it needs to be automated. My advice would be not to reinvent the wheel if you don’t have to. Trust the experts and the open-source community. Do your research to see if there is something out there that matches your needs. If there isn’t, then create it from scratch and identify if it is something valuable that others can use.
Forum One creates technology solutions for various types of enterprise nonprofits and government agencies, and so, as a company one of our goals is to create efficiencies as we go. That is why creating something that can be copied over and reused quickly is something that is going to save us and our clients a lot of time. In a situation where an organization might have a tight budget or might want something that is “too difficult” to make, we want to be able to come to them and say, “We already did this before, we have this code ready, and we would be happy to cater it to your unique solution.”
I would advise developers to get into the weeds: learn the technology, the language, do not just install the templates and plugins. This will help you understand what the client needs, so that if there is something your client wants that is not out there, you could quickly and confidently tell your team that you would suggest creating something from scratch.
You could either go the easy route, or you could create something efficient, specific, and unique that is going to really “wow” the client and future clients later down the road.