3.10
Data Grouping by Parent Object
There is a need to display the information organized by particular criteria to simplify the perception of the material.
To reach this goal, use the “Group Content” functionality at the Collection Containers to unite the records by their parent object.
Use Case
Imagine you need to compose a Property brochure to advertise a new building. Each Property has various Availabilities (assets to lease or sell).
You want to filter the interesting Availabilities (for example, select only availabilities with a size greater than 1000 SF) and use them for such a report. So, Availabilities is an incoming data.
For example, you have the following report structure:
Property name: {{Property name}}
Property Address: {{Street, City, ZIP code}}
Availabilities:
Name | Size | Available from |
---|---|---|
{{Availability name}} | {{Availability size}} | {{Available from date}} |
By default, the records will be displayed in the report in the order they were selected. If we select Availability 1, Availability 2, Availability 3, and Availability 4, the information about these records will be displayed in the same order in the record.
Moreover, the information about Properties will be repeated for every Availability if the “Availability” object is a template main object.
To organize the display correctly, activate the Group Content feature on the Collection and assign it to the new Collection (read here about the data mapping principles).
In our example, a main Collection is identified as Availability by default but is re-assigned to Property collection. Such Collection Containers have orange borders.
From now on, every dynamic element put inside this Collection Container will pull data from the Property object regardless of whether the main object is still an Availability.
To pull data from Availabilities grouped by Property, put another Collection Container inside and map it on an Availability collection.
Such a construction allows using Availabilities (child object) as a basis for the report but organizes the records around the Property (parent object).
The tool will determine the Properties of the selected Availabilities “on-a-go” and set them accordingly:
This functionality brings the following benefits:
straightforward reporting when data is grouped logically;
a clear and organized view of your information;
the belief that the organization remains manageable as your data grows;
The alternative flow is to immediately build the template on the Property object and not assign the grouping. However, there is a need to use Property records as a source that is not always a valid option.
Updated filter and condition operators for date-type fields
The new set of operators is available for date and datetime field types. It includes:
Equal (specific date or relative time frames like “today”, “this week”, etc. that are changed the covered area depending on the generation day)
Not Equal (specific date or relative time frames like “today”, “this week”, etc. that are changed the covered area depending on the generation day)
in the Last (number of days/weeks/months/quarters/years)
In the Next (number of days/weeks/months/quarters/years)
Ago (number of days/weeks/months/quarters/years)
Before (number of days/weeks/months/quarters/years)
After (number of days/weeks/months/quarters/years)
Between (particular dates)
Range (number of days around the selected date).
The updated conditions can be applied to the Dynamic Date element.
Read how every filter/condition works and which time areas are covered in Filters and Conditions tutorials.
Unambigous Image type
There is no need to manually determine the Image type of the Dynamic Image: whether it’s a Primary image or not. From now on, Composer Online understands which image type to set depending on the collection where Dynamic Image is placed.
if the image is based directly on the object collection, the Image type is set to “Related primary image” since only the primary image may be pulled from it.
if the image is based on an Attachment-type collection, the Image type is set to “Own image content” since the primary image cannot be pulled from here unlike the images w/o primacy attribute.