NetResults Tracker Knowledge Base Article
Enabling Record Visibility
Article ID  79
Article Type  Procedures / Documentation
Product  NetResults Tracker
Oldest Version  6.0.0
Newest Version  Latest Release
Publication Date  05/24/2004 12:39:58 PM
Last Updated  04/23/2019 10:12:56 AM
Warnings
None
Description
Record Visibility is a feature that allows you to restrict the records a user can access based on his/her user group membership. This is useful in environments where you need to limit the records that are accessible to customers or external users while still allowing these users to access records that are pertinent to their company or account. This article provides the steps to enable Record Visibility. Or, you can view a Flash demo which explains the same information as this article.

Decide whether you need Record Visibility
Record Visibility should only be enabled if it is really needed because it involves extra configuration. If the configuration is not set up correctly, users will not be able to access records you intend for them to access.

If you want to keep some of your Standard users from being able to access records added by other Standard users, you can use Record Visibility to achieve this. For example, if you have external customers, vendors or partners configured as Standard users and you don't want users from Company A to be able to see records added by users in Company B, Record Visibility can be used to be sure that users from Company A can only see records added by Company A. Details for how to set up Record Visibility for this particular scenario can be found in the Sample 1 section below.

If you have a mix of Standard and Restricted users in your system and you want to limit what records restricted users can access, but all of the standard users are allowed to see any record, you don't need to enable Record Visibility. Restricted users can only access the records they themselves have submitted. Record Visibility is not needed to ensure that Restricted users can only see certain records.

In cases where there is a mix of Standard and Restricted users and some of the standard users need to be able to see a subset of records (not all of them), you can use Record Visibility and additional settings available in Versions 6.5.0 or newer to achieve this. For example, if you have external customers, vendors or partners configured as Standard and Restricted users and you don't want users from Company A to be able to see records added by users in Company B, Record Visibility can be used to be sure that users from Company A can only see records added by Company A. See the information in Sample 2 for details on configuring for this scenario.

Enable Record Visibility in General Preferences

  1. Login to the workgroup as Admin
  2. Click on the Admin icon
  3. Click on the General Preferences button
  4. In the Record Visibility Options, select Yes for "Enable Record Visibility" option
  5. Select No for 'By default Include Group "Users" For Record Visibility on Add Operation'. This is necessary so that new records added to the workgroup are not visible to the Users group (all users in the workgroup) by default. If you are considering setting this option to Yes, you may not need to enable Record Visibility enabled. Contact NetResults Technical Support if you need help deciding whether Record Visibility is necessary for your configuration. Please provide some background information about what you are trying to achieve by enabling Record Visibility.
  6. Click Ok to save the changes made
More detailed information about the Record Visibility Options can be found in the General Preferences Help section.

Create User Groups and Set the Record Visibility privileges
Create the user groups you need. For example, if you are limiting visibility by customer or company, create a user group for each customer or company. You may also need a user group for internal users if you don't already have one or more user groups for internal users. If you are using Versions 6.0.0 or 6.0.1, you will need to give each new user group visibility to at least one project and form using the information in the Project Visibility Help section.

There are privileges available that you can grant to internal users to manage Record Visibility. For any internal user groups that need to be able to set visibility of records, please grant the user groups the "Edit Record Visibility" privilege. Members of user groups with this privilege will have in the "Make Visible to These User Groups" field displayed on the Add and Edit pages in Tracker. The "Make Visible to These User Groups" field allows a user to select which user groups should be able to access the record.

For any user groups that need to be able to see any record in the system regardless of who submitted it, grant the user group the privilege "Override Record Visibility".

To grant the Record Visibility privileges:

  1. Login as Admin and click on the Admin icon
  2. Click on the User Accounts link (or User Administration button)
  3. Click on the Manage Groups (or Edit Groups) button
  4. Click on the Edit button to the left of the user group to which you want to grant Record Visibility privileges. Please note that all users are members of the Users group. Granting Record Visibility privileges to the Users group is not advised as it defeats the purpose of the Record Visibility feature.
  5. Check the box(es) of the Record Visibility privilege(s) you wish to grant to this user group
  6. Click OK to save the changes
More information about granting user group privileges can be found in the User Administration - Privileges Help section.

User Group Membership for External Users
For any user that is not a member of a user group with the privilege "Override Record Visibility" (most likely all external users or customers), add the user to at least one user group other than the "Users" group so that this user can see the records he/she reported. You can create a user group where this user is the sole member if needed. This is required because by setting the option "By Default Include Group 'Users' for Record Visibility on Add Operation" to No in the General Preferences, any records added to the system will not be accessible to members of the Users group. If the user is a member of only "Users" group then he/she cannot even view the records they submitted.

To create a user group and add a user as a member of the new group:

  1. Login as Admin and click on the Admin icon
  2. Click on the User Accounts link (or User Administration button)
  3. Click on the Manage Groups (or Edit Groups) button
  4. Click on the Add Group button
  5. Enter a name and description for the new user group, select the type of user group you are creating, then click on the Add Group button
  6. Check the boxes for the privileges this user group should be granted, then click OK
  7. Click on the Users button to the left of the new user group
  8. In the Not Members column, click on a user, then click on the Add button to add the user as a member of this user group. Repeat this step to add more users to this user group
  9. Click OK

Information about user groups can be found in User Administration - Groups Help section.

Setting Visibility for Existing Records
By default, any existing records are visible to the Users group (which includes all users in the workgroup). If you are enabling Record Visibility after records have already been added to the workgroup, you may wish to set the visibility for existing records. You can use the Edit Records operation on the Query Results page. To use the Edit Records operation and set the visibility for records, you must be a member of a user group with the "Edit Query Result Set" and "Edit Record Visibility" privileges enabled. More information can be found in Privileges Help section. It is recommended that you enable these privileges for the Admin user group to perform the steps below.

To set the visibility for existing records:

Note: Please ensure you have a backup of your workgroup database and attachments as the Edit Records operation cannot be undone.

  1. Login as Admin (or a user with the required privileges mentioned above)
  2. Click on the Query icon
  3. Click on the Clear button
  4. Enter criteria to return the set of records for which you wish to change the visibility. or, if you wish to return all records, do not enter any criteria.
  5. Click on the Run Query button
  6. Click on the Edit Records icon in the upper right corner
  7. In the field "Make Visible to These User Groups", select the user group(s) to which you wish to make this set of records visible. To select multiple user groups, hold down the Ctrl button on your keyboard as you select the user groups.
  8. Click OK to save the change and click OK to confirm the operation
Create any reports you may need to allow users to see the appropriate issues
Details on creating reports can be found in the Using Saved Queries and Reports Help section.

Sample Record Visibility Configurations
Here are samples of the most common uses for Record Visibility and how to configure them.

Sample 1 - Limit Standard users to only see records added by their user group
This is a very common scenario. For example, your organization serves many different customers, companies, vendors or external partners. You need to set up Tracker such that internal users can see any records irrespective of who added them, but need to ensure that external users can only see records for their own company or group.

Let's say we have these user groups to manage:

  • Internal Users - these users should be able to see any record irrespective of who added it to the system
  • Company A - these users should only be able to see records added by users from Company A
  • Company B - these user should only be able to see records added by users from Company B
To configure Record Visibility for this scenario, perform the following steps. Click on the link listed in the step heading for detailed instructions for performing that step:
  1. Enable Record Visibility in the General Preferences section
  2. Create User Groups and Enable Privileges
    For this scenario, create a "Company A" user group and a "Company B" user group. Create a user group for internal user groups if needed (or simply grant the appropriate privileges (more on this below) to existing user groups you have for your internal users such as "Developers", "QA", "Help Desk", "Support", "Managers", etc.).

    Regarding the privileges, your internal user group (or groups) should be given the "Override Record Visibility" privilege since you want them to be able to see any record added to the system. If there are internal user groups who will be adding records on behalf of unregistered users (e.g. Support or Help Desk Engineers who may be submitting tickets on behalf of unregistered users), these internal user groups may need the "Edit Record Visibility" privilege so that when they submit a record they can select which user group(s) can see the new record.

    Click here to see detailed information for this step.

  3. User Group Membership for External Users
    So in this step you are making sure that all users from Company A are added to the "Company A" user group and likewise for Company B. Click here for more detailed information for performing this step.
  4. Setting Visibility for Existing Records
    If you are configuring Record Visibility after you've already added some records into your system, you'll need to set the visibility on these existing records. So for example, for any records added by members of the Company A user group, you should set the record visibility to select the "Company A" user group. Click here for details about this step.

Sample 2 - Mix of Standard and Restricted Users, some groups of standard users can only see some records
For example, your organization serves many different customers, companies, vendors or external partners. You need to set up Tracker such that internal users can see any records irrespective of who added them, but need to ensure that external users can only see records for their own company or group.

Let's say we have these user groups to manage:

  • Internal Users - these users should be able to see any record irrespective of who added it to the system
  • Company A Standard Users - these users should only be able to see records added by standard and restricted users from Company A
  • Company A Restricted Users - each user in this group should only be able to see records they themselves have added
  • Company B Standard Users - these user should only be able to see records added by standard and restricted users from Company B
  • Company B Restricted Users - each user in this group should only be able to see records they themselves have added
To configure Record Visibility for this scenario, perform the following steps. Click on the link listed in the step heading for detailed instructions for performing that step:
  1. Enable Record Visibility in the General Preferences section
  2. Create User Groups and Enable Privileges
    For this scenario, create the following user groups:
    • "Company A Std" user group (select "Standard" as the type of user group) - all users from Company A which are standard users will be members of this user group
    • "Company A Rest" user group (select "Restricted" as the type of user group) - all users from Company A which are restricted user will be members of this user group
    • "Company B Std" user group (select "Standard" as the type of user group) - all users from Company B which are standard users will be members of this user group
    • "Company B Rest" user group (select "Restricted" as the type of user group) - all users from Company B which are restricted user will be members of this user group
    Create a user group for internal user groups if needed (or simply grant the appropriate privileges (more on this below) to existing user groups you have for your internal users such as "Developers", "QA", "Help Desk", "Support", "Managers", etc.).

    Regarding the privileges, your internal user group (or groups) should be given the "Override Record Visibility" privilege since you want them to be able to see any record added to the system. If there are internal user groups who will be adding records on behalf of unregistered users (e.g. Support or Help Desk Engineers who may be submitting tickets on behalf of unregistered users), these internal user groups may need the "Edit Record Visibility" privilege so that when they submit a record they can select which user group(s) can see the new record.

    In this scenario it is very important to set the "Make Visible to Groups" privilege on the restricted user groups (e.g. "Company A Rest" and "Company B Rest"). For example, for the "Company A Rest" user group, you need to select "Company A Std" in the "Make Visible to Groups" privilege so that the standard users from Company A can automatically see records added by restricted users from Company A as they are added to the system.

    Click here to see detailed information for this step.

  3. User Group Membership for External Users
    So in this step you are making sure that all standard users from Company A are added to the "Company A Std" user group and all restricted users from Company A are added to the "Company A Rest" user group. Similarly for Company B. Click here for more detailed information for performing this step.
  4. Setting Visibility for Existing Records
    If you are configuring Record Visibility after you've already added some records into your system, you'll need to set the visibility on these existing records. So for example, for any records added by any standard or restricted users from Company A, you should set the record visibility to select the "Company A Std" user group. Click here for details about this step.
  5. Create any reports you may need to allow users to see the records for their company
    For example, you may want a report that will allow the users in the "Company A Std" user group to see all records for Company A. To achieve this, create a saved query with Reported By set with "[Company A Std]" and "[Company A Rest]" selected. This will return all records that were reported by users in either of those user groups. Details on creating reports can be found here.
Workaround
None