Skip to main content
Skip table of contents

Configure Settings for Large Tables

SuperWEB2 will automatically switch to large table mode if a user attempts to create a table containing more than a certain number of cells.

By default, the thresholds for large table mode are set at 8,000 rows, 1,000 columns, 100,000 total cells excluding wafers and 1,000,000 total cells including wafers.

For performance reasons, we do not recommend increasing the table cell threshold above 100,000. (Performance is unaffected by the number of items in wafers.)

Configure Large Table Threshold

To configure the threshold for large table mode:

  1. Open <tomcat_home>\webapps\webapi\WEB-INF\classes\configuration.properties in a text editor.
  2. Locate the following section:

    XML
    #================================================================================================================
    # TABLE.LARGETABLEMODE
    #================================================================================================================
    
    # Integer.  Default 3.
    # Defines the number of values at each nesting level to show when you fall into large table mode.
    table.largeTableMode.previewDataSize=
    
    # Integer.  Default 1000000.
    # SW2 will enter large table mode if the entire table (rows, columns and wafers) has more than this number of cells.
    # This is primarily used to assist with tabulation performance and download size on the server side. For client
    # rendering performance, thresholdRendered should be used.
    # A value of -1 will disable the limit.
    table.largeTableMode.thresholdTotal=
    
    # Integer.  Default 100000.
    # SW2 will enter large table mode if the visible part of the table (rows and columns, excluding wafers) exceeds this
    # number of cells. This is used primarily for rendering performance on the client side. To assist with tabulation
    # performance and download size on the server side, thresholdTotal should be used.
    # A value of -1 will disable the limit.
    table.largeTableMode.thresholdRendered=
    
    # Integer.  Default 8000.
    # SW2 will enter large table mode if the table has more than this number of rows.
    # A value of -1 will disable the limit.
    table.largeTableMode.thresholdRow=
    
    # Integer.  Default 1000.
    # SW2 will enter large table mode if the table has more than this number of columns.
    # A value of -1 will disable the limit.
    table.largeTableMode.thresholdColumn=
  3. There are four settings that determine when large table mode will be activated:

    ParameterEnter large table mode if the table contains...
    table.largeTableMode.thresholdTotal

    More than this number of cells for the entire table.

    table.largeTableMode.thresholdRendered

    More than this number of cells, excluding wafers.

    table.largeTableMode.thresholdRow
    More than this number of rows.
    table.largeTableMode.thresholdColumn
    More than this number of columns.

    To disable any of the above options, set the value to -1.

  4. You may also want to configure the previewDataSize setting. This controls the number of cells to show at each level in the table when SuperWEB2 is in large table mode.

    By default, this is set to 3 (as shown here, SuperWEB2 displays the first two values of the field and .. to indicate that there are more items at this level):

  5. Save your changes to the file and restart Tomcat or the SuperWEB2 service.

Change the Preview String

You can also change the string that is shown in the last heading for each row and column. By default this is set to ..

  1. Open <tomcat_home>\webapps\webapi\WEB-INF\classes\common_labels.properties.

    There may be multiple copies of this file for different languages and locales, with names like common_labels_en.properties and common_labels_en_AU.properties. Each one contains the text used for different languages. Depending on which languages are in use on your deployment, you may need to make these changes in multiple versions of the file. The properties file that is used will depend on the language settings in the end user's web browser, the set of supported locales defined in the faces-config.xml configuration file, and the language selected by the user from the drop-down list. See Multilingual and Localisation Support for more information about localisation and how SuperWEB2 uses the properties files.

  2. Locate the following property:

    TEXT
     tableView.largeTableMode.dots=..
  3. Change the value to your preferred string.

  4. Save your changes and and restart Tomcat or the SuperWEB2 service.

Configure the Maximum Number of Cells in a Table

To configure the maximum number of cells permitted in a table:

  1. Open <tomcat_home>\webapps\webapi\WEB-INF\data\.repository\RulesEngine.xml in a text editor.

    Make a backup copy of this file before making any changes.

  2. Locate the following section:

    XML
        <rules:EditRule name="TableCellsNumberRule"
                applicableOperations="add;drillup;drilldown"
                implClassName="au.com.str.webapi.services.database.manager.rules.impl.TableCellsNumberRule">
            <rules:impl-class-init>
                <rules:init-param name="maxElementCount" value="40000000"/>
                <rules:init-param name="disableMaxElementCount" value="false"/>
            </rules:impl-class-init>
        </rules:EditRule>
  3. Change the value of maxElementCount to your preferred maximum number of cells.
  4. Save your changes to the file and restart Tomcat or the SuperWEB2 service.

Prevent Guest Users from Accessing Large Table Mode

If you have enabled guest user access on your system, you may also wish to prevent guest users from accessing large table mode. See Prevent Guest Users from Creating Large Tables for more information on this step.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.