Manifest einer Webressource
Schema-ID: web-resource-manifest@1
Maschinenlesbares Schema: web-resource-manifest.schema.json
Die maßgebliche Beschreibung der Metadaten einer Webressource (Abschnitt 6.15): einer Anwendungsdatei – JavaScript, CSS, HTML, JSON, XML, Text oder ein Bild –, die in der Plattformdatenbank gespeichert und als vollwertige Lösungskomponente gepackt wird, sodass sie mit der Lösung wandert, statt von einem externen Host abgerufen zu werden. Die Bytes der Datei reisen getrennt (inline im Lösungspaket); dieses Manifest sind die Metadaten, die identisch validiert werden, ob eine Ressource über das Admin Control Center erstellt, per direktem API-Aufruf übermittelt, von einem KI-Assistenten generiert oder in einem Lösungsimport mitgeliefert wird – die Regel des einen Validierungspfads (Abschnitt 6.7).
Webressourcen sind bewusst kein Object Storage: Object Storage ist der separate Blob-Speicher für große Mengen betrieblicher Dateien bzw. Benutzerdateien, während eine Webressource eine kleine Anwendungsdatei ist, die in der Datenbank liegt und mit der Lösung versioniert wird. Eine Größenobergrenze pro Ressource setzt diese Grenze durch.
Aufbau
| Feld | Typ | Pflicht | Hinweise |
|---|---|---|---|
logicalName | string | ja | Mit Herausgeberpräfix, pfadartig (z. B. par_/dashboard/remoteEntry.js). Kleinbuchstaben; nur Buchstaben, Ziffern, _, ., /, -. Das Pfadsegment erlaubt es den vielen Dateien eines Bundles, eine gemeinsame Basis zu teilen. |
displayName | string | ja | Lesbarer Name, der im Raster der Webressourcen angezeigt wird. |
description | string | null | nein | Kurzbeschreibung. |
type | string | ja | Einer von JavaScript, Css, Html, Json, Xml, PlainText, Png, Jpeg, Gif, Svg, Ico, Binary. Legt den ausgelieferten Content-Type fest und ob die Datei Text (inline bearbeitbar) oder binär (nur Upload) ist. |
contentHash | string | ja | SHA-256 der Dateibytes in Kleinbuchstaben-Hex. Ein erneuter Import identischen Inhalts ist idempotent, und die ausgelieferte Antwort ist pro Hash als unveränderlich cachebar. |
sizeBytes | integer | ja | Größe der Dateibytes (≥ 0). |
Wo es validiert wird
- Erstellen – der Application Layer validiert das Manifest gegen
web-resource-manifest@1, stellt sicher, dasslogicalNamemit dem Präfix des besitzenden Herausgebers beginnt, und weist Inhalte über der Größenobergrenze ab, bevor er die Bytes speichert. - Lösungsimport – jedes in einem Lösungspaket eingebettete Webressourcen-Manifest wird gegen dasselbe Schema erneut validiert, bevor die Ressource in der Zielumgebung gespeichert wird.
Auslieferung
Die Plattform liefert die Bytes einer Webressource von ihrem eigenen Ursprung aus, setzt
Content-Type anhand von type und gibt contentHash als starkes ETag zurück. Die Auslieferung
von 'self' ist es, die es erlaubt, das Bundle einer benutzerdefinierten App bzw. eines
benutzerdefinierten Steuerelements unter einer strengen CSP zu laden, ohne einen externen Ursprung
auf die Positivliste zu setzen (Abschnitt 6.15, „Paketmodus“).
Verwandt
- Manifest einer benutzerdefinierten App – im Paketmodus wird die
Build-Ausgabe einer benutzerdefinierten App als Webressourcen gespeichert, und ihre
remoteEntryUrlzeigt auf den von der Plattform ausgelieferten Pfad. - Lösungspaket – wie Komponenten (einschließlich Webressourcen) zwischen Umgebungen wandern.