New Grasshopper plug-in: DefinitionLibrary (beta)

Hi everyone

I’ve created a new plug-in which connects your Grasshopper window to GitHub, allowing you and your team/company to store, retrieve, update and switch versions of files and clusters from GitHub as a cloud library. It’s available as a pre-release (beta) in the PackageManager, for Rhino 7 & 8.

I always wanted a better way to manage versions of my files and clusters from within Grasshopper itself. I’ve also seen professional teams finding it difficult to collaborate across a shared set of GH files and clusters. This plug-in is my contribution to solving those problems!

It would be great to get your feedback on this. Here’s a fun little video explaining it:

With this plug-in you still open and run files locally, but the plug-in offers the ability to download files, to update the versions of files/clusters (in-line) and publish new or new versions of existing files/clusters. Each local file has a revision entry (in File → Document properties → Revisions) which stores details of its cloud library (GitHub) address.

It even displays published name and versions above each cluster:

Some principles in its design:

  • offer as much functionality within the Grasshopper window itself, at least for day-to-day actions
  • avoid proprietary platforms (GitHub doesn’t count in my book as it’s so generic)
  • maximise portability of GH files/clusters such that they can be saved anywhere and shared with people who don’t have the plug-in
  • enable collaboration within teams, in organisations and also teams that collaborate with 3rd parties
  • make visual identification of file/cluster versions, and how far behind they are from the latest version (if relevant) as easy as possible

If you have some time to try it out, I’ve created a landing page for it as a starting point for you: https://www.definitionlibrary.com . It includes a video on the necessary one-off GitHub account configuration. There’s also a wiki at: Home · nicolaasburgers/definition-library-releases Wiki · GitHub

Enjoy and thanks in advance - Nic

16 Likes

Hi @nicolaasburgers , love the video and this plugin !!

Amazing :exploding_head:

1 Like

Hi @Chris37 - thanks and I’d be interested to hear your initial thoughts when you try it.

Very interesting and much-needed plugin! However, I will try not to fall in love with it until you share some licensing details :wink:

this feels a lot like what hydra was trying to do

hopefully this is better maintained

That’s a good point! I’ll decide and publish that ASAP.

The license fees won’t be more than USD $20 per seat per year. I’ll explain more on the landing page soon, but I’ll add the ability to add other storage platforms, not only GitHub - which could even include a local/network drive.

Seems fair. Waiting. :slight_smile:

You can try it now, and it’ll remain free while it’s in beta. I’d be curious to hear about any aspect or feature that you’re waiting for, or would really like to see added to the plug-in.

I’m testing it right now and this might take out a major headache that I have when working partially using a computer on-site and a remote one while I develop GH definitions on both of them.

Another problem that I have is that I produce quite a lot of test/research GH scripts and it’s not easy to keep track of them.

Everyone who wants to organize their GH files better should totally give it a try. Thanks Nicolaas! I posted two wishes on the GitHub page. I hope you can further develop and maintain this tool.

1 Like

Thanks @Czaja and to the couple of other people who have submitted issues/requests recently. I will keep supporting this (among my other projects) so please feel free to keep posting and sending me feedback.

I’m currently working on supporting Hops components so they’ll work similarly to clusters in terms of the way their definitions (referenced and internal) interact with the library - so, for example: they’ll have that handy published name and version heads-up-display too.

1 Like

I was about to ask for the Hops. Glad to see that! :slight_smile:

1 Like

Just before releasing support for Hops, I was excited to share a prototype I’m working on for a parametric web viewer to accompany the DefinitionLibrary plug-in:

The convergence of a team collaboration tool + web app platform into one system, based on non-proprietary data storage: GitHub. (yes it’s technically proprietary as it’s owned by Microsoft but it’s basically part of the internet furniture and not proprietary to me)

It’s exploring the form factor of a parametric web viewer that’s connected to your library, which can load & display any (compatible) file currently in the library, without needing any extra per-file setup like uploading it somewhere else.

So just by adding/updating the library - which you would do day-to-day for other reasons (working on a shared file, re-use of common clusters, real-time co-authoring of GH files, etc)
→ you get a parametric web viewer with a URL that you can share with others to load in their browser.

I’d love to hear your constructive comments! Would you like to deploy and/or use a system like this?

Would anyone like a demo and “try it out for yourself” session?

1 Like