CodamAIDocs
Themafertig

Die Begriffe

Das Vokabular von CRMS: Vorlage, Schlüssel, Scope, Edition, Sprachvariante, Revision, Entwurf, Ausgabetyp, Format, Render-Anfrage, Payload, Dokument und die drei Modi.

Ausprägungen
Scope USER, TENANT, SYSTEMAusgabetyp DOCUMENT, WORD, TABLEModus PREVIEW, FINAL, TRANSIENT

Worum es geht

CRMS hat ein kleines, festes Vokabular. Jedes Wort steht im Code für genau eine Sache. Wenn du diese Wörter kennst, kannst du jede andere Seite dieses Moduls lesen.

Die Vorlage als Baum

flowchart TD
    K["Vorlage mit Schlüssel audit-report"] --> ES["Edition SYSTEM"]
    K --> ET["Edition TENANT (Mandant A)"]
    K --> EU["Edition USER (eine Person)"]
    ET --> VDE["Sprachvariante de"]
    ET --> VEN["Sprachvariante en"]
    VDE --> D["Entwurf: frei änderbar"]
    VDE --> R1["Revision 1: ersetzt"]
    VDE --> R2["Revision 2: veröffentlicht"]

Eine Vorlage hat einen Schlüssel. Zu diesem Schlüssel kann es mehrere Editionen geben, eine je Eigentümer. Jede Edition hat Sprachvarianten. Jede Variante hat einen Entwurf und eine Kette von Revisionen.

Rund um die Vorlage

BegriffIm CodeWas es ist
Vorlage–Was einen Bericht beschreibt: ein FreeMarker-Text mit Platzhaltern, dazu Felder und Assets
SchlüsselTemplateKeyDer feste Name einer Vorlage, zum Beispiel audit-report. Er gilt in jedem Scope und jeder Sprache. Kleinbuchstaben, Ziffern und Bindestriche, beginnt mit einem Buchstaben, höchstens 128 Zeichen
ScopeTemplateScopeWem eine Edition gehört: SYSTEM der Plattform, TENANT einem Mandanten, USER einer einzelnen Person
EditionEditionDie Vorlage, wie ein Eigentümer sie führt. Ein Schlüssel hat höchstens eine Edition je Eigentümer. Die Edition legt den Ausgabetyp und die Standardsprache fest
SprachvarianteVariantEine Edition in einer Sprache, zum Beispiel de oder de-CH. Jede Variante hat ihre eigene Kette von Revisionen
EntwurfDraftDie Arbeitskopie einer Variante. Du speicherst sie, so oft du willst. Sie gehört zu keiner Kette
RevisionChainEntry vom Typ REVISIONEin eingereichter Stand: Quelltext, Felder und Assets. Er wird nie mehr geändert, nur neue Einträge kommen dazu
Status einer RevisionRevisionStateIN_REVIEW (in Prüfung), REJECTED (abgelehnt), PUBLISHED (veröffentlicht), SUPERSEDED (ersetzt), RETIRED (zurückgezogen). Er wird aus der Kette gelesen, nicht gespeichert
FeldFieldDeclarationEin Wert, den die Vorlage in der Payload erwartet, mit Typ und ob er Pflicht ist
AssetAssetEine Datei, die zur Revision gehört: Bild, Schrift oder Stylesheet. Die Vorlage nennt sie asset:<name>

Pro Variante ist höchstens eine Revision veröffentlicht. Nur diese wird gerendert. Wie eine Revision dahin kommt, steht unter Der Lebenszyklus einer Vorlage.

Wer rendert, bekommt die genaueste Edition, in der eine passende Revision veröffentlicht ist: erst die eigene (USER), dann die des Mandanten (TENANT), dann die der Plattform (SYSTEM). Bei der Sprache geht es von de-CH über de zur Standardsprache der Edition. Die Einzelheiten stehen unter Wie eine Vorlage gefunden wird.

Rund um das Ergebnis

BegriffIm CodeWas es ist
AusgabetypOutputTypeWas der Quelltext einer Vorlage erzeugt. Er entscheidet, in welche Formate sie gerendert werden kann
FormatOutputFormatDie Datei, die herauskommt: HTML, PDF, DOCX, XLSX, CSV, ODS
PDF-ProfilPdfProfileDie Norm, nach der ein PDF erzeugt wird: NONE, PDF_A_3A (Langzeitarchiv), PDF_UA (barrierefrei), PDF_A_3A_UA (beides). Nur für PDF
Render-AnfrageRenderRequestWas eine Anwendung von CRMS will: Schlüssel, Format, Modus, dazu Sprache, Zeitzone, PDF-Profil, Referenz, Payload und Anhänge
PayloaddataDie Daten für genau diesen Bericht, als Objekt mit höchstens zwei Ebenen
AnhangRenderAttachmentEin Bild (PNG oder JPEG), das nur zu dieser einen Anfrage gehört. Die Vorlage nennt es attachment:<name>
ModusRenderModePREVIEW (Vorschau), FINAL (endgültig) oder TRANSIENT (flüchtig)
ReferenzDocumentReferenceDie Kennung des Fachobjekts in der Anwendung, zum Beispiel die ID eines Audits. Pflicht für FINAL. CRMS liest sie nicht, es nutzt sie nur als Namen
HerkunftRenderOriginWoher ein Dokument kommt: Schlüssel, Scope, Sprachvariante, Revision und deren Hash
DokumentketteDocumentChainKeyAlle endgültigen Dokumente zu einer Vorlage, einem Scope, einer Referenz und einem Eigentümer
DokumentrevisionDocumentRevisionEin endgültiges Dokument als Glied seiner Dokumentkette. Das nächste FINAL zur selben Referenz wird die nächste Revision

Die drei Ausgabetypen und ihre Formate:

DOCUMENTWORDTABLE
Die Vorlage schreibtXHTMLWordprocessingML als ein XML-Dokument (Flat OPC)das CRMS-Tabellendokument: Blätter, Zeilen, Zellen mit Typ
FormateHTML, PDFDOCXXLSX, CSV, ODS

Mehr dazu unter Ausgabetypen und Formate.

Alle Begriffe in einer Anfrage

Render-Anfrage
POST /crms/render
{
  "template": "audit-report",     ← Schlüssel der Vorlage
  "format": "PDF",                ← Format, passt zum Ausgabetyp DOCUMENT
  "mode": "FINAL",                ← Modus
  "reference": "audit-4711",      ← Referenz, Pflicht für FINAL
  "locale": "de-DE",              ← Sprache des Dokuments
  "timeZone": "Europe/Berlin",    ← Zeitzone für Datum und Uhrzeit
  "pdfProfile": "PDF_A_3A",       ← PDF-Profil
  "data": { "customer": { "name": "ACME" } }   ← Payload
}
Antwort
200 OK
Content-Type: application/pdf
Crms-Template-Key: audit-report           ← Herkunft: Schlüssel
Crms-Template-Scope: TENANT               ← Edition, die gewonnen hat
Crms-Template-Variant: de                 ← Sprachvariante, die genutzt wurde
Crms-Template-Revision: 3f2c…             ← Revision der Vorlage
Crms-Template-Revision-Hash: sha-256:9a1e…
Crms-Document-Revision: 7b04…             ← nur bei FINAL

(die Bytes des PDF)

Im Beispiel wurde de-DE angefragt, und die Edition des Mandanten hatte nur eine Variante de. CRMS nimmt dann de.

Die drei Modi

PREVIEWFINALTRANSIENT
gespeichertnieja, als Dokumentrevisionnie
KennzeichenWasserzeichen und Merkmal crms-previewkeinsnur Merkmal crms-transient in den Metadaten
braucht eine Referenzneinjanein
erlaubt fürjede veröffentlichte Vorlagejede veröffentlichte Vorlage, wenn die Installation Dokumentrevisionen speichertnur Systemvorlagen, und nur wenn eingeschaltet

Fallen

Weiter

Suchen