Generic Child Bucket Table Placeholder
| Placeholder type | Text |
| Entity | Placeholder should work with planning records as well with bucket records |
| Context | Context supported: _language and _country |
| Function variables | Config Id: Id of table was defined inside childBucketTable.xml |
| Data Query | com.print.accpack.childbuckettable.dataquery.BucketQueryPlugin.getBucketOrPlannedBucket |
| Data Mapping | com.print.accpack.childbuckettable.datamapping.TableDataMappingPlugin.getChildBucketTable |
| Data Processing | com.priint.pubserver.comet.bridge.dataprocessing.IndesignTaggedTextFunctions.tableDataToTaggedTextWithOption options: ColumnWidthFromRowWithMostCells,AutoLoadOff |
The AutoLoadOff option of Data Processing tells the Publishing Server to skip autoloading placeholders inside table cells on placement.
Consider a table with 100 cells. The plugin fills all cell values during the initial table build. You can also assign individual placeholders to cells to allow reloading specific values if the underlying data changes. This lets users do manual finishing without rebuilding the whole table.
Without AutoLoadOff, all placeholders in the cells would load on placement as part of the template build. Since the plugin already set the initial values, this loading adds no value. Disabling autoload avoids unnecessary requests and improves performance.
If a placeholder performs additional logic, such as loading a sub-template, it still needs to run. In that case, remove AutoLoadOff from the data processing options. See templateId.
XML Configuration File
The specific XML configuration file childBucketTable.xml should be created in ISON Eclipse, located at: com.priint.accpack.childbuckettable.GenericChildBucketTablePlugin/<client>/default
If <client> is WerkII it will look like this:
The sections below document all elements and attributes of childBucketTable.xml. Required attributes are marked with (*).
tableConfiguration(*)
Defines the overall table behavior, including how child records are collected, whether a header row is generated, and when the optional last column is displayed.
configId (*)
Configuration ID used as the placeholder function variable.
mode (*)
Detects children of a bucket, planned bucket, or sub-planning.
bucket: children of a parent bucket or parent planned bucketplanning: sub-planning records of a planning record
headerRow
Whether to build the header row. If all header cells are empty, the row is removed.
true: builds the header row using the<header>column configuration (default)false: skips the header row; the<header>configuration is ignored
showLastColumnWhen
Controls when to display <lastColumn>.
none: does not display the last column (default)any: always displays the last column.<lastColumn>should be defined in the configuration.grouping: only displays when the table contains grouping rows. Keep groups together.<lastColumn>should be defined in the configuration.
Example:
<tableConfiguration configId="Full" mode="bucket" headerRow="true" showLastColumnWhen="none">
rowFilters
Filters the child buckets before they are added to the table. Multiple filter conditions can be combined using the configured logical operator.
operator (*)
Determines how multiple <rowFilter> conditions are combined.
and: includes a row if the child bucket matches all conditions defined by<rowFilter>or: includes a row if the child bucket matches at least one condition defined by<rowFilter>
rowFilter
Child elements of <rowFilters> define one condition.
sort (*)
Ordering of condition to filter (integer).
entityIdentifier (*)
Entity identifier of the child bucket to filter.
Example:
<rowFilters operator="or">
<rowFilter sort="1" entityIdentifier="article" />
</rowFilters>
groupColumns
Groups body rows by one or more key values. The <groupColumns> element contains one or more <keyValue> child elements defining the grouping fields.
cellStylePostfix
Appends a postfix to the cell style defined by the <groupFormats>. Useful for applying different cell styles to individual columns without defining additional row formats.
paraStylePostfix
Appends a postfix to the paragraph style defined by the <groupFormats>. Useful for applying different paragraph styles to individual columns while reusing the same row format.
cellValueDelimiter
When grouping by multiple key values, this string delimits each value in the group cell.
groupedSortStrategy
Sort order for grouping rows. Only takes effect when groupedSort is set.
ascdesc- (empty string): keeps the original sort order but still groups records
keyValue(*)
Child elements of <groupColumns> define one grouping field.
sort (*)
Ordering of value of key value on grouping row (integer).
entityIdentifier (*)
Entity identifier of the key value to filter.
key (*)
Key of the key value to filter.
groupedValue (*)
Which field of key value to grouping. Supports XPath (v1) expressions.
groupedSort
Which field to use for sorting. Supports XPath (v1) expressions.
Empty value means no sorting; the grouping rows follow the bucket tree order.
cellValue (*)
Which value to display on grouping row. Supports XPath (v1) expressions.
Almost case cellValue is equals to groupedValue but it can be different if you want to display a different value on grouping row.
Example (group by multiple key values):
<groupColumns cellStylePostfix="" paraStylePostfix="" cellValueDelimiter="," groupedSortStrategy="asc">
<keyValue sort="1" entityIdentifier="category_attribute" key="Category 1" groupedValue="@value" groupedSort="@value" cellValue="concat(@keyLabel, ': ', @value)" />
<keyValue sort="2" entityIdentifier="category_attribute" key="Category 2" groupedValue="@value" groupedSort="@value" cellValue="concat(@keyLabel, ': ', @value)" />
</groupColumns>
Example (group by single key value):
<groupColumns cellStylePostfix="" paraStylePostfix="">
<keyValue sort="1" entityIdentifier="attribute" key="attr0070" groupedValue="@value" groupedSort="@value" groupedSortStrategy="asc" cellValue="concat(@keyLabel, ': ', @value)" />
</groupColumns>
columns(*)
Contains list <column> elements that define the table columns.
hideRowSameValue
Controls whether duplicate rows within a group are hidden.
true: hides rows within a group when all cell values in the row are identicalfalse: rows are always shown (default)