For the complete documentation index, see llms.txt. This page is also available as Markdown.

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 reference

  • For 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