Freigeben über


Versionshinweise zu SharePoint Framework v1.15

In dieser Version werden Updates für die Features rund um Microsoft Viva, Microsoft Teams und SharePoint eingeführt.

Veröffentlicht: Juni 21, 2022

Wichtig

Auf dieser Seite werden Details zu einer bestimmten SPFx-Releaseversion erläutert. Es werden keine zusätzlichen SPFx-Voraussetzungen erläutert, die installiert werden müssen, um SPFx-Lösungen zu entwickeln, einschließlich Node.js, Yeoman und anderen Tools.

Informationen zu diesen Voraussetzungen finden Sie unter Einrichten Ihrer SharePoint-Framework-Entwicklungsumgebung.

Installieren der neuesten veröffentlichten Version

Installieren Sie die neueste Version von SharePoint Framework (SPFx), indem Sie das @latest-Tag einfügen:

npm install @microsoft/generator-sharepoint@latest --global

Aktualisieren von Projekten von v1.14 auf v1.15

  1. Identifizieren Sie in der Datei package.json des Projekts alle SPFx v1.14-Pakete. Gehen Sie für jedes SPFx-Paket folgendermaßen vor:
    1. Deinstallieren Sie das vorhandene v1.14-Paket:

      npm uninstall @microsoft/{spfx-package-name}@1.14
      
    2. Installieren Sie das neue v1.15-Paket:

      npm install @microsoft/{spfx-package-name}@latest --save --save-exact
      

Tipp

Die CLI für Microsoft 365 bietet eine einfache schrittweise Anleitung zum Upgraden Ihrer Lösungen auf die aktuellste SharePoint-Framework-Version.

Neue Features und Funktionen

Formularanpassererweiterung

Die Formularanpassererweiterung ermöglicht Entwicklern das Erstellen neuer sowie das Bearbeiten und das Anzeigen von Formularen der Listen- und Dokumentbibliotheken.

Hinweis

Sie können eine Live-Demo dieser Funktion in folgendem YouTube-Video sehen: Erste Schritte zum Erstellen benutzerdefinierter Listenformularkomponenten mit SPFx v1.15.

Node.js v16-Unterstützung

SharePoint Framework-Lösungen unterstützen jetzt Node.js v16 als Standard-Node.js-Version.

Microsoft Graph JavaScript SDK v3 Support

Die MSGraphClientFactory ermöglicht es einem Entwickler, die zu verwendende Version des Microsoft Graph-JavaScript-SDK auszuwählen.

Hinweis

Ab SPFx 1.15 wird nur v3 des Microsoft Graph JavaScript SDK unterstützt. v1-Unterstützung wird für alle neuen und aktualisierten Lösungen entfernt. Bitte aktualisieren Sie Ihren Code entsprechend, um die richtige Version zu erhalten.

this.context.msGraphClientFactory.getClient('3');

TypeScript v4-Support

SharePoint Framework-Lösungen unterstützen jetzt TypeScript v4.5.

ESLint-Support

SPFx-Lösungen unterstützen jetzt ESLint 8.x anstelle des veralteten TSLint.

Microsoft Teams JavaScript-Client-SDK aktualisiert

SharePoint Framework-Lösungen unterstützen jetzt Microsoft Teams JavaScript Client SDK v1.12.1.

Aktualisierte Vorlage für die Befehlssatzerweiterung

Die Vorlage wurde aktualisiert, und verwendet nun ein listViewStateChanged-Ereignis anstelle des veralteten onListViewUpdated-Ereignisses.

Änderungen an Scaffolding-Optionen und Eingabeaufforderungen

  • Neue Befehlszeilenoption: --use-heft. Falls angegeben, erstellt die Lösung das Projekt mit Heft.

Image Helper API – Allgemeine Verfügbarkeit

Die statische ImageHelper-Klasse (in @microsoft/sp-image-helper) wurde hinzugefügt, um SPFx-Entwicklern den Laufzeitzugriff auf Folgendes zu ermöglichen:

  • URLs automatisch generierter Miniaturansichten von Seiten und Dokumenten, die in SharePoint gespeichert sind
  • Optimierten Urls zu in SharePoint gespeicherten Bildern

Die Hilfsmethode ImageHelper.convertToImageUrl() verwendet eine URL zu einer Ressource auf SharePoint, einer Breite und einer optionalen Höhe und führt clientseitige Vorgänge aus, um zu versuchen, eine optimierte URL zu erstellen.

Die resultierende URL verweist auf ein Bild, das der angeforderten Größe nahe kommt. Die resultierende URL umfasst auch die Verwendung anderer SharePoint Medien- und Graph-Dienste. Falls für die angeforderte Ressource verfügbar, öffentliche oder private CDN-Speicherorte, um die angepasste Bildgröße und Miniaturansichten zu verwenden.

Neue Aktionstypen für Geolocation

Die Unterstützungsmatrix für Geolocationaktionen sieht wie folgt aus:

Aktion Viva Connection Desktop Viva Connections Mobile Browser
Standort abrufen Nicht unterstützt Unterstützt Unterstützt
Standort anzeigen Nicht unterstützt Unterstützt Unterstützt
    ISPFxAdaptiveCard.actions?: (
        | ISubmitAction
        | IOpenUrlAction
        | IShowCardAction
        | IGetLocationAction // Get a location
        | IShowLocationAction // Show a location on a map
    )[];

Die Standortaktionen können wie unten dargestellt konfiguriert werden:

  "actions": [
    {
      "type": "VivaAction.GetLocation",
      "id": "Get Location",
      "title": "Where am I",
      "parameters": {
        "chooseLocationOnMap": true
      }
    },
    {
      "type": "VivaAction.ShowLocation",
      "id": "Show Location",
      "title": "Continue",
      "parameters": {
        "locationCoordinates": {
          "latitude": 40,
          "longitude": 40
        }
      }
    }
  ]

Die Aktionen werden wie folgt gerendert:

Screenshot von

"Location"-Aktion:

Die "Location"-Aktion kann verwendet werden, um Ihren aktuellen Standort abzurufen, Ihren aktuellen oder einen benutzerdefinierten Standort auf einer Karte anzuzeigen und Ihren aktuellen Standort aus einer Karte auszuwählen. Im Browser wird Bing Maps als Zuordnungsschnittstelle verwendet:

Screenshot von

Vorschau von Features und Funktionen

Die folgenden Features befinden sich noch im Vorschaustatus als Teil der Version 1.15 und sollten nicht in der Produktion verwendet werden. Wir möchten sie im Rahmen des bevorstehenden Version 1.16 offiziell veröffentlichen.

Zwischenspeicherung der Kartenansicht durch adaptive Kartenerweiterungen

Zur Verbesserung der Leistung unterstützt SPFx jetzt das lokale Zwischenspeichern der Kartenansichten Ihrer adaptiven Kartenerweiterung. Die zwischengespeicherte Kartenansicht wird sofort gerendert, wenn Ihre Adaptive Card Extension geladen wird. Nachdem Ihre adaptive Kartenerweiterung geladen wurde, kann sie optional die Kartenansicht aktualisieren.

interface ICacheSettings {
  /**
   * Whether cache is enabled. Default: true
   */
  isEnabled: boolean;

  /**
   * Expiry time in seconds. Default: 86400 seconds (24 hours)
   */
  expiryTimeInSeconds: number;

  /**
   * Returns the Card View used to generate the cached card.
   * By default, the currently rendered Card View will be used to cache the card.
   */
  cachedCardView?: () => BaseCardView;
}

BaseAdaptiveCardExtension.getCacheSettings(): Partial<ICacheSettings>;

Standardmäßig ist das Zwischenspeichern mit Standardeinstellungen aktiviert. Eine Adaptive Kartenerweiterung kann ihre Cacheeinstellungen anpassen, indem sie getCacheSettings überschreibt, um die Einstellungen zurückzugeben, die sie überschreiben möchte.

Wenn die letzte bekannte Kartenansicht nicht zwischengespeichert werden soll, können Sie eine bestimmte Kartenansicht bereitstellen, die zwischengespeichert und beim Laden der nächsten Seite über ICacheSettings.cachedCardViewangezeigt werden soll. Diese Kartenansicht muss zuvor nicht registriert worden sein.

Eine Erweiterung für adaptive Karten kann auch den aktuellen Status lokal zwischenspeichern. Standardmäßig wird kein Status zwischengespeichert.

BaseAdaptiveCardExtension.getCachedState(state: TState): Partial<TState>;

Wenn getCachedState überschrieben wird, werden die zwischengespeicherten Werte bereitgestellt, wenn die Erweiterung für adaptive Karten beim nächsten Seitenladevorgang initialisiert wird.

onInit verfügt über eine neue Überladung, die Informationen zum Status der zwischengespeicherten Karte übergibt. Wenn die Karte nicht aus einer zwischengespeicherten Kartenansicht geladen wurde, werden cachedLoadParametersundefined.

interface ICachedLoadParameters {
    state: TState;
}

BaseAdaptiveCardExtension.onInit(cachedLoadParameters?: ICachedLoadParameters): Promise<void>;

Der Anfangszustand Ihrer adaptiven Kartenerweiterung kann aus dem zwischengespeicherten Zustand als Seeding festgelegt werden. Der zwischengespeicherte Status kann auch verwendet werden, um zu bestimmen, ob weitere Logik ausgeführt werden muss.

Die Zwischenspeicherung des Status und die Ablaufzeit des Zwischenspeichers können verwendet werden, um zu bestimmen, wann teure Fernabrufe von der adaptiven Kartenerweiterung getätigt werden müssen.

Caching kann dazu beitragen, die wahrgenommene Leistung Ihrer adaptiven Kartenerweiterung erheblich zu verbessern.

Fehlerbehandlungsmethode

Diese Methode wird aufgerufen, wenn eine Aktion einen Fehler auslöst.

BaseView.onActionError(error: IActionErrorArguments): void

Setzen Sie diese Methode außer Kraft, um Fehler bei Aktionen für adaptive Karten zu beheben.

Neuer Aktionstyp für Medien

Nach der allgemeinen Verfügbarkeit wird die Unterstützungsmatrix für Medienaktionen wie folgt aussehen:

Aktion Viva Connection Desktop Viva Connections Mobile Browser
Medien auswählen Unterstützt Unterstützt Unterstützt

Der SelectMedia kann wie unten gezeigt konfiguriert werden:

"actions": [
    {
      "type": "VivaAction.SelectMedia",
      "id": "Select Files",
      "parameters": {
        "mediaType": "MediaType.Image",
        "allowMultipleCapture": true,
        "maxSizePerFile": 200000,
        "supportedFileFormats": [
          "jpg"
        ]
      },
      "title": "Select Files"
    }
]

Rendern von Medienaktionen auswählen:

Screenshot von

Die "SelectMedia"-Aktion kann verwendet werden, um Bilder von Ihrem nativen Gerät auszuwählen. Im Browser wird die Dateiauswahl verwendet, um den Zugriff auf relevante Dateien zu erleichtern:

Screenshot von

Veraltete Funktionen

  • Die SPComponentLoader-MethodegetManifests() wurde aufgrund des Mehraufwands für die Laufzeitleistung als veraltet markiert.
  • API aus @microsoft/sp-http - MSGraphClientFactory.getClient() entfernt

Behobene Probleme

Zeitrahmen Februar-Mai

  • #7680 – Designfarben werden auf der SP-Listenseite oder Website-Inhaltsseite nicht (sofort) geladen
  • #6403 – DynamicData.tryGetValue() sollte nicht fehlschlagen, wenn es verworfen wird
  • #5979 – Problempopup beim Entfernen der Teams-Registerkarte „SPFx“
  • #7679 – Feldanpasser wird bei der Suche nicht konsistent geladen
  • #7689 – [SPFx-Heft-Plugins][SPFx 1.13.1] elementManifests-Pfad wird beim Verweisen auf den externen Dateipfad unter Windows und Linux unterschiedlich aufgelöst
  • #7771 – SPFx v1.14.0: Bildhilfsprogramm-API, Ausnahme in btoa, Zeichenfolge enthält Zeichen außerhalb des Bereichs von „Latin1“
  • #7684 – SPFx-App im Microsoft Teams – Authentifizierungsfehler (sso-getAdalSsoToken-receive)
  • #7739 – CommandSet-Erweiterungen funktionieren in der Dokumentbibliothek nicht, wenn Sie über den LHN-Link auf der Homepage der Website navigieren
  • #7794 - listViewStateChangedEvent wird für gruppierte Listenansichten nicht ausgelöst
  • #7805 – SPFx lädt die alte Version der Bibliothekskomponente für einige Benutzer
  • #7795 - this.context.pageContext.list.serverRelativeUrl wird nicht aktualisiert
  • Nr. 7827 - deploy-azure-storage Der Befehl erstellt immer Container mit der Pubic-Zugriffsebene „Private" anstelle von Blob
  • Nr. 7826 – [SPFx 1.15.0-beta.1]-Paketlösung schlägt fehl, wenn die Datei „elements.xml“ aus einem externen Ordner verwiesen wird und „sharepoint/assets“ nicht vorhanden ist
  • Nr. 6477 – Listenbenachrichtigungen mit Transportfehler abonnieren
  • Nr. 7845 - command.disabled nicht immer berücksichtigt
  • Nr. 6807 – SharePoint spfx-Webparts scheinen „sessionStorage“ im Browser komplett zu belegen
  • #7950 - globalDependecies in config.json funktioniert nicht
  • #7949 - command.disabled funktioniert immer noch nicht
  • #7974 – Die Eigenschaft folderInfo ist nicht definiert, wenn der Ordner direkt geladen wird