About caps

The maximum number of records allowed in a collection is restricted to a numerical cap. The maximum number of items in drop-down lists is similarly capped. The system default cap on both records and list items is 200.

Caps are designed to maintain the performance of your system and of your data source. Retrieval of a large number of records or list items can put unnecessary demands on the data source and slow system performance.

The default caps are suitable for most data-entry tasks and information-search tasks. Still, you should be aware of options for dealing with the size of collections and lists.

LoadCollection record cap overrides

By default, the system record cap displays 200 records (or list items) on a form. There are several ways to override this limit:

  • Farm-wide record caps: For customers operating in a cloud-tenant farm, the farm's system administrator can set record caps that apply to the entire server farm. These settings override other record cap settings, depending on what type of session is being used or whether the records are being retrieved for reports. Farm-wide settings can be made for these situations:
    • FarmUIMaxRecordCap: Used for UI sessions; for example, form and global script LoadCollection calls, including the .NET Client class
    • FarmAPIMaxRecordCap: Used for IDO and service sessions; for example, REST API calls
    • FarmReportMaxRecordCap: See Report-related record caps.
    Note: There is a possible exception to these settings: If tenants have their own system-wide record caps set (using the User Preference Max Record Cap process default or the Report max record cap process default) before a farm-wide cap has been set, the system honors that tenant-level setting, even if it exceeds the farm-level setting. That tenant-level setting remains in effect until such time as the tenant might decide to change the setting. At that point, the farm-wide setting takes precedence, and the tenant-level setting cannot be set to exceed the farm-wide setting, even using these process defaults.

    These settings can only be made by authorized farm administrators, using the Configuration Manager, optionally by way of a Command Line Interface (CLI).

  • User Preferences Max Record Cap: Local and tenant system administrators can use this process default to override the system default for their own configurations. This setting overrides most other overrides and settings for record caps. The only exceptions to this rule are the farm-wide record cap settings.
  • User-level overrides: Individual users can set their own record cap overrides, in the User Preferences dialog box. These settings generally override other record cap settings, but they are subject to the any farm-wide record cap settings and the User Preferences Max Record Cap, if they have been set. If neither of those settings is in effect, then user-level overrides cannot exceed the system default cap (200).
    Note:  By default, these User Preferences settings carry over from one session to the next. However, if system administrators do not want those settings to persist, they can set the Save record cap override process default. In that case, the User Preference settings last only as long as the user's current session.
  • IDO collection-level overrides: Developers can specify cap overrides at the IDO collection level for forms. These overrides affect list sources, any included IDO collections (primary, secondary, and subcollection), and tree components. This cap overrides the system default and user-level caps, but cannot exceed farm-wide record caps or the User Preferences Max Record Cap process default, if they have been set.
  • Script overrides: Developers can use application and tree component scripting APIs to specify individual record cap overrides. This cap overrides the system default and user-level caps, but cannot exceed farm-wide record caps or the User Preferences Max Record Cap process default, if they have been set.
  • Application Event System overrides: Developers can use the Record Cap parameter in an application event handler to override other record caps, including any system-wide record cap overrides.
    Note: These overrides do not supersede farm-wide record caps that might be set. They are subject to farm-wide record caps, the same as any other system record caps.

Report-related record caps

Record caps related to report outputs can be set at these levels:

  • At the farm-level, the FarmReportMaxRecordCap setting: This setting is used for report processing and generation; for example, report-type form outputs or DataView report outputs. This setting overrides all other record caps related to reports.
  • At the system or tenant level, the Report max record cap process default: This setting is a system-wide setting and can be overridden only by the FarmReportMaxRecordCap setting.

The effect of caps when processing records

When the system processes records (for example, during posting) it ignores any cap you have set and processes all records that meet the criteria. However, if the process returns a result set, a record cap override could still affect how many returned records display on the form.

The effect of caps when exporting collections

When you export a collection of records to an external file, you usually want no limit on the number of records. You need not reset the cap on collections in this case. Instead, select the Unlimited query option when you export a collection.