By Clay Li on Saturday, 12 September 2015
Category: Tutorial

How to Do Access Control by Roles (Group Design for Module Access)

​Access control by roles is managed by Group Design. The Calem desktop UI is improved for group design mode thanks to customer feedbacks. Use "Group Design" to manage modules and menu available for modules.

​"Group design" menu launches Calem desktop into the design mode for "Service-Tech" group.

1. Pick the Group for Group Design

 The rules to select a group to do design are:

2. Modules Access Setup

Module Access Setup defines what modules are available to a group. Click "Module accessible" menu button in the "Group modules" list form above to launch module access setup screen below.

3. Module Menu Access Setup

Module Menu Access Setup defines what menu items are available to a group.

The "Module Design" menu button launches the module function design form below. You can tailor a module's function for the group:

 4. Group Design Report

The report is available at Admin | Report | Group Customization. Use this report to find out what has been customized. 

​Another question may be what groups have inventory and barcode module customized. Query object for Inventory (modCmIn) or Barcode (modCmBc) to find out.

 You can also query which groups customized Site Inventory forms and reports such as CmInSiteViewEdit, CmInSiteReportList, etc. Query object for "CmInSite" will show all the views/reports customized by groups.

5. Group Hierarchy and Access Control

Groups are hierarchical for efficient management of customization. Here is the process for Calem to find a customization of an object:

  1. If a group has a customization of an object, use it.
  2. Otherwise, go to the parent group of the current group, if a customization is found, use it.
  3. Otherwise, repeat the parent group search.

 6. Access Control through Group Design

The steps to restrict access to an object are:

  1. Remove access to an object at the root group (Custom system) which removes the access to an object by default for all groups.
  2. For the groups to grant the access to an object, perform a group design to grant the access to an object. So, only designated groups have access to that object.
Two examples are discussed below to demonstrate access control customization.

7. Example 1: Restrict Access to Physical Count Transaction

We will grant access to physical count transactions to "Service-Tech" and "Procuremenu" groups only (see the groups in the screenshot of group tree above). The menu for physical count transaction is highlighted in the menu search tree below. The steps are:

  1. Group design "Custom system" group
  2. Remove highlighted physical count menu from Inventory and Barcode modules respectively.
  3. Group design "Service-Tech" group. Add physical count menu to Inventory and Barcode modules.
  4. Group design "Procurement" group. Add physical count menu to Inventory and Barcode modules.
  5. Run Group Customization Report to query the groups with Inventory ("modCmIn") and Barcode ("modCmBc") module customization.
  6. Group design each group to review the module menu for Inventory and Barcode. Ensure that only "Service-Tech" and "Procurement" group has the menu for physical count transactions.

 8. Example 2: Restrict Inventory Auto Re-Order Management

We will grant access to inventory auto re-order control to "Procurement" group only. The fields related to the auto re-order control are highlighted in the form below. The steps are:

  1. Group design "Custom system" group
  2. Go to Inventory | Site Inventory List, click an inventory row to open the inventory form.
  3. Edit the inventory, customize the edit form, drag and drop to remove the highlighted fields for re-order control from the edit form.
  4. Group design "Procurement" group
  5. Go to Inventory | Site Inventory List, click an inventory row to open the inventory form.
  6. Edit the inventory, customize the edit form, drag and drop to add the highlighted fields for re-order control to the edit form if applicable.
  7. Run Group Customization Report to query the groups with "CmInSiteViewEdit" customization.
  8. Group design each group to review the re-order control fields. Ensure that only "Procurement" group has the re-order control fields in the inventory edit form.

 9. Example 3: Securing Items Creation

In this example, items are the part and service catalog for inventory management. Item creation is only allowed for "Procurement" group. This is implemented through group design and form customization. The first part is to remove item creation from "Custom System" group so it is not available for all groups inheriting from it.

  1. Group design "Custom system" group
  2. Customize "Items - Part/Tool" (at Inventory | Items - Part/Tool) and drag and drop "Create" off the form. 
  3. The removal of "Create" from the form ensures no groups will have "Create" menu unless they overwrite the customization of the "Custom system" group.

 Next, customize "Procurement" group to add "Create" button to the Items screen.

  1. Group design "Procurement" group
  2. Customize "Items - Part/Tool" and drag and drop "Create" to the menu bar of the form. The menu will show at the end of the menu bar. Drag and drop it to the first spot of the menu bar. 
  3. Run Group Customization Report to query the groups with own "CmInViewList" customization.
  4. Group design each group to review the "Creation" menu. Ensure that only "Procurement" group has the "Create" menu in Items form.

10. Catalog of Module Permissions

A catalog of module permissions includes all the menu (forms and processes). Here are the steps to build out the catalog.

10.1 Admin Profiles

An admin profile has access to all the functions in Calem. A user needs to have an admin profile to build out the catalog. 

10.2 Catalog Matrix

A matrix may be used to catalog the permissions for a module. Each row of the matrix may include a menu in a module, and its drill-down. 

Additional resources