Hi @jeffland,
Thank you for the feedback, we could add some clarification about this to the documentation. There are 3 places where default values come into play for custom visualizations. You can get away with not setting them all, but for the best user experience, it is a good idea to. They are:
savedsearches.conf : these values are indeed meaningful. They will be the values passed to your viz in it's config on page load. You can handle these any way you see fit, but most vizes will pick up those values and use them, so good defaults there is a good idea.
formatter.html : setting defaults on the inputs in this file is not strictly necessary, but if you set them to something other than the defaults you have in savedsearches.conf , they will get set to those new values when the formatter is opened.
javascript: as I said, you will get the default values from savedsearches.conf passed to you, but it's not a bad idea to have the same fallbacks set in javascript, essentially as defensive coding. If a user deletes or changes savedsearches.conf , your javascript will still run. Most vizes will do this just by having a fallback in the variable assignment like var maxValue = parseFloat(config[this.getPropertyNamespaceInfo().propertyNamespace + 'maxValue']) || 100; . That will get the max value property from the config, but has a defensive fallback to 100. This used to be more important because older versions of Splunk didn't pass the savedsearches properties in dashboards. But I believe that is fixed now.
I agree it's not optimal to have 3 places to set this, but again, things will pretty much work if you only use the ones in savedsearches.conf. To accomplish your scenario of having a common globally settable property, used savedsearches.conf . Note that users can set their own defaults be having a local/savedsearches.conf as elsewhere in Splunk.
... View more