The View Management module permits us to fine tune the sharing rules of filters on each module and a view itself.

The record has two "modes", one for the settings of a filter and another for the default permissions of the module. This dual mode is defined by the value of the "Default Setting" checkbox.

To set the permission for a view, we uncheck the "Default Setting" checkbox which puts the record in View permission mode. Then we can select the User, Group or Role for which we want to set the permissions. Finally, we set the CRUD-A permissions and the Default status. We can make this the mandatory setting for the selected User/Group/Role.

If the "Default Setting" is checked then you must select the module for which you want to set the permissions and mark the permission set you want. This will define the default permissions on all views for the selected modules if no other record with specific settings is found.

So, for any view we can select that view in the initial picklist and then select the user and set the Retrieve, Update, Delete and Approve permissions that user will have over the filter.

With the "Default Setting" set to true, we can define the Create, Retrieve, Update, Delete and Approve permissions that all users will have over in the module.

Sync with List View Filters

When a new filter is created on a module, the application will automatically create a cbCVManagement record with these settings:

  • User set to the user creating the filter
  • SubRoles of the user will be set
  • C = F
  • R = T
  • U = T
  • D = T
  • A = F
  • Default View = F
  • Mandatory = F
  • Default Setting = F
  • Module List = Empty
  • Set Public = T

This will permit you to create a workflow that detects the "Set Public" checkbox and send an email to any user who needs to Approve the filter for other users.

When a filter is updated, the shared fields are updated.

Escalation Rules

The escalation process followed to decide if a view is accessible or not is

  • search for a mandatory default record
  • search for a non-mandatory record that belongs to the role of the user
  • search for a non-mandatory record assigned to the user
  • search for a non-mandatory record assigned to any group of the user
  • search for a non-mandatory record as the default setting for the module
  • if no record is found then the ALL view for the module will be returned
  • if no record is found then an empty array will be returned

Developement

From a developer point of view, the module gives a set of services:

  • getDefaultView(module, user): which returns the default view for a module and user
  • getAllViews(module, user): will return all the views a user has access to on the module
  • getPermission(CustomViewID, user): CRUD-A permissions on the filter or Module if the filter is ALL The getAllViews service can be retrieved via the getAllViewsByModule web service method.
Updates