Dynamic inputs to Workshop Widgets

Hello!

I have a feature I would like to propose for making Workshop a bit more dynamic. Anywhere that you are statically choosing a property within a widget configuration, make this dynamic via the property id (like how you add a property id in the URL Object Table column). This would allow for some creativity, especially around reporting, to be possible.

Examples:

  1. Pivot Table grouping and segmenting by properties. If this was dynamic I could give the end user the ability to dynamically adjust the grouping and segments.
  2. Same as above but for charting.
  3. Variable creation itself eg. Properties to sum in a numeric object set aggregation

My thoughts would be that it’s done using the property id but you could even have a property variable where you default to a property but then have a property selector or something to switch to others.

You could take this further and follow the same premise for anywhere you manually select something in a widget configuration. An example would be that you can select the date time grouping in charts between date, week, month etc but if that was to optionally be a string variable you could create new interaction types.

Currently these types of customizations are accomplishable by conditional visibility, creative string selectors, and duplication of widgets with minor tweaks but would be great to have as a feature to expand the areas where Workshop building is dynamic.

Best Regards,
Paul Burns

Thank you for this suggestion!

First on the current customizability:

  • Pivot table widget supports “hidden” and “expandable” groupBy columns, which allow the users of your app to choose which columns to use in table.
  • Vega charts support parameters, we need to fix the CSS for those. The Vega parameters allow configuring dynamic charts where the bucketing can be changed on the fly.
  • Vega charts support function-backed Vega chart definition, which allow for fully dynamic charts. We are also exploring passing workshop variables directly as Vega parameters, so you can imagine having a string selector widget in Workshop and then passing the selected string to the Vega chart.
  • ObjectSet aggregation can be configured as a function backed variable, where you can dynamically* decide which property to sum over. The caveat is that it’s not fully dynamic but would require a big if-else statement.

Part of the limitations of making Workshop fully dynamic with regards to property selection, is that we want to be able to report to Ontology which properties of a given ObjectType are used and where. We also need to know which properties are used when packaging the Workshop app for Marketplace: https://www.palantir.com/docs/foundry/marketplace/overview

Hey @michaeld,

This is super helpful, thanks!