How to hide a created perspective for user groups

Hello,

I created a custom perspective following this documentation: https://www.onehippo.org/library/concepts/editor-interface/cms-perspectives.html.

Now I want to restrict the visibility of that perspective, so that only a certain user group, e.g. the Administrator, can see and click on this perspective.

I tried different things, such as creating a new domain, but didn’t find a solution.

Thanks for the help!

Hi,

First, what you know. The perspective is configured under /hippo:configuration/hippo:frontend/cms/cms-static in a node of type frontend:plugin.

If we look in existing domains we find the domain /hippo:configuration/hippo:domains/frontendconfig with underneath that a domain rule frontend-plugins. This give access to the perspectives. There are a number of facet rules underneath to exclude access to specific features, like the admin perspective. Add a rule to exclude your perspective here. Access for admins should work as they have a rule elsewhere giving them access to everything.

1 Like

Thank you very much!
This works perfect, but would there also be the possibility to make a perspective only accessible for an other group like for authors?

You would do the same by adding an exclude. Then you would need to add a domain/domain rule to give access for that group to that specific perspective. It’s a step extra than for admins since admins already get access to everything.

1 Like

Hi @jasper.floor, I have a problem with making my perspective only accessible for editors and admins, could you explain how to do it right. I created my own domain/domain rule and would like to give permissions to editors and admins to see the perspective. I’m using v13.4.0.

/form-perspective:
  jcr:primaryType: hipposys:domain
  /form-perspective:
    jcr:primaryType: hipposys:domainrule
    /exclude-admin-iframe:
      jcr:primaryType: hipposys:facetrule
      hipposys:equals: false
      hipposys:facet: plugin.class
      hipposys:filter: false
      hipposys:type: String
      hipposys:value: com.example.forms.FormPerspective
  /editor:
    jcr:primaryType: hipposys:authrole
    hipposys:groups: [editor]
    hipposys:role: admin