All config is defined in the PredefinedConfig class. This ensures that you full type safety as you write your config.
All of the individual properties are nullable.
You will typically want to "pre-populate" your deployed application with predefined config, that the Adaptable Blotter will use when it runs.
If you don't want your users to edit the Adaptable Blotter Objects that you ship with the application, then set the Entitlement for that function to be ReadOnly (See Permissions for more details).
It can be passed in either as pure JSON or as a url to a file which contains the JSON.
Although you can construct all your config by hand, its often easier when building more "complex" items like Queries to create them in the GUI at design time and then copy and paste the resulting state into your config file.
No Predefined Config is mandatory. If none is provided then the Adaptable Blotter will work fully using the default properties. So only set config where you want to change a default or provide the Blotter with your own collections of objects.
You can see full details of the Blotter Options object and its child properties and classes at Adaptable Blotter Code Documentation.
The AdaptableBlotterObject base interface has a single Uuid property which is used for easy identification of objects.
This is included in all base objects and also frequently used objects like Expressions.
Do not set this property when writing objects in your Predefined Config as it will be set by the Adaptable Blotter at run-tine when the config is first read
The purpose of the Uuid property is to make it easy for Blotters to share state and inform each other when an item has been created / edited / deleted.