Last modified by jhurst on 2022/04/28 16:42

Show last authors
1 {{ddtoc/}}
2
3 = Introduction =
4
5
6 DigDash can be embedded at multiple “levels” in external websites:
7
8 * Dashboard
9 * Dashboard page
10 * Information Flow
11
12 In this document we will present url that works in the following context:
13
14 * Server name: ddsrv
15 * Port: 8080
16 * DigDash Domain: ddenterpriseapi
17 * DigDash Dashboard Domain: digdash_dashboard
18
19 = Dashboard =
20
21 At this level you can embed multiple pages in an iframe.
22
23 URL : http:~/~/ddsrv:8080/digdash_dashboard/index.html
24
25 Available parameters:
26
27 * login=<user> User to authenticate
28
29 * pass=<password> Password for the user
30
31 * domain=<domainname>// //DigDash Enteprise domain name
32 Example: ddenterpriseapi
33 * server=<server URL> DigDash Enterprise domain server URL
34 Example : http:~/~/localhost:8080
35
36 * hideBanner=<true|false> Hide (true) or show (false) the main title bar
37
38 * hideFilters=<true|false> Hide (true) or show (false) the filter bar
39
40 * <variableName>=<value> Specify a value for the variable variableName
41
42 * <filterselection> See section V below
43
44 **Example**
45
46 (% class="box" %)
47 (((
48 http:~/~/ddsrv:8080/digdash_dashboard/index.html?server=http:~/~/localhost:8080&domain=ddenterpriseapi&login=user1&pass=pass1&hideBanner=true&hideFilters=true&var=1
49 )))
50
51 = Dashboard Page =
52
53 At this level you can embed one page or all the pages of a dashboard role into an iframe
54
55 URL:
56
57 http:~/~/ddsrv:8080/digdash_dashboard/index.html?page=<user|role>[.<pagename>]
58
59 If you want one page you specify the page name otherwise you will get all the pages of the user or role selected.
60
61 Available parameters:
62
63 * page=<user|role>[.<pagename>] Page name prefixed by role or user name
64 * login=<user> User to authenticate
65
66 * pass=<password> Password for the user
67 * domain=<domainname>// //DigDash Enteprise domain name
68 Example: ddenterpriseapi
69 * server=<server URL> DigDash Enterprise domain server URL
70 Example : http:~/~/localhost:8080
71 * hideBanner=<true|false> Hide (true) or show (false) the main title bar
72 * hideFilters=<true|false> Hide (true) or show (false) the filter bar
73 * <variableName>=<value> Specify a value for the variable variableName
74 * <filterselection> See section V below
75
76 **Example**
77
78 (% class="box" %)
79 (((
80 [[http:~~/~~/ddsrv:8080/digdash_dashboard/index.html?page=user1.page1&domain=ddenterpriseapi&login=user1&pass=pass1&hideBanner=true&hideFilters=true&var=1>>url:http://ddsrv:8080/digdash_dashboard/index.html?page=user1.page1&domain=ddenterpriseapi&login=user1&pass=pass1&hideBanner=true&hideFilters=true&var=1]]
81 )))
82
83 = Information Flow =
84
85 At this level you can embed one information flow (graphic component) of your information wallet into an iframe
86
87 URL: http:~/~/ddsrv:8080/ddenterpriseapi/viewflow?flowId=<flowid>
88
89 There is an easy way to get that URL for a specific flow from the information wallet configuration by clicking on “copy flow URL”
90
91 Available parameters:
92
93 * flowId=<flow> Identifier for the flow to display
94 * user=<user> User to authenticate
95
96 * pass=<password> Password for the user
97
98 * hideFilters=<true|false> Hide (true) or show (false) the filter bar
99
100 * <variableName>=<variableValue> Specify the value of variable variableName
101
102 * <filterselection> See section V below
103
104 **Example:**
105
106 (% class="box" %)
107 (((
108 http:~/~/ddsrv:8080/ddenterpriseapi/viewflow?flowId=2340fd0&user=user1&pass=pass1&hideFilters=true&var=1
109 )))
110
111 = Filters =
112
113 You can specify pre-defined filters when for your iframe integration by setting some dimension filter parameters.
114
115 Filters are on the form:
116
117 DimensionName=FilterValue
118
119 If the dimension contains one or more Hierarchies you can select the desired Hierarchy and Level by adding
120
121 **H**DimensionName=HierarchyName
122
123 **L**DimensionName=LevelName
124
125 **Example**
126
127 (% class="box" %)
128 (((
129 http:~/~/ddsrv:8080/ddenterpriseapi/viewflow?flowId=2340fd0&user=user1&pass=pass1&Geo=France&HGeo=Geography&LGeo=Country
130 )))
131
132 = Security Constraints =
133
134 Some browsers, for example Chrome from its version 80, may refuse to process cookies that are coming from embedded webpages if the iframe site host is different than the embedding page.
135
136 The solution is to use an attribute //SameSite=None// on the cookie. This attribute must be set be the application container (Tomcat), or the HTTP front server (eg. Apache httpd). There are various available documents online to configure this cookie attribute. For tomcat's cookies : [[https:~~/~~/tomcat.apache.org/tomcat-9.0-doc/config/cookie-processor.html>>https://tomcat.apache.org/tomcat-9.0-doc/config/cookie-processor.html]]. On the Apache httpd side, the use of mod_headers module may be required.
137
138 However, the attribute //SameSite //can not be set on an non-secure cookie. So the //Secure //attribute must be set as well to be able to set SameSite=None. And the //Secure //attribute must be set only for HTTPS site.
139
140 So, consequently, embedding a DigDash Enterprise dashboard, or viewflow page, in an iframe,** if the embedding page and the iframe have different hosts**, will require to use an HTTPS connexion, and to configure cookie processing.
141
142 The following Mozilla document this requirements : [[https:~~/~~/developer.mozilla.org/fr/docs/Web/HTTP/Headers/Set-Cookie/SameSite>>url:https://developer.mozilla.org/fr/docs/Web/HTTP/Headers/Set-Cookie/SameSite]]
143
144
145
146
147