Map Visualization in Dashboard

Hi,
we have one common dashboard for customer.
User/Customer logging based on shopId Security hierarchy defined, so they are enable to view their shop data only that is working fine.

Now requirement is I created 5 different mall/shop maps in 5 different dashboard.
I want to link that 5 different dashboard to Main Customer dashboard and user/customer only enable to see their shop/mall map based on assigned security hierarchy.

So how it will work ?

Does the data for the 5 different shopping malls have the security data to be used as a filter?
Can you possibly make a script that checks the security hierarchy to show hide the links?

this is not how to check the hierarchy but show you how to get at it to get you going on checking it:
https://www.dundas.com/support/learning/documentation/create-view-content/how-to/set-filter-value-by-script

Hi James,

Yes all 5 shops have security hierarchy filter.
For example: if X user login to Main Customer Dashboard, they will click on Map button at that time Map Button redirect to Particular X user Map Dashboard out of total 5 different dashboard.

Or any other way can I create Number of different Map layout in single Dashboard and this Dashboard link to Main Customer Dashboard ?

Thank You.
Jatin.

If all 5 maps are in the same area you might be able to use the same map with out scripting to change the map center. Other wise you will be also scripting to change the center.
I would to 5 layers with one link that script checks what security they have to determine what layer/map to show

Hi James,
All map having different areas. that’s why I created 5 map for 5 shopping center.
So how I can connect through single link ? can you give me some idea on it ?

Thank you.
Jatin.

one part would be use this to create the link base one what security filter they have:
https://www.dundas.com/support/developer/script-library/services/short-link-service/getting-short-and-long-links

to get what security filter they have then so a case or if else :slight_smile:maybe this
https://www.dundas.com/support/developer/script-library/session/using-custom-attributes
or find something in here that will show you how to get what security hierarchy they have to say what link they get.

Maybe @jeff has some better guide in his bag of tricks on how to do this, I would have to work it out fully myself but i know it possible

Hi @jatin,

Are you going to have a different map layout (assuming diagram) for each customer? I’m guessing that you have 5 now but it’s going to be an expanded requirement in the future as you add more customers. If i’m correct in these assumptions, we need to come up with a dynamic way to show the appropriate content in the future.

I’m thinking that you should probably create a new dashboard for each map layout, perhaps starting from a template dashboard so that each looks consistent. Maybe you could name each dashboard to correspond to the security hierarchy attribute and have a script that automatically shows the correct mini dashboard in the main dashboard based on who is looking at it?

Something like this:

  1. Main Dashboard is opened and ready interaction fires
  2. Have a script that checks the custom attribute of the current user and then loads the correct dashboard using a view container.

if (dundas.context.currentSession.customAttributes[0] == ‘someClientId’)
{
// Choose the content that should be displayed based on the attributes and show it
}

  1. Use a view container to show the content

https://www.dundas.com/Support/support-center/support-articles/designing/using-a-view-container

  1. Set the source of the dashboard on the fly using a script. This video that i did will help you since we are in many ways using the same concept.

https://www.dundas.com/resources/off-the-charts-tips-from-an-expert/build-it-dream-it-self-service-dashboard

Hopefully this give you sort of pseudo-steps to create this.

Hi Jeff,

Yes, This is exactly that I want.
And Thank you very much, this solution works for me.

Really Appreciate Jeff.

Thank You,
Jatin.

Hi Jeff

Can you give me some more idea about script, where exact it need to write?
because I created one button, and passed script to that button but it is not working properly.
through if condition I’m checking mall ID/Name and passed appropriate dashboard ID, But it didn’t work properly.

Thanks in Advance.
Jatin.

hi @jatin,

You can come up with whatever logic you want to determine the dashboard or even hard code it for each custom attribute. The main part of the concept is simply the setting of the container control which you can accomplish with this.

var dashboardId = TheIDofTheDashboardYouWantToLoad
dashboardId = dashboardId.toLowerCase();  // Needed otherwise the SubCanvasViewContainer, fails to load.
viewContainer1.setTarget(dashboardId, dundas.entities.ViewType.DASHBOARD);