🌍 Stream Global Variables

Hey all,

You might have already noticed on the web or from our docs, but @clrkng and I worked on a new feature that you might find useful! You can now easily store project info, design values, notes, or any other general info alongside your geometry with Globals. On the web, you’ll find the “Globals” button in the sidebar of any stream you have write access to. This will pop you into the editor which will let you build and structure your globals however you fancy.

globals-gif

The globals are effectively stored on a separate branch and thus make it easy to keep track of changes and go back to previous versions if needed.

This is just v1 of this feature and we’re curious to see how you use it and how it can be improved! Feel free to drop any bug reports, requests, or suggestions down below.

Personally, I’d use this as a way to store general calc / design values separate from the geometry so I don’t have to manage them together. I can then pull in the values alongside the geometry into my calculation scripts to recalculate values as the geometry evolves. Previously, I would have had a separate stream to hold this static data - having it all together just makes it more convenient!

Have a look at the docs below :point_down:
https://speckle.guide/user/web.html#globals

5 Likes

This is really nice and very useful!

It might be handy if users are able to create a template object so you can easily add multiple of them. For example, if you want to define multiple room objects with the same parameter names (e.g. height, width, length) you create 1 template object and then create as much of them as you like without the need to create each parameter 1 by 1.

Maybe the following is a bit off topic, but the predefined property “Project Code” in the Globals reminded me of it: would something like the projects in Speckle V1 will make it’s way into V2 because we’ve found it an easy way to share various streams with multiple people?

3 Likes

Yep. We’re still trying to figure out the best way to do it (1.0 implementation was quite a hack), and it might be an enterprise feature only.

1 Like

great idea re the templates! alan and I were actually discussing that it might be cool to have a switch to flip between the nice ui and a json editor
(basically what is happening under the hood :sweat_smile:) which would make it super easy to copy and paste sections or paste in pre-created structures.

defs something to think about tho re making repeatable structures easier to create - thanks for the suggestion!

4 Likes

@dimitrie yes makes sense, thank you for the update!

@izzylys cool idea to have a json editor! I think it would definitely work for most of us. And you would also be able to create a json export from another software / generate it via code and paste it into the globals.

3 Likes

Searching for “Stream template” brought me here.

Yes, it would be nice to have templates for global variables and also for streams.
If I have a stream for each project and I want to create a new project, it would be nice to have a set of branches already pre-defined.

on another note,
The globals branch of GlobalVariables is a real branch of the stream.
If you push whatever data to the globals branch from connectors, you end up overwriting the global variables. This is a behavior we might want, because I could have a grasshopper definition which I could use to set my global variables. Nevertheless it’s something that I would clearly explain into the docs.
…because now globals it became a keyword and I’m sure somebody will name a branch like that missing up things.
@SpeckleTeam

1 Like

Yep, agreed - I think we need a tutorial on “how to use the globals branch”, where we can cover all these aspects!

You can’t create a ‘globals’ branch from the frontend anymore - so that part is safe, but it’s not fully bulletproof.

A nice way of actually using the globals branch that i’ve seen before is basically going through an update flow in grasshopper to add geometric global vars:

  • populate online with initial variables
  • pull it in grasshopper, expand and add extra geometric data - like site boundaries, volumes, etc.
  • send it out again!
2 Likes