====== Aufgaben ====== **B2Base · 1.0.0-draft.1 · Projektentwurf** Bearbeitbare Aufgaben mit Status, Zuständigkeit, Frist und Dokumentbezug. [[schemes:scheme|Bibliothek]] · [[schemes:process|Aufgaben, Dokumente und Übergaben]] · [[schemes:principles|Internationale Grundregeln]] ===== Direkt verwenden ===== [[b2schema>1.0.0-draft.1/process/task.schema.json|Austauschschema (JSON)]] · [[b2schema>1.0.0-draft.1/process/task.editor.schema.json|Schema für den Designer]] · [[b2schema>1.0.0-draft.1/process/task.examples.json|Beispieldaten]] **Austauschschema:** vollständige Strukturprüfung mit JSON Schema 2020-12. **Designer-Fassung:** gleiche Datenfelder mit reduzierten Strukturregeln zur Feldübernahme. [[:guidelines#im_workflowdesigner_verwenden|Anleitung und Grenzen]] ===== Felder im Überblick ===== ^ Feld ^ Typ ^ Pflicht im Modul ^ Bedeutung ^ | ''id'' | string | Ja | Aufgabenkennung. | | ''title'' | string | Ja | Aufgabentitel. | | ''description'' | string | Nein | Optionale Arbeitsanweisung. | | ''status'' | string | Ja | Bearbeitungsstatus. | | ''assignee'' | object | Nein | Verweis auf eine separat gespeicherte Person oder juristische Person; kein JSON-Schema-Verweis. | | ''parentTaskId'' | string | Nein | Optionale übergeordnete Aufgabe. | | ''workflowInstanceId'' | string | Nein | Zugehöriger Workflowlauf. | | ''dueAt'' | string | Nein | Frist als Zeitpunkt mit Offset. | | ''completedAt'' | string | Nein | Zeitpunkt des Abschlusses. | | ''documentRefs'' | array | Nein | Zugehörige Dokumentkennungen. | | ''extensions'' | object | Nein | Vereinbarte Erweiterungen; Schlüssel als absolute URI des Herausgebers. Keine stillschweigende Änderung von Kernfeldern. | Pflichtangaben gelten für das jeweilige Objekt, wenn dieses Modul verwendet wird. Zusätzliche Alternativen und Statusregeln stehen im Austauschschema. Optionale Felder weglassen, wenn sie unbekannt oder nicht anwendbar sind; ein leeres Pflichtfeld ist kein gültiger Ersatz. ===== International richtig einsetzen ===== * Ein Statuswechsel ist eine fachliche Aktion. Das Schema beschreibt das Ergebnis und führt sie nicht selbst aus. * Abgeschlossene Aufgaben benötigen completedAt. Zyklen zwischen parentTaskId-Verweisen und fehlende Referenzziele gesondert prüfen. * Eine lokal gemeinte Tagesfrist braucht zuvor eine Zeitzonenentscheidung. Der vorhandene Workspace benötigt einen Adapter für dieses Austauschformat. ===== Gültige Beispiele ===== Alle Beispiele sind synthetisch. Sie werden mit dem mitgelieferten Schema geprüft; daraus folgt keine fachliche Echtheit oder externe Erreichbarkeit. ==== Beispiel 1 ==== { "id": "urn:example:task:42", "title": "Unterlagen prüfen", "status": "pending", "dueAt": "2026-10-01T17:00:00+02:00" } ==== Beispiel 2 ==== { "id": "urn:example:task:43", "title": "Daten übernommen", "status": "completed", "completedAt": "2026-09-08T08:30:00Z" } ===== Umstellung aus dem bisherigen Wiki ===== Neues Austauschmodell; die bisherige name/completed/subtasks-Struktur des Workspace bleibt bestehen und muss bei einer Übernahme ausdrücklich abgebildet werden. [[schemes:migration|Änderungsübersicht und Migrationsregeln]] ===== Vollständiges Schema ===== Die Datei ist eigenständig: verwendete Bausteine sind unter ''$defs'' eingebettet, Referenzen bleiben lokal. ''$id'' ist die kanonische Kennung. Die Downloads oben verwenden den aktuellen Server; eine Veröffentlichung unter der kanonischen Domain ist damit nicht behauptet. { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://b2base.eu/schemas/1.0.0-draft.1/process/task.schema.json", "title": "Aufgaben", "$comment": "B2Base 1.0.0-draft.1. Projektentwurf, kein durch ISO oder andere Normungsgremien verabschiedeter Standard.", "type": "object", "description": "Eine Aufgabe; Teilaufgaben werden über stabile IDs verknüpft.", "properties": { "id": { "type": "string", "minLength": 1, "description": "Aufgabenkennung.", "format": "uri" }, "title": { "type": "string", "minLength": 1, "description": "Aufgabentitel." }, "description": { "type": "string", "minLength": 1, "description": "Optionale Arbeitsanweisung." }, "status": { "type": "string", "minLength": 1, "description": "Bearbeitungsstatus.", "enum": [ "pending", "inProgress", "completed", "cancelled" ] }, "assignee": { "$ref": "#/$defs/PartyRef" }, "parentTaskId": { "type": "string", "minLength": 1, "description": "Optionale übergeordnete Aufgabe.", "format": "uri" }, "workflowInstanceId": { "type": "string", "minLength": 1, "description": "Zugehöriger Workflowlauf.", "format": "uri" }, "dueAt": { "type": "string", "minLength": 1, "description": "Frist als Zeitpunkt mit Offset.", "format": "date-time" }, "completedAt": { "type": "string", "minLength": 1, "description": "Zeitpunkt des Abschlusses.", "format": "date-time" }, "documentRefs": { "type": "array", "description": "Zugehörige Dokumentkennungen.", "items": { "type": "string", "minLength": 1, "description": "Dokument-URI.", "format": "uri" }, "uniqueItems": true }, "extensions": { "type": "object", "description": "Vereinbarte Erweiterungen; Schlüssel als absolute URI des Herausgebers. Keine stillschweigende Änderung von Kernfeldern.", "properties": {}, "additionalProperties": true, "propertyNames": { "format": "uri" } } }, "required": [ "id", "title", "status" ], "additionalProperties": false, "allOf": [ { "if": { "properties": { "status": { "const": "completed" } }, "required": [ "status" ] }, "then": { "required": [ "completedAt" ] } } ], "$defs": { "PartyRef": { "type": "object", "description": "Verweis auf eine separat gespeicherte Person oder juristische Person; kein JSON-Schema-Verweis.", "properties": { "entityType": { "type": "string", "minLength": 1, "description": "Art der referenzierten Einheit.", "enum": [ "person", "legalEntity" ] }, "id": { "type": "string", "minLength": 1, "description": "Stabile absolute URI oder URN des Datensatzes, nicht dessen Name.", "format": "uri" }, "name": { "type": "string", "minLength": 1, "description": "Optionale Anzeige; nicht als Identitätsschlüssel verwenden." } }, "required": [ "entityType", "id" ], "additionalProperties": false } }, "examples": [ { "id": "urn:example:task:42", "title": "Unterlagen prüfen", "status": "pending", "dueAt": "2026-10-01T17:00:00+02:00" }, { "id": "urn:example:task:43", "title": "Daten übernommen", "status": "completed", "completedAt": "2026-09-08T08:30:00Z" } ] } ===== Quellen und Abgrenzung ===== * [[https://www.rfc-editor.org/rfc/rfc3339.html|IETF RFC 3339: Datum und Zeitstempel]] * [[https://json-schema.org/understanding-json-schema/structuring|JSON Schema: Aufbau und Referenzen]] Quellen geprüft am 8. September 2026. Die B2Base-Felder und ihre Kombination sind ein eigener Entwurf. Code-Register, nationale Regeln, Echtheit, Zeitfolgen und Referenzziele benötigen die im jeweiligen Verfahren vereinbarten Zusatzprüfungen. [[schemes:scheme|Zur Bibliothek]] · [[:guidelines|Integration]] · [[:faq|Häufige Fragen]]