diff --git a/docs/core-concepts/cycles.md b/docs/core-concepts/cycles.md index b2ce1b28..b3804cf8 100644 --- a/docs/core-concepts/cycles.md +++ b/docs/core-concepts/cycles.md @@ -52,7 +52,7 @@ If the Project Admin sets the **Timezone** in [Project settings](/core-concepts/ You can modify the name, description, start and due dates of active and upcoming cycles at any time. ::: -## Start and stop cycles +## Manually start and stop cycles While Cycles typically run for their set duration, sometimes you need more flexibility in managing your work periods. You can manually control when a Cycle begins or ends using the interface controls. @@ -82,6 +82,21 @@ Any unfinished work items in the ended Cycle will remain in their current state. This manual control gives you the flexibility to adapt your Cycles to your team's actual work rhythm, rather than being strictly bound to predetermined dates. +## Override scheduled cycles + +Cycles start and end automatically when their scheduled dates arrive. With this feature, a cycle's dates no longer trigger state changes on their own. The admin decides when each cycle actually starts and ends. + +So if a cycle is scheduled to start on July 5, it stays upcoming past that date until the admin clicks **Start cycle**. If it's set to end on July 5, it keeps running until the admin clicks **End cycle**. + +To enable this feature: + +1. Go to **Settings → Features → Cycles** inside the project. +2. Find **Manually start and end cycles** and toggle it on. + +When ending a cycle, if there are incomplete work items, you'll be asked whether to leave them in place or transfer them to another cycle before confirming. + +> Turning this off does not affect any cycle already in progress, it only restores automatic scheduling going forward. + ## Parallel cycles By default, only one cycle can be active at a time, and cycles cannot have overlapping dates. With parallel cycles enabled, you can run multiple cycles simultaneously with overlapping date ranges. This is useful when your team manages parallel workstreams — for example, a two-week sprint running alongside a longer release cycle. diff --git a/docs/core-concepts/pages/editor-blocks.md b/docs/core-concepts/pages/editor-blocks.md index 2c782732..b0461aaa 100644 --- a/docs/core-concepts/pages/editor-blocks.md +++ b/docs/core-concepts/pages/editor-blocks.md @@ -54,6 +54,20 @@ Use the `/embed` slash command to quickly insert an embed block. This opens an embed dialog where you can paste any supported link. The system automatically detects the content type and creates an appropriate embed with a rich preview. This eliminates the need for users to navigate away from your content to view referenced materials. +## Embed Dashboard widget + +Embed a live dashboard widget directly in a page. Instead of linking out to a dashboard, you bring a single chart, table, or metric from an existing dashboard into your page. It renders inline and stays in sync with your data. + +Type `/` in the editor and search for **Link dashboard widgets** to insert a dashboard widget block. + +When you insert the block, a selector opens where you choose a dashboard and then pick the specific widget you want to embed. The widget appears inline in your page. + +You can change the widget at any time by hovering over the block and clicking **Change widget**. To remove it, click **Delete** from the block menu. + +:::tip +You need at least one dashboard with widgets already set up before you can embed one in a page. See [Dashboards](/dashboards) to get started. +::: + ## Image Inserts and displays images within your content. @@ -170,7 +184,7 @@ Generate or transform content directly within your pages using AI. The AI Block Type `/ai` to insert an AI Block. The block appears with a prompt input area and a dropdown to select the action type. -### Action types +#### Action types **Summarize page** Generates a concise summary of your page content. Useful for creating executive summaries, TL;DRs, or quick overviews of longer documents. @@ -189,3 +203,47 @@ Adds a horizontal line to separate content sections visually. ## Emoji Add emojis to your content across all Plane editors. Type `/emoji` to open the picker or use `:` and start typing for suggestions like `:smile:`. Choose from standard Unicode emojis and GitHub's extended collection. + +## Date block + +The date block inserts an inline date picker anywhere in a page. It renders as a small pill showing a formatted date and can be clicked to open a calendar and change the selection. + +#### Insert a date block + +Type `/date` in the editor to open the slash command menu and select **Date**. You can also search for it by typing `/calendar`, `/deadline`, or `/due`. + +The block is inserted at the cursor position with no date selected. + +#### Pick a date + +Click the date pill to open a calendar popover. Select any date. The popover closes and the pill updates to show the selected date formatted as `Jan 15, 2025`. + +Click the pill again at any time to change the date. + +#### In read-only pages + +The date renders as plain formatted text. It cannot be clicked or changed. + +## Status block + +The status block inserts an inline colored label anywhere in a page. You define the text and choose from six colors. Use it to mark sections of a page with a state, flag, or category without creating a separate work item. + +#### Insert a status block + +Type `/status` in the editor and select **Status**. You can also search for it by typing `/label`, `/badge`, or `/tag`. + +The block is inserted with the default text "STATUS" and a gray background. + +#### Edit the label + +Click the status badge to open a popover with a text field and a color picker. + +Type your label text in the field. Changes appear on the badge as you type. + +Select a color from the six options: Gray, Emerald, Crimson, Yellow, Indigo, Purple. + +Press **Enter** or click outside the popover to close it and save. + +#### In read-only pages + +The status badge renders with its color and text preserved. It cannot be clicked or edited. diff --git a/docs/dashboards.md b/docs/dashboards.md index d40badf4..bd57ccac 100644 --- a/docs/dashboards.md +++ b/docs/dashboards.md @@ -229,6 +229,46 @@ One row per group, with a count column. The y-axis metric is fixed to **work ite and cannot be changed - table charts always show a raw count. The appearance settings (column color, legend, tooltip) match the bar chart config options. +### Work Items Table + +A work items table lists individual work items as rows with configurable columns. Unlike the table chart, which aggregates issues into groups and shows a count, the work items table renders one row per work item — giving you a live filtered spreadsheet view of your issues directly on a dashboard. + +It is most useful when you need a quick-reference list of specific issues on a dashboard — for example, all open blockers, issues due this week, or unassigned high-priority work — without navigating to a project view. + +**Basic** + +Rows display each matching work item with its identifier and name always visible. You choose which additional columns appear, how many rows to show per page, and navigate across pages directly on the widget. + +The widget does not have an x-axis property, y-axis metric, or group-by dimension — it is a flat list, not a chart. Dashboard-level and widget-level filters control which work items appear. + +**Columns** + +The identifier, name, and project are always present. All other columns are optional and can be enabled or disabled in the widget configuration. + +| Column | What it shows | +| ----------------- | ------------------------------------------- | +| State | State name, color, and group | +| Priority | Work item priority | +| Assignees | Assigned members with avatars | +| Due date | Target date | +| Start date | Start date | +| Labels | All labels on the work item | +| Cycle | Current cycle | +| Modules | All modules the work item belongs to | +| Work item type | The type, if work item types are configured | +| Estimate points | Estimate value | +| Created by | Member who created the work item | +| Sub-work items | Count of child work items | +| Attachments | Attachment count | +| Links | Link count | +| Customer requests | Number of customer requests linked | +| Customers | Number of customers linked | +| Releases | Releases the work item is part of | + +**Rows per page** + +Set between 1 and 100 rows per page (default 10). Use a lower number for a compact at-a-glance list and a higher number when you need to scan many items at once. + ## Configure a widget Open the configuration sidebar by clicking the widget or by clicking the pencil icon. @@ -343,6 +383,96 @@ Plane renders each widget into the PDF. Chart widgets become images; table and n are rendered as structured content. The PDF renderer respects the desktop grid layout and places widgets in their configured positions and sizes across pages. +## Share a dashboard + +Sharing a dashboard grants specific workspace members access to a private dashboard without making it public to the whole workspace. You choose which members to invite and what level of access they get. + +A shared dashboard appears in the recipient's **Shared** tab in the dashboard list. + +### Share with members + +1. Open the dashboard. +2. Click **Share** in the header. +3. In the modal, open the **Share** tab. +4. Search for a workspace member and select them. They are added with **View** access by default. +5. To change their access level, click the permission dropdown next to their name and select **View** or **Edit**. +6. Click **Save**. + +You can add multiple members before saving. All changes are applied in one batch when you click Save. + +Only the dashboard owner can share a dashboard. Shared members cannot re-share it with others. + +### Access levels + +**View** - The member can open and read the dashboard. They cannot add, edit, move, or delete widgets, and cannot change dashboard settings or filters. + +**Edit** - The member can do everything the owner can, except delete the dashboard, change its visibility, or manage sharing. + +### Remove a member + +1. Open **Share** in the header, then the **Share** tab. +2. Find the member in the list and click the permission dropdown, then **Remove**. +3. Click **Save**. + +Removed members immediately lose access. The dashboard disappears from their Shared tab. + +### The Shared tab + +Dashboards appear under the **Shared** tab in the left sidebar when + +- You own a private dashboard that you have shared with at least one member. +- Someone has shared their private dashboard with you. + +Both cases show in the same tab. You can tell which dashboards you own by the presence of the Share and edit controls in the header. Shared members who do not own the dashboard will not see those controls. + +### Limits + +There is no limit on the number of members you can share a dashboard with. You can share with any active, non-guest workspace member. The dashboard owner and guest-role members cannot be added. + +--- + +## Publish a dashboard + +Publishing a dashboard generates a unique public URL that anyone can open with no Plane account required. It is the right choice when you want to share dashboard data with stakeholders, clients, or teammates who are not part of your workspace. + +A published dashboard is always read-only for viewers. They can see widget data but cannot edit the dashboard, change filters, or modify anything. + +### Publish + +1. Open the dashboard. +2. Click **Share** in the header. +3. In the modal, open the **Publish** tab. +4. Click **Publish**. Plane generates a unique link. +5. Copy the link and share it. + +Anyone with the link can view the dashboard without signing in. + +Only the dashboard owner can publish or unpublish a dashboard. + +### Unpublish + +1. Open the dashboard. +2. Click **Share**, then the **Publish** tab. +3. Click **Unpublish**. + +The public URL immediately becomes inaccessible. The link is deactivated but not permanently deleted, so the same anchor can be reactivated if you publish again. + +### Regenerate the link + +If you need to invalidate the current public URL without unpublishing the dashboard, click **Regenerate link** in the Publish tab. This creates a new URL. The old URL stops working immediately. + +Use this if the link was shared with the wrong people and you want to cut off their access without taking the dashboard fully offline. + +### What viewers see + +Viewers see the dashboard name, all widgets in their configured layout, and all data subject to the dashboard-level and widget-level filters. The grid is responsive; widgets stack vertically on smaller screens. + +Viewers cannot see who owns the dashboard, edit any settings, or interact beyond reading the data. + +### Access controls + +Published dashboards are link-only. There is no password protection, no expiration date, and no view limit. Anyone with the URL can view the dashboard. To restrict access, unpublish the dashboard or regenerate the link. + ## Resize and reposition widgets While a dashboard is in **edit mode**: diff --git a/docs/work-items/project-work-item-types.md b/docs/work-items/project-work-item-types.md index 018160bf..653e5bfa 100644 --- a/docs/work-items/project-work-item-types.md +++ b/docs/work-items/project-work-item-types.md @@ -81,31 +81,54 @@ You can add custom properties to all your work item types. Before you delete properties, switch off the **Active** toggle button to avoid data loss. ::: -### Property types +## Property types -Here's a list of all the property types and attributes that Plane provides for creating custom fields: +### Text -| Property type | Attributes | Notes | -| ---------------------- | ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **Text** | Single line, Paragraph, Read-only | The **Read-only** attribute cannot be marked as mandatory. Enter text in the Read only data box for this option. | -| **Number** | Default value | An optional default value can be given to this property type. | -| **Dropdown** | Single select, Multi select, Add options | Specify the values for the dropdown under **Add options**. | -| **Boolean** | True/False | Default value is false. This attribute cannot be marked as mandatory. | -| **Date** | Date Format | Consistent date format across all properties. | -| **Member picker** | Single Select, Multi select | Displays a list of all project members. Members selected via a member picker property are automatically added as subscribers to the work item, so they receive notifications for updates, comments, and status changes. | -| **Release picker** | One or more releases | Multi select | -| **URL** | | A URL field for linking to external resources. | +A freeform text field. When you add a text property, you choose one of three formats: -### Examples of custom properties +- **Single line:** A compact input for short values like names, codes, or labels. +- **Paragraph:** A multi-line input for longer freeform content. +- **Read-only:** A fixed text display. You enter the text when setting up the property, and members see it on every work item but cannot edit it. Read-only text properties cannot be marked as mandatory. -- _Product launch_ - `Launch date` `Geography` `Budget` `Approval status` `Stakeholder` +### Number -- _Bug_ - `Affected version` `Resolved version` `Environment` `Steps to reproduce` `Approval status` `Customer impact` +A numeric field that accepts decimal values. You can optionally set a default value that pre-fills when a work item is created. -- _Final design approval_ - `Final design files` `Approval checklist` `Client approval date` `Responsible person` +### Dropdown + +A selection field backed by a list of options you define. When setting up the property, add your options under **Add options**. Each option can have a name and an icon. + +Choose **Single select** to let members pick one option at a time, or **Multi select** to allow multiple selections. + +### Boolean + +A true/false toggle. The default state is false. Because it already represents a complete two-state answer, boolean properties cannot be marked as mandatory. + +### Date + +A date picker field. You choose a display format for dates across this property: + +- `Jan 15, 2025` +- `15/01/2025` +- `01/15/2025` +- `2025/01/15` + +The format you pick applies consistently to all work items using this property. + +### Member picker + +A people-selection field that lists all members of the project. Choose **Single select** to allow one member, or **Multi select** to allow several. + +Members selected through a member picker property are automatically added as subscribers to that work item, so they receive notifications for updates, comments, and status changes. + +### Release picker + +A field for linking a work item to one or more [releases](https://docs.plane.so/releases) in the project. Supports multi-select. + +### URL + +A field for a single URL. Members enter a link to an external resource, like a design file, a document, or a ticket in another tool, and it renders as a clickable link on the work item. ## Use work item types diff --git a/docs/work-items/workspace-work-item-types.md b/docs/work-items/workspace-work-item-types.md index 8bf8a4aa..ec77396d 100644 --- a/docs/work-items/workspace-work-item-types.md +++ b/docs/work-items/workspace-work-item-types.md @@ -83,18 +83,72 @@ The property is now available to attach to any work item type. If the modal shows "No properties available," either all existing properties are already linked to that type, or no custom properties have been created at the workspace level yet. Create new properties from the **Properties** tab first. -### Property types - -| Property type | Description | -| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -| **Text** | Single line or paragraph text. Can be set to read-only with a default value. Read-only properties cannot be marked as mandatory. | -| **Number** | Numeric value with an optional default. | -| **Dropdown** | Single-select or multi-select from a defined list of options. | -| **Boolean** | True/false toggle. Defaults to false. Cannot be marked as mandatory. | -| **Date** | Date picker with a consistent format across all properties. | -| **Member picker** | Single-select or multi-select from the list of project members. | -| **Release picker** | Select from available Releases in the project. | -| **URL** | A URL field for linking to external resources. | +## Property types + +### Text + +A freeform text field. When you add a text property, you choose one of three formats: + +- **Single line:** A compact input for short values like names, codes, or labels. +- **Paragraph:** A multi-line input for longer freeform content. +- **Read-only:** A fixed text display. You enter the text when setting up the property, and members see it on every work item but cannot edit it. Read-only text properties cannot be marked as mandatory. + +### Number + +A numeric field that accepts decimal values. You can optionally set a default value that pre-fills when a work item is created. + +### Dropdown + +A selection field backed by a list of options you define. When setting up the property, add your options under **Add options**. Each option can have a name and an icon. + +Choose **Single select** to let members pick one option at a time, or **Multi select** to allow multiple selections. + +### Boolean + +A true/false toggle. The default state is false. Because it already represents a complete two-state answer, boolean properties cannot be marked as mandatory. + +### Date + +A date picker field. You choose a display format for dates across this property: + +- `Jan 15, 2025` +- `15/01/2025` +- `01/15/2025` +- `2025/01/15` + +The format you pick applies consistently to all work items using this property. + +### Member picker + +A people-selection field that lists all members of the project. Choose **Single select** to allow one member, or **Multi select** to allow several. + +Members selected through a member picker property are automatically added as subscribers to that work item, so they receive notifications for updates, comments, and status changes. + +### Release picker + +A field for linking a work item to one or more [releases](https://docs.plane.so/releases) in the project. Supports multi-select. + +### Rich text + +A full document editor field. Unlike a plain text property, rich text supports formatting: headings, lists, code blocks, inline code, bold, italic, and embedded images. Each work item stores its own content for the field, and that content is versioned and searchable. + +### URL + +A field for a single URL. Members enter a link to an external resource, like a design file, a document, or a ticket in another tool, and it renders as a clickable link on the work item. + +### Formula + +A computed, read-only field. You write an expression when setting up the property, and Plane evaluates it automatically for each work item. Members cannot edit the value directly; it always reflects the formula result. + +Formulas can reference other properties on the work item and use conditional logic to produce a result. A few examples: + +Categorize by estimate size: +`{estimate_point} > 5 ? "Large" : "Small"` + +Flag high-priority items: +`{priority} == "HIGH" ? "Urgent: " + {name} : {name}` + +Because the value is always derived, formula properties cannot be marked as mandatory. ## Import types into a project