In Assette, Shells are reusable content blocks that surface data visually in a report. The most commonly used type is the Smart Shell, which dynamically displays data by linking directly to a Data Object. A Data Object defines the structure of data retrieval and formatting, and it enables the use of Output Variables, which are the building blocks of dynamic content within Smart Shells.
Coupled Shells represent an advanced and flexible approach to Shell configuration in Assette. They offer a streamlined alternative to Smart Shells by operating without a directly associated Data Object. Instead, Coupled Shells consume and display values from Output Variables generated by another Data Object. This allows users to create lightweight, purpose-driven content blocks that are tightly integrated with primary data displays.
Relationship to Smart Shells and Data Objects #
To understand Coupled Shells, it is helpful to first review the behavior of Smart Shells:
- Smart Shells are content shells backed by a Data Object.
- Each Data Object can produce multiple Output Variables, which are configured through the Output Variable tab.
- These Output Variables are then embedded in Smart Shells to surface data, such as performance values, sector allocations, risk metrics, and more.
Coupled Shells extend this model by allowing you to reuse Output Variables defined by another Smart Shell used on the page, thus eliminating the need for a dedicated Data Object in the shell itself.
What is a Coupled Shell? #
A Coupled Shell is essentially a “Data Objectless” Smart Shell. Rather than containing its own Data Object, it is linked—or coupled—to the Output Variable of an existing Data Object. This allows the Coupled Shell to surface specific pieces of information that have already been calculated and made available by another component of the report, such as a Performance Table or Allocation Chart.
Key Characteristics #
- No Direct Data Object: Coupled Shells do not contain their own Data Object.
- Consumes Existing Output Variables: They rely on Output Variables defined in another Data Object.
- Streamlined Content Delivery: Ideal for displaying targeted values like a specific sector’s allocation or a single performance figure without repeating data logic.
Example Use Case #
Consider a table that includes Output Variables representing sector allocations for various sectors. Instead of duplicating the logic for each sector allocation in multiple shells:
- Define Output Variables for sector allocations in a single Data Object.
- Create Coupled Shells for one, many, or all sectors.
- Link each Coupled Shell to the corresponding Output Variable.
This setup centralizes data logic and simplifies maintenance while allowing granular content reuse across the report.
When to Use Coupled Shells #
Coupled Shells are most effective when:
- You want to reuse calculated values from a primary Data Object elsewhere in the Smart Page.
- You are building focused visuals (e.g., single metrics, mini-charts) that do not require separate querying or transformation logic.
- You aim to minimize duplication and streamline report configuration.