System Configuration
Configuration Records
Select the configuration record you want to modify. You can optionally specify an application and/or user this configuration applies to.
CFG_ASSEMBLY: Select Desired Revelation Assembly. Choose which assembly contains the common OpenInsight .NET routines. When running OpenInsight version 10 and above, choose "Revelation4"; for prior versions of OpenInsight, choose "Revelation"
1. Selected Assembly (Revelation = pre-OpenInsight 10; Revelation4 = OpenInsight 10+)
2. Optional cache flag: set to ‘1’ to cache the current settings of Revelation or Revelation4, or set to ‘0’ (or leave blank) to read this value for each request
CFG_AUTOEXEC: Configure process to automatically run via RTI_AUTOEXEC. When OpenInsight is started with the "/AE" flag on the command line, RTI_AUTOEXEC will automatically be loaded and will run the routine specified in this CFG_AUTOEXEC record. By default, the routine to run is RTI_TASKMANAGER (which dispatches requests for 'background tasks' to be handled by other OpenInsight instances), and the parameter to pass in is the maximum number of OpenInsight licenses to allocate to performing the background tasks.
1. Name of routine to run at startup {DEFAULT RTI_TASKMANAGER}
2. Parameters to pass to the specified routine]
CFG_CCHAT: Specify whether Command Chat functionality will be enabled. You can also enable specific workstations.
CFG_CREATE_TABLE: Specify the default values to be used for table creation.
CFG_CTO: Controls CTO and AREV32 connection behavior
* 1. IP Address of engineserver, or path to revcap32.dll (may be . or windows path, or URL of EngineServer)
* 2. Port number {]EngineName]StartupFlags]ShutdownFlags}
* 3. foreground color name
* 4. background color name
* 5. title
* 6. routine to run (may be explicit string «NONE» to override default behavior of calling AREV32 when using AREV32_CHILD_FORM/AREV32_STANDALONE_FORM)
* 7. Font name
* 8. Macro record name (or <table><space><record name> if not in SYSENV)
* 9. Optional character/Unicode mapping routine
CFG_CTODICT: Used to control AREV32 and CTO dictionary handling
Field 1: "1" does not modify the dictionary ID during the read or write process, "0" the dictionary ID may be modified (which is the default behavior)
CFG_ESERVER: Engine Server Details. Specify the host name or IP address and port number of the engine server used by this application
1. Host name or IP address (default “localhost”)
2. Port number (default 18088)
CFG_HASHTABLE: Selects hashtable implementation. Set field 1 to RTI_HASHTABLE1 to use the RTP65 based hashtable, RTI_HASHTABLE2 to use the .NET hashtable, or RTI_HASHTABLE3 to use the latest COM based scripting implementation
CFG_IDX_SETS: Used to determine which version of IDX_SETS are used original or .NET
Field 1: X
Field 2: blank (to use most recent version of .NET), or IDX_SETS1 to use original IDX_SETS
CFG_INET: Controls RUN_OECGI_REQUEST behavior, used by both INET_ and O4W_ routines
Security Routine (INET_SECURITY) ] Wrapup Routine (INET_FINALIZE) ] Abort routine (INET_ABORTED) ] White list routine (INET_WHITELIST)
Error text (@TM delimited)
Default CGI extension (.CGI) ] Default page url portion (/page)
Blank by default, set to 1 to have multiple instances of variables in the queryparam reduced to just the first instance
@VM delimited list of INET_xxx routines that are allowed to run
If the requesting client (browser, for example) supports “compression”, it passes in the type(s) of compression it supports; these values are compared to CFG_INET’s list of supported compression routines, and – if a match is found between what CFG_INET supports and what has been asked for, and the size of the generated HTML warrants it –the output will be compressed to improve performance.
Field 6, value 1: name of primary “compression” algorithm to support (options are gzip, deflate, or identity (which means none)). Default is deflate.
Field 6, value 2: name of secondary “compression” algorithm to support (options are gzip, deflate, or identity (which means none)). Default is gzip.
Field 7: minimum size of returned HTML to compress (default 1000). If the size of the generated HTML is less than this value, the generated HTML will not be compressed. Set this value to -1 to disable compression entirely.
CFG_LOGIN: Used to determine whether OI does single sign on, and how it validates users
*------------------------------------------------------- * SYSENV*CFG_LOGIN *------------------------------------------------------- * This record controls single sign on behavior * Set loginmode (field 1) , user groups ( fields 2,3, 4) validation mode (field 5) as needed * Save as CFG_LOGIN*MYAPP to make an application specific setting * Save as CFG_LOGIN to affect all applications in this copy of OpenInsight *--- * Layout *--- * <1> = LoginMode * <2> = LDAP Groups whose members are Normal users * <3> = LDAP Groups whose members are Admin users * <4> = LDAP Groups whose members are Sysadmin users * <5> = Validation Mode *--- *-- * LoginMode Description *-- * LoginMode = "0" (or "" or invalid) ==> use legacy authentication, require a username/password combination define in the OpenInsight application users list. * LoginMode = "1" ==> get network user name, no password required, user name must exist in OpenInsight application users list. * LoginMode = "2" ==> get network user name, no password required, user must be a member of a network group listed in config record <2>, <3>, or <4> *--- * Notes *-- * The Login process will search for a record named CFG_LOGIN*appname, for example CFG_LOGIN*EXAMPLES * If that record does not exist OI will search for this record, CFG_LOGIN * If CFG_LOGIN does not exist OI will behave as if loginmode = 0
CFG_NETOI: Used to process many common output conversion codes locally, rather than on the host
Field 1 is either 0 (NetOI will not process the conversion codes locally, but will continue to rely on the host for all OCONV processing) or 1, (NetOI will process the available conversion codes locally and not on the host)
CFG_O4W: Used for embedded O4W forms (specifically, the O4W_CHILD_FORM and O4W_STANDALONE_FORM)
/* Layout of CFG_O4W{*{<appid>}{*<userid>}} * 1. Default URL (used if no create params specified) * 2. {Default Width] Default Height} * 3. SiteName ] * 4. URL for site ] * {5. Title] } * {6. ProgType] } * {7. ProgDetail] } * {8. Width] } * {9. Height] } * {10. Secure flag] } */
CFG_O4WPROXY: Customization of OpenInsight Console Login Process. When the OpenInsight Console accesses system variables located in non-SYSPROG accounts, it must create an additional Engine to actually "log in" to those accounts. This record controls and configures how that other Engine is started.
1. X
2. Optional Stored Procedure to run when starting up application-specific Engine
CFG_OIBRW: Used to control the new Banded Report Writer
* 1. path or url to use for connection (use . Or windows path for direct connection, or EngineServer URL) * 2. Port (for EngineServer, if used) * 3. engineName (blank to auto-determine, or * to use the current oengine) * 4. Startupflags (blank for defaults, 0 if using the current oengine) * 5. Shutdownflags (blank for defaults, 0 if using the current oengine) * 6. Routine to return tables and procedures (blank for default RTI_BRW_FILTER) * 9. <intentionally left empty> * 10. Optional UTF8 override: set to '1' to always use UTF8 mode, set to '0' to always use ANSI mode, or leave blank to determine based on current OpenInsight value
CFG_OIPI: Used to control which print engine (OIPI or OIPI.NET) is used
* 1. is either VSPRINTER2 (which uses OIPI.NET) or anything else (which used OIPI)
* 2. Optional cache flag: set to '1' to cache the current settings of VSPRINTER2 or VSPRINTER, or set to '0' (or leave blank) to read this value for each request
CFG_OPENID: O4W OpenID Support. Allows O4W Users to log in using an OpenID provider and ID, and optionally associate that OpenID identity with an O4W permissions record.
Both OpenID and OIDC are configured via the CFG_OPENID record in SYSENV. Developers/Site administrators can create an application- and user-specific version of this record, named CFG_OPENID*<appid>*<username> (for example, CFG_OPENID*MYAPP*SAMPLEUSER), or a user-specific version (CFG_OPENID**<username>), or an application-specific version (CFG_OPENID*<appid>), rather than using the global CFG_OPENID record, if desired.
Field 1 of the configuration record defines which version, if any, of OpenID is supported by O4W. If field 1 is set to "0", then OpenID is not supported at all. If field 1 is set to "1", then OpenID (the original implementation) is used. If field 1 is set to "2", OpenID Connect (the current version) is used.
If either original OpenID or OpenID Connect is selected, additional fields must be completed to specify how O4W should use OpenID.
Field 2 is the name of the defined O4W user (created via the O4W User Maintenance form) that should be used when an OpenID or OpenID Connect user logs in, if they choose not to create their own O4W user. This allows developers/system administrators to control the permissions level of OpenID/OIDC users.
Field 3 specifies the overall layout of the user interface. If set to "0", then only the O4W login screen will be displayed; if set to "1", the O4W login screen will be displayed on the left hand side of the screen and the OpenID login screen will be displayed on the right hand side of the screen; if set to "2", the OpenID login screen will be on the left and the O4W screen will be on the right; and if set to "-1", then only the OpenID login screen will be displayed.
Field 4 is multivalued; value 1, if set to "1", indicates that O4W should attempt to match OpenID/OIDC users to O4W users. Value 2, if set to "1", indicates that O4W should allow OpenID/OIDC users to create new O4W users when logging in.
Field 5 optionally specifies the name of the "matching" routine to use, if field 4 value 1 is set to "1". This can be left blank for the default routine to be used.
Field 6 optionaly contains the name of a record to create that will contain "debugging" information for the OpenID/OIDC session. This is normally left blank.
Fields 10 through 24 _only_ apply to OpenID Connect; they control both the user interface display, and the actual details, used for each connection.
The OIDC protocol allows for "dynamic selection" of OpenID Connect providers based on either URL or email address. If developers/site administrators wish to allow the entry of URLs and/or email addresses (rather than restrict the use of OpenID Connect to specifically defined providers), they can enter the prompt text to display to their end users in field 10. Leave this field blank to disallow "dynamic selection" (Note: at this time, most providers do not support "dynamic selection").
The OIDC protocol also allows for "dynamic registration" of OpenID Connect clients, such as O4W. If developers/site administrators wish to allow for dynamic registration, they must set the value of field 11 to "1", and specify a name to use for their application in field 12. (Note: at this time, many providers, such as Google, do not support dynamic registration).
If desired, an optional "stylesheet" can be specified in field 13; this will be included in the OpenID Connect user interface, and can be referenced in field 17.
For each OpenID Connect provider that the developer/site administrator wishes to explicitly allow, fields 15 through 24 contain the pre-registered information for that provider (thus, fields 15 through 24 are associated multivalues, one value per OpenID Connect provider).
Field 15 contains the "user friendly" name of the OpenID Connect provider to display (for example, "Google+" or "AOL"). Field 16 contains the URL of an image (if available) for that provider (for example, the "Login with Google+" button image). Field 17 can optionally contain a style name (from the included style sheet specified in field 13), or explicit CSS styling, to control the display of the OpenID Connect provider information.
OpenID Connect providers can provide a discovery "endpoint URL", which O4W can use to determine the other relevant URLs needed for OpenID Connect (for example, the discovery endpoint URL for Google is currently https://accounts.google.com/.well-known/openid-configuration). If available, this discovery endpoint url should be specified in field 18. If a discovery endpoint URL is not available for a specific OpenID Connect provider (or if you wish to explicitly specify the other endpoint URLs to improve performance), they should be specified in field 19 (the authorizatione endpoint URL), field 20 (the token endpoint URL), and field 21 (the dynamic registration endpoint URL, if dynamic registration is supported for this OpenID Connect provider).
After pre-registering your application with an OpenID Connect provider, you will be given a unique client ID and possibly a "client secret". These should be put into field 22 (the client ID) and field 23 (the client secret). During the pre-registration process, you will be required to specify one or more "redirect URLs", which tell the OpenID Connect provider what URLs are valid for your application. These URLs should be the full URL to O4W_LOGIN - for example, http://www.mysite.com/myapp/oecgi4.exe/O4W_LOGIN and/or https://www.mysite.com/myapp/oecgi4.exe/O4W_LOGIN. Put the desired redirect URL (which must be amongst those specified during the pre-registration process) into field 24.
Example OpenID Configuration Record
1. 1 2. OPENID 3. 1 4. 1ý1 5. 6.
Example OpenID Connect Configuration Record
1. 2 2. OPENID 3. 1 4. 1ý1 5. 6. 7. 8. 9. 10. 11. 0 12. O4W Example Application 13. ../stylesheet/oidc.css 14. 15. Google+ 16. ../images/googleplus.png 17. style="background-color:blue" 18. https://accounts.google.com/.well-known/openid-configuration 19. 20. 21. 22. 806530045098-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com 23. ZZxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyJ 24. http://www.mysite.com/myapp/oecgi4.exe/O4W_LOGIN
CFG_QPTR: Used for q-pointer persistence configuration (in CTO/AREV32/OI)
*------------------------------------------------------- * SYSENV*CFG_QPTR *------------------------------------------------------- * This record controls Q-POINTER (dynamic table access) behavior * Set cache flag (field 1) * Save as CFG_QPTR*MYAPP*MYUSER to make an application and user specific setting * Save as CFG_QPTR%%**%%MYUSER to make a user specific setting * Save as CFG_QPTR*MYAPP to make an application specific setting * Save as CFG_QPTR to make a global setting *--- * Layout *--- * <1> = Cache flag *--- *-- * Cache flag Description *-- * Cache flag = "0" (or "" or invalid) ==> Always resolve q-pointer record information, do not cache tables when found * Cache flag = "1" ==>%%**%%%%**%% Once resolved, retain resolved information in cache for increased performance *--- * Notes *-- * - The config record information is only accessed when the application starts up; changes to this record will not take effect until the user exits and re-enters OI * - The "Open File" process will search for a record named CFG_QPTR*appname*username, for example CFG_QPTR*EXAMPLES*SAMPLEUSER * -- If that record does not exist OI will search for this record, CFG_QPTRusername, for example CFG_QPTRSAMPLEUSER * -- If that record does not exist OI will search for this record, CFG_QPTR*appname, for example CFG_QPTR*EXAMPLES * -- If that record does not exist OI will search for this record, CFG_QPTR * - If no CFG_QPTR records are found OI will behave as if cache flag = 0 * - When cache flag is "0": * -- OI will resolve the q-pointer each time the q-pointer is accessed * -- Any changes to any q-pointer will be immediately seen when the q-pointer is next accessed * - When cache flag is "1": * -- OI will resolve the q-pointer only when the q-pointer is first accessed * -- Any changes to a previously-accessed q-pointer will NOT be reflected when the q-pointer is next accessed - the previously-resolved table will continue to be used * -- To see any changes to a previously-accessed q-pointer, you must either exit and re-enter OI, * -- or run DETACH_TABLE on the q-pointer table (for example, "DETACH_TABLE QPTR")
Environment Settings
Select the environment settings application to update and enter the password for the administrative user for the application selected.
General Tab
Default Directories
Sort Path: Specifies the directory in which sorts take place.
Data Path: Specifies the default data path for the database. A BROWSE button is provided to assist in locating the directory.
Localization
None: When selected, Localization is not in place and OpenInsight will use its own default settings. The OpenInsight default settings are for the United States.
Use LND: When selected, the developer may set the Localization to a specific Language Set. The specific set is chose from "Select Language Set" button to the right of the Language Set editline.
Windows Locale: When selected, Localization is set to use the Locale settings from the Windows operating system.
Debugger Settings
Disable: When selected, the Debugger tool is disabled. The Debugger is not launched if an error is encountered when executing code.
Enable: When checked, the Debugger tool is enabled. The Debugger is launched if an error is encountered when executing code.
Intercept Routine: The name of the routine to call when Intercept is selected. If a routine is not defined then the Debugger_Replacement() function is called.
General
SQL Null String: Specifies the string that displays when a null value is returned from the database
TimeDate Format: Sets the format for the date and time. The default is U.S. standard date format.
Default I/O Conversion: When checked, provides the default I/O conversion for displaying data.
Sort Tables by Database ID on Add Tables Dialog: When checked, the tables displayed within the Add Tables Dialog Box are sorted alphabetically by Database ID. Otherwise, they are displayed in alphabetically without regard to Database ID.
Repository Log Entries: Specifies the number of entries in entity history log found in Application Manager. The default is ten.
Arev32 Settings
Create Arev32 User: When checked, OpenInsight will create Arev32 user information when new OpenInsight users are added.
Save Precompiled Source: When checked , a copy of ARev32/CTO converted source is saved within the system.
When a Basic+ routine is compiled under AREV32 or CTO, it runs through a precompiler to convert non-OpenInsight Basic syntax into OpenInsight acceptable code. A copy of this converted source can be saved on the system, in the table OI_PRECOMPILED_CODE, with the record name <sourcetable>_<procedurename> (ie, BP_TEST). This saved version of the precompiled code is useful for debugging.
Unique Station ID
Append ProcessID to @Station: When checked the ProcessID is appended to the @Station variable.
Indexes/Reports Tab
Default Stop List
List: The default stop list a list of words that are ignored when building, updating and searching Cross Reference indices.
Form Defaults
Form Height: Specifies the number of lines in a report page. Used in RList reports only.
Form Width: Specifies the width of a report page in characters. Used in RList reports.
OIPI Default
Shadow Format: OIPI will create various report files when reports are previewed. The ability to create both HTML and RTF files is not allowed. The Default Shadow Format will determine which file type to create by default.
Default Save Path: The default path to be used when displaying the "Save" dialog from the OIPI Print Preview window.
Indexing
Delay before Indexing: The number of seconds that any workstation should be idle before the index update process commences.
Case Sensitive Query: When checked, query criteria is sensitive to case when selecting rows.
Update Before Query: When checked, index updates will occur before each query. Note: Only SELECT and LIST queries will update indices prior to the query. BTREE.EXTRACT queries will not update indices, using this setting.
Update Before Btree Extract: When checked, Btree index updates will occur before each Btree.Extact query.
Update 0 Keys on Related Indexes: When checked, will update keys with a value of zero (0) in relational indices.
Concurrency Tab
Directories
Transaction Log Path: Specifies the location of the temporary files used for a workstation's transactions. The default setting is the TRANSACT directory residing in the default OpenInsight directory.
Commit Log Path: Specifies the location of the commit log.
Consistency Lock Type
None: Disables implicit locking. In order to lock records and tables, you must lock them explicitly using BASIC+ commands.
Update: Exclusive locks during updates of tables or records. The lock is held for the duration of the update operation. No locking takes place during queries.
Transaction: Exclusive locks during updates for the duration of each transaction. When the transaction is committed or rolled back the locks are released. No locking is done for queries
Query: Exclusive locks during updates for the duration of each transaction. In addition, it sets shared locks during queries for the duration of each query.
SQL Lock Type
Specifies the type of locking that should occur during the transaction.
Deadlock Resolution
When a deadlock situation is detected, one of the conflicting transactions must be rolled back. This option allows for the rollback of the Youngest (or most recent) transaction or the Least Active transaction.
Ungrouped Items
Unlock all at Commit: To enable the release of locks at commit, check this item.
Co-ordinated Locking: To coordinate table and row locks, check this item.
Autotransaction Start: To begin transactions automatically, check this item.
Commit Protection: To control queuing for data integrity, check this item.
Maximum Locks: You can limit the number of locks held by the workstation using this control. The default setting of zero (0) disables the lock limit.
Transaction Fail Timeout: The number of seconds before the transaction times out in a wait situation.
Deadlock: The number of seconds before deadlock checking is begun and locks are posted.
Deadlock Check: The number of seconds for checking deadlocks after the deadlock process has been started.
Report Security – Tables Tab
Select Tables to Exclude: A list box containing all available tables to report.
Selected Tables to Exclude: A list box containing tables to exclude from the Report Builder and Banded Report Writer.
Report Security – Columns Tab
Table Name: Select a table for which you want to exclude fields from being displayed in reports.
Select Fields to Exclude: A list box containing all available fields.
Selected Fields to Exclude: A list box containing fields to exclude from the Report Builder and Banded Report Writer.
Authorization Code
OpenInsight 10.0 and above requires an authorization code to renew the license or change the license count.
Enter the Authorization Code provided to you by Revelation Software or your software vendor and then click the Authorize button. The authorization code must be entered in the following format:
#####-#####-#####-#####-#####-#####
If the Authorization Code is valid then the following message will be displayed.
Press the Yes, this information is correct button to relicense OpenInsight.
If the Authorization Code is invalid or the authorization program was unable to update the license then the Authorization Error message will be displayed.
1. Error codes:
• -101: Expired authentication code
• -100: Bad authentication checksum
• -2: Missing signature field
• -99: Missing feature field
• -96: Mismatched feature field
• -1: Missing authentication code information
• -97: Invalid authorization code
2. Expiration types:
• 0 – Never expires
• 1 – Multiple notifications when expired
• 2 – Single notification when expired
• 3 – System will not boot when expired