High-Level Architecture
No Separate Data Store
This is the single most important architectural concept to internalize. Unlike tools that synchronize data to an external database, Powersheet works entirely within Polarion:- Work items are the rows in the sheet. They are standard Polarion work items, queryable and editable through any Polarion interface.
- Link roles connect work items across entity types. Powersheet reads and writes these native Polarion links — it does not maintain its own relationship tables.
- Custom fields on work items store property values. Powersheet columns bind to these fields through the data model.
- YAML files stored in the project SVN repository define what data to show and how to present it. They are version-controlled alongside the rest of the project.
Three-Tier Architecture
Server Extension
The server extension runs as a Java plugin inside the Polarion application server process. It handles four responsibilities:
The server extension registers four administration pages within Polarion at Administration > Nextedy Powersheet:
- Data Models — file manager for data model YAML files
- Sheet Configurations — file manager for sheet configuration YAML files
- Setup — initial setup and configuration
- License — license status and management
Client Application
The client application runs in the user’s browser and renders the interactive sheet. It receives the parsed configuration and typed metadata from the server, then builds the sheet UI with:- Hierarchical row expansion based on the data model’s expansion paths
- Inline cell editing with type-aware editors (text, dropdowns, reference pickers)
- Column filtering and sorting including multi-column sort
- Row grouping by column values with collapsible headers
- Copy and paste with level-aware restrictions that prevent cross-hierarchy paste errors
- Keyboard shortcuts for common operations (add row, export, freeze columns, grouping)
Configuration Layer
All behavior in Powersheet is driven by two types of YAML files:
The data model acts as a semantic abstraction layer over Polarion’s native work item types and link roles. You can reuse the same sheet configuration across projects that have different Polarion type setups — only the data model mapping needs to change.
The sheet configuration is assigned to a document through a custom field on the Polarion LiveDoc. When a user opens that document, Powersheet reads the assigned configuration and renders the sheet accordingly.
For a deeper comparison, see Data Model vs Sheet Configuration.
Data Flow: Loading a Sheet
The following diagram traces the sequence from the moment a user opens a Powersheet document to the fully rendered sheet.- Document opens — The document’s custom field identifies which sheet configuration to use
- Server loads YAML — The server reads the sheet configuration and the referenced data model from the SVN repository
- Metadata generation — The server generates a typed metadata schema from the data model and sends it along with the configuration to the client
- Client initializes — The client builds columns from the configuration, sets up type-aware editors, and prepares the sheet structure
- Data query execution — The client issues queries that the server translates to Polarion Lucene queries, expanding along configured expansion paths to load related entities at each level
- Sheet renders — All rows, columns, formatting, and grouping are applied
Security Architecture
Powersheet inherits and enforces Polarion’s security model at every layer. It does not implement its own authentication or maintain separate access control lists.isReadOnly: true) or apply formatters that prevent editing. Workflow-protected fields and calculated properties are automatically non-editable. These client-side controls provide immediate UI feedback but are not the sole enforcement mechanism — the server independently validates every write.
Configuration access — YAML configuration files are stored in the SVN repository and follow Polarion’s repository permission model. The administration pages at Administration > Nextedy Powersheet are restricted to users with project administrator roles.
Client-side read-only indicators and server-side permission enforcement work together. Even if a client-side restriction were bypassed, the Polarion API would reject unauthorized changes. This layered approach means you do not need to duplicate Polarion permission rules in Powersheet configuration.
Configuration Scoping
Powersheet configuration operates at three levels, following Polarion’s standard administration hierarchy:
Project-level configurations supplement global ones. A project can reference a global data model while defining its own sheet configurations, or vice versa. This enables organizations to maintain a standard entity model centrally while allowing individual projects to customize their column layouts.
For details on how global and project-level configurations interact, see Global vs Project-Specific Configuration.
Where Each Component Lives
Understanding the physical location of each component clarifies what is deployed, what is configured, and what is stored:Related Pages
- Core Components — Detailed look at each building block
- Data Model vs Sheet Configuration — Why two YAML files exist and how they divide responsibilities
- Model-Driven Design — How the data model shapes the entire sheet experience
- Polarion Integration — How Powersheet extends the Polarion platform
- Global vs Project-Specific Configuration — Configuration inheritance and scoping
- YAML Configuration System — How configuration files are discovered and loaded