I think it would be useful to have properties tied to visualizations.
In some cases, I need a run script to modify some visualizations in the pages.
- I can use script parameters, but the script needs to be modified when I add a visualization (It can be complicated if it's launched from multiple properties or buttons)
- Or I iterate through all pages and filter visualizations on a pattern (title convention, description...), but It can break if somebody modifies the values.
We could simplify scripts and stop using human readable attributes (title, description) as technical attributes.
for page in Document.Pages:
for viz in page.Visuals:
if viz.Properties["MyVizProperty"] == "MyValue":
# Do something
I only focused on script, but of course these properties could be used in expressions (for instance to duplicate a visualization and changed its behaviour only by modifying a property)