Content

Security Options

Automation Options

Poll and Scheduling Options

Server Ping Options

Housekeeping Settings

User Options

Logon Options

Business Objects Options

Animation Options

Notification Options

Logging and Stats Options

Logging Overview

Log Options

Additional Logging Information

LabVantage Logging API

 

Configuration Transfer Options

API Options

Custom Business Rules (SDC Rules)

Custom SQL Register

ExecSQL Action

Action Locking Options

Miscellaneous Options

Application Settings

Mail Settings

RSet and SQL Control

Stability Data Definitions

Translations

File Management

 

Security Options

Top ../images/arwup.gif (846 bytes)
Option Description
Max Logon Attempts Indicates the maximum number of times a user can incorrectly enter a password before the account is disabled.
Max logon attempts before cooldown

Indicates the number of times a user can incorrectly enter a password before their account begins to require a longer wait time between successive attempts (cooldown period). Each failed attempt extends the wait time up to the "Max cooldown time" or until the "Max Logon Attempts" is reached. Cooldown time gets reset if forgot password is used. Cooldown time is reset if user is enabled by a system administrator on the user list page. This number should be less than the "Max Logon Attempts" in order to activate this feature.

Ecample of a user account that has entered the cooldown period as seen from the User List page:

Max cooldown time Indicates the maximum cooldown time in seconds.
Log Successful Logons Determines if a log is generated each time a user successfully logs in. Log entries are generated in the Tracelog table.
Log Logon Failures Determines if a log is generated each time a user fails a login attempt. Log entries are generated in the Tracelog table.
Disable Legacy Session Tracking Determines if an audit record is generated for every successful logon attempt. This is disabled by default.
Password Expiry Warning Determines the number of days before a password expires that a user is notified of the pending password expiry.
Password Expiry Days Used to determine the new expiry date of a password after is has been reset by the system. An absolute expiry date for a password can be set in user maintenance.
Disable User on Password Expiry Determines if the user is disabled when the password expires.
Case Sensitive Passwords Determines if User and Custodian passwords are case-sensitive:
ValueDescription
Yes
New Users are created with case-sensitive passwords. All login attempts are duly restricted.
All existing Users continue to operate with case-insensitive passwords until the next time they change their passwords. The new password will be case-sensitive.
No
New Users are created with case-insensitive passwords. All login attempts are duly unrestricted.
All existing Users continue to operate with case-sensitive passwords until the next time they change their passwords. The new password will be case-insensitive.
Default Password Determines the default password when a new user is created by copying another or when using a template. If this value is not populated, LabVantage will assign a random password for the administrator to alter after the new account has been saved. The value you enter here is not checked against your password validation rules. Make sure any value you enter for this default will conform to your password complexity rules or new accounts created by a template or through a copy will generate an error thus blocking the creation of such accounts.
Disable Electronic Signature Determines if all ESig dialogs configured and called from buttons on the advancedtoolbar Element are globally disabled. This overrides all button configurations, i.e., ESig dialogs will not be shown even if a button is configured with ESig required. In the OOB configuration, the default is set to "No" (meaning "do not disable").

The following ESig configurations are not affected by this property:

ESig configured for CTT Imports are not affected, as ESig during import is determined at time of export.
ESigStep Workflow Task Step Definitions are not affected, as they are defined within a Workflow. However, an ESig dialog opened from a Workflow Step button observes this property setting.

 

Automation Options

Top ../images/arwup.gif (846 bytes)

Poll and Scheduling Options

 

These options configure the pollers that are created on the LAM to poll the ToDo List. For an overview of the automation system, see Concepts of Actions → Action Processing.

Option Description
ToDoList Poll Interval Time interval (in seconds) that an automation engine will poll the ToDo List to process awaiting Event Triggers (Actions or other events awaiting execution). This setting defines the maximum delay after adding a todolist entry and a dormant automation server waking up. This should be on the order of 1-10s, depending on the responsiveness of the automation engine required.
ToDoList Processors Number of threads per server that can simultaneously process Actions from the ToDo List. For example, a LabVantage installation with a load balancer in front of two LIMS serves will run a total of 20 threads when this number is set to 10. Setting this value too low may result in poor performance and scalability. The default is 10. Entries on the ToDoList are NOT guaranteed to get executed (i.e. complete) in the order in which they were added in a multi-threaded or multi-server environment. To address this, "ToDoList Groups" are available.
ToDoList Buffer Time interval in milli-seconds. When processing a backlog of todolist entries, this slight delay allows for threads to get synchronized before grabbing more entries to process. Setting this value >0 reduces the number of singleton 'next entry' requests. If set to zero, the perpetual poller will fetch the next todolist immediately after the last one completes. This may lead to a spike in todolist selects. Setting this to non-zero introduces a dampening affect to allow multiple threads to complete before fetching the next number of waiting items.
ToDoList Logging Yes or No. Yes enables database-level logging in the todolistlog table. Note that log entries here are only retained for 14 days. These logs can only be viewed using a query (or report) against the database.
Task Poll Interval Time interval (in seconds) that the Task table (in the database) is polled. At poll time, the Task is transferred from the Task table to the ToDo List. The default is 60 seconds. If you are not using scheduled Tasks, you should set this interval to zero.

Tasks are pre-scheduled up to the next Task Poll Interval. For example, if you schedule a Task to occur every minute, you can set the Task Poll Interval to poll every 5 minutes. At poll time, 5 Tasks are transferred to the ToDoList. One Task will be due immediately, while the remaining four Tasks will be due one minute apart. In this case, you would set the ToDoList Poll Interval to 60 seconds.

Schedule Poll Interval Time interval (in seconds) that the Event Scheduler and the Task Executor poll (query) the SchedulePlanItem table to determine if any Events must be generated or any Tasks are scheduled to be run (see Polling in the Scheduler). Set this to zero if you are not using the Scheduler.
Timeout Poll Interval Time interval (in seconds) that LabVantage checks to see if the current user should be logged off. The default is 60 seconds.
ItemDescription
Remove connections that have not been used for more than:Time period (in seconds) after which the current LabVantage user will be logged off if the user has not accessed the Applications Server. The default is 3600 seconds.
Remove locks that have not been used for more than:Time period (in seconds) after which locked data that has not been modified will be unlocked.
Default Scheduler Execute Ahead Default period ahead of the Schedule Date that Scheduled Tasks are executed. In general, this is explicitly defined in a Schedule Plan (see Scheduler Principles).

Server Ping Options

 

These options determine how long an active LabVantage server is registered in the Admin database based on monitoring conducted by the LabVantage Automation Manager. For an overview of the automation system, see Concepts of Actions → Action Processing.

Option Description
Sever Ping Interval Each LabVantage server will update the Admin database to indicate that it is still alive once during each "Server Ping Interval" (specified in seconds).
Server Latency Any LabVantage server that has not pinged the Admin database during the "Server Latency" period (in seconds) will be removed from the Admin database. This should be set to approximately three times the "Server Ping Interval".
Poll Server Commands Frequency with which servers in a cluster check to see if there are any notifications or cache reset commands sent from other servers.

Housekeeping Settings

 

These options determine when unwanted or unnecessary data are removed.

Option Description
WebPage History Retention Time Time period (in days) LabVantage retains the history of Web pages accessed by a user. Set to zero to disable.
Bulletin Retention Time Time perios (in days) LabVantage retains a copy of Bulletins stored in the database. Set to zero to disable. Reducing this may improve system performance.
Connection Log Retention Time Time period (in days) LabVantage retains the Connection Log of all connections made to the LabVantage server. Set to zero to disable.
Department Assignment History Retention Time Time period (in days) LabVantage retains the Department Assignment History. Set to zero to disable.

 

User Options

Top ../images/arwup.gif (846 bytes)

Logon Options

 
Option Description
Default Language The default language for all users of the system. This option can be overridden at the user level.

Business Objects Options

 

These are global (system-wide) defaults for connecting to Business Objects (BO). User (user-specific) overrides can be defined at the user level (see User Profile in Users and Roles).

Option Description
BO URL URL for accessing BO Web Services.
BO CMS Name Name of the CMS process.
BO Username Current user's username to access the Business Objects server.
BO Password Current user's password to access the Business Objects server.
BO Authentication Type Defines how the BO CMC server authenticates a user. Possible values:
Enterprise
LDAP
Windows AD
Windows NT
BO Root Folder Name Name of the Business Objects root folder.
BO Connection Timeout (Seconds) Connection timeout (in seconds) for closing idle connections to the Report Server.
NOTE: Timeout is expressed in seconds in LabVantage 8.4.1 and higher LabVantage 8.4.x Maintenance Releases.
BO Crystal Date Format Date format to use for BO Crystal Reports (defaults to MM/dd/yyyy H:m:ss a).
BO Desktop Date Format Date format to use for BO Desktop Reports (defaults to MM-dd-yyyy H:m:s).
BO Webi Date Format Date format to use for BO WebI Reports (defaults to MM-dd-yyyy H:m:s).
Test Connection Establishes a connection to the BO server and tests the BO-LabVantage connection and configuration. If successful, displays a message such as:
BO Connection Success.
The Server http://<hostname:port> is responding.
Webservice BiPlatform is responding.
WebService Report Engine is responding.

Here is an example of what an unsuccessful test might yield:

The Connection Failed.
1. Check the profile properties (BOURL, BOUsername, BOPassword, BOAuthentication Type).
2. Check BO URL is correct.
3. Check Central Management Server Service is up on BO Server.

Animation Options

 

These enable/disable the user interface animations:

Property Description
Enable Menu Animations Yes/No enables/disables the specified animations.
Enable Fade-in & Fade-out Animations
Enable Resize-in & Resize-out Animations

Notification Options

 

These specify default notification formats:

Property Description
Notifications Format Default format (Email or Bulletin) used by the SendBulletin Action to send notifications.

 

Logging and Stats Options

Top ../images/arwup.gif (846 bytes)

Logging Overview

 

 

LabVantage uses Apache log4j for all logging operations.

For more information, visit http://logging.apache.org/log4j.

If developing code, you must use the public LabVantage Logging API.

You cannot use private classes to log anything.

Log Generation Options are defined in the LABVANTAGE_HOME\applications\APPLICATION_HOME\labvantagelogging.props file. LabVantage provides a Log Generation Interface that lets you choose these options and thereby determine how this file is populated. LabVantage outputs messages to these logs according to the chosen options:

Log Contents Location
LabVantage Log All messages (can be filtered to log only specific types of messages). LABVANTAGE_HOME\applications\APPLICATION_HOME\logs\labvantage.log
Error Log Errors (also logged in the LabVantage Log). LABVANTAGE_HOME\applications\APPLICATION_HOME\labvantage_errors.log
Startup Log LabVantage Startup information (also logged in the LabVantage Log). LABVANTAGE_HOME\applications\APPLICATION_HOME\labvantage_startup.log
Security Violations Log All security violations generated by the RejectRequest filter (also logged in the LabVantage Log). LABVANTAGE_HOME\applications\APPLICATION_HOME\labvantage_securityviolations.log
Statistics/Thread Log Statistical information concerning various LabVantage operations. There is no log file for this. Statistics are displayed in System Admin → Monitoring → Performance Statistics.

Access the Log Generation Interface interface through System Admin → Configuration → System Configuration → Logging and Stats Options. The options below are provided for generating logs. Each can be enabled/disabled.

Choose a Logging Type

Option Description
Custom Logging Configuration If you are familiar with log4j, choosing "Custom" lets you write your own logging file by editing the labvantagelogging.props file and managing it yourself.
Managed Logging Configuration If you are not familiar with log4j, choosing "Managed" provides an interface to define logging options. Your choices are used to automatically populate the labvantagelogging.props file. If you choose this option, make certain you backup any custom logging files that have been created.
Separate these databases into their own logs When enabled, logging is directed to a log for a specific database. Provide a Comma-separated list of databases. Each listed database will have its own logs.
NOTE:   Some processing does not have database context, these logs remain in labvantage.log.

Log files are labelled Labvantage.[databaseid].log. STARTUP log entries will be duplicated into these database-specific logs.

LabVantage uses the following log file format:

%-23d %-5p [#%X{threadid}] %-30X{logcontext} : %m%n

NOTE:   The Log File Viewer provides a convenient method of downloading LabVantage log files, as well as a set of tools to parse and analyze the logs.
NOTE:   The Log File Viewer relies on the log file format shown above. If custom logging changes this format, the Log File Viewer may not work (including Snapshotting).

 

Diagnostic Logging

Option Description
Create Diagnostic Log for:

Create a Log file for a specific class of entry-point. Choose the entry-point class in the dropdown. This creates the log file labvantage.diag.log (or labvantage.[databaseid].diag.log). This logs entire thread durations, but filters by specified classes of entry-points (according to the selection in the dropdown). For example, if you are working on an enhancement to RESTful WebServices, you can enable a diagnostic log that specifically logs threads that are initiated by a RESTful web-service call (and everything down-steam).

 

Selecting "For User" allows logging for a specific User. When selected a dropdown is provided where you can select a User.
This logs entire threads (for all entry-points) initiated by a given User (based on the connectionid).
If a User logs into the browser, but also has "process-as" ToDoList entries, the diagnostic log will contain both ToDoList and Browser requests for that User.

 

To help read a diagnostic log a physical break is added when switching between diagnostic modes.

Log Options

 

Unless otherwise noted, changes made to these logging options affect all databases.

LabVantage Log

Filter levels for the LabVantage Log:

Level Items Logged Comments
Error Error messages only. Minimizes logging when LabVantage is idle.
Info Information messages only. Minimizes logging when LabVantage is idle.
Debug Debug messages only. Causes log file to rapidly increase in size.
All All of the above.  
NOTE:  

Action properties are truncated at 2000 characters in the property block of the Labvantage Log (below) unless the level is set to "Debug".

INFO [#325] ACTIONSERVICE:++++++++++ Processing Action AddSDI for [database|(system)123456]
INFO [#325] ACTIONSERVICE:++ allow=Y
INFO [#325] ACTIONSERVICE:++ actionid=AddSDI
INFO [#325] ACTIONSERVICE:++ sdcid=Sample
INFO [#325] ACTIONSERVICE:++ timestamp=1546532222508
INFO [#325] ACTIONSERVICE:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Log file generation methods:

Method Description
Rolling Grows to the specified Maximum Size ("Max Size"), then rolls over into the specified number of Backup files ("Backups").
Daily (or date-based) Rolls over into backup files based on the specified "Date Pattern".
Continuous Grows unchecked... unless "Reset file on startup" is set, and a restart occurs.
Error Log

Log file generation methods:

Method Description
Rolling Grows to the specified Maximum Size ("Max Size"), then rolls over into the specified number of Backup files ("Backups").
Daily (or date-based) Rolls over into backup files based on the specified "Date Pattern".
Continuous Grows unchecked... unless "Reset file on startup" is set, and a restart occurs.
Startup Log

Startup files are recreated each time LabVantage is started. You can retain the specified number of "Backups" (each is dated).

Method Description
Enable Generates the startup log, which contains all startup messages output by LABVANTAGE. See Logging Overview for file locations.
Backups Number of dated backup files to be retained.
Security Violations Log

These options are available for logging security violations.

Method Description
Enable Generates the security violations log, which contains all violations generated by the RejectRequest filter. See Logging Overview for file locations.
Log SQL Snippets Enabling this allows the RejectRequest filter to log potential SQL snippets found in requests. This is helpful for finding embedded SQL or SQL snippets that may require obfuscation or special handling.
Statistics/Thread Log

This offers options to enable gathering of statistics and thread logs at the respective debug level.

Option Description
Enable Enabling this displays statistics System Admin → Monitoring → Performance Statistics.

After changing this setting, you must restart the Application Server in order for the change to take effect.

Log Trace Enabling this provides additional entries at the trace level.
Snapshot Folder

You must set this before using the Log File Viewer.

Option Description
Snapshot Folder Specify a snapshot folder if you wish to use the Log File Viewer. In a clustered environment, ALL nodes in the cluster should point to the same folder. In a non-clustered environment, consider setting this value to APPLICATION_HOME/snapshots.

Additional Logging Information

 
Log files contain the ConnectionId against most messages at the Info and Error level (and where possible for other logging levels). This is truncated to show only the last 13 (unique) digits to facilitate tracing a user request.
The logger name display reflects where the logging originated.
Web component logging (servlets and tags) is in the LabVantage Log to facilitate tracing a user request.

LabVantage Logging API

 

The sapphire.util.Logger class is the standard (public) Java API for LabVantage Logging.

When working in... This is available...
Java classes

In Java code, the "logger" variable in sapphire.util.Logger is available and exposed throughout the LabVantage APIs as a variable in the code. For example, in BaseAction, there is a database object available to provide database access the database. Similarly, there is also a logger object available, e.g.,

logger.info( "some information" ); // Logs some information

or

logger.error( "found an error", e ); // Prints the error stack trace in the LabVantage Log

Note that if you pass an exception into logger.stackTrace, it will go to the LabVantage Log rather than system.out.

JSPs In Java scriptlets within the <sapphire:page> tag (JSPs), the logger variable is explicitly exposed within the tag.

In addition to these implicit (available and exposed) logger objects, sapphire.util.Logger also contains static methods. In cases where the implicit logger object is not exposed, you can use these (or create your own instance of the Logger class).

Use only sapphire.util.Logger. Do not use private classes to log anything. Follow these requirements:

Do not use system.out and printStackTrace (which goes to system.out) to log anything. No private trace classes are to be used. The (private) Opal Logger class has been deprecated.
Do not log SQL statements as debug messages. The sapphire.util.DBUtil class logs the SQL it is executing at the Debug level.
Manage error conditions with consistency and care. If you catch an error, do something appropriate with it... such as this:
1. Log it with the Logger API:
a. If your class is extending one of the base classes, chances are that there is a logger object exposed. This has numerous methods to log an error including logger.stackTrace( e ).
b. If the logger variable is not exposed then you may have logError methods exposed. Most of these take a message and a Throwable as arguments - make sure you pass the Exception so it gets logged automatically.
c. As a last resort, use the Logger.logError() methods or the Logger.logStackTrace() method.
2. Pass it to the class error method. As with "b" above, many of the classes have methods to log errors. These have generally been extended to accept a throwable and will log it automatically.
3. Pass it into the new exception that you are re-throwing.

For example, when you trap an IOException or SQLException, throw a new sapphireexception with a meaningful message. Make sure you pass the exception into the sapphireexception as the root cause. It will be properly logged.

To reiterate... please do not add printStackTrace statements.

 

Configuration Transfer Options

Top ../images/arwup.gif (846 bytes)

These apply to the Configuration Transfer Tools:

Property Description
Checksum processing Controls how checksum information in files is handled:
Ignore ignores checksum errors and allows modified export files or files without checksum information to be imported.
Warn displays a warning that the export file has been modified or does not have checksum information.
Block does not allow modified files or files without checksum information to be imported.
Import processing Controls how the import of files is logged:
File uses the settings in the import file to determine logging options.
Log forces a log of the import.
Esig prompts for a password and logs the import.
Esig with with reason prompts for a password and reason and logs the import.
Default export directory Default export directory when exporting data.
Default import directory Default import directory when importing data.

 

API Options

Top ../images/arwup.gif (846 bytes)

Custom Business Rules (SDC Rules)

 

This specifies the package that contains custom SDC Rules. See CreatingSDCRules for details regarding package registration.

Custom SQL Register

 

SQLRegister is a security measure to help prevent execution of SQL passed from the client. If you have implemented a custom SQL register class, you must specify the full Java class name here (including the package).

To register the SQL, write a custom SQL register class that extends sapphire.ext.BaseSQLRegister. An example is shown below.

/**

*Example custom SQLRegister

*/

public class MySQLRegister extends BaseSQLRegister {

public String getSQLStatement( int sqlCode ) {

switch ( sqlCode ) {

case 30000:

return "select sampletypeid from s_product where producttype=?";

case 30001:

return "some other sqls";

}

return "";

}

}

After the SQL has been registered, you can write a class such as in the example below, which is an Ajax class that handles any Ajax request that passes sqlcode as a request parameter:

/**

* Example Ajax Request class to retrieve dataset by sqlcode

*/

public class MyAjaxDataSetBySqlCode extends BaseAjaxRequest {

@Override

public void processRequest( HttpServletRequest request, HttpServletResponse response, ServletContext servletContext ) throws ServletException {

String sqlcode = request.getParameter( "sqlcode" );

AjaxResponse ajaxResponse = new AjaxResponse( request, response );

try {

QueryProcessor queryProcessor = getQueryProcessor();

DataSet ds = queryProcessor.getSqlDataSet( sqlcode ); //call overloaded method with bind variables if needed

ajaxResponse.addCallbackArgument( "dataset", ds );

ajaxResponse.print();

}

catch ( Exception e ){

ajaxResponse.setError( e.getMessage() );

logError( e.getMessage(), e );

}

}

}

ExecSQL Action

 

If you choose to use this, check Make the ExecSQL action available in my configuration.

WARNING

The ExecSQL Action is intended solely for low-level development under special circumstances. We do not document this Action because we strongly recommend you do not use it. ExecSQL provides low level access to the LabVantage database. Use of this Action may prevent you from upgrading your LabVantage Databases in the future. If you use it, you do so at your own risk.

Action Locking Options

 
Option Description
Do you want Actions to automatically lock data? Determines data locking behavior of Actions using RSets.

Server-Side Actions that modify SDIs and/or Data Sets have the "applylock" property, which can lock the data in an RSet record while the Action is processing:

Do you want Actions to automatically lock data? Data Locking Behavior During Processing
Yes
Value of "applylock" in relevant Action Locking Behavior
Yes Locks data.
No (default) Locks data.
No
(default)
Value of "applylock" in relevant Action Locking Behavior
Yes Locks data.
No (default) Does not lock data.

The table below identifies Server-Side Actions that modify SDIs and/or Data Sets and support locking while the Action is processing. "Primary" indicates that the Action locks the SDIs, i.e., the Action returns data in the "primary" result set. If you require more information concerning the "primary" result set, see the sdi tag descriptions and examples.

Server-Side Action Data Locked Server-Side Action Data Locked
AddChargeListItem primary (Charge List) EditDataItem Data Set
AddDataItem primary EditDataSet Data Set
AddDataSet primary EditPriceListItem primary (Price List)
    EditSDI primary
AddPriceListItem primary (Price List) EditSDIAddress primary
AddSDIAddress primary EditSDIDetail primary
AddSDIAttachment primary EnterDataItem Data Set
AddSDIDetail primary EnterDataSet Data Set
AddSDISpec primary ReleaseDataItem all Data Sets
    ReleaseDataSet all Data Sets
AddSDIWorkitem primary RemoveSDISpec all Data Sets
ApplyDataItemLimits all Data Sets ResetDataSet all Data Sets
ApplyDataSetLimits all Data Sets SetDataItemDate Data Set
CopyDataSet primary SetDataItemNumber Data Set
DeleteChargeListItem primary (Charge List) SetDataItemString Data Set
DeleteDataItem all Data Sets SetDataSetDate Data Set
DeleteDataItemLimit all Data Sets SetDataSetNumber Data Set
DeleteDataSet all Data Sets SetDataSetString Data Set
DeletePriceListItem primary (Price List) SetSDIDate primary
DeleteSDI primary SetSDINumber primary
DeleteSDIAddress primary SetSDIString primary
DeleteSDIDetail primary SetSDIWIIComplete primary
EditChargeListItem primary (Charge List) UnReleaseDataItem all Data Sets
EditDataApproval Data Set UnReleaseDataSet all Data Sets

 

Miscellaneous Options

Top ../images/arwup.gif (846 bytes)

Application Settings

 
Property Description
Web Application Base URL URI of LabVantage Web application in use, in the format http://HOSTNAME:PORT/WEBAPP.

Mail Settings

 
Property Description
Mail Server (SMTP Host Name) Name of your SMTP (mail) server. You need this in order to use the LabVantage "SendMail" Action and other email-related features.
Email 'From' Address When mailing notifications of security violations, this is the source address specified on the email.
Security Email Address Destination address when mailing notifications of security violations.
Additional Mail Server Connection Properties This can be used to interface with SMTP servers that require more properties such as a portid or TLS-encrypted connections.

Here are some examples:

mail.smtp.port=465

mail.smtp.starttls.enable=true

mail.smtp.ssl.enable=true

mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory

Mail Server User Name Username for your SMTP server.
Mail Server Password Password for your SMTP server.

RSet and SQL Control

 

These options let you choose how LabVantage uses RSets (locked Result Sets) to query for SDIs and apply the appropriate security privileges.

Option Description
Max rows per RSET query Sets global (system-wide) limits on retrieved SDIs. This sets the maximum number of rows (records) that can be retrieved as the result of a single query. The default is unlimited. If the maximum is exceeded, a LabVantage Exception is generated.

This affects the number of rows only in an RSet, and does not apply to queries in general.

Allow quotes in parameters
Global Setting
Users upgrading from LabVantage V3.x have problems using single quotes as part of data in a LabVantage Query. For example, a LabVantage Query with col in arg ('[arg]') has resulted in the necessity to enter arguments as A', 'B.

To deal with this, LabVantage provides a global, system-wide setting to allow or prevent using single quotes as part of data.

This setting works only with an Oracle DBMS. MS SQL Server does not support global setting because it does not support the session-specific variables that exist in Oracle packages.

The default is to prevent use of single quotes, which is the behavior of LabVantage DM0206 (V3.4) and onward. You can allow single quotes by adding a row to the SysConfig table, which is activated by the startup routine and active for the session:

ValueDescription
NoNo single quotes allowed.
YesSingle quotes allowed.
Argument-Level Setting

In the Query Maintenance page, there is also an argument-level setting. This works with both Oracle and MS SQL Server DBMS, but it applies only to arguments in Query SDIs. This changes the allowquotes flag in the table containing the argument (reportparam.allowquotesflag).

RSET logging level Determines how the RSetLog table logs all activity regarding RSets:
PropertyValueDescription
Off (default)Off (no logging).
BasicLogs statistics, start/stop time, and size.
Query InfoAdds query text and arguments for query-generated RSets.
FullAdds everything else for all other create RSet types.

In the RSetLogLevel column, a row is inserted at the beginning of RSet activity, then updated at the end. This happens in an autonomous transaction (Oracle); therefore, if RSet creation fails, activity information is still logged (a status column indicates such a case).

Embed security within RSet queries Determines whether security-related SQL is added directly to a query WHERE clause (Yes), or security is applied after to the results of the initial query (No). These values correspond to on/off in the SysConfig.RSetEmbedSecurity column.
Note that adding security-related SQL to a WHERE clause may affect query performance.
SQL Statement Timeout This sets the number of seconds SQL statements can run before a statement timeout error is generated. OOB, the default is set to 300 seconds. However, shorter timeouts may be required to achieve better protection for specific implementations.

This setting is implemented in the sapphire.util.DBUtil class, which is used by all LabVantage database APIs to execute SQL statements (database object provided to Actions, QueryProcessor, SDIProcessor). It is also implemented in Adhoc Query Hibernate database calls.

SQL Obfuscation Determines whether SQL or SQL snippets sent to/from a browser client are obfuscated.

Stability Data Definitions

 
Option Description
Protocol Product SDC Used only with Stability, this is the KeyId of the SDC used for the Protocol Product.
Study Product Column Used only with Stability, this is the KeyId of the column used for the Study Product.

Translations

 
Option Description
Auto fill temporary translation table If set, the TransMasterTemp table is populated with text where no translation was found.
Show Translations If set, all text that are translated server-side or client-side will be tagged.

File Management

 
Option Description
Maximum Upload File Size If set, this is the maximum size (in Mb) of files that can be uploaded. If not provided, this defaults to the servlet definition in the web application. With dealing with Attachment uploads, this can be overridden by the Attachment Policy.
Maximum Download File Size If set, this is the maximum size (in Mb) of files that can be downloaded. If not provided, file size is not restricted by this property.
Maximum Data File Size If set, this is the maximum size (in Mb) of files that can be uploaded as an example data file in Data File Definition maintenance. If not provided, this defaults to 1 Mb. If a value of less than zero is provided, this defaults to "Maximum Upload File Size".