Please pick a subcategory to help organize the information. Thanks!

Hi, I have a very quick question I can’t figure out for the life of me. Probably very simple to most of you. I thank you in advance for any advice.

DashBoard. I am making an internal app for my staff.

A dashboard with data with a bunch of different user types. Admin, Sales, Inventory, etc.

Now I know how to add tabs and make them work for the most part for one user type.

As an Admin, I can see all the tabs, and all the data. The inventory user type should only see two of those tabs.

Here is my question.

How do you hide tabs for different user types or do I need to create a different dashboard homepage for each user type?

What’s the best way to go? Any videos that you know of that cover this part of dashboard creation.

Thanks In Advance.

This is a good question and here is something that we do at Zeroic.

Suppose you have a Dashboard and it’s a Single-page Application, we have the menu items as an Option Set called Menu OS. Now Menu OS can contain entries like Home, Invoices, Account etc.

At the same time, we have an Option Set called Role OS containing Admin, Sales, Inventory etc and the User table has an attribute called Role which links to this.

On the Dashboard, we add a RepeatingGroup for the menu items and set the source to Menu OS (Get data from option set). Now 2 ways to go about the conditions:

  1. Add conditions on the RepeatingGroup for each user type to set the source of the same to particular menu items
  2. Add a list of Menu OS as an attribute to the Role OS to mention the Menu items each role should have, and accordingly set the data source to Current User’s Role’s Menu OS list. In this case, conditions are not required

Finally, make a check always when a user navigates that the Menu OS the user currently is on, should be a part of the RepeatingGroup’s source so that they don’t go to an unauthorized page. Of course, these are just the front-end conditionals, and you’ll accordingly have to add Privacy rules as well to protect your data.

All in all, just have a single dashboard for all your user types.

Hope this approach helps :slight_smile:

1 Like

The short answer is to create a single dashboard for all user types, and show only the relevant features depending on the user type as described by @Zeroic

There is a powerful concept in software development called DRY - which stands for don’t repeat yourself. The idea behind it is that if you create one feature/function just once, it makes it really easy to maintain and update over the long term.

So although it may be a bit challenging early on, following the principle of DRY will pay off in the long run.

1 Like

Thanks both of you for the quick advice. I figured one dashboard for everyone.

Zeroic, Thank you for the detailed how to information. That’s Crazy. I see how that would work now. I will try to set one up and report back with any issues. That’s great though.

1 Like

No problem - Glad I was able to help out. Hmu if you face any issues :slight_smile:

Thanks for any advice. I got the dashboard and users roles working great.

The template I started with has a responsive dashboard built in.

How do I make these icons work with the option set with the same user roles. Thanks.
snip for bubble.io

You can either:

  1. Put a condition on the icon to show a particular icon when the current item’s option set is x; or
  2. If the icon is specified by a text, you can create an attribute in the option set and set that as the data source for your item element

Thanks a million for your response and your help. Set it up exactly as you advised.

Works perfectly except one thing. Please let me know what I did wrong.

On Mobile, when I click on the first tab, it shows what should be there… Group A. But, when I click on the 2nd tab, it stays showing group A, but opens group B above, so to see it, I have to scroll up. And if I click on group C, now both A and B are displayed and Group C is added to the top and so on. How do I have it display just the group that I click on?

Thanks in advance for answering.

Please advise on how to fix. I cant figure it out.

Sure, have you put the visibility conditions on the Groups themselves or are you controlling that by using the show element workflow actions?

show element workflow

Oh, yeah, so instead of that, it’ll be easy to set visibility conditions on the groups themselves. For ex - when get page from URL is Home, the Home group is visible, else it’s not

That way, the show/hide happens dynamically without having to take care of visibility with workflows

Thanks, Let me try that real quick…

This topic was automatically closed after 70 days. New replies are no longer allowed.