Skip to content

Commit b7cafff

Browse files
docs: Project and task state updates (#9363)
1 parent 3f25dc3 commit b7cafff

File tree

10 files changed

+274
-3
lines changed

10 files changed

+274
-3
lines changed

docs/source/guide/manage_data.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,20 @@ For information on setting up a project, see [Create and configure projects](set
2525

2626
<div class="enterprise-only">
2727

28-
![Screenshot of the Data Manager](/images/project/dm-community.png)
28+
![Screenshot of the Data Manager](/images/project/dm-enterprise.png)
2929

3030
</div>
3131

3232
In Label Studio Community Edition, the data manager is the default view for your data. In Label Studio Enterprise, click **Data Manager** to open and view the data manager page. Every row in the data manager represents a labeling task in your dataset.
3333

34+
<div class="enterprise-only">
35+
36+
## Task states
37+
38+
Each task progresses through a series of states as you take actions on it. For more information, see [Project and Task State Management](project_states).
39+
40+
</div>
41+
3442
## Filter or sort project data
3543

3644
With filters and tabs, you can split data into different sections to be labeled by different annotators, or set up data in a particular order to perform labeling according to prediction score, or another value in your data.

docs/source/guide/manage_projects.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,12 @@ Use the search box in the upper right. You can search by project name.
3030

3131
The project search allows partial and case-insensitive matches.
3232

33+
## Project states
34+
35+
Project states are reflected on the project page and in the top bar when viewing a project. For example, **Ready to Publish**, **Annotating**, **Done**.
36+
37+
For more information about project states, see [Project and Task State Management](project_states).
38+
3339

3440
## Create a project template
3541

@@ -71,7 +77,8 @@ To duplicate a project:
7177

7278
1. Click the overflow menu for the project and select **Duplicate project**:
7379

74-
![Screenshot of project menu](/images/project/project_menu_lse.png)
80+
<img src="/images/project/project_menu_lse.png" style="max-width: 500px" alt="Screenshot">
81+
7582
2. Select the workspace in which you want the new project to be located.
7683
3. Enter a new name and (optionally) a description for the project.
7784
4. Select whether you only want to duplicate project settings (including the labeling configuration), or if you also want to include tasks.
@@ -90,7 +97,7 @@ You may need to refresh the page before you can see the new project.
9097

9198
To pin a project, click the overflow menu for the project and select **Pin project**:
9299

93-
![Screenshot of project menu](/images/project/project_menu_lse.png)
100+
<img src="/images/project/project_menu_lse.png" style="max-width: 500px" alt="Screenshot">
94101

95102
Pinned projects are pinned to the top of the Projects page.
96103

Lines changed: 189 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,189 @@
1+
---
2+
title: Project and Task State Management
3+
short: Project and task states
4+
type: guide
5+
tier: enterprise
6+
order: 105
7+
order_enterprise: 105
8+
section: "Create & Manage Projects"
9+
---
10+
11+
Project and tasks move through a series of states as they progress from their initial created state to completion.
12+
13+
## Project states
14+
15+
![Screenshot of project states](/images/project/project-states.png)
16+
17+
Projects progress through the following states:
18+
19+
```mermaid
20+
stateDiagram-v2
21+
state "Initial" as CREATED
22+
state "Setup In Progress" as SETUP_IN_PROGRESS
23+
state "Ready To Publish" as READY_TO_PUBLISH
24+
state "Published" as PUBLISHED
25+
state "Annotating" as ANNOTATION_IN_PROGRESS
26+
state "Needs Review" as NEEDS_REVIEW
27+
state "In Review" as REVIEW_IN_PROGRESS
28+
state "Done" as COMPLETED
29+
30+
CREATED --> SETUP_IN_PROGRESS: Add config or tasks
31+
SETUP_IN_PROGRESS --> READY_TO_PUBLISH: Add config and tasks
32+
READY_TO_PUBLISH --> PUBLISHED: Publish project
33+
PUBLISHED --> ANNOTATION_IN_PROGRESS: First annotation started
34+
ANNOTATION_IN_PROGRESS --> NEEDS_REVIEW: All tasks annotated
35+
NEEDS_REVIEW --> REVIEW_IN_PROGRESS: First review started
36+
REVIEW_IN_PROGRESS --> COMPLETED: All reviews done
37+
ANNOTATION_IN_PROGRESS --> COMPLETED: No review required
38+
39+
class CREATED neutral
40+
class SETUP_IN_PROGRESS cantaloupe
41+
class READY_TO_PUBLISH cantaloupe
42+
class PUBLISHED grape
43+
class ANNOTATION_IN_PROGRESS grape
44+
class NEEDS_REVIEW cantaloupe
45+
class REVIEW_IN_PROGRESS plum
46+
class COMPLETED kale
47+
```
48+
49+
| State | Description |
50+
|-----------|---------|
51+
| **Initial** | You have created the project, but you have not created tasks or configured the labeling interface yet. |
52+
| **Setup In Progress** | You have created the project and you have either created tasks or configured the labeling interface, but you have not done both. <br/><br/>If your project is in a Personal Sandbox, it cannot move beyond this state until you move it into a shared workspace. |
53+
| **Ready to Publish** | Your project has tasks and you have configured the labeling interface, but you have not published the project yet. |
54+
| **Published** | Project is published, but does not have any annotations yet. |
55+
| **Annotating** | At least one task has at least one submitted annotation, meaning annotation work has started. |
56+
| **Needs Review** | All tasks have been annotated by the required number of users, but there are still tasks that need to be reviewed. <br/><br/>Whether your project enters this state depends on your project settings and task states. See [Additional notes](#Additional-notes) below. |
57+
| **In Review** | All tasks have received at least one review, but reviews have not yet been completed for all tasks. <br/><br/>Whether your project enters this state depends on your project settings and task states. See [Additional notes](#Additional-notes) below. |
58+
| **Done** | All tasks have been completed. |
59+
60+
61+
62+
## Task states
63+
64+
![Screenshot of tasks states](/images/project/task-states.png)
65+
66+
```mermaid
67+
stateDiagram-v2
68+
state "Initial" as CREATED
69+
state "Annotating" as ANNOTATION_IN_PROGRESS
70+
state "Needs Review" as NEEDS_REVIEW
71+
state "In Review" as REVIEW_IN_PROGRESS
72+
state "Done" as COMPLETED
73+
74+
CREATED --> ANNOTATION_IN_PROGRESS: First annotation created
75+
ANNOTATION_IN_PROGRESS --> NEEDS_REVIEW: Annotations complete -<br>review required
76+
ANNOTATION_IN_PROGRESS --> COMPLETED: Annotations complete -<br>review not required
77+
NEEDS_REVIEW --> REVIEW_IN_PROGRESS: First review started
78+
REVIEW_IN_PROGRESS --> COMPLETED: All reviews done
79+
REVIEW_IN_PROGRESS --> ANNOTATION_IN_PROGRESS: Annotation rejected<br>(requeue mode)
80+
81+
class CREATED neutral
82+
class ANNOTATION_IN_PROGRESS grape
83+
class NEEDS_REVIEW cantaloupe
84+
class REVIEW_IN_PROGRESS plum
85+
class COMPLETED kale
86+
```
87+
88+
| State | Description |
89+
|----------|------------|
90+
| **Initial** | Task has been created but does not have any annotations yet. |
91+
| **Annotating** | First annotation has been submitted, or a rejected annotation has been requeued back to the annotator. <br/><br/>Whether the task lingers in this state long enough for it to be reflected in the Data Manager depends on your project settings. See [Additional notes](#Additional-notes) below.|
92+
| **Needs Review** | The required number of annotations have been completed and the task is ready for review. <br/><br/>Whether the task enters this state depends on your project settings. See [Additional notes](#Additional-notes) below. |
93+
| **In Review** | First review has been created for any annotation within the task. <br/><br/>Whether the task enters this state depends on your project settings. See [Additional notes](#Additional-notes) below.|
94+
| **Done** | All required annotations and reviews have been completed. |
95+
96+
!!! info Tip
97+
You can click on the state in the Data Manager to view a history of state changes:
98+
99+
<img src="/images/project/state-history.png" style="max-width: 450px" alt="Screenshot">
100+
101+
Note that state change history tracking did not start until state management was implemented for your organization. For most Label Studio Cloud organizations, state management was implemented in February 2026.
102+
103+
## Additional notes
104+
105+
### Project settings and states
106+
107+
Several project settings affect how and if a project/task enters certain states.
108+
109+
##### Annotating state
110+
111+
The **Annotating** state for tasks is influenced by [**Quality > Overlap of Annotations**](project_settings_lse#overlap).
112+
113+
If your overlap is `1`, the task immediately progresses to the next state as soon as the first annotation is submitted.
114+
115+
If your overlap is greater than `1`, the task will sit in the **Annotating** state until you've reached the required number of annotations.
116+
117+
118+
##### Needs Review state
119+
120+
There are two settings that can cause tasks (and by extension, the project) to skip the **Needs Review** state:
121+
122+
* If you have [**Review > Reviewing Options > Review only manually assigned tasks**](project_settings_lse#reviewing-options) enabled, but have not assigned any reviewers.
123+
* If you have [**Review > Task Ordering > Random**](project_settings_lse#task-ordering) selected and the **Task limit (%)** set to `0`.
124+
125+
126+
##### In Review state
127+
128+
The **In Review** state for tasks (and by extension, the project) only happens when:
129+
130+
* Tasks have multiple annotations (meaning an overlap greater than 1).
131+
* The [**Review > Reviewing Options > Task is reviewed when all annotations are reviewed**](project_settings_lse#reviewing-options) setting is enabled.
132+
133+
By default, the overall task is considered reviewed if any one of its annotations have been been accepted/rejected. In these situations, the task will move from **Needs Review** to **Done** as soon as one review is submitted.
134+
135+
If you enable **Task is reviewed when all annotations are reviewed**, the task moves from **Needs Review** to **In Review** after the first review has been submitted, and then **Done** after the final review is submitted.
136+
137+
### Task state rollup into project state
138+
139+
Once your project reaches the **Published** state, its subsequent states are determined by the state of the tasks within the project.
140+
141+
The project adopts the **least advanced** state of the tasks.
142+
143+
For example, if you have 10 tasks:
144+
* 1 task is in the **Annotating** state
145+
* 6 tasks are in the **In Review** state
146+
* 3 tasks are in the **Done** state
147+
148+
Your project will be in the **Annotating** state.
149+
150+
##### Initial state exception
151+
152+
The exception is the **Initial** state. For the purposes of the project state rollup, **Initial** tasks are calculated as **Annotating** tasks.
153+
154+
For example, if you have 10 tasks:
155+
156+
* 5 tasks are in the **Initial** state
157+
* 5 tasks are in the **In Review** state
158+
159+
Your project will be in the **Annotating** state, even though you do not have any tasks in the **Annotating** state.
160+
161+
162+
163+
### API values
164+
165+
If you are using the [SDK](https://api.labelstud.io/api-reference/introduction/getting-started), the API values for each state are as follows.
166+
167+
Projects:
168+
169+
170+
| Project state | API value |
171+
|-----------|----------|
172+
| **Initial** | `CREATED` |
173+
| **Setup In Progress** | `SETUP_IN_PROGRESS` |
174+
| **Ready to Publish** | `READY_TO_PUBLISH` |
175+
| **Published** | `PUBLISHED` |
176+
| **Annotating** | `ANNOTATION_IN_PROGRESS` |
177+
| **Needs Review** | `NEEDS_REVIEW` |
178+
| **In Review** | `REVIEW_IN_PROGRESS` |
179+
| **Done** | `COMPLETED` |
180+
181+
Tasks:
182+
183+
| Task state | API value |
184+
|----------|------------|
185+
| **Initial** | `CREATED` |
186+
| **Annotating** | `ANNOTATION_IN_PROGRESS` |
187+
| **Needs Review** | `NEEDS_REVIEW` |
188+
| **In Review** | `REVIEW_IN_PROGRESS` |
189+
| **Done** | `COMPLETED` |

docs/themes/v2/source/css/styles.css

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2341,6 +2341,73 @@ code.hljs {
23412341
display: none;
23422342
}
23432343

2344+
/* Match page font */
2345+
pre code svg[id^="mermaid-"] {
2346+
font-family: var(--font-family-secondary) !important;
2347+
}
2348+
2349+
/* Thicker arrows */
2350+
svg[id^="mermaid-"] .transition {
2351+
stroke-width: 1.5 !important;
2352+
}
2353+
2354+
/* Thicker arrowheads */
2355+
[id^="mermaid-"] svg marker path {
2356+
stroke-width: 3px;
2357+
}
2358+
2359+
svg[id^="mermaid-"] .edgeLabel .label rect {
2360+
fill: white !important;
2361+
opacity: 1 !important;
2362+
}
2363+
2364+
/* White background for transition labels (stroke trick) */
2365+
svg[id^="mermaid-"] .label div .edgeLabel {
2366+
padding: 3px;
2367+
}
2368+
2369+
svg[id^="mermaid-"] .neutral.node rect {
2370+
fill:#F9F8F6 !important;
2371+
stroke:#E1DED5 !important;
2372+
stroke-width:3 !important;
2373+
padding:5px
2374+
}
2375+
2376+
svg[id^="mermaid-"] .grape.node rect {
2377+
fill:#D4DBFB !important;
2378+
stroke:#99ABF5 !important;
2379+
stroke-width:3 !important;
2380+
padding:5px
2381+
}
2382+
2383+
svg[id^="mermaid-"] .plum.node rect {
2384+
fill:#F7D6F2 !important;
2385+
stroke:#E995DC !important;
2386+
stroke-width:3 !important;
2387+
padding:5px
2388+
}
2389+
2390+
svg[id^="mermaid-"] .cantaloupe.node rect {
2391+
fill:#FFE4D0 !important;
2392+
stroke:#FFB882 !important;
2393+
stroke-width:3 !important;
2394+
padding:5px
2395+
}
2396+
2397+
svg[id^="mermaid-"] .kale.node rect {
2398+
fill:#D4F1EB !important;
2399+
stroke:#57B7AB !important;
2400+
stroke-width:3 !important;
2401+
padding:5px
2402+
}
2403+
2404+
svg[id^="mermaid-"] .persimmon.node rect {
2405+
fill:rgb(255 214 205) !important;
2406+
stroke:rgb(255 159 137) !important;
2407+
stroke-width:3 !important;
2408+
padding:5px
2409+
}
2410+
23442411
/****************************
23452412
Playground
23462413
****************************/
-242 KB
Loading
365 KB
Loading
143 KB
Loading
376 KB
Loading
194 KB
Loading
311 KB
Loading

0 commit comments

Comments
 (0)