Embedding DeepSee Web dashboards into Web Appcation

 Hi Community,

  I am using a method taht calls a Dashboard in Deepsee web  from an application , but I want to know if it's possible  to not showing the header, this part that have the search button, the name of the namespace, etc..

This is the method : 

Method %OnAfterCreatePage() As %Status
{
    //Set contratistaId = $Get(%session.Data("ContratistaId"),"")
    //Set gerenciaId    = $Get(%session.Data("GerenciaId"),"")

    //Set filter1 = "&SETTINGS=FILTER:Gerencia.Gerencia.idGerencia."
    
    //Set urlBase = "_DeepSee.UserPortal.DashboardViewer.zen?DASHBOARD=Operacion%2FOportunidad%2FVistaOportunidad.dashboard&NOTITLE=1&NOMODIFY=1&NOBORDER=1&RESIZE=false"
    
    //dsw/index.html#!/d/Operacion/Oportunidad/VistaOportunidad.dashboard?ns=GESTORVENTAS
    Set urlBase = "http://190.162.201.51:57772/dsw/index.html#!/d/Operacion/Oportunidad/Vis..."    
    //Set urlBase = urlBase _ filter1 _ gerenciaId
    
    Set urlBase = urlBase
    
    Set iFrame = %page.%GetComponentById("dashboard")
    Set iFrame.src = urlBase

    Quit $$$OK
}

Thanks in advance 

Regards,

Jaqueline K.

  

  • + 1
  • 0
  • 206
  • 0
  • 1

Answers

Hi, Jaqueline!

Yes, sure, you can hide the header of the dashboard if you untroduce a "&embed=1" parameter after namespace in the URL.

e.g. like here

You are welcome!

Also would love to mention that DeepSee Web (DSW) gives you the option to iframe any particular widget. 

Just right click on a widget and choose Share menuitem and you'll get the iframe code to get this widget embeded to any other web-page.

E.g. here is the code for this widget:

<iframe style="border: none" src="https://analytics.community.intersystems.com/dswpub/index.html#!/d/PostsByYears.dashboard?ns=COMMUNITYPUBLIC&embed=1&widget=0&height=303&isLegend=true" width="551" height="303" ></iframe>

And here is how I obtained it:

hi Evgeny,

   i tried to share a widget. i copied the given code, and i pasted at the url (with username and password included) to test. But the login page shows and required those values. Any idea of what could be wrong?

Regards,

José Manuel Lira

Hi Jose!

If your dashboards need the authentication for the access it's logical that it demands to enter login and password.

If you want embedded DSW iframe to use same login/password as another application on the same web page where the user already logged in, it's the matter of how to transfer the access to an embedded iframe.

I cannot answer at the moment how to manage this, and pinging @Eduard Lebedyuk: Eduard, do you think it is possible to transfer session to an MDX2JSON app of the embedded DSW iframe?

Hi Evgeny,

"If you want embedded DSW iframe to use same   other login/password as to another application on the same web page where the user already logged in, it's the matter of how to transfer the access to an embedded iframe."

Our application calls the dashboard who belongs to BI Server, that server manage it's own users.

so we try something like this into the iframe (like the code created by the share option):

https://serverBI/dsw/index.html#!/d/Operacional/Conductores/Dash_Conduct...

Do you want the data to be accessible by anyone who can view the page?

Hi Eduard,

     yes, because the user that can see the page, has been validated previously.

But the access to bi server must have login, we can't set the authentication access as "unauthenticated"

regards,

José Manuel Lira

Hi José, you have two ways:

1) You have to send the response to "<yourserver>/dsw/Test" with the header "Authorization"="<login:pass in base64>" before each visit to the page.

2) You can create a new web application "mdx2jsonpub" in MDX2JSON namespace with MDX2JSON.Rest. Next, you have to configure limited access for this application. For example, you create the new namespace with public dashboards,  and you specify only this namespace in the accessibility settings "mdx2jsonpub". Last you have to create the new public "dswpub" web application with DSW app, which makes requests to "mdx2jsonpub" and not to "mdx2json".

Is the "bi login" hosted on the same Cache server?

If so you'll need to add /dsw and /mdx2json to the same group/same cookie path as your app and you should be all set.