Welcome to the Protogrid Developer Wiki. A place to gather all the documentation and tips&tricks regarding Protogrid.


A field is an element on a card and describes a property of the represented data entry. Which fields are contained in a Card is defined in the underlying Proto. In comparison to relational databases, a Protogrid field plays the role of a table attribute.

There are different types of fields:

  • Text
  • Number
  • Tableview
  • Date & time
  • Relational

Each field on a card is based on a field definition. In this field definition, you can specify the name of the field, a help text, and standard behavior for this field. Field Properties include:

  • User Input: Decide whether input for this field is optional or mandatory.
  • User Enabled: Set whether the field should be:
    • Editable: always editable to the user
    • Editable before first save
    • Computed by a Server-ScriptLibrary
    • Computed by a Client-ScriptLibrary
    • Hidden: Values might exist in the backend, but are not rendered for the user
    • Hidden in client: The field is rendered hidden in the browser. Note that this is a feature for eased user access and not a security feature.
  • Size in Grid: Important fields or field, where you expect the user to enter long texts, can be set to span an entire row.
  • Default Value: For some field types, you may add a default value. This value is automatically written to the card upon creating.
  • Min-Max-Validation (for Numbers and Date & times): You may require that the value of this field is no smaller or bigger than a given value. This will be validated upon saving.
  • Regular-Expression-Validation (for Text): You may require the text to match a certain structure given by a regular expression in the field definition. This will be validated upon saving. Examples of regex strings are given below
    • Mail: The regex string .*@.*\..* matches input of the form [a-z0-9]@[a-z0-9].[a-z0-9]
    • Phone: The regex string ^(\+?)(\d{2,4})(\s?)(\-?)((\(0\))?)(\s?)(\d{2})(\s?)(\-?)(\d{3})(\s?)(\-?)(\d{2})(\s?)(\-?)(\d{2}) matches Swiss phone number entered in international format and the most common styling rules. It matches +41 44 123 12 34, +41 (0) 44 123 12 34, +41-44-123-1234, 0041 44 123 12 34. It does not match 044 123 12 34, +41 0 44 123 1234, +

Note that whether or not a field is editable to a certain user also depends on the users role in the Environment.