HubSpot recently reached out to Spin Group and asked if "we were working on anything cool and unusual" surrounding the HubSpot platform that we would like to present at the upcoming Hubspot Developer Day(November 10, 2021). Our response was an enthusiastic "This is Spin Group -- when aren't we working on cool, unusual projects that are pushing, and often times breaking HubSpot?!" The real problem wasn't deciding whether or not we had any material to share, but rather, picking a single topic/project that we wanted to focus on.
After a bit of deliberation we landed on a project that we think strikes the perfect balance between being accessible to the majority of modern web developers while also being a novel solution to common HubSpot theme development issues that are likely unique to Spin Group.
Introducing Parachute
Parachute is our way of managing and componentizing module fields and field groups into their own distributable and reusable files.
At its highest level, Parachute allows developers to create a more consistent content editing experience across all modules in their theme by providing developers a simple way to create "single sources of truth" for fields and field groups that are repeated throughout the theme.
Let's look at what this means.
Practical Example
Let's say you just finished building a theme. Your theme might have 15-30+ modules. As an experienced developer you know that part of your job is to not only build tools that look nice in production but also modules that are easy to use and have an excellent user experience for content editors.
This might mean that each module contains field groups that are consistent across all the modules so content editors know what to expect and where they might find certain fields that they are looking for. Common examples might be "Content Config", "Background Config", and "Animation Config'' field groupings.
You're really happy and ship your theme off to your clients so they can start building out their site. They love it! But there is just one thing. They want to add a new entrance animation to the module stack.
While on the surface this is a pretty easy fix, at its core it’s much more time consuming and error prone than it appears to be. You not only need to create the animation but you also need to go into each module's fields.json file and add the new animation type as a configuration option. Multiply this by all of the 30+ modules in your theme and... YUCK. This is going to take forever.
Luckily, Parachute allows you to store away field configurations that you might find yourself reusing throughout your theme project and import them into any module! This means that if you want to add an animation to all of your modules, you only need to edit one JSON file!
Interested in learning more?
You're in luck! You can sign up for the 2021 HubSpot Developer Day and catch our presentation!
and
Check out the Parachute Git Repo and install it in your next project!