Skip to main content
FAQs: Apricot Form Best Practices
Updated this week

Learn how to prevent common performance issues when building Apricot forms below.

Q: Is there a limit to how many fields I can add to a form?

Every form is represented by a data table in an Apricot database. Every data table has a row size limit of 65,000 bytes, and each field type uses varying amounts of bytes. The more bytes used in a form, the more likely you are to experience performance issues with the form. Our best practice is to keep a form's row size to under 25,500 bytes.

The list of high-impact fields that use higher amounts of bytes includes:

  • Name: 150 bytes

  • Address: 100 bytes

  • Address Lookup: 1460 bytes

  • Global Address Lookup: 612 bytes

  • Radio Button: 255 bytes

  • Masked Radio Button: 255 bytes 

  • Drop Down: 255 bytes

  • Masked Drop Down: 255 bytes

  • Attach Doc: 278 bytes

  • Signature: 242 bytes

  • User System fields (ex. Created By, Modified By): 255 bytes

    • Note: Each form will always have two user system fields

Forms that require the use of many high-impact fields should be separated into multiple forms. To provide a concrete number, our best practice is to not exceed 100 fields per form. This allows the form to evolve over time without impacting performance as users deactivate fields and add new fields. Inactive fields also still count towards a form's row size limit, so this should be considered upfront when creating forms and planning for the long term. 

Q: How does form logic impact a form's performance?

Almost every interaction a user makes with a form that has form logic triggers a validation to confirm whether or not a condition was met and if the user needs to perform an action. The more conditions that exist in the form logic, the more validations need to be made per interaction with the form. Each of these validations is a request to our server.

Form logic and field count is a compounding issue for performance. Forms with many fields and complicated form logic will see performance issues. However, if the row size limit is upheld and the form logic rules are consolidated and optimized, performance should not be impacted.

Q: Is it possible to have too many links between forms?

Linking is the primary way we build relationships between different forms in Apricot. Using linking fields in forms is foundational for features like the Registration Grid and for tracking and managing households. However, linking should be kept to a minimum to prevent performance issues with forms.

For example, Wizard Links are used to create a workflow for data entry users. In the event that a form that may be getting too large, our best practice would be to use the Workflows feature in lieu of Wizard Links to optimize form performance.

What else do you need help with?

Did this answer your question?