FlattenedCompositeResourceProvider
The FlattenedCompositeResourceProvider exposes read-only composite resources that are produced by querying other resource providers selected by model tags and/or thing shapes (through the Resource Manager), optionally specifying one or more expands terms, and then flattening nested InfoTables into a single-level, flat table.
The flattening of nested InfoTables drops all but their first row. The handling of expand results by FlattenedCompositeResourceProvider is only appropriate when there is at most one resource per expand role for each original resource. Flattened field naming is consistent with that produced by relationship resource providers.
FlattenedCompositeResourceProvider provides an overall composite view of related resources which can easily drive one or more user interfaces, while allowing the composite view to be expanded as desired by reconfiguring the resource provider.