This document describes the layout of the Atrium database, and how to import users and menu items manually.
Users and Groups
In Atrium, each user and group is assigned a unique identifier. The assigned id must be entirely unique. For example, a user id number must be unique not only among other users, but also among any and all groups.
Unique id zero is reserved and should not be assigned to any user or group.
Users may also be supplemental members of multiple groups. Supplemental membership determines the user's navigation permissions.
User/group configuration records are keyed on the unique user or group id number. A configuration record with reserved id zero must always be present. This record contains the global configuration settings.
Navigation Items and Menu Permissions
Menu navigation items are also assigned a unique identifier. These identifiers cross reference to entries in the menu permission file to control which users/groups see which menu items.
Macros and Screens
Each Atrium macro has a unique Macro Id. Screen records have a separate Screen Id.
Below is a listing of key database files along with field usage.
Unique Ids File (ATUIDSP)
This file controls the next unique id number that is used by the Atrium GUI when creating new users, groups, and menu items.
This file always must contain 2 records, one with AUIFIELD = ‘GRPUSRID’ (next user or group id) and one with AUIFIELD = ‘ANITEM’ (next navigation item id).
If importing users and menu items programmatically, care must be taken to update field AUINEXT on these records so that the next number to be used is greater than the highest id number on the imported items.
If this is not done, the GUI will attempt to use invalid ids when adding users, groups, or navigation items and an error will result.
If your ATUIDSP file contains the following:
Then the next navigation item created (ATNAVP) would have the ANITEM value 255.
Configuration File (ATCONFIGP)
This file controls display options in Atrium. Each user or group and have their own settings. Or, they can inherit from their parent groups, or from a set of global defaults.
ACID: Unique user or group id. This is the unique key for this file.
When the portal loads, Atrium looks for a record in this file with the user id number. This will be present if the user has his own settings. If not, a record might not be present for the user. In this case, group settings will be checked using the user’s parent group id. This record also may not be present. In this case, prior parent group ids (if any) will be checked.
If nothing is found, the record with ACID = 0 (global settings) will be used. This record must always be present, or an error will occur.
ACBTITLE: This controls the title displayed in the browser title bar and/or browser tab. Can be set to any desired text.
ACBAN: Flag that controls whether a banner is displayed at the top of the portal. Set to ‘1’ or ‘0’.
ACBANHEIGHT: Controls the height (in pixels) of the banner. This is ignored if ACBAN = ‘0’.
ACBANURL: Sets the URL of the external HTML file that provides the banner content. The URL can be either a fully qualified URL, or an absolute path to an HTML file within the Profound UI http server’s document root folder. This field is ignored if ACBAN = ‘0’.
ACTHEME: Sets the color theme. Can be set to ‘blue’, ‘gray’, ‘olive’, or ‘slate’.
ACUTHEME: Controls whether or not the user gets an option on the Settings menu to set their own color theme. Set to ‘1’ or ‘0’.
ACSHOWHOME: Set to ‘1’ or ‘0’ to control whether or not a home page is shown automatically when the portal loads.
ACHOMEURL: Set to the unique navigation item number (field ANITEM in file ATNAVP) for the desired home page.
ACNTITLE: Controls the text that is displayed in the title bar of the navigation panel. Can be set to any desired text.
ACNWIDTH: Sets the starting width (in pixels) of the navigation panel when the portal loads. The user can resize the navigation panel during the session.
ACNTYPE: Controls whether the navigation panel is shown in the Tree or Accordion style. Set to ‘T’ or ‘A’.
ACNSCLICK: If set to ‘1’, navigation items will launch with a single click. If set to ‘0’, a double click is required.
ACSEARCH: Set to '0' to disable the menu search feature. Set to '1' to enable (this is the default if not set).
ACFAV: Set to '0' to disable the Favorites system. Set to '1' to enable (this is the default if not set).
ACLIMIT: Limit number of Atrium sessions, per web browser. Set to zero for no limit.
ACMINSRCH: Minimum characters for menu search.
Groups File (ATGROUPSP)
This file contains Atrium groups. Users and other groups can be assigned into a group to inherit display settings and/or menu permissions.
AGGROUP: Unique group identifier. This number must be unique not only among other groups, but also among user ids. Id zero is reserved and must not be used as a group id in this file.
AGPARENT: Parent group identifier. Set to a unique group identifier to assign this group into another one. Use AGPARENT = 0 for a top-level group which is not a member of any other.
AGNAME: Sets the display name for the group. Can be set to any desired text.
Users File (ATUSERSP)
This file contains a repository of users who are capable of signing into Atrium.
AUUSER: Unique user identifier. This number must be unique not only among other users, but also among group ids. Id zero is reserved and must not be used as a user id in this file.
AUGROUP: The parent group’s unique identifier. All users must be assigned into a valid group.
AUROLE: Sets the user’s access role.
Role ‘2’ is an Administrator. Administrators can perform any function in the portal.
Role ‘1’ is a Manager. Managers have the special capability to add/remove/update users within their own group or sub-groups thereof.
Role ‘0’ is a User, with no special capabilities. Users can only sign in and use navigation items for which they have been given permission.
AUEDIT: Controls whether or not the user will get the “My Settings” option on the Settings menu, which allows the user to control some of his own settings from file ATCONFIGP. Set to ‘1’ or ‘0’.
AUNAME: The display name for the user. Can be set to any desired text.
AUPROF: The user profile name. The name of the user profile must correspond to the user repository (i.e. IBM i operating system, Kerberos, LDAP, validation list, etc.) that is used to authenticate with the http server.
When IBM i profiles are used, this field must be set in uppercase. For all other types of users, the case used must match EXACTLY to the user profile name in the user repository.
AULANG: Optional language code for this user. Is used as a key to find menu item translations in file ATNTRANSP. If the language code is left blank, or there are no matching records in ATNTRANSP, the normal menu item texts are used.
Supplemental Groups (ATSUPGRPP)
This file contains supplemental members of groups. Both ASUUSER and ASUGROUP are primary keys; so, a user can be a member of multiple groups.
ASUUSER: User Id
ASUGROUP: Group Id
Navigation Items File (ATNAVP)
ANITEM: Unique key for this file. Provides an entirely unique identifier for this menu item. A server side program determines new values for ANITEM based on an entry in ATUIDSP (see above).
ANSECT: Controls the section of the portal this navigation item will display in. Set to ‘N’ (navigation panel), ‘T’ (toolbar), or ‘H’ (home pages).
ANPARENT: The parent item identifier. Set to a valid parent item identifier, or 0 for a top-level item with no parent. Top level toolbar items will show as a push button. Top level navigation items will show as an Accordion Panel or a Tree folder. Home page items MUST always be top-level items.
ANSEQ: Controls sequencing of child items within a parent. Must be unique within a parent/child combination. A server side program determines new values for ANSEQ: the next new value will be MAX(ANSEQ) + 1 for the given parent.
ANTYPE: Sets the type of item. Valid values are:
‘0’: Navigation panel menu group. Cannot be used to launch an action – these simply contain other items. Valid only when ANSECT = ‘N’.
‘1’: Navigation panel menu item. Used to launch an item. Contained within a menu group. Valid only when ANSECT = ‘N’.
‘2’: A push button. Valid only ANSECT = ‘T’.
‘3’: A separator bar. Provides visual separation of items in the toolbar. Valid only ANSECT = ‘T’.
‘4’: A spacer. Provides spacing between items in the toolbar. Valid only ANSECT = ‘T’.
‘6’: Pull down menu. Valid only ANSECT = ‘T’. Can be top-level, or contained within another pull down menu. Cannot be used to launch an action – these simply contain other items.
‘7’: Pull down menu item. Valid only ANSECT = ‘T’. Contained within a pull down menu. Used to launch an action.
ANACTNTYPE: Action type. Valid action types are:
‘0’: Web application.
‘1’: Profound UI Genie macro.
‘2’: Profound UI Rich Display File application.
'3': PC Command
ANACTN: Action. Set to the following, by action type:
Web application: Set to URL. The URL will simply be launched in the portal.
Profound UI Genie macro: Set to the unique macro id from ATMACROSP.
Profound UI Rich Display File application: Set to the qualified program name, for example:
ANTEXT: Sets the display text for the menu item. Can be set to any desired text.
ANICON: Set to the URL to provide a JPG, GIF, or PNG icon for this menu option. Recommended to use an absolute path to a file inside the Profound UI http server’s document root folder.
ANWINDOW: Flag that controls whether the item launches in a new portal tab, or a new browser window/tab. Set to ‘1’ for browser window/tab, set to ‘0’ for portal tab.
ANGURL: Alternate Genie URL when launching Genie macro. This can be used to launch to a specific skin, for example. Leave blank to use default Genie URL.
ANONCE: Set to ‘1’ if only one portal tab should be allowed for this menu item. Set to ‘0’ to allow opening multiple tabs for this item.
Navigation Items Translation File (ATNTRANSP)
This file provides text translation for navigation items. It can be used to present item text in different languages, based on the user profile.
ANTITEM: The navigation item to provide a translation for. This is set to the unique item id from ATNAVP.
ANTATTR: The attribute type to provide a translation for. Currently only item text is supported. All records should have this field set to 'MENUITEMTEXT'.
ANTLANG: The language code the translation is for. This is matched to the current user's language code setting (if provided) to determine which translations to use.
ANTTEXT: The translated text.
Menu Permissions File (ATAUTHP)
This file controls which users are allowed to access which menu items. The file uses the unique user/group and menu item ids to control access.
There is also a “public” permission record for each menu item that can be set to Allow or Deny. Optional user/group records can be added with Allow or Deny permission.
Authority is checked according to rules in Rules For Determining Permissions.
Authorities are checked starting with parent items. So, to get access to a menu item, the user must be allowed to access all parents in the hierarchy, in addition to the child item.
AAITEM: The unique menu item identifier, field ANITEM from file ATNAVP.
AAID: The user/group id for this permissions record, or 0 for the public permissions record. There is no need to have user/group permissions records, but there must always be a public permissions record for each and every menu item, or the portal will fail to load.
AAALLOW: Set to ‘1’ for Allow, ‘0’ for Deny.
Favorites File (ATFAVP)
AFUSERID: User Id
AFID: Unique Id
AFPARENT: Parent Id
AFSEQ: Sequence Number
AFFOLDER: Folder Flag. Set to 1 if this is a folder; set to 0 otherwise
AFCODE: Item Code
Macros File (ATMACROSP)
This file describes Atrium Macros.
AMID: Macro id
AMNAME: Macro Name
Screens File (ATSCRNSP)
This file describes Screens used by Atrium Macros.
ASID: Screen Id
ASNAME: Screen Name
Macro Screens (ATMSCRNSP)
This file identifies to which screens each macro applies.
AMSID: Macro Id
AMSSCRNSEQ: Screen Sequence
AMSSCRNID: Screen Id
AMSONCE: Screen is identified only once. Set to '1' to indicate a screen should only be detected once in the macro. '0' means it can be detected repeatedly.
Macro Actions (ATMACTNSP)
This file defines the action(s) to be taken for each macro on particular screens.
AMAID: Macro Id
AMASCRNSEQ: Screen Sequence. This is the Screen Id. Each screen is detected in the same order that its Id was added to this file. A screen may be added multiple times per macro.
AMAACTNSEQ: Action Sequence. This is the Macro Action Id. Each action occurs in the same order that its Id was added to this file. An action may be added multiple times per macro and screen.
AMAACTN: A single-character Action Id. Valid Actions are:
- 0: Write a value into a field
- 1: Press a key
- 5: Close the browser window or tab
AMAROW: Field Row. Value is 0 unless the action is 0–write a value into a field. For action 0, this identifies the terminal row where the field exists.
AMACOL: Field Column. Value is 0 unless action is 0. As with AMAROW, this this identifies the terminal column where the field exists.
AMAVARTYPE: Variable Type. A single-character Type Id. This field is ignored when action is 5. This describes the data in the AMAVAR field. Valid Types are:
- 0: A literal value. When action is 0, the value of AMAVAR is to be entered literally. When action is 1, the value of AMAVAR is the key to be pressed.
- 1: A variable value. Valid for action 0 or 1. When configuring a navigation item to use this macro, you will be prompted for the variable name. The value entered on the navigation item will be written into the field when the macro is run.
- 2: The current user profile. Valid only for action 0. Indicates that the current user profile should be entered into a field.
AMAVAR: Variable. This field is ignored when action is 5. This way this field's value is used depends on the Action (AMAACTN) and the variable type (AMAVARTYPE).