Guides

Aktivitätsansichten verwenden

Ordnen Sie gesteuerte Quellen zu und verwenden Sie feste gespeicherte Ansichten in Processes.

6 Min. Lesezeit1242 Wörter

Aktivitätsansichten verwenden

Aktivitätsansichten gruppieren autorisierte Processes-Aktivität über explizite Referenzen und Zuordnungen. Eine Referenz ist eine undurchsichtige Kennung im Mandantenbereich. Sie erzeugt keinen Kunden-, Fall-, Antrags- oder Geschäftsergebnisdatensatz.

Verwenden Sie diesen Leitfaden, nachdem der Quelleneigentümer die Lebenszyklusfakten aufgezeichnet hat. Aktivitätsansichten zeigen diese Fakten einschließlich Wartezuständen und Decision Requests. Lineage Explorer bleibt die Oberfläche für die Ausführungsuntersuchung.

Zugriff und Verantwortung

workflow:read öffnet die Processes-Routen. Der Quelleneigentümer autorisiert jede beitragende Quelle, bevor KLA ihre Referenz, Anzahl, Zeit, Beziehung oder ihren Chronologieeintrag zurückgibt. activity_reference:manage verwaltet Zuordnungen und activity_view:manage verwaltet Definitionen gespeicherter Ansichten. Ein Zuordnungsaufruf löst zusätzlich den Lesezugriff auf die benannte Quelle auf, daher erhält eine Identität mit activity_reference:manage ohne Lesezugriff auf diese Quelle FORBIDDEN.

Vorgang Generierte Control-Plane-Prozedur
Quelle zuordnen activityReferences.admit
Zuordnung korrigieren activityReferences.correct
Wirksame Zuordnungen lesen activityReferences.listEffective
Gespeicherte Ansicht erstellen, ändern, archivieren oder wiederherstellen activityViews.create, activityViews.update, activityViews.archive, activityViews.unarchive
Gruppen, Aktivität oder verwandte Arbeit abfragen activity.listGroups, activity.getGroup, activity.listActivity, activity.listRelatedGroups

Der Abfragepfad liest die Projektion der primären API. Er ruft für keine Zeile eine Eigentümer-API auf. Der Quelleneigentümer bleibt für seine Lebenszyklusfakten, seinen Inhalt und seinen Quellen-Drilldown verantwortlich.

Zwei Anfragen einer Kundenreferenz zuordnen

Verwenden Sie explizite Referenzen, die der Quelleneigentümer oder die Integration liefert. Leiten Sie eine Referenz niemals aus Prompt-Text, aus dem Anzeigetext einer Quelle oder aus Nachrichteninhalt ab. Der erste Rumpf ordnet eine Anfrage einer Kundenreferenz und einer Anfragereferenz zu. Speichern Sie ihn als request-104-association.json.

{
  "references": [
    { "namespace": "customer", "key": "external_id", "value": "CMB-42" },
    { "namespace": "request", "key": "external_id", "value": "REQUEST-104" }
  ],
  "source": {
    "sourceType": "input_wait",
    "sourceId": "11111111-1111-4111-8111-111111111111",
    "sourceRevision": "wait-104-v1"
  }
}

activityReferences.listEffective trägt allein den Quellen-Locator und gibt die Zuordnungen zurück, die derzeit zur Projektion beitragen. Speichern Sie ihn als request-104-source.json.

{
  "source": {
    "sourceType": "input_wait",
    "sourceId": "11111111-1111-4111-8111-111111111111",
    "sourceRevision": "wait-104-v1"
  }
}
kla api activityReferences admit --input @request-104-association.json
kla api activityReferences listEffective --input @request-104-source.json

Verwenden Sie activityReferences.correct, wenn sich die wirksame Zuordnung ändert. Die Korrektur benennt die Zuordnung, die sie ersetzt. Die alte Zuordnung bleibt in der Historie und trägt nicht mehr zur wirksamen Projektion bei. Speichern Sie die Korrektur als request-104-correction.json.

{
  "reference": { "namespace": "request", "key": "external_id", "value": "REQUEST-104-CORRECTED" },
  "source": {
    "sourceType": "input_wait",
    "sourceId": "11111111-1111-4111-8111-111111111111",
    "sourceRevision": "wait-104-v2"
  },
  "supersedesAssociationId": "22222222-2222-4222-8222-222222222222"
}
kla api activityReferences correct --input @request-104-correction.json

Quellen mit Tombstone bleiben nach der Wiederholung entfernt. Eine Korrektur oder ein Tombstone kann die Abdeckung auf partial oder unavailable setzen; entfernten Inhalt stellt sie nicht wieder her.

Feste gespeicherte Ansicht erstellen

Gespeicherte Ansichten akzeptieren eine feste Konfiguration. Die zulässigen Filter sind Referenzgleichheit, Quellenart, aufgezeichneter Zustand und ein einschließender Datumsbereich. API, CLI und UI lehnen Formelfelder, beliebige Ausdrucksbäume, benutzerdefinierte Operatoren und ein Geschäftsergebnisfeld ab.

Eine Ansicht mit Arbeitsbereich listet einzelne Anfragen auf. Speichern Sie diese Definition als customer-request-history.json.

{
  "name": "Customer request history",
  "grouping": { "namespace": "request", "key": "external_id" },
  "labels": { "grouping": "Request" },
  "scope": "work",
  "orderedColumns": ["reference", "pending_work", "latest_activity", "waiting_since"],
  "filters": {
    "referenceEquals": [],
    "sourceKinds": ["input_wait", "input_event", "execution"],
    "statuses": ["waiting", "completed"]
  },
  "sort": { "field": "latest_activity", "direction": "desc" }
}

Verwandte Arbeit gehört zu einer Ansicht mit Subjektbereich, die eine sekundäre Gruppierung trägt. activity.listRelatedGroups lehnt jede andere Konfiguration mit secondary_grouping_required ab. Speichern Sie diese Definition als customer-history-view.json.

{
  "name": "Customer history",
  "grouping": { "namespace": "customer", "key": "external_id" },
  "labels": { "grouping": "Customer", "secondaryGrouping": "Request" },
  "scope": "subject",
  "secondaryGrouping": { "namespace": "request", "key": "external_id" },
  "orderedColumns": ["reference", "pending_work", "latest_activity", "secondary_reference"],
  "filters": {
    "referenceEquals": [],
    "sourceKinds": ["input_wait", "input_event", "execution"],
    "statuses": ["waiting", "completed"]
  },
  "sort": { "field": "latest_activity", "direction": "desc" }
}

Eine Änderung ersetzt die gesamte gespeicherte Konfiguration. Der Body trägt jedes Konfigurationsfeld zusammen mit der id der Ansicht und ihrer aktuellen expectedRevision. Diese Änderung fügt die Spalte für die Frist hinzu. Speichern Sie sie als customer-request-history-update.json.

{
  "id": "33333333-3333-4333-8333-333333333333",
  "expectedRevision": 1,
  "name": "Customer request history",
  "grouping": { "namespace": "request", "key": "external_id" },
  "labels": { "grouping": "Request" },
  "scope": "work",
  "orderedColumns": ["reference", "pending_work", "latest_activity", "waiting_since", "deadline"],
  "filters": {
    "referenceEquals": [],
    "sourceKinds": ["input_wait", "input_event", "execution"],
    "statuses": ["waiting", "completed"]
  },
  "sort": { "field": "latest_activity", "direction": "desc" }
}

Die Archivierung behält die Definition und entfernt die Ansicht aus der Liste. Sie erfordert die id der Ansicht und die Revision, die die Änderung zurückgegeben hat. Speichern Sie sie als customer-request-history-archive.json.

{
  "id": "33333333-3333-4333-8333-333333333333",
  "expectedRevision": 2
}

Die Wiederherstellung stellt eine archivierte Ansicht wieder her und erfordert die Revision, die die Archivierung zurückgegeben hat. Speichern Sie sie als customer-request-history-unarchive.json.

{
  "id": "33333333-3333-4333-8333-333333333333",
  "expectedRevision": 3
}
kla api activityViews create --input @customer-request-history.json
kla api activityViews create --input @customer-history-view.json
kla api activityViews update --input @customer-request-history-update.json
kla api activityViews archive --input @customer-request-history-archive.json
kla api activityViews unarchive --input @customer-request-history-unarchive.json

Jede Änderung einer gespeicherten Ansicht gibt die nächste Revision zurück. Laden Sie die gespeicherte Definition neu, bevor Sie einen Konflikt erneut versuchen.

Arbeit und Kundenhistorie abfragen

Jede Abfrage benennt eine gespeicherte Ansicht. Ein angeforderter Filter engt den gespeicherten Filter ein, und ein angefordertes Sortierfeld muss in den gespeicherten orderedColumns enthalten sein. Jede erfolgreiche Antwort liefert asOf, coverage und nextCursor. totalCount ist auf den autorisierten Snapshot begrenzt und kann null sein, wenn die Abfrage ihre Aggregationsgrenze erreicht.

activity.listGroups listet die Gruppen der Ansicht mit Arbeitsbereich auf. Speichern Sie die Abfrage als waiting-requests-query.json.

{
  "viewId": "33333333-3333-4333-8333-333333333333",
  "filters": {
    "referenceEquals": [],
    "sourceKinds": ["input_wait"],
    "statuses": ["waiting"]
  },
  "limit": 25,
  "sort": { "field": "latest_activity", "direction": "desc" }
}

activity.getGroup liest eine Gruppe. Es erfordert referenceId und akzeptiert kein limit und kein sort. Speichern Sie die Abfrage als request-104-group.json.

{
  "viewId": "33333333-3333-4333-8333-333333333333",
  "referenceId": "44444444-4444-4444-8444-444444444444"
}

activity.listActivity liest die Chronologie einer Referenz und blättert mit dem Cursor durch sie. Speichern Sie die Abfrage als request-104-timeline.json.

{
  "viewId": "33333333-3333-4333-8333-333333333333",
  "referenceId": "44444444-4444-4444-8444-444444444444",
  "limit": 25,
  "sort": { "field": "latest_activity", "direction": "desc" }
}

activity.listRelatedGroups benennt die Ansicht mit Subjektbereich und die Kundenreferenz und gibt dann die darunterliegenden Anfragegruppen zurück. Speichern Sie die Abfrage als customer-42-history.json.

{
  "viewId": "55555555-5555-4555-8555-555555555555",
  "referenceId": "66666666-6666-4666-8666-666666666666",
  "limit": 25,
  "sort": { "field": "latest_activity", "direction": "desc" }
}
kla api activity listGroups --input @waiting-requests-query.json
kla api activity getGroup --input @request-104-group.json
kla api activity listActivity --input @request-104-timeline.json
kla api activity listRelatedGroups --input @customer-42-history.json

Der zurückgegebene Cursor bindet die Abfrageform und den Projektions-Snapshot. Verwenden Sie ihn nur für dieselbe Ansicht, dieselbe Referenz, dieselben Filter und dieselbe Sortierung. Wählen Sie Aktualisieren, um einen neuen autorisierten Snapshot zu starten.

Den typisierten TypeScript-Client verwenden

Der TypeScript-Client der Control Plane verwendet dieselben tRPC-Prozeduren wie die CLI. Er überträgt das Zugriffstoken und den Mandanten-Header über seinen konfigurierten Transport. Die Node- und Python-Governance-SDKs veröffentlichen keine Methoden für Aktivitätsansichten.

import type { AppRouter } from '@kla/api';
import { createControlPlaneClient } from '@kla/api-client';

const client = createControlPlaneClient<AppRouter>({
  baseUrl: process.env.KLA_API_URL!,
  tenantId: process.env.KLA_TENANT_ID!,
  token: process.env.KLA_ACCESS_TOKEN!,
});

const view = await client.activityViews.create.mutate(configuration);
const groups = await client.activity.listGroups.query({ viewId: view.id, limit: 25 });

Der Client erhält denselben typisierten Konfigurationsvertrag wie die UI. Die Quellenautorisierung erfolgt weiterhin für jede Abfrage auf dem Server.

Aktuelle Aktivität prüfen

Öffnen Sie Processes und wählen Sie eine Aktivitätsansicht. Die Gruppenliste zeigt getrennte Arbeitsreferenzen. Öffnen Sie eine Arbeitsreferenz für ihre Chronologie. Öffnen Sie eine Subjektreferenz für verwandte Arbeit. Verwenden Sie die Eigentümerlinks, um die Untersuchung in Lineage Explorer oder Decision Desk fortzusetzen, wenn die aktuelle Identität diese Quelle lesen kann.

Abdeckung und Aktualität beschreiben den zurückgegebenen Projektions-Snapshot. Ein Teilergebnis kann Quellenaktivität auslassen. Eine Berechtigungsänderung entfernt eine Quelle bei der nächsten autorisierten Lesung.

Aktivitätsansichten verwenden | Developer Docs | KLA Control Plane