> ## 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.

# Project Mode

> **Project Mode** is a swimlane assignment type for Nextedy PLANNINGBOARD that groups work items into horizontal swimlanes based on the sub-projects within the current project group.

See [Assignment Modes](/planningboard/reference/assignment-modes/index) for an overview of all available swimlane assignment types.

***

## Overview

When `assignmentMode` is set to **Project** (`PROJECT`), the board automatically discovers the sub-projects of the current Polarion project group and renders one swimlane per sub-project. Only sub-projects the current user can read are included; the current project itself is excluded from the swimlane list.

This mode is suited to teams or program managers who need to plan and track work across multiple projects simultaneously — for example, a program-level Planningboard spanning several team projects.

<Frame>
  <img src="https://mintcdn.com/none-17b4493f/vfRg9jxXRntLqZFW/planningboard/diagrams/reference/assignment-modes/project-mode/diagram-1.svg?fit=max&auto=format&n=vfRg9jxXRntLqZFW&q=85&s=42e464540643c166edc79d60cc6712df" alt="Project Mode swimlane grid with an Unplanned Sidebar column spanning both rows and three Plan columns (Iteration 1-3), with Sub-project A and Sub-project B swimlane rows containing work item cards" width="720" height="320" data-path="planningboard/diagrams/reference/assignment-modes/project-mode/diagram-1.svg" />
</Frame>

***

## Widget Parameters

Configure Project Mode in the **Widget Parameters** panel under **Swimlanes (Rows)** → **Assignment Type**.

### Assignment Mode Parameter

| Parameter        | Type     | Default    | Description                                                                                      |
| ---------------- | -------- | ---------- | ------------------------------------------------------------------------------------------------ |
| `assignmentMode` | `string` | `ASSIGNEE` | Set to `PROJECT` to enable Project Mode. Controls how work items are grouped into swimlane rows. |

### Swimlane Display Parameters

The following parameters apply when `assignmentMode = PROJECT`.

| Parameter              | Type      | Default        | Description                                                                                                                                |
| ---------------------- | --------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `showEmptySwimlanes`   | `boolean` | `false`        | When `true`, sub-project swimlanes are displayed even if they contain no planned work items. When `false`, empty swimlane rows are hidden. |
| `collapsibleSwimlanes` | `boolean` | `true`         | Allows users to collapse and expand individual swimlane rows to manage board complexity.                                                   |
| `swimlaneSort`         | `string`  | `alphabetical` | Determines the vertical order of swimlanes. Controls how sub-project rows are sorted on the board.                                         |

### Optional Report Link

| Parameter    | Type     | Default | Description                                                                                                                                   |
| ------------ | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `reportLink` | `string` | —       | Attaches a project-specific report URL to each swimlane. Allows navigating to a report filtered for that sub-project directly from the board. |

<Note title="Report Link is optional">
  The `reportLink` parameter is optional. If not configured, swimlane headers render without a report navigation link.
</Note>

***

## Swimlane Discovery

Planningboard resolves the swimlane list at render time by querying the sub-projects of the current Polarion project group. The discovery behavior follows these rules:

| Rule           | Detail                                                   |
| -------------- | -------------------------------------------------------- |
| Scope          | Sub-projects within the current project group only       |
| Exclusion      | The current project itself is not included as a swimlane |
| Access filter  | Only sub-projects readable by the current user are shown |
| Empty projects | Controlled by `showEmptySwimlanes`; hidden by default    |

<Info title="Verify in application">
  The exact mechanism for project group resolution (e.g., whether nested sub-groups are traversed) is not confirmed by available context. Verify the depth of sub-project discovery against the live product.
</Info>

***

## Dragging and Assigning Work Items

When Project Mode is active, dragging a card from the unplanned sidebar or another swimlane to a project's row assigns that work item to the corresponding sub-project. The assignment is made according to the configured `assignmentMode = PROJECT` logic in the data service.

<Warning title="Verified items cannot be moved">
  Work items with status **Verified** are locked on the board. They cannot be dragged to a different swimlane or unplanned. This restriction applies to all assignment modes including Project Mode.
</Warning>

***

## Configuration Example

The following widget parameter snippet shows a minimal Project Mode configuration. Widget parameters are set in the **Widget Parameters** panel when editing the Planningboard widget on a Polarion LiveDoc or Wiki page.

```properties theme={null}
assignmentMode=PROJECT
showEmptySwimlanes=false
collapsibleSwimlanes=true
swimlaneSort=alphabetical
```

Extended example with capacity tracking enabled:

```properties theme={null}
assignmentMode=PROJECT
showEmptySwimlanes=true
collapsibleSwimlanes=true
swimlaneSort=alphabetical
capacityLoad=true
hoursPerDay=8
```

<Tip title="Show empty swimlanes during initial setup">
  Set `showEmptySwimlanes=true` when first configuring a cross-project board so all sub-projects appear as rows, making it easier to distribute unplanned items. Switch back to `false` once the board is populated to keep the layout focused.
</Tip>

***

## Capacity Tracking in Project Mode

When `capacityLoad=true`, Planningboard renders capacity bars for each Plan column and can aggregate capacity per swimlane. In Project Mode each swimlane corresponds to a sub-project rather than an individual resource, so capacity reflects the aggregated effort of all work items planned to that sub-project.

| Parameter           | Type      | Default | Description                                                                                                                                           |
| ------------------- | --------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| `capacityLoad`      | `boolean` | `false` | Enables capacity load visualization. Renders capacity bars in Plan column headers and swimlane cells.                                                 |
| `multiCapacityLoad` | `boolean` | `false` | Enables per-swimlane capacity tracking. When `true`, each swimlane cell shows its own capacity progress independently.                                |
| `capacityField`     | `string`  | —       | Custom field ID containing capacity values (e.g., story points). If not set, time-tracking fields (`remainingEstimate` / `initialEstimate`) are used. |
| `hoursPerDay`       | `number`  | `8`     | Number of working hours per day used for capacity calculations when converting between time and day-based values.                                     |

<Warning title="Capacity whitespace sensitivity">
  Capacity configuration parameters are whitespace-sensitive. Ensure values do not contain leading or trailing spaces when entered in the Widget Parameters panel.
</Warning>

***

## Sorting

The `swimlaneSort` parameter controls the vertical order of sub-project swimlanes.

| Value          | Behavior                                                                  |
| -------------- | ------------------------------------------------------------------------- |
| `alphabetical` | Sub-project swimlanes are sorted alphabetically by project name (default) |

<Info title="Verify in application">
  Whether additional sort values (e.g., by project ID or custom order) are supported in Project Mode is not confirmed by available context. Check the **Assignment Type** → **Sort By** dropdown in the Widget Parameters panel for the current list of available options.
</Info>

***

## Limitations

* **Current project excluded:** The project in which the Planningboard widget is embedded is never rendered as a swimlane row. Only sibling sub-projects within the same project group appear.
* **Read permission required:** Sub-projects the current user cannot read are silently excluded from the swimlane list. Users with partial project access see only the sub-projects they can read.
* **No multi-assignee distribution:** Project Mode does not distribute capacity across multiple assignees within a sub-project swimlane. Capacity is aggregated at the project level. This is consistent with the general Planningboard limitation of no multi-assignee capacity distribution (see [Capacity Parameters](/planningboard/reference/widget-parameters/capacity-parameters)).
* **Swimlane sort coupled to item sort:** The swimlane sort order in Project Mode is coupled to the overall item sort order on the board. Reordering items may affect swimlane rendering order.

***

## Relationship to Other Assignment Modes

Project Mode is one of several swimlane assignment types available in Planningboard.

| Assignment Mode   | Swimlane rows based on                             |
| ----------------- | -------------------------------------------------- |
| `PROJECT`         | Sub-projects in the current project group          |
| `ASSIGNEE`        | Individual users (assignees) in the project        |
| `PARENT`          | Parent work items linked via a specified link role |
| `ENUM`            | Values of an enumeration custom field              |
| `SAFE_TEAM`       | SAFe teams within the current program              |
| `SAFE_TRAIN_TEAM` | Teams within a specific Agile Release Train        |
| `SAFE_PROGRAMS`   | SAFe programs within a solution train              |
| `none`            | No swimlane grouping; all items in a single view   |

For details on each mode, see:

* [Assignee Mode](/planningboard/reference/assignment-modes/assignee-mode)
* [Parent Item Mode](/planningboard/reference/assignment-modes/parent-mode)
* [Enumeration Field Mode](/planningboard/reference/assignment-modes/enum-mode)
* [SAFe Team Mode](/planningboard/reference/assignment-modes/safe-team-mode)
* [SAFe Train Team Mode](/planningboard/reference/assignment-modes/safe-train-team-mode)
* [SAFe Programs Mode](/planningboard/reference/assignment-modes/safe-programs-mode)
* [No Swimlanes Mode](/planningboard/reference/assignment-modes/no-swimlanes-mode)

***

## Where to Configure

1. Open the Polarion LiveDoc or Wiki page containing the Planningboard widget.
2. Enter edit mode and open the widget's **Widget Parameters** panel.
3. Navigate to **Swimlanes (Rows)**.
4. Set **Assignment Type** to **Project**.
5. Optionally configure `showEmptySwimlanes`, `collapsibleSwimlanes`, `swimlaneSort`, and `reportLink`.
6. Save the widget parameters.

For full parameter reference, see [Swimlanes (Rows) Parameters](/planningboard/reference/widget-parameters/swimlanes-parameters).

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

  * Swimlane Assignment Types
  * Filter user swimlanes by Plan range
  * Planningboard interface & basic interactions

  **Support Tickets**

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

  **Source Code**

  * `PlanningBoardWidgetRenderer.java`
  * `PlansMode.java`
  * `PlanningBoardDataService.java`
  * `PlanningBoardWidgetDependenciesProcessor.java`
  * `AssignmentMode.java`
</Accordion>
