All Apps and Add-ons

Sideview bug? pulldown with * default value does not work after first update

sbsbb
Builder

I have several pulldowns, with default value "*",

  • when I launch the view for the first time, and run the search with all pulldown having default value to "*", the query works but if I look to the search element with "runtime debug" I see that all pulldowns $foo$ were not substituted with they default value "*" so I have uri='baseurl///' instead of uri='baseurl/*/*/*'
  • if I click a second time without changing anything, the query doesn't work and the $foo$ are still not substituted.
  • if I click manually on the * value from each pulldown, it is the working...

I use Sideviews 3.2.6 on 5.0.5

   <view isSticky="False" isVisible="true" onunloadCancelJobs="true" template="dashboard.html">
  <label>IHS (WAS Loadbalancer)</label>

  <module name="AccountBar" layoutPanel="appHeader" />

  <module name="AppBar" layoutPanel="appHeader" />

  <module name="SideviewUtils" layoutPanel="appHeader" />

  <module name="Message" layoutPanel="messaging">
    <param name="filter">*</param>
    <param name="maxSize">2</param>
    <param name="clearOnJobDispatch">False</param>
  </module>

  <module name="URLLoader" layoutPanel="splSearchControls-inline" autoRun="True">
    <param name="keepURLUpdated">True</param>

    <module name="HTML" layoutPanel="viewHeader">
      <param name="html"><![CDATA[
        <h1>IHS access combined logs (Loadbalancer Websphere)</h1>
<p><ul>
<li>Anfragen vom Partner (SBB als Server)</li>
<li>Zeitgesteuerte Abrufen vom Jobmanager (status, abos, datenbereit)</li>
</ul>
</p>





]]></param>

      <module name="Pulldown" layoutPanel="panel_row1_col1" group="HauptSuche">
        <param name="label">Plattform</param>
        <param name="float">left</param>
        <param name="template">$value$</param>
        <param name="group">HauptSuche</param>
        <param name="label">Plattform</param>
        <param name="name">plattform</param>
        <param name="staticOptions">
          <list>
            <param name="value">ihst70a</param>
            <param name="label">test</param>
          </list>
          <list>
            <param name="value">ihsi70a</param>
            <param name="label">inte</param>
          </list>
          <list>
            <param name="selected">true</param>
            <param name="value">ihsp70a</param>
            <param name="label">prod</param>
          </list>
        </param>

        <module name="Search" >
          <param name="search"><![CDATA[
| dbquery p_cusmdm-cusmdm12
"SELECT distinct ps_senderkennung as partner
FROM PVService pv
JOIN CODEZENTRAL c ON c.CD_ID=PV.CD_KIHUBSYSTEM
WHERE lower(substr(C.CD_WERT,7,1)) =substr('$plattform$',4,1)"
ORDER BY ps_senderkennung







]]></param>

          <module name="Pulldown">
            <param name="valueField">PARTNER</param>
            <param name="name">partner</param>
            <param name="float">left</param>
            <param name="staticOptions">
              <list>
                <param name="value">*</param>
                <param name="label">*</param>
              </list>
              <list>
                <param name="value">tech</param>
              </list>
            </param>
            <param name="label">Partner</param>
            <param name="valueField">PARTNER</param>

            <module name="Pulldown">
              <param name="float">left</param>
              <param name="name">dienst</param>
              <param name="label">Dienst</param>
              <param name="staticOptions">
                <list>
                  <param name="value">*</param>
                </list>
                <list>
                  <param name="value">dfi</param>
                </list>
                <list>
                  <param name="value">ans</param>
                </list>
                <list>
                  <param name="value">aus</param>
                </list>
                <list>
                  <param name="value">inbound</param>
                </list>
                <list>
                  <param name="value">outbound</param>
                </list>
              </param>
              <param name="float">left</param>

              <module name="Pulldown">
                <param name="label">resource</param>
                <param name="float">left</param>
                <param name="staticOptions">
                  <list>
                    <param name="selected">true</param>
                    <param name="value">*</param>
                  </list>
                  <list>
                    <param name="value">aboverwalten</param>
                  </list>
                  <list>
                    <param name="value">datenabrufen</param>
                  </list>
                  <list>
                    <param name="value">datenbereit</param>
                  </list>
                  <list>
                    <param name="value">sendAboAnfragen</param>
                  </list>
                  <list>
                    <param name="value">sendPartnerUpdates</param>
                  </list>
                  <list>
                    <param name="value">sendStatusAnfrage</param>
                  </list>
                  <list>
                    <param name="value">status</param>
                  </list>
                </param>
                <param name="name">resource</param>

                <module name="TextField">
                  <param name="width">40px</param>
                  <param name="label">status</param>
                  <param name="float">left</param>
                  <param name="name">status</param>
                  <param name="default">*</param>

                  <module name="Checkbox">
                    <param name="offValue">status=*</param>
                    <param name="label">Status!=200</param>
                    <param name="float">left</param>
                    <param name="name">statusNot200</param>
                    <param name="onValue">status!=200</param>
                    <param name="checked">True</param>

                    <module name="TextField">
                      <param name="width">80px</param>
                      <param name="default">*</param>
                      <param name="label">clientIP</param>
                      <param name="float">left</param>
                      <param name="name">clientip</param>

                      <module name="TextField">
                        <param name="label">Freie Suche</param>
                        <param name="label">Freie Suche</param>
                        <param name="float">left</param>
                        <param name="name">freeSearch</param>

                        <module name="TimeRangePicker">
                          <param name="default">Today</param>

                          <module name="Button">
                            <param name="allowAutoSubmit">False</param>
                            <param name="label">Search</param>

                            <module name="Search" layoutPanel="panel_row2_col1" group="Access Combined">
                              <param name="group">Access Combined</param>
                              <param name="search"><![CDATA[
index=$plattform$ uri="/kihub/kivdv/$partner$/$dienst$/$resource$*" status="$status$" $statusNot200$ clientip="$clientip$" $freeSearch$| rex field=uri "/kihub/kivdv/(?P<partner>\w+)/(?P<dienst>\w+)/(?P<resource>\w+)"
| table _time,partner,dienst,resource,status,uri,clientip,method,version,bytes


]]></param>

                              <module name="SearchControls">
                                <param name="sections">jobControls export </param>
                                <param name="jobControls"> finalize cancel</param>
                              </module>

                              <module name="JobProgressIndicator">


</module>

                              <module name="HTML">
                                <param name="html"><![CDATA[
<br>
$results.eventCount$ / $results.resultCount$ $results.timeRange.label$



]]></param>

                                <module name="Pulldown">
                                  <param name="postProcess">$postProcess$ | dedup partner| sort partner</param>
                                  <param name="label">partner</param>
                                  <param name="float">left</param>
                                  <param name="valueField">partner</param>
                                  <param name="staticOptions">
                                    <list>
                                      <param name="selected">*</param>
                                      <param name="value">*</param>
                                      <param name="label">*</param>
                                    </list>
                                  </param>
                                  <param name="postProcess">$postProcess$ | dedup dienst | sort dienst</param>
                                  <param name="name">partner</param>

                                  <module name="Pulldown">
                                    <param name="staticOptions">
                                      <list>
                                        <param name="value"> *</param>
                                        <param name="label">*</param>
                                      </list>
                                    </param>
                                    <param name="postProcess">$postProcess$ | dedup dienst | sort dienst</param>
                                    <param name="name">dienst</param>
                                    <param name="valueField">dienst</param>
                                    <param name="staticOptions">
                                      <list>
                                        <param name="value"> *</param>
                                        <param name="label">*</param>
                                      </list>
                                    </param>
                                    <param name="label">dienst</param>
                                    <param name="float">left</param>

                                    <module name="Pulldown">
                                      <param name="staticOptions">
                                        <list>
                                          <param name="selected">true</param>
                                          <param name="value">*</param>
                                        </list>
                                      </param>
                                      <param name="name">resource</param>
                                      <param name="label">resource</param>
                                      <param name="valueField">resource</param>
                                      <param name="postProcess">$postProcess$ |  dedup resource | sort resource</param>
                                      <param name="float">left</param>

                                      <module name="Pulldown">
                                        <param name="valueField">status</param>
                                        <param name="postProcess">$postProcess$ | dedup status | sort status</param>
                                        <param name="staticOptions">
                                          <list>
                                            <param name="selected">*</param>
                                            <param name="value">*</param>
                                            <param name="label">*</param>
                                          </list>
                                        </param>
                                        <param name="valueField">status</param>
                                        <param name="label">status</param>
                                        <param name="float">left</param>
                                        <param name="name">status</param>

                                        <module name="Checkbox">
                                          <param name="offValue">status=*</param>
                                          <param name="name">F_not200</param>
                                          <param name="float">left</param>
                                          <param name="label">Status!=200</param>
                                          <param name="onValue">status!=200</param>

                                          <module name="PostProcess" group="Meldungen">
                                            <param name="group">Meldungen</param>
                                            <param name="search"><![CDATA[
 search partner=$partner$ dienst=$dienst$ resource="$resource$" status="$status$" $F_not200$
| table _time,partner,dienst,resource,status,method,version,bytes,uri,*












































]]></param>

                                            <module name="Pager">
                                              <param name="count">20</param>

                                              <module name="Table">
                                                <param name="hiddenFields">logID,logID2</param>
                                              </module>
                                            </module>

                                            <module name="PostProcess" layoutPanel="panel_row5_col1" group="Stats over partner by status">
                                              <param name="group">Stats over partner by status</param>
                                              <param name="search"><![CDATA[
$postProcess$ | chart c as anzahl over partner by status




]]></param>

                                              <module name="HiddenChartFormatter">
                                                <param name="chart.stackMode">stacked</param>
                                                <param name="chart">column</param>

                                                <module name="JSChart" />
                                              </module>
                                            </module>

                                            <module name="PostProcess" layoutPanel="panel_row4_col1" group="Timechart by partner">
                                              <param name="group">Timechart by partner</param>
                                              <param name="search"><![CDATA[
$postProcess$ | timechart c as anzahl by partner


]]></param>

                                              <module name="HiddenChartFormatter">
                                                <param name="chart.stackMode">stacked</param>
                                                <param name="chart">column</param>

                                                <module name="JSChart" />
                                              </module>
                                            </module>

                                            <module name="PostProcess" layoutPanel="panel_row3_col1" group="Timechart by Status">
                                              <param name="group">Timechart by Status</param>
                                              <param name="search"><![CDATA[
$postProcess$ | timechart c by status

]]></param>

                                              <module name="HiddenChartFormatter">
                                                <param name="chart">column</param>
                                                <param name="chart.stackMode">stacked</param>

                                                <module name="JSChart" />
                                              </module>
                                            </module>
                                          </module>
                                        </module>
                                      </module>
                                    </module>
                                  </module>
                                </module>
                              </module>
                            </module>
                          </module>
                        </module>
                      </module>
                    </module>
                  </module>
                </module>
              </module>
            </module>
          </module>
        </module>
      </module>
    </module>
  </module>
</view>
0 Karma

sbsbb
Builder

Hi You were right, the autorun was not the problem,

But the problem remains, at start, the $foo$ variables out of the pulldown are not substituted in the uri="..." . Only when you choose a different value for the 3 Pulldowns, and go back to "", the "" are substituted...

0 Karma

sideview
SplunkTrust
SplunkTrust

I used your view to make a testcase locally but I can't reproduce the problem you describe.

I do see something though which may be adding to confusion.

That is that you have a Button module with allowAutoSubmit set to False. This is necessary in this view if you want the autoRun="True" to populate the dynamic pulldowns up above, but you don't want the main search below the Button module to dispatch on page load.

How this works is this Button module will prevent the autoRun push from going further than that button. As a result of which, none of the modules downstream will receive any tokens at all or have any searches dispatched until the user clicks the green Button. If you're manually inspecting the modules below the Button with the Runtime Debug mode, indeed there will be no $foo$ tokens there, but this isn't a bug - it's just the page working properly.

Can you take another look? I think if there were more than one autoRun="True" attributes in there before and you're down to one now, I think that will have resolved the main problem and this other issue around allowAutoSubmit behavior was just muddying the waters a bit.

0 Karma

sideview
SplunkTrust
SplunkTrust

Do you have time for a quick webex? Email me at nick [at] sideviewapps.com I still wonder if you're getting misled by Runtime Debug mode. It can't distinguish between keys not getting set at a given point, and no push ever having reached the same given point.

0 Karma

sbsbb
Builder

Hi You were right, the autorun was not the problem,

But the problem remains, at start, the $foo$ variables out of the pulldown are not substituted in the uri="..." . Only when you choose a different value for the 3 Pulldowns, and go back to "", the "" are substituted...

0 Karma

ifeldshteyn
Communicator

Did you ever get this issue resolved? I feel I have a similar problem .

0 Karma

sbsbb
Builder

I tried this, but doesn't work, I've only one autorun now...

0 Karma

sideview
SplunkTrust
SplunkTrust

It sounds like the kind of evil bug that you can get if you have more than one autoRun="True" attribute on the page. If that's the case just have one autoRun="True" at the top of the nested sequence of modules, and remove all the other ones. The weirdness should disappear.

0 Karma

somesoni2
Revered Legend

Can you post your dashboard xml?

Get Updates on the Splunk Community!

Introducing the 2024 SplunkTrust!

Hello, Splunk Community! We are beyond thrilled to announce our newest group of SplunkTrust members!  The ...

Introducing the 2024 Splunk MVPs!

We are excited to announce the 2024 cohort of the Splunk MVP program. Splunk MVPs are passionate members of ...

Splunk Custom Visualizations App End of Life

The Splunk Custom Visualizations apps End of Life for SimpleXML will reach end of support on Dec 21, 2024, ...