Skip to main content
This page answers two questions in one place: can Powersheet show a given kind of Polarion data, and can a user edit it in the sheet? Every field type and entity type below has one of four support levels:
Support levelMeaning
EditableBound to the entity, edited in the sheet, and saved back to Polarion.
Editable, with caveatsEditable, but the cell shows or saves the value differently from Polarion. The notes say how.
Read-onlyLoaded as a real value — it can be sorted, filtered, styled and used in expressions — but it cannot be changed in the sheet.
Server render onlyCannot be bound as a property. A server-rendered property shows it read-only.

Which Fields Can Be Bound

A field becomes a column once the data model lists it under the entity type’s properties and a column in the sheet configuration binds to it. Only the fields the data model lists are loaded. The rule: Powersheet binds primitive fields and single-value enums — including enums over Polarion objects such as @user, @document, @project and @plan. It cannot bind a field that Polarion stores as an object reference, as a structure, or as a multi-value enum.
An unsupported field stops the sheet from openingListing an object-reference or structure field under properties — author, categories, hyperlinks or a table field, for example — makes the sheet show “The sheet could not be initialised”. A multi-value enum fails when the sheet loads its data. Neither falls back to a read-only column, and declaring the property with type: string, type: enum or a serverName alias does not help: the field’s Polarion type always wins. To show such a field, add a server-rendered property under a name of your own and read the field inside the template.
Read-only is enforced by the server, not just by the sheet: a change to a read-only property is refused with the message Cannot modify property '<Type>.<property>' as it has 'updatable' set to false. Editable fields behave the same at every level of a sheet.

Custom Field Types

Built-In Work Item Fields

Rich Text Fields

A rich text field — the built-in description, or a custom field of rich text type — shows in the cell as plain text: bold, italics, lists, links, tables and images are not shown. Editing the cell converts the field to plain text, and the original formatting is lost for good. Line breaks entered with Alt+Enter survive and show as line breaks in Polarion. Nothing else is interpreted: markup such as **bold** or * bullet appears literally, in the sheet and in Polarion. A rich text field that nobody edits is safe. Saving other cells of the same row does not touch it, because a save sends only the properties the user changed. To show rich text with its formatting, and to keep it safe from edits, show it through a server-rendered property and keep any column bound to the field itself read-only — isReadOnly: true on the column or updatable: false on the property. See Configure Read-Only Column.
For a rich text custom field, replace description with the field’s ID.

Users, Categories and Planning

The built-in author, assignee, categories, plannedIn and timePoint fields, and multi-value enums, are shown through a server-rendered property. The templates are in Templates for Fields Powersheet Cannot Bind. Where a user needs to edit the value in the sheet, use a single-value custom enum field instead:
  • A person — a custom field of type @user enum is editable: the sheet shows a dropdown of all users and stores the user ID.
  • A plan — a custom field of type @plan enum is editable and lists the project’s plans. It is a separate field, not plannedIn: selecting a plan in it does not add the work item to that plan.
plannedIn cannot be written from a work item in any case: Polarion keeps the plan’s work items on the plan, not on the work item.

Table Fields and Test Steps

A table custom field cannot be bound, and neither can the steps of a test case. Both can be rendered as an HTML table. For a table custom field, replace myTable with the field’s ID:
For the steps of a test case, replace testSteps with the ID of the test case type’s test steps field. The column headers come from .keys and the rows from .steps:
In the sheet configuration, keep the column read-only and render the HTML the property returns:

Attachments

A server-rendered property lists a work item’s attachments as links, each with Polarion’s file-type icon, and shows image attachments as thumbnails:
The column needs render: "() => context.value". Clicking an attachment link downloads the file; it does not open a preview. Polarion serves attachments as downloads, and a link cannot change that. Images are the exception the template uses: an image shown in the cell renders inline, so the thumbnail is the preview. linkedOslcResources — links to items in other tools, such as Jira or IBM DOORS Next, made through Polarion’s Linked Data — cannot be bound, but a server-rendered property lists them as clickable links with their label and role:
The column needs render: "() => context.value". The template reads the links Polarion already stores and makes no call to the remote tool.
  • Fields of the remote item — its title or status in Jira, for example — are not available.
  • Creating OSLC links from the sheet is not supported.

Server Render Is the General Fallback

If Powersheet cannot edit a kind of data, it can usually still show it. A server-rendered property runs a Velocity template on the server for every row the sheet loads. The template has the row’s work item, its document and the Polarion platform services at hand, so anything those can reach — users, categories, plans, table fields, hyperlinks, approvals, OSLC links — can be rendered into a read-only column, as plain text or as HTML. A server-rendered column behaves like any other column in the sheet:
CapabilityBehaviour
SortSorts on the rendered text. Empty values sort first in ascending order.
Filter by valueLists each distinct rendered text. A cell that renders several names, such as Steve Developer, Melanie Test, is one value.
Export to ExcelExported as plain text. HTML is flattened: a table becomes one line per row with the cells joined by |, and a link becomes its text.
HTML outputShown as HTML when the column sets render: "() => context.value". Without it, the HTML tags show as text.
What it costs:
  • The column is always read-only. The value is recomputed from the template on every load and is never saved back. Give the property readable: true and updatable: false, and the column isReadOnly: true.
  • The template runs once per loaded row. A template that runs queries or walks many links slows the loading of a large sheet.
  • A failing template shows #SERVER_RENDER_ERROR in the cell instead of a value. See Velocity Pitfalls and Debug Template Errors.
Ready-to-use templates for the fields that cannot be bound are in Templates for Fields Powersheet Cannot Bind.

Templates for Fields Powersheet Cannot Bind

Each template goes under the entity type’s properties in the data model, under a name of your own. Give every one readable: true and updatable: false, and its column isReadOnly: true. A template that outputs HTML also needs render: "() => context.value" on its column.
Replace reviewers with the ID of your multi-value enum field.

Velocity Pitfalls

Polarion runs Velocity 1.x. These mistakes are easy to make and hard to spot:

Entity Types

An entity type is a kind of row a sheet can hold. The data model declares it under domainModelTypes. Baselines, revisions and collections are not rows either, but a whole sheet can read from them: see Baseline and Revision Queries and Collection-Scoped Sheets.

See Also