whitehall: Configuration
There is a config file within Content Block Manager, which allows us to configure how schemas and subschemas are handled and presented. The schema is defined as follows:
schemas
Made up of one or more schemas, as defined by schemas.<schema_name>
schemas.<schema_name>
An object that defines a schema
Properties
schemas.<schema_name>.embeddable_as_block
This defines if a subschema is embeddable as an entire block.
schemas.<schema_name>.subschemas
A list of subschemas for a specific object
schemas.<schema_name>.subschemas.<subschema_name>
An object that defines a subschema.
Properties
schemas.<schema_name>.subschemas.<subschema_name>.embeddable_fields
An array of strings that defines fields that can be embedded. This will ensure that field appears as a "Contact block"
when viewing a content block item. For example, when a subschema has the fields freqency
, description
and amount
,
and only amount
is an embeddable field, the subschema will be rendered like so:
schemas.<schema_name>.subschemas.<subschema_name>.field_order
An array of strings that defines the order that fields appear in when rendering the form.
schemas.<schema_name>.subschemas.<subschema_name>.group
If provided, defines the "group" a subschema appears in when viewing a contact block. For example, if a subschema is in a "group" called "modes" alongside other subschemas, it will be rendered like so:
There will also be a button rendered above the tabbed view, allowing the user to add an item of a particular type within that group. Taking the example above, clicking on "Add group" will show the following screen:
schemas.<schema_name>.subschemas.<subschema_name>.group_order
If provided, defines the order that a field is listed in when rendering a group.
schemas.<schema_name>.subschemas.<subschema_name>.embeddable_as_group
This defines if a subschema is embeddable as a group of fields. For example, if an address has a number of fields
(street, city, postcode etc), the group embed code will embed all these fields together. Any other embeddable fields
(as defined in schemas.<schema_name>.subschemas.<subschema_name>.embeddable_fields
)
will be shown below the group within a details
component. For example: