Direkt zum Hauptinhalt

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​

FeldTypPflichtHinweise
logicalNamestringjaMit 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.
displayNamestringjaLesbarer Name, der im Raster der Webressourcen angezeigt wird.
descriptionstring | nullneinKurzbeschreibung.
typestringjaEiner 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.
contentHashstringjaSHA-256 der Dateibytes in Kleinbuchstaben-Hex. Ein erneuter Import identischen Inhalts ist idempotent, und die ausgelieferte Antwort ist pro Hash als unveränderlich cachebar.
sizeBytesintegerjaGröße der Dateibytes (≥ 0).

Wo es validiert wird​

  • Erstellen – der Application Layer validiert das Manifest gegen web-resource-manifest@1, stellt sicher, dass logicalName mit 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 remoteEntryUrl zeigt auf den von der Plattform ausgelieferten Pfad.
  • Lösungspaket – wie Komponenten (einschließlich Webressourcen) zwischen Umgebungen wandern.