Skip to content

Commit c7df75b

Browse files
committed
global: document request reviewers feature
1 parent d229957 commit c7df75b

File tree

3 files changed

+94
-4
lines changed

3 files changed

+94
-4
lines changed

docs/maintenance/architecture/requests.md

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,22 @@ With the above examples in mind, a request ...
4242

4343
- is created by someone who can cancel it
4444
- is received by someone who can accept or decline it
45+
- may have reviewers assigned to provide feedback and recommendations
4546
- may require clarifications (i.e. a conversation) between the creator of the request and the recipient(s)
4647
- may expire after a certain amount of time
4748

49+
### Reviewers in Requests
50+
51+
Reviewers are optional participants in the request process who can be assigned to provide expert opinion, feedback, or recommendations. Unlike the receiver who makes the final decision to accept or decline the request, reviewers serve as consultants or advisors.
52+
53+
Key characteristics of reviewers:
54+
- Can be individual users or groups
55+
- Multiple reviewers can be assigned to a single request
56+
- Do not have direct authority to accept or decline the request
57+
- Provide input through comments and feedback in the request timeline
58+
- Can be added or removed throughout the request lifecycle
59+
- Have specific permissions to view and comment on the request
60+
4861
## Entities
4962

5063
The key entities in the data model:
@@ -53,14 +66,16 @@ The key entities in the data model:
5366
- Request actions associated to a given request type.
5467
- Request events and comments
5568
- Entity references
69+
- Reviewers (optional entities that can provide feedback and recommendations)
5670

5771
## Properties
5872

59-
A request has four key properties:
73+
A request has five key properties:
6074

6175
- **Creator** - the entity creating request
6276
- **Topic** - the entity the request is about
6377
- **Receiver** - the entity the request is addressed to
78+
- **Reviewers** - optional entities assigned to review and provide input on the request
6479
- **Status** - the state a request is in
6580

6681
## Statuses
@@ -108,7 +123,7 @@ Note, we do not allow updating closed requests.
108123

109124
## Entity references
110125

111-
Entity references is an abstraction that allows any type of creator, topic and
126+
Entity references is an abstraction that allows any type of creator, topic, reviewer and
112127
receiver to be modelled.
113128

114129
Technically it's just a type and persistent identifier. Below is an example of
@@ -140,7 +155,7 @@ user have access to.
140155
An entity grant is a combination of:
141156

142157
- Prefix - The prefix qualifies the grant within the record (e.g. ``creator``,
143-
``receiver``, ``read``, ``write``).
158+
``receiver``, ``reviewers``, ``read``, ``write``).
144159
- Permission need - Entity reference as a permission need (e.g ``UserNeed(1)``).
145160

146161
*Permission needs* are just tuples. Below you find examples of permission
@@ -156,6 +171,7 @@ into a token that we can use for querying:
156171
Examples for entity grant tokens:
157172

158173
- ``creator.user.1`` - expresses that the creator.user.1 is granted access.
174+
- ``reviewers.group.review-board`` - expresses that the group review board is granted access.
159175
- ``receiver.community.123.manager`` - expresses that the community 123
160176
managers are granted access.
161177

docs/operate/customize/requests.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Requests
2+
3+
_Introduced in InvenioRDM v14_
4+
5+
Configure the requests system in InvenioRDM, including the reviewers feature for enhanced review workflows.
6+
7+
## Reviewers Configuration
8+
9+
The reviewers feature enables assignment of external experts, collaborators, or community members to provide feedback on requests without granting them decision-making authority.
10+
11+
### Enable/Disable Reviewers
12+
13+
```python
14+
# Enable the reviewers feature (default: True)
15+
REQUESTS_REVIEWERS_ENABLED = True
16+
```
17+
18+
### Reviewer Limits
19+
20+
Control the maximum number of reviewers that can be assigned to a single request. This helps manage workflow complexity and ensures review processes remain manageable.
21+
22+
```python
23+
# Maximum number of reviewers per request (default: 10)
24+
REQUESTS_REVIEWERS_MAX_NUMBER = 5
25+
```
26+
27+
- **Purpose**: Prevents overwhelming requests with too many reviewers
28+
- **Considerations**: Balance between comprehensive review and manageable workflow
29+
30+
### Group Reviewers
31+
32+
Enable the assignment of user groups as reviewers, allowing entire teams or committees to be assigned to review requests collectively.
33+
34+
```python
35+
# Enable assignment of groups as reviewers (requires invenio-users-resources)
36+
USERS_RESOURCES_GROUPS_ENABLED = True
37+
```
38+
39+
- **Requirements**: Requires the `invenio-users-resources` module to be installed and configured
40+
- **Use cases**:
41+
- Institutional Review Boards (IRBs)
42+
- Editorial committees
43+
- Subject matter expert panels
44+
- Department review teams
45+
- **Behavior**: All members of the assigned group receive access to view and comment on the request
46+
- **Notifications**: Group members may receive notifications based on your notification configuration
47+
48+
## Usage
49+
50+
When enabled, community curators, managers and owners can:
51+
52+
- Assign individual users or groups as reviewers to any request
53+
- Share requests with external experts outside the community
54+
- Grant access to community members who normally wouldn't see requests (e.g., readers)
55+
- Allow multiple reviewers to provide independent feedback
56+
- Track all reviewer interactions in the request timeline
57+
58+
Reviewers can view the request, participate in conversations, and provide recommendations, but cannot accept or decline the request.
59+
60+
## Permissions
61+
62+
Reviewer assignment requires appropriate community permissions:
63+
- **Owners** and **managers** can assign/remove reviewers
64+
- **Curators** can assign/remove reviewers (if configured)
65+
- **Reviewers** can view and comment on assigned requests
66+
- **Readers** cannot assign reviewers but can be assigned as reviewers
67+
68+
## Related Configuration
69+
70+
See also:
71+
- [Communities](../../use/communities.md#requests) - User guide for requests and reviewers
72+
- [Architecture documentation](../../maintenance/architecture/requests.md) - Technical overview of the requests system

docs/use/communities.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,4 +126,6 @@ In the **Requests** tab, you can view all requests for your community. It allows
126126

127127
The request page provides a dedicated space for communication. You can **have a conversation with the submitter** directly within the request, and you can **accept or decline the inclusion request** based on your community's curation policies.
128128

129-
You can find the high-level architecture documentation for communities [here](../maintenance/architecture/communities.md).
129+
When a submission requires expert input or peer review, you can **assign reviewers** to give specific users or groups access to evaluate the request. This allows you to share the request with external experts, collaborators outside your community, or community members who normally wouldn't have access (such as readers). Reviewers can provide feedback on the research publication draft or assess whether a record meets your community's inclusion criteria. They participate in the request conversation and share their expertise to help you make an informed curation decision, while you retain the final authority to accept or decline the request.
130+
131+
You can find the high-level architecture documentation for communities [here](../maintenance/architecture/communities.md) and configuration options for requests and reviewers [here](../operate/customize/requests.md).

0 commit comments

Comments
 (0)