Variable Folders

When creating Workshops, the number of variables can quickly become quite large. It’s then difficult to locate specific variables.

The ‘Used in’ section does help, however being able to add folders, and therefore group variables, would further help keep things organised and save time locating the right one.

16 Likes

+1 for this improvement.

To help keep things organized, I try to following a naming convention that takes advantage of the alphabetical ordering of the Variable list:

  • [o][1] Order → this is an object set [o] that only has one object [1] of type Order
  • [o] Orders → this is an object set of all orders
  • [o] Orders [Filtered] → This is the object set of orders with a general filter applied
  • [o] Orders [Same Customer] → This would be the set of orders linked to the same customer as the current order
  • [b] Order Filled? → This is a boolean variable that answers the question of the label
  • [n] Order Amount → Numeric variable for some quantity

This scheme trades of some legibility (like many approaches that try to shove categorical organization into a title, the relevant distinguishing text sometimes gets cut off if they get too long) but I find it makes it possible to scan Variable panel and also search in the various Variable drop-downs reliably.

One of the first things I do, if picking up someone else’s Workshop, is (probably very annoyingly) rename all their variables.

Having the ability to add some amount of categorical grouping or folder structure (Variables in Slate have this feature) would certainly be helpful for complex apps.

Another thing to keep in mind, is that having an unmanageable amount of Variables (or Widgets or Sections, etc.) in a single app, is sometimes a good nudge to consider whether it should be refactored into sub-apps and object views that can then be recomposed through Workshop embedding and a Carbon Workspace. Not only can this make each module more approachable, it makes it easier to recombine to build future workflows without rebuilding every UI element. Just something to keep in the back pocket.

3 Likes

Great suggestion. Adding to @lrhyne, I use name prefixes to keep it sorted. I prefix the variable type like filter - foo1, filter - foo2. I’ll also prefix the page name when there are multiple.

Being able to sort variables by type would be helpful in addition to the default sort by name. A modal variable manager with a table of var name, type, uses, used by would be nice too.

2 Likes