Struct main fields are in the beta phase of development and may not be available on your enrollment. Functionality may change during active development.
Struct main fields enable you to designate a struct's core value and supplementary metadata. For example, an Address struct may contain fields capturing streetName and postalCode as its main values, while other fields like collectionDate and collectorName represent metadata that describe how the Address was obtained.
Many struct properties follow this pattern: one or more fields contain the primary data you care most about displaying in applications, while other fields provide context, tracking information, or audit details.
You can designate any of the supported struct field types as main fields.
Use struct main fields when:
Applications that support struct main fields display only the main fields in compact views, like the Object Table and Object List widgets in Workshop, while providing access to the full struct through an expanded view or upon hover. This enables you to quickly scan the most important data without seeing every struct field, while still being able to inspect the complete struct when needed.
Applications support struct main fields in several ways:
You can map any struct field to an interface property. When implementing an interface, you can select a specific field from a struct property to satisfy the interface contract and fulfill the property requirement.
For example, if an interface requires a String property called cityName, you can fulfill it using a struct property's city field. The interface picker displays all available struct fields with their types, allowing you to choose the appropriate field.
After mapping a struct field to an interface property, the implementation shows the struct property and the specific field being used.
Main fields are indicated with a Struct main field tag in the picker, making them easy to identify. However, you can select any field from the struct regardless of whether it is designated as a main field.
Combine struct main fields with property reducers to enable additional flexibility in struct array property representation and interface implementation. A single struct array property can implement interfaces requiring Struct Array, the main field's array type, Struct, or the main field's base type.
See the property reducers documentation for detailed examples and implementation options.
Yes, you can reconfigure main fields in Ontology Manager at any time. This may render some interface implementations invalid, which you will need to update.
No, main fields only affect how Foundry displays data and implements interfaces. The underlying struct contains all fields with full fidelity, so all fields remain queryable and accessible.
Yes. Main fields work with both single struct properties and struct array properties. When combined with reducers, you get maximum flexibility in how Foundry represents the property across applications.
No. You can map any struct field to an interface property regardless of whether it is designated as a main field. Main fields simply provide a visual indicator in the interface picker and affect how applications display the struct in compact views.