Serviceportal API – ServiceNow Fluent
Die ServiceportalAPI definiert anwenderdefinierte Widgets [sp_Widget] für Portalseiten.
Allgemeine Informationen zu Portalen finden Sie unter Service Portal.
SPWidget-Objekt
Erstellen Sie ein anwenderdefiniertes Widget [sp_Widget], das in eine Portalseite aufgenommen werden soll.
Weitere Informationen zum Erstellen anwenderdefinierter Widgets finden Sie unter Developing custom widgets.
| Name | Typ | Beschreibung |
|---|---|---|
| $ID | Zeichenfolge oder Zahl | Erforderlich. Eine eindeutige ID für das Metadatenobjekt. Wenn Sie die Anwendung erstellen, wird diese ID in eine eindeutige sys_ID gehasht Weitere Informationen finden Sie unter ServiceNow Fluent Sprachkonstrukte. Format: |
| Name | Zeichenfolge | Erforderlich. Ein Name für das Widget. |
| Kategorie | Zeichenfolge | Der Typ des Widgets. Gültige Werte:
Standard: Anwenderdefiniert |
| clientScript | Skript | Ein clientseitiges Skript, das den AngularJS-Controller definiert. Diese Eigenschaft unterstützt Inline-JavaScript oder einen Verweis auf eine andere Datei in der Anwendung, die ein Skript enthält. Format:
Standard: |
| serverScript | Skript | Ein serverseitiges Skript, das den anfänglichen Widget-Status festlegt, sendet Daten mithilfe von an das Client-Skript des Widgets Daten Objekt oder führt serverseitige Abfragen aus. Diese Eigenschaft unterstützt Inline-JavaScript oder einen Verweis auf eine andere Datei in der Anwendung, die ein Skript enthält. Format:
Standard:
|
| controllerAs | Zeichenfolge | Eine Variable für einen Verweis auf den Controller im Umfang der Richtlinie. Das Client-Skript greift mit auf das Serverdatenobjekt zu c.Daten Variable standardmäßig.Standard: c |
| HTML-Vorlage | Zeichenfolge | Der HTML-Textcode, der definiert, was gerendert wird, wenn die Seite angezeigt wird. Es kann entweder statische XHTML-Datei, dynamisch generierte Inhalte, die als Jelly definiert sind, oder Skripteinbindungen und UI-Makros aufrufen. Diese Eigenschaft unterstützt einen Verweis auf eine andere Datei in der Anwendung, die HTML oder Inline-HTML enthält. Format:
Standard: |
| CustomCss | Zeichenfolge | Die CSS oder SCSS, die den Widget-Stil definiert. Diese Eigenschaft unterstützt einen Verweis auf eine andere Datei in der Anwendung, die CSS oder Inline-CSS enthält. Format:
|
| Datentabelle | Zeichenfolge | Die Tabelle, in der Widget-Instanzoptionen gespeichert werden sollen. Um ein anwenderdefiniertes Optionsschema zu definieren, können Sie einer Tabelle Felder hinzufügen, die die Tabelle „Widget-Instanz“ [sp_instance] erweitert, und Ihr Widget so festlegen, dass die Erweiterungstabelle als Datenquelle verwendet wird. Weitere Informationen finden Sie unter Store instance options in a table. Standard: sp_instance |
| DemoData | Zeichenfolge oder Objekt | Daten, die die Widget-Funktionalität demonstrieren. Diese Eigenschaft unterstützt Inline-Zeichenfolgen, einen Verweis auf eine andere Datei in der Anwendung, die JSON enthält, oder serialisierbare Inline-JSON-Objekte. Format:
|
| Beschreibung | Zeichenfolge | Eine Beschreibung des Widgets und seines Zwecks. |
| Dokumente | Referenz | Der Variablenbezeichner von ServiceportalDokumentation [sp_documentation], die zusätzliche Informationen über das Widget und seinen Zweck enthält. Zum Definieren ServiceportalDokumentation, siehe Datensatz-API – ServiceNow Fluent. |
| Felder | Array | Eine Liste von Spaltennamen aus der Datentabelle, die im Widget-Optionsschema verwendet werden sollen. |
| HasVorschau | Boolean | Kennzeichnung, die angibt, ob Sie eine Vorschau des Widgets über den Widget-Editor anzeigen können. Gültige Werte:
Standardwert: false |
| ID | Zeichenfolge | Eine eindeutige ID für das Widget. Die ID darf keine Leerzeichen enthalten. |
| LinkScript | Skript | Eine Linkfunktion, die AngularJS verwendet, um das DOM direkt zu bearbeiten. Diese Eigenschaft unterstützt Inline-JavaScript oder einen Verweis auf eine andere Datei in der Anwendung, die ein Skript enthält. Format:
Standard: |
| Rollen | Array | Eine Liste von Variablenbezeichnern von Rolle Objekte oder Namen von Rollen, die auf zugreifen können Widget. Weitere Informationen finden Sie unter Rollen-API – ServiceNow Fluent. |
| OptionSchema | Array | Eine Liste von Parametern, die ein sind ServiceportalAdministrator (sp_admin) kann für eine Widget-Instanz konfigurieren. Das Widget-Optionsschema unterstützt die Wiederverwendung eines Widgets und die eindeutige Konfiguration von Instanzen des Widgets auf verschiedenen Seiten. Weitere Informationen finden Sie unter Widget option schema.
|
| Öffentlich | Boolean | Kennzeichnung, die angibt, ob das Widget für nicht authentifizierte Anwender verfügbar ist. Gültige Werte:
Standardwert: false |
| Abhängigkeiten | Array | Eine Liste von Variablenbezeichnern von SPWidgetAbhängigkeit Objekte oder Namen oder sys_IDs von Abhängigkeiten für das Widget. Weitere Informationen finden Sie unter SPWidgetDependency-Objekt. |
| AngularProviders | Array | Eine Liste von Variablenbezeichnern von SPAngularProvider Objekte oder Namen oder sys_IDs von Winkelanbietern für das Widget. Weitere Informationen finden Sie unter SPAngularProvider-Objekt. |
| templates | Array | Eine Liste der angularen ng-Vorlagen [sp_ng_template], die dem Widget zugeordnet werden sollen. Angular ng-Vorlagen enthalten Inhalte, die nur gerendert werden, wenn Sie sie zum Rendern anweisen.
|
| $Meta | Objekt | Metadaten für die Anwendungsmetadaten. Mit InstallMethod Eigenschaft können Sie die Anwendungsmetadaten einem Ausgabeverzeichnis zuordnen, das nur unter bestimmten Umständen geladen wird. Gültige Werte für InstallMethod :
|
import { SPWidget } from '@servicenow/sdk/core'
SPWidget({
$id: 'my_simple_widget',
name: 'My Simple Widget',
category: 'knowledgeBase',
clientScript: Now.include('./client.js'),
serverScript: Now.include('./server.js'),
controllerAs: '$ctrl',
customCss: Now.include('./custom_css.css'),
dataTable: 'sp_instance',
demoData: { message: 'Hello, World!' },
description: 'This is a test widget',
docs: widgetDoc,
htmlTemplate: Now.include('./template.html'),
fields: ['color', 'class_name'],
hasPreview: true,
id: 'my-simple-widget',
linkScript: Now.include('./link.client.js'),
optionSchema: [
{
name: 'my_option',
label: 'My Option',
type: 'string',
section: 'behavior'
}
],
roles: [manager, 'admin'],
})
SPAngularProvider-Objekt
Erstellen Sie einen Angular Provider [sp_angular_Provider], um Komponenten in mehreren Widgets wiederzuverwenden und die Portalleistung zu verbessern.
| Name | Typ | Beschreibung |
|---|---|---|
| $ID | Zeichenfolge oder Zahl | Erforderlich. Eine eindeutige ID für das Metadatenobjekt. Wenn Sie die Anwendung erstellen, wird diese ID in eine eindeutige sys_ID gehasht Weitere Informationen finden Sie unter ServiceNow Fluent Sprachkonstrukte. Format: |
| Name | Zeichenfolge | Erforderlich. Ein Name für den Angular Provider. |
| clientScript | Skript | Ein clientseitiges Skript, das in Widgets wiederverwendet werden soll.Diese Eigenschaft unterstützt Inline-JavaScript oder einen Verweis auf eine andere Datei in der Anwendung, die ein Skript enthält. Format:
|
| Typ | Zeichenfolge | Der Typ des Winkelanbieters. Gültige Werte:
Standard: richtlinie |
| Erfordert | Array | Eine Liste von Variablenbezeichnern anderer SPAngularProvider Objekte oder Namen oder sys_IDs von Winkelanbietern. |
| $Meta | Objekt | Metadaten für die Anwendungsmetadaten. Mit InstallMethod Eigenschaft können Sie die Anwendungsmetadaten einem Ausgabeverzeichnis zuordnen, das nur unter bestimmten Umständen geladen wird. Gültige Werte für InstallMethod :
|
import { SPAngularProvider } from '@servicenow/sdk/core'
const OTHER_ANGULAR_PROVIDER = 'd11f285fe069e1f119b44bd05c0770aa'
SPAngularProvider({
$id: 'my_angular_provider',
name: 'my_angular_provider',
clientScript: Now.include('my_angular_provider.client.js'),
type: 'directive',
requires: [OTHER_ANGULAR_PROVIDER]
})
SPWidgetDependency-Objekt
Erstellen Sie eine Widget-Abhängigkeit [sp_Dependency], um JavaScript- und CSS-Dateien mit Widgets zu verknüpfen und Drittparteibibliotheken, externe Stylesheets oder Angular-Module zu verwenden.
Abhängigkeiten werden bei Bedarf asynchron vom Server geladen. Widgets können beliebig viele oder wenige Abhängigkeiten haben. Je mehr Sie jedoch hinzufügen, desto mehr Inhalt muss ein Widget herunterladen, um auf der Seite dargestellt zu werden. Halten Sie Abhängigkeiten so gering wie möglich, um Ladezeiten zu optimieren. Weitere Informationen finden Sie unter Create a widget dependency.
| Name | Typ | Beschreibung |
|---|---|---|
| $ID | Zeichenfolge oder Zahl | Erforderlich. Eine eindeutige ID für das Metadatenobjekt. Wenn Sie die Anwendung erstellen, wird diese ID in eine eindeutige sys_ID gehasht Weitere Informationen finden Sie unter ServiceNow Fluent Sprachkonstrukte. Format: |
| Name | Zeichenfolge | Erforderlich. Der Name der Widget-Abhängigkeit. |
| AngularModuleName | Zeichenfolge | Der Name des angularen Moduls, das geladen werden soll, wenn die JS-Include ein angulares Modul ist. |
| IncludeOnPageLoad | Boolean | Kennzeichnung, die angibt, wann die Abhängigkeit auf einer Seite geladen wird. Gültige Werte:
Standardwert: false |
| CssIncludes | Array | Eine Liste von Variablenbezeichnern von CssInclude Objekte oder sys_IDs von CSS-Einbindungen und deren Reihenfolge. Weitere Informationen finden Sie unter CssInclude-Objekt. |
| JsIncludes | Array | Ein Listenvariablenbezeichner von JsInclude Objekte oder sys_IDs von JS Includes und ihre Reihenfolge. Weitere Informationen finden Sie unter JsInclude-Objekt. |
| PortalsForPageLoad | Array | Eine Liste von sys_IDs von Portalen [sp_Portal], die die Widget-Abhängigkeit laden. Wenn leer, wird die Abhängigkeit in die Seitenlast für alle Portale einbezogen. |
| $Meta | Objekt | Metadaten für die Anwendungsmetadaten. Mit InstallMethod Eigenschaft können Sie die Anwendungsmetadaten einem Ausgabeverzeichnis zuordnen, das nur unter bestimmten Umständen geladen wird. Gültige Werte für InstallMethod :
|
import { SPWidgetDependency } from '@servicenow/sdk/core'
SPWidgetDependency({
$id: 'samplejs',
name: 'Sample',
angularModuleName: 'samplejs',
includeOnPageLoad: true,
portalsForPageLoad: ['b4572a48262a16df3032b48cef75a853', 'fe12dbbed14bd3f712f0787141c2f656'],
cssIncludes: [
{
order: 100,
include: localCss,
},
{
order: 200,
include: '94112ccb0fb3c2ed072b01d3cb401196',
},
],
jsIncludes: [
{
order: 100,
include: localJs,
},
{
order: 200,
include: 'f8af18a5e6c71a3702c4f2038b43cf62',
},
],
})
CssInclude-Objekt
Erstellen Sie eine CSS-Einbindung [sp_css_include], um in einer Widget-Abhängigkeit auf ein Stylesheet oder ein externes CSS zu verweisen.
| Name | Typ | Beschreibung |
|---|---|---|
| $ID | Zeichenfolge oder Zahl | Erforderlich. Eine eindeutige ID für das Metadatenobjekt. Wenn Sie die Anwendung erstellen, wird diese ID in eine eindeutige sys_ID gehasht Weitere Informationen finden Sie unter ServiceNow Fluent Sprachkonstrukte. Format: |
| Name | Zeichenfolge | Erforderlich. Der Name der CSS-Include. |
| URL | Zeichenfolge | Die URL zu einer externen CSS-Datei. Diese Eigenschaft ist erforderlich, wenn kein Stylesheet mit bereitgestellt wird SpCss Eigenschaft. |
| SpCss | Zeichenfolge | Die sys_ID eines Stylesheets [sp_css]. Diese Eigenschaft ist erforderlich, wenn keine externe CSS-Datei mit bereitgestellt wird URL Eigenschaft. |
| RtlCssUrl | Zeichenfolge | Die URL zu einer externen CSS-Datei von rechts nach links (RTL) zum Spiegeln der Richtung eines Widgets, wenn die Sitzungssprache eine von rechts nach links gerichtete Sprache ist, z. B. Hebräisch. Weitere Informationen finden Sie unter Styling for right-to-left languages in portals. |
| LazyLoad | Boolean | Kennzeichnung, die angibt, wie die CSS-Inclusion geladen wird. Diese Eigenschaft gilt nur, wenn Sie verwenden SpCSS Eigenschaft zum Angeben eines Stylesheets. Gültige Werte:
Standardwert: false |
| $Meta | Objekt | Metadaten für die Anwendungsmetadaten. Mit InstallMethod Eigenschaft können Sie die Anwendungsmetadaten einem Ausgabeverzeichnis zuordnen, das nur unter bestimmten Umständen geladen wird. Gültige Werte für InstallMethod :
|
import { CssInclude } from '@servicenow/sdk/core'
const localCss = CssInclude({
$id: '22bcf16da81e2bc0340c53d50d531adf',
name: 'Sample Styles',
spCss: '50e3e32aa321b1c7d1945c5f423228bd',
})
JsInclude-Objekt
Erstellen Sie eine JS-Include [sp_js_include], um auf ein UI-Skript oder einen externen JavaScript-Code in einer Widget-Abhängigkeit zu verweisen.
| Name | Typ | Beschreibung |
|---|---|---|
| $ID | Zeichenfolge oder Zahl | Erforderlich. Eine eindeutige ID für das Metadatenobjekt. Wenn Sie die Anwendung erstellen, wird diese ID in eine eindeutige sys_ID gehasht Weitere Informationen finden Sie unter ServiceNow Fluent Sprachkonstrukte. Format: |
| Name | Zeichenfolge | Erforderlich. Der Name der JS-Include. |
| URL | Zeichenfolge | Die URL zu einer externen JavaScript-Datei. Die URL muss ein absoluter Pfad sein. Diese Eigenschaft ist erforderlich, wenn kein UI-Skript mit bereitgestellt wird SysUiScript Eigenschaft. |
| SysUiScript | Zeichenfolge | Die sys_ID eines UI-Skripts [sys_ui_script]. Diese Eigenschaft ist erforderlich, wenn keine externe JavaScript-Datei mit bereitgestellt wird URL Eigenschaft. |
| $Meta | Objekt | Metadaten für die Anwendungsmetadaten. Mit InstallMethod Eigenschaft können Sie die Anwendungsmetadaten einem Ausgabeverzeichnis zuordnen, das nur unter bestimmten Umständen geladen wird. Gültige Werte für InstallMethod :
|
import { JsInclude } from '@servicenow/sdk/core'
const localJs = JsInclude({
$id: '98239e4eadfac88b01cce7daa23b6fc3',
name: 'Sample Framework',
sysUiScript: 'b67af05645f738df1f286bb3e9ecd55f',
})