Collections are folders for grouping articles by topic, project, or department within a space.
#Creating a collection
- Switch to Tree mode on the Articles page
- Click the "+ Collection" button at the top of the tree
- Enter a name (for example, "Onboarding" or "API documentation")
- Press Enter — the collection will appear in the tree
Or: the context menu (right click) on an existing collection → "Create subcollection".
#Moving articles
#Drag & Drop
Drag an article from the tree into the desired collection. Works for a single article.
#Batch move
- Enable selection mode (the checkbox in the tree header)
- Select the articles you need
- Choose the target collection from the dropdown
- All selected articles will be moved
#Nested collections
Collections support nesting — create subfolders for detailed organization:
Space
├── Onboarding
│ ├── For new employees
│ └── For managers
├── API documentation
│ ├── REST API
│ └── Webhooks
└── Internal processesMaximum nesting depth — 10 levels. This is a technical limit of the recursive CTE in the database that protects against accidental cycles. In practice, even 3–4 levels are rare — a deep structure makes navigation harder.
#Publishing a collection (publish_state)
Every collection has its own publish_state field, which controls who sees the collection and its content in the public KB (if the space is public):
| Value | Behavior |
|---|---|
| inherit (default) | Visibility is inherited from the space. If the space is public, the collection is public too; if private, it is internal. |
| internal | Forcibly hidden from the public KB, even in a public space. Use it for draft or internal collections (for example, Internal Drafts in a public "Client documentation" space). |
| public | Forcibly public. Allowed only in a public space — in a private one this option is disabled. |
The draft state is not used for collections (unlike articles) — an empty collection isn't visible anyway, so draft isn't needed.
It's changed in the collection properties (⋯ → Properties) or in bulk via a bulk action.
#Context menu
Right-clicking a collection opens a menu:
| Action | Description |
|---|---|
| Rename | Inline editing of the name |
| Create subcollection | A nested folder |
| Change icon | Choose from the LkIcon set |
| Change color | Color marking |
| Properties | publish_state, description, additional metadata |
| Move | Change the parent collection or space |
| Delete | Send to the Trash with a retention period |
You can also rename by double-clicking the name.
#Deletion and restoration
When you delete a collection via the context menu:
- The collection with all its content (articles + subcollections) is sent to the Trash — a soft delete
- The objects remain available for restoration throughout the retention period (from 7 to 90 days depending on the plan)
- After the retention period expires — permanent deletion by a background cron job
Restoration:
- Go to the Trash → find the collection (you can filter by the "Collections" type)
- The "Restore" button returns it with the same content
- If the parent collection was also deleted — the system will offer to choose a new parent during restoration
Deleting a collection via direct
permanent_deleted(bypassing the trash) is available only to Space Admin and above from the Trash. An Editor can delete to the trash, but not permanently.
#Articles and subcollections on deletion/restoration
- Deleting a collection — cascades all articles and subcollections inside it to the Trash
- Restoring a collection — returns all content in the same composition it had at the moment of deletion
- Deleting an article separately — the article goes to the Trash, but the collection remains empty (or with other articles)
Articles that don't belong to any collection are shown in a special "No collection" node in the space tree. Drag them into a suitable collection to organize them.