└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # DefinitionLibrary 2 | 3 | ### Elevator pitch 4 | Teams working together with Grasshopper find it difficult to catalog and version their shared Grasshopper resources and end up with unnecessary re-work. DefinitionLibrary enables teams to store copies of their files, snippets, clusters and script code in a searchable, version controlled external library across multiple platforms. It saves time by enabling easy discovery and re-use of previous work. It offers what is possible using several software tools into a simple UI inside Grasshopper itself and uses teams' own GitHub and Microsoft resources. 5 | 6 | ### How to use this guide 7 | Use the links on this page to find installation files, documentation, issue tracking and discussions related to the DefinitionLibrary plug-in for Grasshopper. Please read the Wiki for documentation: https://github.com/nicolaasburgers/definition-library-releases/wiki 8 | 9 | ### Summary 10 | DefinitionLibrary offers searchable cloud library, with version histories, for your Grasshopper files, clusters, Hops definitions and snippets and script code (C# and Python). It currently supports GitHub as a storage plaform, with SharePoint, OneDrive and local/network folders, and stores: 11 | - binary .gh files (all Grasshopper files, clusters, Hops definitions and snippets are saved as .gh files in the library) 12 | - pure C# and Python source code 13 | - meta data, either in separate text files or attached to the files themselve 14 | - markdown files containing version-agnostic basic documentation for the definition 15 | 16 | The aim in developing DefinitionLibrary was to help individuals and teams manage a set of Grasshopper logic that makes re-use logic safer and easier, and thereby improving productivity. 17 | 18 | It consists of a top-level menu in the Grasshopper window, and pop-up windows, offering functions like: 19 | - publishing new definitions and script code to the library 20 | - publishing new versions of definitions and script code to the library 21 | - updating (including rolling back to a previous version) of published definitions or script code used in the currently-open file 22 | - downloading files from the library to a local directory 23 | - importing a cluster, Hops definition or snippet at a particular version from the library and place it on the canvas 24 | - setting up optional Azure Application Insights tracking of definition open, close and solve (calculate) events 25 | 26 | There is also a YouTube channel containing videos about this plug-in: https://www.youtube.com/@definitionlibrary 27 | 28 | The plug-in is currently in the beta stage and is currently free to use. When it transitions into production a small per-person-per-year fee will apply. 29 | 30 | ### How to get yourself up and running with DefinitionLibrary 31 | Install using PackageManager. DefinitionLibrary can be found on PackageManager, with the "include pre-releases" checkbox ticked. 32 | 33 | If you want to use GitHub to store some definitions or script code, then this video shows you how to configure your GitHub account, obtain a Client ID, create a repository and save the details of these in your DefinitionLibrary settings: 34 | https://github.com/nicolaasburgers/definition-library-releases/assets/3597587/603030b0-8b96-407d-8bbe-cc42b7fad487 35 | 36 | If you want to use SharePoint and/or OneDrive for business then your company would either need to create a registered app in Azure or approve the default registered app. 37 | 38 | After that procedure is done, you're up and running! 39 | 40 | ### Notes 41 | #### Sharing connection details 42 | If you're working in a team: 43 | - if using GitHub, only one person needs to go through the above GitHub procedure; the other team members do need their own GitHub accounts, but don't need to obtain a Client ID or invite collaborators to a repository 44 | - if using SharePoint/OneDrive, the IT administrator would need to either approve the default DefinitionLibrary registered app or create either create a registered app within the company's Azure tenancy and share the the Client ID and Tenant ID with employees 45 | 46 | There is a convenient way for the person who did go through that procedure to share the IDs to their teammates however: there is a Shareable Settings Code in the Settings window. This code can be copied to clipboard and pasted in an email or chat message to the others in the team, who simply need to paste it into the relevant box in their Settings window. 47 | 48 | 49 | --------------------------------------------------------------------------------