3 Replies Latest reply on Nov 29, 2017 3:13 AM by AlasdairRobertson

    What is the fastest way to assign a layout to majority of roles?

    mbath61 Apprentice

      I'm trying to share an Employee layout across all roles and then limit the single form via visibility and read-only roles.


      What is the fastest way to assign a single layout to all roles?

        • 1. Re: What is the fastest way to assign a layout to majority of roles?
          DTurner Expert

          Hi mbath61,


          Not aware of a sure-fire way to quickly achieve what you are after since the layout is defined under the Roles & Permissions section rather than being configurable from the layout itself, but I would also be interested in learning if there is.


          Technically speaking... you might be able to achieve this by modifying the database but this may have knock-on effect elsewhere for any dependencies. From a quick look this appears to be defined under the frs_def_role_desktops table where Definition is a JSON value that includes layout for specified role.

          • 2. Re: What is the fastest way to assign a layout to majority of roles?
            AnthonyDowns Specialist

            I would be interested if you could do this anywhere besides roles & permissions too. When adding new BO's, it is rather monotonous to go to each role to add the object.


            Echoing what DTurne said, frs_def_role_desktops does look to be where it is stored. What I was thinking is to just alter definition to include the new BO on the role I wanted. However, this could be more work than it saves.


            I have not tried this yet but it might be interesting to try on staging. I'll try this out when I free staging up from testing but I'm betting there is a dependency somewhere like DTurne said.


            This looks to be the rule for adding Change to the Change Manager role.


            {"tabTitle":"Change","tabClosable":true,"tabVisible":true,"workspaceType":"ObjectWorkspace","HiddenExpression":{"Description":null,"FieldRefs":[],"IsFullExpression":false,"Name":null,"Tree":{"Value":false,"LongImage":null,"IsHex":false,"IsVerbatimText":false,"Kind":"Literal"},"ValidationStatus":"Ok"},"jsonConfig":"{\"layout\":\"Change\",\"objectName\":\"Change\",\"objectRef\":\"Change#\",\"display\":\"Change (Change.ChangeManager)\"}"}


            Then adding the above to the guest definition.


            {"RoleID":"Guests","BrandingID":"Default","HelpLinks":[{"Category":"","DisplayName":"Admin Help","Editable":false,"HelpEnable":false,"Language":"All","URL":"help/admin/index.html"},{"Category":"","DisplayName":"User Help","Editable":false,"HelpEnable":true,"Language":"All","URL":"help/user/index.html"},{"Category":"","DisplayName":"Self Service Help","Editable":false,"HelpEnable":false,"Language":"All","URL":"help/self/index.html"}],"Workspaces":[{"tabTitle":"Home","tabClosable":true,"tabVisible":true,"workspaceType":"dashboard","HiddenExpression":{"Description":null,"FieldRefs":[],"IsFullExpression":false,"Name":null,"Tree":{"Value":false,"LongImage":null,"IsHex":false,"IsVerbatimText":false,"Kind":"Literal"},"ValidationStatus":"Ok"},"jsonConfig":"{\"tags\":\"\",\"toolbar\":true}"},{"tabTitle":"Change","tabClosable":true,"tabVisible":true,"workspaceType":"ObjectWorkspace","HiddenExpression":{"Description":null,"FieldRefs":[],"IsFullExpression":false,"Name":null,"Tree":{"Value":false,"LongImage":null,"IsHex":false,"IsVerbatimText":false,"Kind":"Literal"},"ValidationStatus":"Ok"},"jsonConfig":"{\"layout\":\"Change\",\"objectName\":\"Change\",\"objectRef\":\"Change#\",\"display\":\"Change (Change.ChangeManager)\"}"}],"MobileWorkspaces":null,"RestrictWebUILogin":false,"RestrictITSMLogin":false,"AllowClick2Talk":false,"OverwriteDefaultBrandingOptions":false}

            • 3. Re: What is the fastest way to assign a layout to majority of roles?
              AlasdairRobertson ITSMMVPGroup

              This can only be done via roles and permissions.


              The others are correct in that the configuration is stored as JSON in the database, updating via direct database update is not advised or supported.