SalesforceLabs / MultiLevelNavigationMenus

The Multi-Level Navigation Menu for Experience Cloud app offers components to manage multi-level navigation menus, and render them in your Experience Cloud site. You can configure up to 6 levels of depth in your menus, control the look and feel with styling configuration, horizontal vs vertical presentation, language filtering support, and much more!
Other
22 stars 15 forks source link

Not visible to customer community users #1

Closed kalyanikommineni closed 3 years ago

kalyanikommineni commented 3 years ago

Hi, We are having customer community with community member and login licenses. I created a menu with 'Multi level navigation' package and gave access to all profiles. Back end salesforce users are able to see this menu but community users are not able to see. I tried checking apex class access too, everything looking good. Please suggest me if I am missing something. Thank you so much for your help in advance.

gtabboud commented 3 years ago

So you have to treat this like any other object from a sharing and record access stand point. The data model has:

  1. Menu
  2. Menu Item

Menu Items follow their parent, Menu, in sharing model.

In order for a user to get access to a Menu, the following needs to happen:

  1. The profile needs Read access to the Menu object
  2. Sharing to records has to be configured (via sharing sets, sharing rules or any other sharing features)

OR

  1. Make the external OWD for Menu public read, if you want to share all menu records with any/all external users.

Hope this helps, let me know if there are further questions.

kalyanikommineni commented 3 years ago

Thank you for your replay, I will check Sharing options. Thank you for developing such a useful option for community users, I love it.

gtabboud commented 3 years ago

Thank you for your feedback! Really glad it's helping you out with your Experience Cloud implementation! Please keep me posted on your progress to make sure you have a path forward on a solution.

kalyanikommineni commented 3 years ago

Thanks for your help, now I am able to see the menu as community user.

geshemchavez commented 3 years ago

@gtabboud We have tried everything mentioned in this discussion and our community users still are unable to see the menu. Only Salesforce users can see it.

We changed the OWD for Menu to Public Read Only and added Profile read access to both the Menu and Menu Items objects.

FYI Our community users hold the Customer Community Plus license, not sure if that makes any difference.

gtabboud commented 3 years ago

This is likely a record sharing / visibility issue. You'll have to troubleshoot what's happening there for community users.

  1. Have you granted read access to both objects and their fields?
  2. Have you configured record sharing if the Menu object's EXTERNAL OWD is private?
  3. If not and you've configured the OWD to be public read, check that it's the EXTERNAL OWD.
  4. Ensure that the community user profiles have access to the menuController apex classes, otherwise they can't run the component.
geshemchavez commented 3 years ago

image

image

image

geshemchavez commented 3 years ago

Above I pasted 1st the Org Wide defaults, 2nd the Object settings, 3rd the apex class access.

We believe we have done everything you mentioned. Greatly greatly appreciate your help in getting this figured out!

geshemchavez commented 3 years ago

@gtabboud Sorry! We just found the issue, our problem was related to CSS. It was unexpectedly hiding the Menu. Thank you for your efforts!

gtabboud commented 3 years ago

ah good to know! thanks for looping back! Glad you figured it out because I was running out of ideas to tell you where to check! :)