Why YAML?
YAML was chosen because it balances human readability with structural expressiveness. Unlike JSON, YAML supports comments, anchors, and multi-line strings, all of which are valuable when managing complex configuration files that multiple team members need to maintain. Unlike XML, YAML is concise enough that a complete sheet configuration remains scannable in a single screen. Think of YAML configuration in Powersheet like a blueprint: the domain model defines what types of rooms exist and how they connect, while the sheet configuration defines how each room looks and what furniture it contains.The Two Configuration Layers
Powersheet relies on two distinct YAML files that serve complementary roles:domainModelTypes, relationships) — Defines the semantic layer: entity types — for example, UserNeed, SystemRequirement, and DesignRequirement in an RTM model — their properties, and how they relate to each other. Managed through Administration > Nextedy POWERSHEET > Domain Models. One domain model can be shared across many sheet configurations.
Sheet configuration (columns, views, styles, sources) — Defines the presentation layer: which columns appear, how they are styled, what data sources to query, and what views are available. Stored as a YAML file associated with a specific powersheet document via the nextedySheetConfig custom field.
How Configuration Files Are Discovered
When a user opens a powersheet document, the system loads configuration through a two-step lookup:- The document’s
nextedySheetConfigcustom field identifies which sheet configuration file to load - The sheet configuration’s
sources[].modelproperty identifies which domain model to load
/ and display a (Global) suffix in the picker. Project-specific configurations use the filename directly without a path prefix.
Key YAML Patterns
Columns Use Dot-Notation Binding Paths
Column keys in the sheet configuration use dot-separated paths that trace the expansion path through entity relationships:systemRequirements.systemRequirement.title means: follow the systemRequirements expansion, select the systemRequirement entity, and display its title property.
Styles and Anchors Reduce Repetition
YAML anchors (&) and aliases (*) allow you to define a style once and reuse it across multiple columns:
red, blue, green, purple, and their variants (darkred, lightblue, etc.) that map to the built-in design token palette.
Column Groups Organize Related Columns
ThecolumnGroups section visually groups related columns under a shared header with optional collapse behavior:
Configuration Scopes
Powersheet supports multiple configuration scopes. The configuration editor exposes three scope levels: instance (per-document override), template (template-level defaults), and default (global baseline). This layered approach means teams can share a base configuration while allowing individual documents to override specific settings.Although some internal field names reference JSON for historical reasons, all user-facing configuration files use YAML syntax. The configuration editor supports both formats and can convert between them, with YAML as the preferred language.
Related Pages
- Data Model vs Sheet Configuration — Deeper comparison of the two YAML files
- Core Components — How configuration connects to the overall architecture
- Creating Your First Sheet Configuration — Hands-on tutorial for building your first sheet configuration
- Creating Your First Data Model — Step-by-step tutorial for domain model setup
Sources
Sources
KB Articles
- Getting Started: Data Model configuration
- Core Concepts of Powersheet
- Column and Column Group Header Styles configuration
prod-powersheet-src/com.nextedy.powersheet.client/src/modules/Powersheet/Powersheet.tsxprod-powersheet-src/com.nextedy.powersheet/src/com/nextedy/powersheet/PowersheetDocumentConfigurationService.javaprod-powersheet-src/com.nextedy.powersheet/src/com/nextedy/powersheet/enumProvider/SheetConfigEnumProvider.javaQueryExecutorTest.javaMetadataTest.java