---
title: "Knowledge"
description: "Artikel und Anleitungen. Jede App ist ein Modul auf einem gemeinsamen Datenmodell."
canonical: "https://obop-platform.sliplane.app/de/apps/knowledge/"
lang: "de"
---

# Knowledge

## Wofür sie gedacht ist

A wiki of articles arranged in a tree, with draft, published and archived states and tags. Visibility is a label: there are no row-level permissions yet, so everyone with access to the app reads every article.

## Was das Paket leistet und was nicht

A wiki: articles arranged in a tree through a parent article, with a draft, published, archived flow, a visibility setting and tags. Visibility is a label for the UI and for people to respect; the platform has no row-level permissions yet, so everyone with the Knowledge groups can read every article.

## Modelle

### `knowledge_article`

An article of the knowledge base

Lesegruppe: `knowledge.user`. Schreibgruppe: `knowledge.user`.

| Feld | Art | Datenklasse | Personenbezogene Daten | Gruppe | Agenten sehen | Beschreibung |
|---|---|---|---|---|---|---|
| `title` | text | `none` | nein | `knowledge.user` | im Klartext | Article title |
| `parent_id` | ref → knowledge_article | `none` | nein | `knowledge.user` | im Klartext | The article this one is nested under; empty for a top-level article |
| `body` | longtext | `none` | nein | `knowledge.user` | im Klartext | Article content (Markdown) |
| `visibility` | select (private, workspace, public) | `none` | nein | `knowledge.user` | im Klartext | Who the article is meant for: private, workspace, public |
| `tags` | text | `none` | nein | `knowledge.user` | im Klartext | Comma-separated tags, for example onboarding,hr |
| `author_name` | text | `public_directory` | ja | `knowledge.user` | maskiert | Name of the author |
| `sequence` | number | `none` | nein | `knowledge.user` | im Klartext | Order among its siblings, lowest first |
| `published_on` | date | `none` | nein | `knowledge.user` | im Klartext | Day the article was published (YYYY-MM-DD) |
| `state` | select (draft, published, archived) | `none` | nein | `knowledge.user` | im Klartext | Article status: draft, published, archived |

## Workflows

### `knowledge_article`

| Aktion | Bewegt | Wer sie ausführen darf | Freigabe |
|---|---|---|---|
| `knowledge_article.publish` | state: draft → published | `knowledge.manager` | nein |
| `knowledge_article.unpublish` | state: published → draft | `knowledge.manager` | nein |
| `knowledge_article.archive` | state: published → archived | `knowledge.manager` | nein |

## Berechtigungsgruppen

Von dieser App verwendete Gruppen:

- `knowledge.manager`
- `knowledge.user`

## Freigabeschritte

Kein Schritt dieser App braucht eine Freigabe, abgesehen vom Löschen von Datensätzen.

## Was Agenten tun können und was nicht

Ein Agent kann Datensätze dieser App lesen, durchsuchen, anlegen und aktualisieren sowie Aktionen ausführen, die keine Freigabe brauchen, und zwar innerhalb der Berechtigungsgruppen seines Tokens.

Diese Schritte kann er nur vorschlagen, und eine Person muss sie freigeben: `knowledge_article.delete`.

Personenbezogene Daten werden als Platzhalter maskiert: `knowledge_article.author_name`.

## Abhängigkeiten

Keine.

## Installation

Installieren Sie sie in der App Customize (Marktplatz) oder über die Kommandozeile:

```bash
obop modules install-from knowledge
```

Erfordert eine Datenbank und Administratorrechte.

## Selbst bauen

[Der Modulleitfaden zeigt, wie Apps wie diese geschrieben werden](/de/docs/reference/module-manifest/)
