Skip to content

Issue #2389: Prevent curation until annotation finished#5897

Merged
reckart merged 12 commits intomainfrom
feature/2389-Prevent-curation-until-ANNOTATION_FINISHED
Mar 1, 2026
Merged

Issue #2389: Prevent curation until annotation finished#5897
reckart merged 12 commits intomainfrom
feature/2389-Prevent-curation-until-ANNOTATION_FINISHED

Conversation

@reckart
Copy link
Copy Markdown
Member

@reckart reckart commented Feb 24, 2026

What's in the PR

  • Prevent annotators from re-opening documents when they are in a curation state even if re-opening is allowed otherwise
  • Prevent annotators from starting annotations on documents that are already in curation - unless the curator explicitly put the annotator's document back into progress

How to test manually

  • Check if being in curation state blocks you (as an annotator) from annotating

Automatic testing

  • PR includes unit tests

Documentation

  • PR updates documentation

- Prevent annotators from re-opening documents when they are in a curation state even if re-opening is allowed otherwise
- Prevent annotators from starting annotations on documents that are already in curation - unless the curator explicitly put the annotator's document back into progress
…ON_FINISHED

* main:
  #2389 - Prevent curation until ANNOTATION_FINISHED
…ON_FINISHED

* main:
  #5895 - Concept features cannot be marked as required
@reckart reckart self-assigned this Feb 24, 2026
@reckart reckart added the ⭐️ Enhancement New feature or request label Feb 24, 2026
@reckart reckart added this to Kanban Feb 24, 2026
@reckart reckart added this to the 40.0 milestone Feb 24, 2026
@github-project-automation github-project-automation Bot moved this to 🔖 To do in Kanban Feb 24, 2026
@reckart reckart requested a review from Copilot February 24, 2026 20:40
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements access control restrictions to prevent annotators from interfering with documents during the curation phase. The changes ensure that once a document enters curation (CURATION_IN_PROGRESS or CURATION_FINISHED), annotators cannot start new annotations or re-open finished annotations unless explicitly allowed by a curator or manager.

Changes:

  • Added logic in DocumentAccessImpl to block annotators from starting work on documents in curation states
  • Enhanced MatrixWorkflowActionBarItemGroup to prevent annotators from re-opening documents during curation
  • Added comprehensive unit tests covering the new access control scenarios

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.

File Description
DocumentAccessImpl.java Implements core access control logic preventing annotators from editing documents in curation states unless their annotation document is explicitly in IN_PROGRESS
MatrixWorkflowActionBarItemGroup.java Prevents annotators from re-opening documents in the matrix workload UI when documents are in curation states
DocumentAccessImplTest.java Adds unit tests covering the new curation-blocking scenarios for annotators and the exception for explicitly reopened documents

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@reckart reckart changed the title Feature/2389 prevent curation until annotation finished Issue #2389: Prevent curation until annotation finished Feb 25, 2026
…ON_FINISHED

* main:
  #5775 - Cleaning up
  #5793 - Upgrade dependencies
- Additional checks at the access level incl tests
- Formatting
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

reckart added 2 commits March 1, 2026 18:16
…ON_FINISHED

* main:
  #4941 - Mapping OIDC groups to INCEpTION's internal roles
  #5716 - Multiple no-label suggestions if there are multiple recommenders for different features on one layer
  #5716 - Multiple no-label suggestions if there are multiple recommenders for different features on one layer
  #5716 - Multiple no-label suggestions if there are multiple recommenders for different features on one layer
  #4941 - Mapping OIDC groups to INCEpTION's internal roles
  #4941 - Mapping OIDC groups to INCEpTION's internal roles
  #4941 - Mapping OIDC groups to INCEpTION's internal roles
  #4941 - Mapping OIDC groups to INCEpTION's internal roles
  #4941 - Mapping OIDC groups to INCEpTION's internal roles
  #4941 - Mapping OIDC groups to INCEpTION's internal roles
  #4941 - Mapping OIDC groups to INCEpTION's internal roles
  #4941 - Mapping OIDC groups to INCEpTION's internal roles
  4941 - Mapping OIDC groups to INCEpTION's internal roles
  Replaced test ptoperties injection with inline properties rather than a dedicated file
  Refactored UT and code with native spring boot properties injection
  Wrote first basic UT
  Fixed gitattributes file and reupload badly encoded files
  Implemented feature. Existing UT done, but new ones must be written before cleaning and refactoring the feature
  Draft WIP
  Updated CRLF
- Avoid potential NPE when no document is open
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

- Improve message
- Reduce database thrashing
@reckart reckart force-pushed the feature/2389-Prevent-curation-until-ANNOTATION_FINISHED branch from 0f29c14 to df9cfe7 Compare March 1, 2026 18:12
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

- Push decision about action into action handler
@reckart reckart force-pushed the feature/2389-Prevent-curation-until-ANNOTATION_FINISHED branch from 458a639 to dfcc2e7 Compare March 1, 2026 19:07
@reckart reckart requested a review from Copilot March 1, 2026 19:18
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@reckart reckart merged commit cfc66f1 into main Mar 1, 2026
7 checks passed
@reckart reckart deleted the feature/2389-Prevent-curation-until-ANNOTATION_FINISHED branch March 1, 2026 19:49
@github-project-automation github-project-automation Bot moved this from 🔖 To do to 🍹 Done in Kanban Mar 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⭐️ Enhancement New feature or request

Projects

Status: 🍹 Done

Development

Successfully merging this pull request may close these issues.

2 participants