Support Collection Standard Operations in the IDO tier
Support Collection Standard Operation in the IDO tier allows the administrators to define which operations are permitted on an IDO directly in the IDO metadata, instead of relying on form-level scripts or per-form configuration. This moves business rule enforcement from the form tier to the IDO tier, ensuring consistent behavior across all forms that use the same IDO and across all callers - forms, integrations, AES, or code.
- IDO Operations (
Insert, Update, Delete) - Enforced server-side by the IDO runtime. Requests that violate these settings are rejected regardless of how they originate. - Form Operations (
Navigate, Refresh, Filter, New/Copy, Save, Delete, Notes, Graph, Spreadsheet Disabled) - This control UI behavior on forms bound to the IDO. These are transferred to the client and applied to the form's toolbar and menu.
Who should use this
- Application administrators defining which operations are allowed on specific IDOs.
- Form developers replacing form scripts that switch
NewEnabled,DeleteEnabled, or other standard operation overrides. - IDO architects implementing IDO-centric development practices where the IDO enforces its own rules.
Key benefits
- Consistent enforcement across all callers - operations disabled at the IDO level are rejected regardless of whether the request comes from a form, integration, API, or Application Event System.
- Eliminates redundant form scripting - standard operation overrides (
NewEnabled,DeleteEnabled, etc.) previously required per-form implementation. With IDO-level settings, the rule is defined once and inherited by all forms using the IDO. - Cross-form consistency - all forms bound to the same IDO automatically share the same operation permission without independent configuration.
- Conditional business rules without code - Data Rules provide dynamic enablement based on row data or system settings, replacing procedural form scripts with declarative metadata.
- Backward-compatible - all defaults are enabled after upgrade. Existing forms and IDOs continue working unchanged with no reconfiguration required.
- Reduced maintenance burden - when a business rule changes, for example "Delete is not allowed for archived records", the change is made in one place on the IDO instead of the updating across multiple forms and scripts.
Key concepts
Two independent layers
| Layer | Operations | Where Enforced | Effect |
|---|---|---|---|
| IDO Operations | Insert, Update, Delete |
Server - IDO Runtime Command Runner | Rejects unauthorized requests with an error. |
| Form Operations | Navigate, Refresh, Filter, New/Copy, Save, Delete, Notes, Graph, Spreadsheet, Disabled |
Client - form UI | Disables toolbar buttons and menu items. |
The two layers are independent, disabling IDO Insert does not automatically disable form New/Copy. Each layer must be configured separately.
Enable-only Data Rules
- Static metadata sets the baseline (default: all enabled).
- Data Rules conditionally enable operations that are disabled at the metadata level.
- Data Rules cannot override form-level restrictions set through form scripting.
For further clarity, Data Rule Actions operates on a least permissive basis meaning the IDO or the Form can restrict an operation. The form cannot allow an operation that the IDO does not allow.
Sub-collection independence
Each IDO governs itself independently. Parent collection operation settings have no effect on sub-collection operation settings. Each sub-collection uses its own IDO metadata and evaluates its own Data Rules against its own row data.
Extended IDO inheritance
Operation settings are defined on the root IDO, the most ancestral IDO in the extension chain. Extended IDOs inherit these settings from their root and cannot override them.
Configuring IDO operations
Setting static operations
- Open the IDOs form.
- Select the IDO to configure.
- Navigate to the Standard Operations tab.
- In the IDO Operations section, configure:
- Insert - allow or disallow insert requests.
- Update - allow or disallow update requests.
- Delete - allow or disallow delete requests.
- Click Save.
- Check-in the IDO on the IDOs form using the Check In button.
- Discard the IDO Cache.
If in the cloud, use the Refresh Farm Metadata form and the Refresh Farm IDO Metadata button.
If on-premise, ensure that in form is selected, and then .
When an IDO operation is disabled, any request for that operation is rejected at the server with the message: “The {operation} operation is not permitted on {IDOName}.”
Setting form operations
- On the Standard Operations tab, locate the Form Operations section.
- Configure these settings:
- Navigate - allow row navigation.
- Refresh - allow collection refresh.
- Filter - allow filtering.
- New/Copy - allow new record creation and copy.
- Save - allow saving.
- Delete - allow deletion from the UI.
- Notes - allow notes functionality.
- Graph - allow graph functionality.
- Spreadsheet Disabled - disable spreadsheet export. This is the only operation that defaults to disabled.
- Click Save.
- Check-in the IDO on the IDOs form using the Check In button.
- Discard the IDO Cache.
If in the cloud, use the Refresh Farm Metadata form and the Refresh Farm IDO Metadata button.
If on-premise, ensure that in form is selected, and then .
Form operations are transferred to the client through the existing GetPropertyInfo protocol and applied to the form’s standard operations. Forms can further restrict operations beyond what the IDO allows, but forms cannot expand beyond what the IDO permits.
Dynamic enablement with Data Rules
Enabling an IDO operation conditionally
To allow a disabled IDO operation only when certain conditions are met, for example, allow Delete only when Status is not Posted:
- Disable the IDO operation in static metadata. For example, uncheck Delete on the Standard Operations tab.
- Create a Data Rule on the IDO:
- Operation Type:
DeleteorInsert/Updateas applicable. - Filter Conditions: define the conditions. For example,
Status!='P'. - Actions: add an action with type Enable IDO Operation and set the Operation Name to Delete.
- Operation Type:
- Click Save.
- Check-in the IDO on the IDOs form using the Check In button.
- Discard the IDO Cache.
If in the cloud, use the Refresh Farm Metadata form and the Refresh Farm IDO Metadata button.
If on-premise, ensure that in form is selected, and then .
When the filter condition is met for a row, the Delete operation is enabled for that row. For all other rows, the operation remains disabled and the request is rejected.
Enabling a form operation conditionally
To dynamically enable a form operation based on row data or system settings:
- Disable the IDO operation in static metadata.
- Create a Data Rule on the IDO:
- Filter Conditions or Activation Conditions: define when the operation should be allowed.
- Actions: add an action with type Enable IDO Operation and set the Operation Name to the target operation. For example, NewCopy,Delete, or Notes.
- Check-in the IDO on the IDOs form using the Check In button.
- Discard the IDO Cache.
If in the cloud, use the Refresh Farm Metadata form and the Refresh Farm IDO Metadata button.
If on-premise, ensure that in form is selected, and then .
The form operation is enabled for rows matching the conditions and disabled for all others.
Valid operation names
| Action type | Valid operation names |
|---|---|
| Enable IDO Operation | Insert, Update, Delete |
| Enable Form Operation | Navigate, Refresh, Filter, NewCopy, Save, Delete, Notes, Graph, Spreadsheet Disabled |
Defaults and backward compatibility
| Operation | Default value | Notes |
|---|---|---|
| All IDO Operations | Enabled (1) | Existing IDOs are unaffected after upgrade. |
| All Form Operations | Enabled (1) | Existing behavior unchanged |
| Spreadsheet Disabled | Disabled (0) | Spreadsheet export is disabled by default. |
After upgrade, all existing IDOs retain their default values and behave identically before the upgrade. The feature is opt-in, no configuration changes are required to maintain current behavior.
Resolution logic
The effective standard operations on a form collection resolve as follows:
- IDO form operation from metadata, and form-defined standard operations from form metadata - both must allow the operation.
- Data Rules can enable operations disabled by IDO metadata, if any active rule enables the operation for the current row, it is enabled.
- Form scripting restrictions always apply - Data Rules cannot override form-level restrictions set by form scripts.