HubSpot Ideas

AJLaPorte_diagr

Allow for Design Manager (Design Tools) to be connect to a GitHub Repo

It would be really cool to be able to use GitHub to push changes to modules and other coded files inside of the DM. There are many agencies that use GitHub for web development outside of the HS Platofrm so being able to have a consistent development process would be beneficial for many.

 

Ideally with this, each portal would be able to connect to one GitHub Repo where the Design Manager would be synced (unless there would be a way to dedicated it to just one folder in the DM though that may be hard).

8 Comentarios
Jon_McLaren
Colaborador líder | Partner nivel Platinum

This would be huge. An example of how this could work SquareSpace has a direct integration with Github as well.

GitHub itself isn't important to directly integrate with but the ability to integrate with a git repository is. 

This will not only allow devs to use more familiar tools, make working offline feel more familiar to devs. It will also bolster the open source community around HubSpot. One very specific thing that would get a lot of attention and community involvement would be frameworks for building faster/better/higher quality sites on HubSpot. Taking some of the burden off of HubSpot's own developers to come up with solutions to difficult problems and further enabling the community to take those problems on.

To elaborate on the idea at the technical level.

When working with squarespace via git, the master branch is the live website branch. Developers can then work in branches and merge with master to push their changes live.

Example Open Source project that would immediately benefit from this: The CrankShaft HubSpot CMS Framework.
right now to test the framework's code the code has to be manually synced via FTP to a developer portal. This is a pain in the butt, as you have to make sure no one touches the code via the design manager, otherwise syncing those changes back in to the local build, to then send to the repo, is a huge pain, because it may not be clear what changes were made, or why and if you have conflicts between the portal version and local version there's no utility for managing the merge conflict.

 

If HubSpot had a git implementation like proposed the workflow problem is completely solved. Updating a file on the design manager would update the master branch. Locally, you would pull the commits that are on master and continue working.

For CrankShaft one huge benefit would be that it would make it easier to limit access to the developer portal that is used for working on it so only the top contributors have direct access. Everyone else would use Pull Requests to master to make changes to it.

This doesn't just help open source projects though it also helps developers building websites on HubSpot. Say you need a third party to help with a small feature of a site, you could give them git access, and they could make their changes and submit a PR, without affecting the live site until the lead devs on the site get a chance to review it and approve it.

 

 

Another huge area this solves universally for everyone. No more accidentally overwriting each-others code. If the code is all done through git, you aren't going to overwrite each-other and merge conflict tools already exist for git.

Estado actualizado a: In Planning
wspiro
Equipo de producto de HubSpot

Thanks for the idea, AJ!

I am moving this to "In Planning", but not because we are working on a GitHub integration specifically. We are actively thinking about and working on how developing on the HubSpot CMS could support any development workflow.

Supporting this platform agnostic workflow would allow for code living in GitHub, writing SASS, using VSCode/their plugins, etc., and any other current or future web development trend.

Un-winding the HubSpot design system to support this is complicated, and we want to get it right (think true file representations of HubSpot objects and their settings). But, we are working on it and will certainly involve the developer community in it's evolution over time once it is ready to be tested to ensure it solves your development workflow needs.

Jon_McLaren
Colaborador líder | Partner nivel Platinum

Will I can't Kudos your post enough.(or at all for some reason)

That's awesome news, excited.

Jon_McLaren
Colaborador líder | Partner nivel Platinum

Because it's relevant. This other idea - about making drag n drop templates visible in FTP similar to how custom modules are, would really help in working with version control sysems.

dsosborn
Participante

I don't have enough thumbs to up this.  I've frankly been shocked at how difficult HubSpot is to work with from a dev perspective.  It's an otherwise great product, so I'm very excited to hear about these developments.

 

As an ideal model, I would look to what Heroku does... your repo can exist anywhere (GitHub, Bitbucket, locally, whatever).  To deploy, Heroku gives you a separate remote to push to.  You push your master branch to the Heroku remote, and it auto-deploys.  It also lets you set up staging instances, so you can push and deploy to a staging instance, and then once that's approved you can promote that staging instance to production through the Heroku interface (or by pushing to another remote).

 

The other missing piece is the local preview.  We would need to be able to pull the latest code from production, modify that code and preview locally, before commiting those changes into the aforementioned git workflow.  The local preview could really be run through anything, but a command line prompt would be beautiful (similar to the current HUBL local server). The file structure would need to be seamless throughout, so that what you see on your local machine is exactly what you see in production.  This would probably mean, as Jon mentioned above, that some sort of json for the drag & drop templates be exposed.

 

Please keep moving this forward, as this is essential for any dev team to build in HubSpot.

keegan-sbm
Colaborador

Glad that this is gaining some traction. Any update on the movement here? Wondering if its going to be worth our time to investigate other options or if we should just wait for something more official from the HS engineering team.

Jon_McLaren
Colaborador líder | Partner nivel Platinum

If you are in the slack channel, there is a Local Dev Beta that opened up.
https://hubspotdev.slack.com/messages/CLJJXGTC0

It actually makes a lot of this significantly easier.

It is not a true git integration, but better than nothing and a good foundation

Estado actualizado a: Delivered
wspiro
Equipo de producto de HubSpot

With the introduction of the CMS CLI, your entire developer file system can be fetched locally with a true file representation. This allows developers to house their codebase in source control and even set up continuous integration. Here is a tutorial on how to set up continuous integration with a GitHub repository using GitHub Actions

 

We are going to continue to make it easier to integrate modern front end web development technologies into the HubSpot CMS, and plan to write tutorials and provide more examples of how to accomplish some common use cases.