This is a very longstanding bug with the Sideview form element modules, around double-quote handling. Very few have run into it, and in the past, in the cases I've seen at least, we've been able to find other workarounds.
I believe after some fresh thinking this morning that I have a fix for it and I am beginning to put that fix through its paces. The fix only changes a few lines of code, fixes the issue across not just Checkboxes but also Pulldown, Radio, Tabs and ArrayValueSetter, and I don't think it has any side effects. However my paranoia level is very high about it because the set of all use cases for all these modules is a big set and I can't cause any regressions. Thus I need to write a lot more testcases and let it burn in with some of our apps for a while before I'll release it.
Some background.
The history of search-language escaping in general in Splunk UI modules is a pretty messy one. The Sideview modules have improved things greatly over the last 3 years, but at considerable investment of time and energy. Even so gaps remain, both known and unknown. The gaps have at least steadily closed over the years, and bugs have been fixed rapidly once reported publicly. You can actually search through the Sideview Utils release notes and see for yourself that there have been a steady diet of improvements around escaping behavior. http://sideviewapps.com/apps/sideview-utils/release-notes/
It at first seems like form element modules should always automatically escape their selected values to "work" in the search language, but the truth is a lot messier. For instance Textfield and Table drilldowns are very commonly used to generate $foo$ tokens that are already complete search expressions for direct substitution. Such expressions need to back backslash-escaped but doing any further escaping on these values is a disaster. Yet still we must automatically escape dynamic options in our Pulldowns, allow things to be templatized into quoted expressions, and in the middle find somewhere to draw what seem like so many lines in the sand. (Things are far far better now than they were in the early days, and the lines have sensible use cases and comments and contracts etc. 😃
HOWEVER. The larger trickier big picture is beside the point. The problem you have found here can be defined very narrowly - concerning only Sideview modules that have "template" params, where the user is templating the selected value inside the template.
In these modules the problem is well defined and a well defined contract can be made - when the module "templatizes" the value, it can look at the template, check whether the value is going inside a quoted expression in the template string. If so, it escapes quote chars in the templated value. So... that's the change I want to put in, and since at this point 3.0.2 is looking to have a lot of improvements in it already, it'll be 3.1, out in a week or two.
Thank you VERY much for writing this up and helping me get a fresh look on a very well-worn topic.
... View more