Introduction to Fields
The Buzzy Framework provides a standard pattern to build and deploy websites and apps. The framework acts as a structure that keeps code simple and consistent. Essential to this framework are Datatable and their field types.
All fields have a Name and optional Help Text that is displayed beneath the field. Specific parameters will vary depending on the field type - for instance default values or formatting options.
Field Naming Best Practices
When naming fields in Buzzy, follow these guidelines for optimal performance and compatibility:
Avoid reserved words: Certain field names are reserved for system use (see below)
Avoid dots (.) in field names: Using dots can cause issues with JSONata formulas and data access
Use camelCase: This naming convention (e.g.,
firstName,orderTotal) makes fields easier to referenceFor JSONata formulas: When referencing fields with special characters or spaces, use backticks (`) to enclose the field name, not single quotes (') which are used for strings
Reserved Field Names
The following field names are reserved for system metadata and should not be used when defining your own fields:
_id: The current row's unique ID
_currentUrl: Gets the current URL from the browser (only works in forms in "insert/capture" mode)
_contextRow: Provides access to context row fields
userID: The user ID of the creator
_currentUserID: The user ID of the currently logged in user
viewers: Array of additional user IDs who can view the row
isLocked: Indicates if the row has been locked
submitted: Epoch date time value of when the server created the record
deviceID: The device ID for debugging purposes
appVersion: App version when the row was created
hasConflict: Array of conflicts
clientCounter: For debugging client-server record synchronization
clientSubmitted: Epoch time when client submitted the record
Field Configuration
Field modes include 'Read' (readonly value), 'Summary' (formatted value), 'Insert' (create), and 'Edit'. 'Value' was added as an extra option that doesn't use the any Buzzy rendering or formatting, it just pulls out the raw value. There's also differences across the different field types, for instance with a date field you can add params to format the date string when it's in Value or Read mode, but not Summary mode (since that comes already formatted). 'Filter' and 'Image' are special field types that apply only to those components.
Field permissions control who can view and edit a field after the user is already allowed to view the row. Field edit should be the same as Field view or more restrictive. For example, if Field view is restricted to Admins, Authors, and Creators, Field edit should not be set to Anyone.
Private Data marks fields that contain personal, sensitive, regulated, or confidential information. Basic Private Data is masked or redacted by the server. Sensitive Private Data is hidden by default, can be revealed only by permitted users, and records audit entries. See Private Data for configuration steps.
Field visibility in the Buzzy Workspace summary table can be enabled or disabled.
Field validation can be customized using JSONata. For more information see Formula language
A Display Formula provides a mechanism to dynamically alter the visibility of a field or screen element. See Display Formula for examples and debugging guidance.
Last updated