You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/operate/customize/collections.md
+95-13Lines changed: 95 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,8 +2,7 @@ _Introduced in v13_
2
2
3
3
Collections provide a powerful way to curate and organize records within your InvenioRDM instance. They define sets of records based on search filters and can be organized hierarchically to create meaningful groupings of content.
4
4
5
-
!!! warning
6
-
This features currently lacks a user-friendly interface for easy configuration and require manual setup.
5
+
_Updated in v14: Added user interface for collections management in community settings._
7
6
8
7
## Overview
9
8
@@ -19,34 +18,117 @@ Collections **cannot** be used to apply access restrictions or permission-based
19
18
20
19
## Configuration
21
20
21
+
### Display Settings
22
+
22
23
To enable displaying the communities "Browse" menu entry in your InvenioRDM instance, add to your `invenio.cfg`:
23
24
24
25
```python
25
26
COMMUNITIES_SHOW_BROWSE_MENU_ENTRY=True
26
27
```
27
28
28
-
Additionally, for any communities that you want to setup collections, you need to configure them to allow subcommunities via the `children.allow` setting.
29
+
### Collection Hierarchy Limits
30
+
31
+
You can configure limits for collection hierarchies to maintain good user experience and system performance:
32
+
33
+
```python
34
+
# Maximum depth for collection hierarchies (default: 1)
35
+
# Depth 0 = root collections
36
+
# Depth 1 = children of root
37
+
# Depth 2 = grandchildren
38
+
# Setting this to 1 allows 2 levels: root + children only
39
+
COMMUNITIES_COLLECTIONS_MAX_DEPTH=1
40
+
41
+
# Maximum number of collection trees per community (default: 10)
42
+
# Set to 0 for unlimited trees
43
+
COMMUNITIES_COLLECTIONS_MAX_TREES=10
44
+
45
+
# Maximum number of collections per tree (default: 100)
46
+
# This counts all collections in a tree, regardless of depth
#### Customizing Collection Management Permissions for Specific Communities
85
+
86
+
You can use the `IfCommunitySlug` generator to apply a different collection management permission to specific communities across your instance based on a community's slug. For example, to block collections management for a community with slug `physics`:
87
+
88
+
```python
89
+
from invenio_communities.permissions import CommunityPermissionPolicy
90
+
from invenio_communities.generators import (
91
+
CommunityOwners,
92
+
IfCommunitySlug,
93
+
)
94
+
from invenio_records_permissions.generators import Disable, SystemProcess
Having a community with `children.allow: true` is a limitation of the current "Browse" menu entry implementation in InvenioRDM v13. This will be patched to allow communities that might only have collections (and not subcommunities enabled) to still display the "Browse" menu entry.
32
118
33
119
## Managing Collections
34
120
35
-
Collections are organized within **Collection Trees** - hierarchical structures that allow you to create logical groupings and nested relationships. Collection trees serve as the root containers for your collections and can be:
121
+
Collections are organized within **Collection Trees**(also called **Sections**) - hierarchical structures that allow you to create logical groupings and nested relationships. Collection trees serve as the root containers for your collections and can be:
36
122
37
123
-**Community-specific** - Scoped to records of a particular community
38
124
-**Global** - Scoped across records of your entire instance
39
125
40
126
!!! info "Global collections"
41
-
Global collections display is not yet implemented in InvenioRDM v13.
42
-
43
-
Before creating collections, you need:
127
+
Global collections display is not yet implemented in InvenioRDM.
44
128
45
-
1.**Access to Python shell** - Collections are currently managed via `invenio shell`
46
-
2.**A community with subcommunities enabled** - At present, collections are scoped to communities, so you need at least one community. Additionally, to display the "Browse" tab, that community must have `children.allow: true` set.
129
+
### Managing Collections Programmatically
47
130
48
-
!!! warning "Administration UI for Collections"
49
-
The administration UI for managing collections is not yet available in InvenioRDM v13. Collections are currently managed programmatically via the Python shell.
131
+
You can also manage collections programmatically via the Python shell or custom scripts. This is useful for bulk operations or automated setup.
The **Collections** section allows you to organize your community's records into curated collections based on search filters. Collections help users browse and discover records through meaningful thematic groupings.
107
+
108
+
Community owners can manage collections through the community settings interface:
109
+
110
+
1. Navigate to your community's settings page
111
+
2. Click on the **Collections** tab in the left sidebar
112
+
3. Use the interface to:
113
+
- Create new sections (collection trees).
114
+
- Add collections within sections.
115
+
- Create nested child collections.
116
+
- Edit collection queries and metadata.
117
+
- Reorder collections via drag-and-drop.
118
+
- Delete collections and sections.
119
+
120
+
For more details on collections, including configuration options and programmatic management, see the [Collections documentation](../operate/customize/collections.md).
121
+
102
122
## Members
103
123
104
124
The **Members** tab in your community's navigation allows you to view and manage all individuals and groups associated with your community. You can see their roles, visibility settings, and when they joined.
0 commit comments