System and Custom Registration Fields
When your users sign up on your app using cidaas' registration form, they will have to provide specific information as field input values to create an account.
While some of these fields are default or system fields defined by cidaas, the others are called custom fields and can be added explicitly by you on your app's user registration form through the cidaas Admin dashboard.
System Fields Definition
System Fields are input fields that appear by default on your users' registration page and can be selected under Edit App > App Settings > Advance Settings > Registration Fields > Allowed Fields on the cidaas Admin dashboard.
These fields are defined by the cidaas Admin in the backend.
Custom Fields Definition
Custom Fields are input fields that you can explicitly create to be available on your users' registration page and can be defined under Settings > Registration Page Fields > Create Fields on the cidaas Admin dashboard.
System and Custom fields are useful, for example:
- To manage addresses (postal addresses and communication addresses).
- To add keys for referencing entities in the backend system like the customer number, personnel number, or contract number.
- To manage additional identification fields (having the data type
Basic Definitions and Attributes of Registration Field Setting
FieldSetup defines the setup of
CustomField and is uniquely defined by a
The unique identifier of the
|dataType||Defines the datatype of a field.|
|internal||Defines the visibility of the field which is used only for internal purposes and not visible to the users. We don't expose this field in the public registration field list. This field is editable only by the admin-user.|
Marks a field as only readable and not editable by the users. Fields with
|required||Mandates the user to provide input to complete the registration or creation of a user account.|
|order||Defines the order of the registration field shown on the UI.|
|enabled||Marks a field as active.|
|fieldDefinition||Defines the constraints for a field.|
|scopes||Defines the scope of the registration field. An access token having scopes should match with the registration field scope, only after which the value of the field can be given in the user profile API.|
Defines the field in different languages for localization. It contains, for example,
Marks a field as a group and will be used to display the
Identifies the parent group of the field. The default
|consent_refs||Refers to the consents taken from the user during login and registration.|
|baseDatatype||Defines the base datatype of a field which is used to avoid data mismatches in a field. For each data type there is a definition of base datatype (please refer to the Assignment of data type and base data type table in the next section).|
However, Field Setting can contain groups with the data type
GROUPING which is used to group the Field Setting parameters which cannot be used directly for custom field.
Validation of Fields based on dataType and baseDataType
dataTypes reflect either a user interface type (like RADIO, TEXTAREA) and/or add some semantics to the data (like PASSWORD, URL, EMAIL, CONSENT) while the
baseDataType is used to define how data gets stored.
Please refer to the table below to understand the different
dataTypes, their corresponding
baseDataTypes and what they mean.
|TEXT||string||This is a text field for which the constraints minimum and maximum text length can be defined.|
|RADIO||string||Different values can be predefined (for a defined group) from which a value can be selected. The selected value is saved as a string.|
|CHECKBOX||boolean||Is a binary value that is stored as boolean.|
|PASSWORD||string||Is a text field.|
|DATE||datetime||The date which is stored as datetime.|
|URL||string||This is a text field. The incoming values need to match a url format.|
|string||This is a text field. The incoming values need to match the email format.|
|TEXTAREA||string||This is a text input field.|
|MOBILE||string||This is a text field. The incoming values need to match the mobile number format.|
|CONSENT||boolean||This is a binary value which is used to store the user's consent.|
|JSON_STRING||string||This is a text field for which contains a raw JSON.|
|USERNAME||string||This is a text field which is used to save the unique identifiers of a user.|
|ARRAY||array[string]||This is an array of strings without predefined values.|
|SELECT||string||This is a single value that is selected from an array of predefined ones and is saved as a string.|
|MULTISELECT||array [string]||These are multiple values that are selected from an array of predefined ones and are saved as an array of strings.|
How System Fields and Custom Fields Differ?
All the fields are part of the user account domain and are described by the Field Setting.
The differences between the Custom and Default Field Settings are shown in the following table:
|Characteristic||System Field||Custom Field|
|Field Setting||YES (
|Can be activated and deactivated.||YES||NO|
|Predefined Datatype||YES (modelled in SocialIdentity).||NO|
|Can be added.||NO||YES|
|Can be removed.||NO||YES|
|Can be individually grouped.||NO||YES|
Handling of Custom Fields
Add New Custom Field
On cidaas, you can add only custom fields to your application.
The first step is to Add Field Setting on the cidaas Admin dashboard to create a Custom Field for which the steps are given below.
Add Field Setting
The general flow includes Creating the Field Setting by configuring values for dataType, localText, fieldKey, etc. After creating the Field Setting, you can use it for adding new custom fields.
For this, please follow these steps.
1. Navigate to Settings > Registration Page Fields on the cidaas Admin dashboard.
2. Under the Create Field page > Field Setting, provide the values for Field Key, Field Type which are mandatory.
Then, Select Scopes and Permissions (optional).
3. Configure Locale Setting by providing the values for the mandatory fields, Select Locale (language of the Registration field), Field Name Based on Locale (name of the registration field that will appear for the user), and Required Message (the message that will appear for the user).
4. Finally, provide the Minimum and Maximum length constraint values (optional) and click Save.
The following success window appears which confirms the Field Setting creation before adding a new custom field.
1. The Field Setting added cannot be easily removed since custom data could have already been assigned to various user accounts.
2. Adding the Field Setting does not automatically add and initialize any custom field in the User Account. This has to be done explicitly by Navigating to your App under Apps List > Edit App > App Settings > Advanced Settings > Registration Fields and adding the Custom Field under Allowed Fields.
You can set the Custom Field you've created as a mandatory input field on your application by selecting it from the list for Required Fields as shown below.
3. A Field Setting can only be added with a valid
is_group: true and
enabled: true) that is of type
Validation of Custom Fields
1. You cannot add a Custom Field without providing the value for Field Type (dataType) under Field Setting.
2. For Custom Fields, you need to provide the Field Key, Field Type, and Field Name Based on Locale values. The system checks if the Field Setting you're creating is unique and only then creates it.
3. In addition to checking if the Custom Field has a Field Setting that is Enabled, the format is also validated based on if the Data Type corresponds to its relevant Base Data Type please refer to this table.
Modifying Field Setting
You cannot edit Field Key and Field Type under Field Setting. All other fields can be edited by clicking on the Edit icon under Settings > Registration Page Fields.
Deleting Field Setting
Deleting a Field Setting for a Custom Field should be done carefully since custom data could already have been assigned to various user accounts.
When a Field Setting for a Custom Field is deleted, the following happens.
1. All data related to this Field Setting will be lost.
2. The Field Setup and the related Custom Field(s) with the given Field Key are deleted from all user accounts.
Deleting a Field Setting
To delete a Field Setting, please follow these steps.
1. Under Settings > Registration Fields click the Edit icon of the Field Setting you want to delete.
2. Then, click the delete button at the bottom of the page.
3. The following confirmation window will appear to confirm if you want to delete the field.
Clicking on Okay will display the following dialog window confirming the field deletion.
This Field Setting is also deleted under the Registration Page Fields page.
This completes our discussion on System and Custom Fields. For any questions or assistance please visit our support page.
We'll be happy to help! Thank you.