Like what you see? Have a play with our trial version.

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
classcontents
Anchor
top
top

Overview

Besides In addition to the UI configurations that Yellowfin has to offer, there are certain settings that you can alter using SQL.

To enforce a global language

configuration options within Yellowfin, a number of SQL-provoked settings exist, outlined below.

Enforce a global language

You can It is possible to use a hidden configuration to override the global language of a Yellowfin instance, but beware that this applies to all organizations within the instance — primary and clients alike. This forces Yellowfin to be translated into the specified language without any exceptions. To do so, add the following SQL into your configuration database:

Code Block
INSERT INTO Configuration VALUES (1, "SYSTEM", "OVERRIDE_LANGUAGE", "zh_CN");

WhereIn this sample, “zh_CN” refers to the Java language locale code for the language you wish to enforce.

And Also in this sample, 1 denotes the primary/default organization. This is a system-wide setting that cannot be enabled for specific client organizations; therefore, this value must always be set to 1.

Anchor
hidejsapidetails
hidejsapidetails

Hide JS API details

You can hide the Java version and OS version from the JS API response by setting HIDEJSAPIDETAILS. to true. In this case, the following components of the serverInfo object 

javaVersion, operatingSystem, opertatingSystemArch, operatingSystemVersion, releaseVersion, schemaVersion, subVersion, buildVersion

Note: This will not hide the base and loaded resources values because they are always required by the browser to load further parts of the JS API

To make use of this option, start by running this SQL on your database (this is a system-wide setting, so the IP Org is set to 1):

Code Block
INSERT INTO Configuration(IpOrg, ConfigTypeCode, ConfigCode, ConfigData) values(1, 'SYSTEM', 'HIDEJSPAPIDETAILS', 'true');

Next, restart your Yellowfin instance, then embed a piece of content from the JS API. It doesn't matter what it is; you just need to load the JS API. You could even do this with the basic script tag:

Code Block
languagexml
<script src="http://yourYfServer/JsAPI/v3"></script>

To test this has worked, open your browser console and type: 

Code Block
languagetext
yellowfin.serverInfo

The console should display some empty components for the serverInfo object, apart from the base and loaded resources values (required by the browser).

Anchor
limitcache
limitcache

Limit cached filter context

Use this parameter to force the filter formatting options 'Ignore Report Filters when Loading Cached Value' and 'Restrict SQL Context to Filter Columns Only' on (see the Dimension filter settings table of events on this page for more info). 

When set to FALSE (default), these two options are displayed within the UI and the user can choose whether toggle them on or off.

When set to TRUE, these two options are both forced to be enabled on all filters on all reports on all datasources, and the options within the UI are hidden from display. In this situation, users don't need to remember to switch these settings on, and the only way they can be switched off is by changing this advanced configuration from TRUE to FALSE.

Code Block
INSERT INTO Configuration(1, 'SYSTEM', 'LIMITCACHEDFILTERCONTEXT', 'TRUE');

In this sample, 1 signifies the primary/default organization.


Anchor
datasourceunavailable
datasourceunavailable

Prevent data sources from being flagged as "unavailable" even when offline

When Yellowfin flags a data source as unavailable, it relies on a web service call or a Yellowfin administrator to manually bring it back online by accessing the list of data sources in the Admin Console, finding the data source flagged as offline, and clicking on the Test Connection button — even if a data source has come back online independently. In some situations where data sources are only offline temporarily, you may wish to avoid them being flagged as unavailable to reduce manual intervention. In this case, you can use parameter to prevent any flagging.

When set to FALSE (default), if a data source is detected to be offline, it will be flagged as unavailable and will require manual intervention to come back online.

When set to TRUE, none of your data sources will be flagged as unavailable, whether they're offline temporarily or permanently. You would need to manually investigate each data source independently of Yellowfin.

Code Block
INSERT INTO Configuration VALUES (1, 'SYSTEM', 'NEVERMARKSOURCEUNAVAILABLE', 'true');

This is a system-wide setting that (Note that this is done system wide, and cannot be enabled for specific client organizations. Therefore ; therefore, this value must always be set to 1.

Anchor
scope
scope

Oracle scope selector

This configuration option can reduce the scope for Yellowfin to use when fetching synonym objects from an Oracle data source. 

When this option is not used, Yellowfin fetches ALL_OBJECTS and ALL_SYNONYMS

When the value of this configuration is "USER", Yellowfin fetches USER_OBJECTS and USER_SYNONYMS to improve performance.

Code Block
INSERT INTO Configuration VALUES(1,'SYSTEM', 'ORCL_SCOPE','USER');

This is a system-wide setting that cannot be enabled for specific client organizations; therefore, this value must always be set to 1.

Anchor
nullvalue
nullvalue

Allow empty or null value to be used for cached filter

Use this parameter to get parent filter results to persist when a child filter result contains empty or null values.

When set to FALSE (default), cached filters will ignore empty or null values.

When set to TRUE, cached filters will not ignore empty or null values.

Code Block
INSERT INTO Configuration values(1, 'SYSTEM', 'ALLOWNULLCACHEFILTERS', 'TRUE');

In this sample, 1 signifies the primary/default organization.

Disable URL title fetching 

This parameter prevents Yellowfin from fetching a URL title when sharing links in discussions. When set to TRUE, only the URL will be displayed in the discussion. When set to FALSE (or omitted, which is the default),  the title of the URL will be displayed in the discussion.

Code Block
INSERT INTO Configuration VALUES (1, 'SYSTEM', 'DISABLEURLTITLEFETCH', 'TRUE')

In this sample, 1 signifies the primary/default organization.

Anchor
lowmemoryexport
lowmemoryexport

...

Conserve memory during export

To ensure that the memory does not get The low memory export configuration prevents memory from being exhausted when exporting a large report reports to XLSX , you can enable a Low Memory Export option. This format. When the configuration is enabled, the system processes reports in parts in memory, rather than as a whole.

To enable this feature, add the following SQL code into your configuration database:

Code Block
INSERT INTO Configuration(IpOrg, ConfigTypeCode, ConfigCode, ConfigData) values(<IP_org>, 'SYSTEM', 'REPORTLOWMEMORYEXPORT', 'ONTRUE');

In the above code, set the <IP_org> to the IP of the client organization where you want this feature to be enabled. For example, replace this with 1 for the primary/default organization.

Remember to set your value for <IP_org> to either the primary org (1) or a client org.

Anchor
lowmemoryexportoption
lowmemoryexportoption

Display Low Memory Exports toggle

This configuration displays the Low Memory Exports toggle option on the report Export Settings dialog box, providing the option to enable or disable the feature within the UI per report. The toggle is also displayed on the System Configuration page to enable or disable the feature as the default setting for all report exports.

Enabling this option overrides the global setting, REPORTLOWMEMORYEXPORT which enforces low memory exports. This means exports will be faster, but more memory-intensive.

When set to TRUE, the export option ‘Low Memory Exports’ is displayed in the report Export Settings dialog box. 

To enable this feature, add the following SQL code into your configuration database:

Code Block
INSERT INTO Configuration VALUES (<IP_org>, 'SYSTEM', 'SHOWLOWMEMORYEXPORTOPTION', 'TRUE');

Remember to set your value for <IP_org> to either the primary org (1) or a client org.

Disable outer join check

...

During the creation of views, you can configure outer joins to be treated as inner joins when creating View relationships in the database.

Following The following is the SQL command for this:

Code Block
INSERT INTO Configuration(IpOrg, ConfigTypeCode, ConfigCode, ConfigData) values(1, 'SYSTEM', 'DISABLEOUTERJOINCHECK', 'TRUE');

In this sample, 1 signifies the primary/default organization.

Anchor
inlinebroadcast
inlinebroadcast

...

Conserve memory during report broadcast

Broadcast reports are run for each of the multiple recipients separately, taking into account their access filters, languages or other factors. However, to To conserve memory usage and system performance, use the following configuration so that each recipient’s report is delivered as soon as it’s generated (instead of waiting for all the recipients’ reports to get done before sending them together).

...

Code Block
INSERT INTO Configuration ValuesVALUES (1, 'SYSTEM', 'BROADCASTSENDINLINE', 'TRUE');

Where In this sample, 1 signifies the primary/default organization.

...

Anchor
carboncopy
carboncopy

...

Enable carbon copy on broadcast emails

Enables This enables the carbon copy option on broadcast emails, so multiple users who have access to the same data , are sent a single email which is sent to the first user, with the remaining recipients being sent a carbon copy. Note that all recipients will be visible to one another.

Code Block
INSERT INTO Configuration ValuesVALUES (1, 'SYSTEM', 'COMBINEEMAILGROUPS', 'TRUE');

Where In this sample, signifies the primary/default organization.

...

Yellowfin restricts the number of rows returned from queries that involve filter values. This is the same limit that is applied for all database queries (i.e. even those without any filters) and is configurable by the user in the View builder and at the Report level. However, there is a hidden configuration option that allows users to remove this limit from filtered queries, thereby allowing Yellowfin to return all matching rows. To apply this, add the following SQL into your Configuration database:

Warning: Be careful when disabling the limit. If the filtered query returns a large amount of values, it might result in a system hang uphang the system.

Code Block
INSERT INTO Configuration ValuesVALUES (1, 'SYSTEM', 'DISABLEFILTERPROMPTLIMIT', 'TRUE');

...

Scheduled tasks that track historic executions maintain the records for the last past 30 days. To change this time limit, use the following configuration.

Code Block
INSERT INTO Configuration VALUES (1, "SYSTEM", "HISTORICSCHEDULERECORDSLIMITDAYS", "60");

WhereIn this sample, 1 is the organization ID, and 60 is the number of tracking days.


Anchor
disablecalcvalidation
disablecalcvalidation

Disable calculated field validation

Calculated fields are validated before they are saved into the database to determine the data type of their resulting field. However, it is possible to disable this validation for all calculated fields (including those created via Freehand SQL).

Use the following SQL to do so:

Code Block
INSERT INTO Configuration(IpOrg, ConfigTypeCode, ConfigCode, ConfigData) values(1, 'SYSTEM', 'VALIDATECALCONSAVE', ‘FALSE’);

In this sample, ConfigData = TRUE enables validation, and ConfigData = FALSE disables it. 


Anchor
legacypdf
legacypdf

Force Yellowfin to use legacy RC4 128 PDF encryption

When set to TRUE, this forces Yellowfin to use legacy RC4 128-bit encryption for PDFs rather than the default  of AES 256-bit encrypted PDFs.

Use the following SQL to do so:

Code Block
INSERT INTO Configuration VALUES (1, 'SYSTEM', 'USELEGACYPDFENCRYPTION', 'TRUE');

In this sample, 1 signifies the primary/default organization.


Anchor
loginevent
loginevent

Log failed login events

When set to FALSE (default), only failed login attempts made via a valid username are recorded in the system log files. 

When set to TRUE, all failed login attempts to Yellowfin are recorded in the system logs, whether the username is valid or not, allowing for more accurate auditing of login activity.

Use the following SQL to do so:

Code Block
INSERT INTO Configuration VALUES (1,'SYSTEM', 'LOGFAILEDLOGINEVENTDETAILSENABLED','TRUE')

In this sample, 1 signifies the primary/default organization.


Anchor
broadcastfilename
broadcastfilename

Broadcast filename template

This configuration can be used as a template for filenames used in email broadcasts, FTP schedules and save to disk schedules. When set, it applies to all broadcasts on your Yellowfin instance. This configuration overrides the Append Broadcast Date and Append Broadcast Time options, therefore their respective checkboxes will no longer appear on the broadcast configuration dialog box once this configuration is set.

The value stored in the configuration can contain placeholders for the report name and date that will be filled in by the broadcast process:

  • The {filename} placeholder will be replaced with the report name for email broadcasts, or the file name specified in the FTP Broadcast and Save to Disk Schedule dialog boxes.
  • All other placeholders within the curly brackets are treated as datetime format strings, following the SimpleDateFormat specification.

For example, utilizing the Broadcast Filename Template format {yyyy-MM-dd_HH-mm-ss} as outlined in the code snippet below, will produce the filename ‘Ski Report - 2020-01-01_12-34-56.pdf’. 

The resulting filename must be compatible with the filesystem if FTP schedules and Save to Disk schedules are used. For example, if the destination FTP server or the Yellowfin instance are running on Windows, then using a colon character (:) should be avoided as it is an illegal character in filenames on NTFS. Email broadcasts, however, will replace illegal characters in filenames with underscores.

Code Block
languagejava
INSERT INTO Configuration VALUES (1, 'SYSTEM', 'BROADCASTFILENAMETEMPLATE', '{filename} - {yyyy-MM-dd_HH-mm-ss}');

In this sample, 1 denotes the primary/default organization. This is a system-wide setting that cannot be enabled for specific client organizations; therefore, this value must always be set to 1.

Enabling JNDI data source connections

JNDI data source connection types can be enabled by running the following SQL against your configuration database: INSERT INTO Configuration(1, 'SYSTEM', 'JNDISOURCEENABLED', 'TRUE');

Enable non-mandatory filters on Jasper Reports

Use the following code to enable non-mandatory filters on Jasper Reports.

Code Block
INSERT INTO Configuration VALUES (1, 'SYSTEM', 'JASPERFILTERSNOTMANDATORY', 'true');

Limit the number of unique rows for cross-tab and other similar reports

You can enable the maximum number of unique rows that can be generated for cross-tab reports and certain chart types to avoid memory exhaustion.

Code Block
INSERT INTO Configuration VALUES (1, "SYSTEM", "CELL_LIMIT", "80000");

"80000" is an example of the limit only, please change it to suit your needs.

Set a default broadcast format

Use the following configuration to set a default format for broadcasts.

Code Block
INSERT INTO Configuration (iporg, configtypecode, configcode, configdata) 
VALUES (1, 'SYSTEM', 'BROADCASTDEFAULTCODE', 'XLSX');

XLSX is an example of the format. You can choose from the following formats: 'HTML', 'CSV', 'DOCX', 'PDF', 'LINK', 'XLSX, 'TXT'.

Restrict guest users from being redirected to the Browse page

The following configuration can be used to limit guest users from being directed to the Browse page when canceling a report, thus not allowing the user to see all public reports.

Code Block
RESTRICTGUESTUSER = TRUE

The default would be false, and still allow exit to the Browse page. Setting to TRUE would redirect users to a “Not available” page.

Prevent license refreshes when deleting users

The following configuration can be used to prevent License Refreshes from cascading across the cluster upon user deletion. This approach serves as an alternative to a bulk delete web service that could efficiently delete multiple users with just one license refresh.

Code Block
INSERT INTO Configuration VALUES (1, "SYSTEM", "SKIPUSERDELETELICENCEREFRESH", "TRUE");