This is an old revision of the document!
This document describes the steps for defining and maintaining Roles, Profiles, and Users in Versago.
The following pages contain additional information that may be helpful with understanding these processes.
This information is intended for Versago administrators. End-users do not have access to this function.
Roles, profiles, and users are maintained in the Versago Admin console, under the “User Setuup” category.
Some Versago security configuration items are dependent on other configuration items. For example, Roles are used in most configurations, and must be defined before they can be used. In addition, Profiles must be defined before they can be assigned to users. The sequence of the next three topics reflects these relationships.
The purpose of Roles in Versago is to define which users have access to which objects. Every object is associated with at least one role.
In many cases a role will be associated with multiple objects. Conversely, a given object may be associated with multiple roles. Some thought should be given as to how roles need to be applied.
Additional examples of how roles might be used can be found in Using Versago Roles.
The Roles maintenance tool provides six functions.
Assigning a new role is most easily done using the process described here since all objects can be accessed from a single point.
Assigning roles to a new object is most easily done from that object.
Role assignments for Banners, News & Announcements, and Menus are only done from within the respective maintenance functions.
This tab is used to create or maintain basic information about a Role.
This option displays the standard Versago home page. This is the default option when a new role is created.
This option causes the designated report to be displayed when the user logs into Versago or clicks the logo to return to the home page. The “Landing Page” drop-down list displays all Versago reports associated with the current role for selection.
This option causes the designated dashboard to be displayed when the user logs into Versago or clicks the logo to return to the home page. The “Landing Page” drop-down list displays all Versago dashboards associated with the current role for selection.
This option causes the designated form to be displayed when the user logs into Versago or clicks the logo to return to the home page. The “Landing Page” drop-down list displays all Versago forms associated with the current role for selection.
In the remaining tabs, select the checkbox to associate the object with the role or clear the checkbox to disassociate the object from the role.
Use this function to associate/disassociate multiple users with the current role.
Use this function to associate/disassociate multiple reports with the current role.
Remember that reports used as look-up lists in forms or as sub-reports for other reports must also be assigned to the role.
Versago Profiles provide automatic filtering of data presented in reports. The difference between parameters and profiles is one of user control. Parameters are filters presented to the user, so they can control how the filtering occurs. However, with a profile the user cannot control how the filtering occurs.
Defining profiles will require knowledge of the source database, and how key values are stored and used in the associated applications. The examples used as illustration refer to SAP Business One, but profiles are not limited to that application.
Profiles are used to provide automatic data security. For example, assume you have a Versago report that lists customer invoices. You want to allow your customers to log into Versago and see a list of their invoices. By using a profile in the report that filters on the customer code associated with the user you can automatically limit the invoices in the list to those that have reference the user’s customer code. Additional examples of how profiles can be used can be found in Using Versago Profiles.
The profile maintenance tool provides three functions: creation of new profiles and maintenance of existing menus. Included in the maintenance process is the assignment of a profile to reports and forms.
Profiles are also assigned at the user level. This process is described in the Users section of this document.
All profile values are required and can be changed at any time.
The “Profile Fields” grid is used to identify the values (columns) in the source table that hold the filtering values. In most cases, there will only be one profile field value. However, multiple values can be defined if necessary. See Appendix B – Using Versago Profiles for an example of this or contact Third Wave support for assistance.
The values in the Profile Fields section can be changed at any time. However, any existing user profile associations will be removed and must be reassigned.
Users in Versago identify specific persons that can enter the Versago environment and use the various functions. Roles and Profiles are brought together in the process of defining a user.
The user maintenance tool provides two functions: creation of new users and maintenance of existing users.
In general, a user should not be deleted if they have posted any transactions through Versago Forms. In this case a better option is to mark the user as inactive. That way any references in reporting will remain intact.
The user maintenance function is displayed on a single page. The page is divided into two sections here for clarity.
Your Versago license limits the number of users that can be designated as active at any time. If you attempt to add or activate a user that will cause you to exceed the number of licensed users, an error message is displayed. The add/update process cannot continue until another user has been made inactive or you increase the number of users for your installation. Contact your Third Wave consultant if you need to add Versago users.
A user can be assigned multiple values for the same profile. In the example image above the user is associated with SlpCode 3 and SlpCode 5. When the profile filtering occurs in a report, any record with SlpCode 3 or 5 will be included in the results. This type of approach is helpful in situations like a sales manager, where the manager needs to see the information for all their reporting salespersons.
Versago Roles are used to control access to reports, dashboards, and forms. Instead of assigning specific objects to each user, objects are grouped together under roles. And then users are associated with roles.
Note: In Versago v2.1 the concept of custom menus was introduced. This functionality allows administrators to create custom menu structures for a role. While this approach provides a more flexible way of presenting the functions for a role, the concepts of user grouping for roles as described below still apply.
For example, assume you have ten reports, three dashboards and five forms related to sales activity. You have twenty sales users that all use these tools. Instead of associating the eighteen individual items with the twenty users, the items are “grouped” together under a single role. The twenty users are then associated with the role. By this single role association, the users automatically have access to all the functions associated with the role.
The following table illustrates how roles could be used. In this example we have sales users, inventory users, and external customers. To simplify the example, we will only refer to reports, but the same logic applies to dashboards and forms.
The reports include:
| Report | User Group(s) |
|---|---|
| Monthly sales by customer | Sales |
| Open Orders | Sales, Customer |
| Open Invoices | Sales, Customer |
| Invoices paid this period | Sales |
| A/R Aging | Sales, Customer |
| Available Inventory | Inventory, Sales |
| Open purchase orders | Inventory |
| Inventory by warehouse | Inventory |
At first glance it might seem that the roles could be Sales, Customer, and Inventory. Then the Open Orders report would be associated with the Sales and Customer roles. The problem with this is if we then assign a customer to the Sales role, they will also have access to the Sales-only reports.
There are two options to address this issue. One option is to create two separate reports: Sales – Internal and Sales – External. The reports would be identical in content, but the Internal version would be for the Sales role and the External version would be for the Customer role. The same logic would apply for the Available Inventory Report. So, our usage table would look like this.
| Report | Role |
|---|---|
| Monthly sales by customer | Sales |
| Open Orders - Internal | Sales |
| Open Invoices - Internal | Sales |
| A/R Aging – Internal | Sales |
| Available Inventory - Internal | Sales |
| Invoices paid this period | Sales |
| Open Orders – External | Customer |
| Open Invoices – External | Customer |
| A/R Aging | Customer |
| Available Inventory – Inventory | Inventory |
| Open purchase orders | Inventory |
| Inventory by warehouse | Inventory |
A second option would be to create some “combination” roles such as “SalesCustomer” and “SalesInventory.” The Sales users would be associated with both the “Sales” and “SalesCustomer” roles, while customers would be associated with the “SalesCustomer” role only.
| Report | Role | User Group(s) |
|---|---|---|
| Monthly sales by customer | Sales | Sales |
| Open Orders | SalesCustomer | Sales, Customer |
| Open Invoices | SalesCustomer | Sales, Customer |
| Invoices paid this period | Sales | Sales |
| A/R Aging | SalesCustomer | Sales, Customer |
| Available Inventory | SalesInventory | Sales, Inventory |
| Open purchase orders | Inventory | Inventory |
| Inventory by warehouse | Inventory | Inventory |
As you can probably see from this simple example, defining roles in situations where the object crosses functional user groups can be complicated. But with some thought you should be able to create a set of roles that meet your needs.
Versago Profiles are used to automatically filter report results based on specific identifiers associated with a user. A typical example of how a profile could be used is for reports used by salespersons. The reports should only show the information associated with the salesperson running the report. Another example might be a report that shows information to customers. Again, the reports should only show the information for the customer running the report.
To illustrate how a profile works we will use the salesperson example. We will be using the SAP Business One data structures.
In SAP Business One, a salesperson is assigned an internal numeric code. The database name of this value is “SlpCode.” When a sales document (order, invoice, etc.) is created, the numeric code of the salesperson is included in the document record. SAP Business One’s design is such that the salesperson code in the sales documents is also named “SlpCode.”
There are three things that need to happen in Versago for the process to work.
First, a Versago profile is created. The profile uses the SAP Business One salesperson table (OSLP) as the source of valid values.
The “Profile Field Identifier” value is the field (column) name that the profile filtering process expects to see in the report data.
Once a profile has been defined, we must tell Versago what values are valid for a given user. This is done in the user setup as described elsewhere in this document.
In some cases, a user may need to see information for more than value. This would be the case where a sales manager needs to see not only their information, but also the information for salespersons that report to them. In these cases you simply assign multiple profile values as shown above.
Since the filtering process takes place when a report is executed, we need to also define what profile(s) to use in the report. This is done in the report maintenance process.
As shown in this example, you simple indicate the “Filter Type” as Profile and select the desired profile as the “Filter Name.”
Using our example, if the user described above runs a report using the “SlpCode” profile, they will only see records where the “SlpCode” value equals 3 or 5.
Note: Both profiles and parameters can be used in a report
In the examples above, the value “SlpCode” has been present in the data being reported (the sales document). So, the profile filtering works with no issues. However, there may be situations where the name of the filtering column does not match This value in the source table. This situation can be addressed using multiple values in the profile setup.
In this example, we have some documents where the column to be filtered is named “SlpCode” and others where the column to be filtered is named “SlpCodeX.” As shown in the image below, we have created two profile entries.
One shows that the filtering column name might be “SlpCode” and the second shows that the filtering column name might be “SlpCodeX.” Now, we can use the same profile and the filtering will occur if a column name “SlpCode” or “SlpCodeX” is found.
When Versago Forms are being used, you may want to restrict a report that shows the records created via a form to the user that is running the report. You will need to do three things for this to work.
Third Wave suggests that when you create a Versago form you include three values: CreatedBy, CreatedById, and CreateDate. The column names are not significant; they are just suggestions. “CreatedBy” is the user name (Email). “CreatedById” is the numeric ID assigned to each Versago User. “CreateDate” is the date (or date time) the record is created. See the document “Versago Forms – Default Values” for information on how to capture these values automatically.
Here is a sample of how a profile for this purpose would be set up.
In this case the column name being used for filtering is “CreatedBy.”
Use this profile in a report of records created via a Versago form. The records will automatically be filtered based on the user running the report.