> ## Documentation Index
> Fetch the complete documentation index at: https://learn.nextedy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configure Swimlanes (Rows)

> Configure how Nextedy PLANNINGBOARD groups work item cards into horizontal rows by selecting a swimlane assignment type and adjusting supporting options in the widget parameters panel.

## Before you start

* You have an existing Planningboard widget embedded in a Polarion LiveDoc or Wiki page.
* You have edit rights on the page and an active Planningboard license.
* You know which Polarion field or hierarchy you want to use as the grouping dimension (assignee, parent item, enumeration field, project, or SAFe resource).

***

<Steps>
  <Step title="Open the widget configuration">
    1. Open the page containing your Planningboard widget in Polarion.
    2. Switch the page to edit mode (**Edit** button in the Polarion toolbar).
    3. Expand the **Tools** panel next to the widget.
    4. Click the **Edit** (pencil) button to open the widget parameters panel.

    The panel opens on the right side of the page. The **Swimlanes (Rows)** section is roughly halfway down.

    ***
  </Step>

  <Step title="Choose an assignment type">
    In the **Swimlanes (Rows)** section, open the **Assignment Type** dropdown. The available options are described below.

    <Frame>
      <img src="https://mintcdn.com/none-17b4493f/zUlmOSLBIQ0HyaAX/planningboard/diagrams/guides/configuration/swimlanes-configuration/diagram-1.svg?fit=max&auto=format&n=zUlmOSLBIQ0HyaAX&q=85&s=9123427608699c0cdfa54abb11caecb2" alt="Widget Parameters panel showing the Swimlanes (Rows) section with Assignment Type set to Users (Assignee), User Role set to project_user, and an empty optional Report Link field" width="560" height="270" data-path="planningboard/diagrams/guides/configuration/swimlanes-configuration/diagram-1.svg" />
    </Frame>

    ### Users (Assignee)

    Each swimlane represents one user who holds a specified role in the project. Use this for workload and capacity planning at the individual level.

    | Field           | Required | Description                                                                                                        |
    | --------------- | -------- | ------------------------------------------------------------------------------------------------------------------ |
    | **User Role**   | Yes      | Polarion role ID whose members become swimlane rows (e.g. `project_user`)                                          |
    | **Report Link** | No       | URL template for a report opened when clicking the swimlane label; use `${r.objectId.itemId}` as the user variable |

    **Example report link:**

    ```
    /polarion/#/project/PlanningBoard/wiki/SOME_REPORT?user=${r.objectId.itemId}
    ```

    ### Parent Item

    Each swimlane represents a parent work item (for example, a Feature or Epic). Child items can only be placed in the swimlane of their actual parent — dragging to a different row automatically snaps the card back to its correct parent.

    | Field              | Required | Description                                                                                                                                    |
    | ------------------ | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
    | **Sort By**        | No       | Property used to order parent swimlane rows (e.g. `priority`). Sorting parent swimlanes by a custom property is supported from version 25.9.0. |
    | **Parent Role**    | No       | Link role that defines the parent–child relationship (e.g. `implements`)                                                                       |
    | **Parent Query**   | No       | Lucene query to restrict which parent items appear as swimlane rows                                                                            |
    | **Filter Parents** | No       | Yes / No — whether to limit rows to the parents returned by the query                                                                          |
    | **Report Link**    | No       | URL template for a report opened when clicking the swimlane label                                                                              |

    <Warning title="Drag behavior with parent swimlanes">
      When **Parent Item** is active you cannot freely assign items to any row. Planningboard enforces the parent–child relationship: dropping a card in the wrong parent swimlane will snap it back to its actual parent's row.
    </Warning>

    ### Enumeration Field

    Each swimlane represents one value from a Polarion enumeration custom field. Use this for team, component, priority, or any other enumeration-typed attribute.

    | Field           | Required | Description                                                                           |
    | --------------- | -------- | ------------------------------------------------------------------------------------- |
    | **Field ID**    | Yes      | The Polarion field identifier (e.g. `team`, `severity`)                               |
    | **Rows Filter** | No       | Limits the visible rows to a subset of enum values. An empty filter shows all values. |
    | **Report Link** | No       | URL template for a report, parameterised by the field value                           |

    <Tip title="Rows Filter default behavior">
      Leaving the **Rows Filter** empty displays every enum value as a swimlane row. Select specific values in the multi-value selector dialog to show only those rows.
    </Tip>

    <Warning title="Multi-value enumeration fields">
      Support for swimlanes based on **multi-valued** enumeration fields (where a single work item can hold multiple values) is **not yet available**. The product team has committed to implementing this capability. Until then, use single-value enumeration fields for swimlane grouping. If your field validation returns a "field is not enumeration" error, verify that the field is registered as an enumeration type in the Polarion project configuration and rebuild the widget configuration.
    </Warning>

    ### Project

    Each swimlane represents one Polarion project. Use this for cross-project planning views where multiple projects share a single board.

    | Field           | Required | Description                                |
    | --------------- | -------- | ------------------------------------------ |
    | **Report Link** | No       | URL template for a project-specific report |

    ### SAFe Assignment Types

    Swimlane types designed for Scaled Agile Framework environments — **Program / Solution Teams (SAFe)**, **Agile Release Train Teams (SAFe)**, and **Programs (SAFe)** — are available but require additional configuration. Contact Nextedy support for setup guidance.

    ### No Swimlanes

    Disables row grouping entirely. All cards appear in a single flat view. Use this for high-level planning overviews where swimlane separation is not needed.

    ***
  </Step>

  <Step title="Configure sort order and visibility">
    Two additional options in the **Swimlanes (Rows)** section affect how rows are displayed:

    | Property               | Default        | Description                                                                                                |
    | ---------------------- | -------------- | ---------------------------------------------------------------------------------------------------------- |
    | `swimlaneSort`         | `alphabetical` | Order in which swimlanes are listed. Applies to all assignment types except `none`.                        |
    | `showEmptySwimlanes`   | `false`        | When `true`, swimlane rows with no cards are still shown on the board.                                     |
    | `collapsibleSwimlanes` | `true`         | Allows users to collapse or expand individual swimlane rows from the toolbar or by clicking the row label. |

    ***
  </Step>

  <Step title="Save and verify">
    1. Click **Save** (or **Apply**) in the widget parameters panel.
    2. Reload the page — the board reloads automatically after a parameter save.
    3. Verify the swimlane rows appear as expected.

    You should now see the board divided into labeled horizontal rows that match the assignment type you configured. Cards are grouped by the chosen criterion, and the toolbar **Collapse all / Expand all** controls work per row.

    ***
  </Step>
</Steps>

## Configuration example

The following widget parameter scenario configures swimlanes by user assignee, limiting rows to members of the `project_user` role and linking each swimlane label to a per-user capacity report:

```text theme={null}
Swimlanes (Rows)
  Assignment Type : Users (Assignee)
  User Role       : project_user
  Report Link     : /polarion/#/project/MyProject/wiki/CapacityReport?user=${r.objectId.itemId}
```

To switch to an enumeration field (for example, a `team` field):

```text theme={null}
Swimlanes (Rows)
  Assignment Type : Enumeration Field
  Field ID        : team
  Rows Filter     : (leave empty to show all teams)
```

***

## Limitations

* **Page parameters in swimlane configuration accept string type only.** Polarion page parameters (`$pageParameters.xxx`) are accepted in swimlane configuration as string values requiring manual text entry. An enum picker dropdown is not currently available. For multi-team deployments where string-entry is not sufficient, create a separate Planningboard page per team and configure swimlanes statically using link roles.
* **Custom Team work item types not supported.** Planningboard's swimlane configuration does not recognise custom Team work item types. Only Nextedy's standard Team work item with its specific custom fields is supported. This differs from Gantt 25.5.0+, which added support for custom team types.
* **Swimlane sort order is coupled to item sort order.** Changing the swimlane sort setting also affects how cards within each swimlane are ordered.

***

## See also

* [Widget Parameters Overview](/planningboard/guides/configuration/widget-parameters)
* [User and Assignee Swimlanes](/planningboard/guides/swimlanes/user-swimlanes)
* [Parent Item Swimlanes](/planningboard/guides/swimlanes/parent-item-swimlanes)
* [Enumeration Field Swimlanes](/planningboard/guides/swimlanes/enum-swimlanes)
* [Project Swimlanes](/planningboard/guides/swimlanes/project-swimlanes)
* [SAFe Swimlanes](/planningboard/guides/swimlanes/safe-swimlanes)
* [Sort Swimlanes](/planningboard/guides/swimlanes/sorting-swimlanes)
* [Filter Swimlanes by Plan Range](/planningboard/guides/swimlanes/filtering-by-plan-range)
* [Filter Swimlanes by Team](/planningboard/guides/swimlanes/filtering-by-team)
* [No Swimlanes Mode](/planningboard/guides/swimlanes/no-swimlanes-mode)
* [Configure Capacity Tracking](/planningboard/guides/configuration/capacity-configuration)

<Accordion title="Sources">
  **KB Articles**

  * Planningboard Widget Parameters
  * Swimlane Assignment Types
  * Planningboard interface & basic interactions

  **Support Tickets**

  * [#6681](https://support.nextedy.com/helpdesk/tickets/6681)
  * [#6546](https://support.nextedy.com/helpdesk/tickets/6546)
  * [#6777](https://support.nextedy.com/helpdesk/tickets/6777)

  **Source Code**

  * `PlanningBoardWidget.java`
  * `licenseReadonly.cy.ts`
  * `enum-rows-filter.cy.ts`
  * `widget.vm`
  * `planningboard.js`
</Accordion>
