Forum Discussion

skyzak22's avatar
skyzak22
New Contributor
2 days ago

Disable dashboard for UX but run in desktop.

I have a dashboard that I want to run whenever I log into the desktop app, and it works just as expected, but it tries to run in the web browser UX and does not work right. How can I disable the dashboard from running in UX, but stay running for the desktop app? 

1 Reply

  • JackLacava's avatar
    JackLacava
    Icon for OneStream Employee rankOneStream Employee

    I have a feeling there used to be a config option buried somewhere in the bowels of our config files, but i cannot find it at the moment. 
    If you are familiar with dashboarding, you can try to hack your way through by doing the following:

    1. Create a Dashboard of type Top Level Without Parameter Prompts
    2. Create two Parameters
      1. "HomeDashboard" Input Value with Default Value set to the name of a safe dashboard for the web interface
      2. "HomeDashboardApp" Literal Value with Default Value set to the name of the dashboard you want in the app
    3. Create a Component of type Embedded Dashboard, and type |!HomeDashboard!| in the "Embedded Dashboard" property
    4. Create a Dashboard Extender rule "HomeSwitchExtender" and edit the first Case block to be this: 
    Case Is = DashboardExtenderFunctionType.LoadDashboard
    	If args.FunctionName.XFEqualsIgnoreCase("Switch") Then
    		If args.LoadDashboardTaskInfo.Reason = LoadDashboardReasonType.Initialize And args.LoadDashboardTaskInfo.Action = LoadDashboardActionType.BeforeFirstGetParameters Then
    			Dim loadDashboardTaskResult As New XFLoadDashboardTaskResult()
    			If si.ClientModuleType.Equals(ClientModuleType.Windows) Then
    				loadDashboardTaskResult.ChangeCustomSubstVarsInDashboard = True
    				loadDashboardTaskResult.ModifiedCustomSubstVars = New Dictionary(Of String, String) From {
    					{"HomeDashboard", BRApi.Dashboards.Parameters.GetLiteralParameterValue(si, False, Nothing, "HomeDashboardApp" )}
    				}
    			End If
    			Return loadDashboardTaskResult
    		End If
    	End If

    Then in the properties of the Dashboard, set Load Dashboard Server Task to "Execute Dashboard Extender Business Rule (Once)", and in the Arguments property below enter the name of the rule like this: {HomeSwitchExtender}{Switch}{}.

    Now make that new Dashboard your default home. When you log on, that code will be executed, embedding either the safe web dashboard or your app-specific one.

    (Note: some dashboards don't like being embedded, and might not work properly when displayed like that. In that case, you might have better luck with just a simple button with a Navigation Action that sends you to the fancy dashboard; you just don't click it when you're on the web.)