Dynamic Dimension Grouping

If you have custom calendars, you might want to introduce some more structure by grouping your Dimension object. For example: on a Contact calendar, create a grouping by account. To do this, you can create one or more Dynamic Grouping Fields, which are related to the calendar you want to group objects on.

Step-by-step guide

  1. Make sure you add the Dynamic Grouping Fields related list to the Multi Calendar page layout

  2. Create the field on the Dimension object that you want to use as grouping. This could for example be an Account lookup on a Contact Dimension

  3. From the calendar record, create a new Dynamic Grouping Field from the Dynamic Grouping Fields related list, using the fields specified in the next section


Creating more than one grouping on a calendar will expose a picklist next to the View buttons on the calendar, allowing you to choose which grouping to display

Dynamic Grouping Field fields

Field name

description

Name

The API Name of the field on the Dimension object that the object should be grouped by

Label

The label users should see in the picklist where they can select which grouping to use. Leave blank for the label of the field.

Calendar

The calendar this grouping belongs to

Default

Define if this grouping should be selected by Default. If no Default is specified, the first selected grouping is random but deterministic

Hierarchical

If this setting is enabled, the Name should refer to a self-referencing field and GoMeddo will create a grouping accordingly. 

No Grouping

Marks this grouping as having no grouping at all. This will also disable the validation on the Name field so it can be anything.

Example

The Resource calendar with no grouping:

The Resource calendar with a Hierarchical B25__Parent__c grouping:

Combining dynamic grouping with lazy availability loading

Pervious GoMeddo versions already contained an option to group dimension objects in order to increase performance. This is represented by the following fields on each View record:

Field name

description

Enable Grouping

If enabled, the Dimension objects will be grouped into groups of size "Grouping Size", and Availabilities will only be loaded once that group is expanded

Grouping Size

The grouping size, if Enable Grouping is TRUE

These settings continue to work as expected, but if you also define Dynamic Dimension Groupings their functionality changes slightly:

  1. The Dimension objects are first grouped according to their Dynamic Groupings

  2. If any of the resulting groups has more than "Grouping Size" objects, that group is then further split into groups of size "Grouping Size"

The Dynamic Grouping groups will also only load Availabilities when expanded. This has the advantage of speeding up the initial load time of the calendar, but it does introduce a small load time the first time you expand a grouping.