Überblick

Der Importer von Discussions liest eine klassische Liste Diskussionsforum (Discussion Board, Vorlage 108 oder der Basistyp Discussion Board, der auch die Diskussionslisten von Communitywebsites umfasst) und schreibt ihren Inhalt in die beiden Websitelisten des Produkts, Discussions Topics und Discussions Posts. Dieser Artikel ist die Referenz hinter dem Assistenten aus KB10417. So importieren Sie ein klassisches SharePoint-Diskussionsforum in Discussions: welches klassische Feld in welcher Discussions-Spalte landet, wie der Antwortbaum rekonstruiert wird, was abgeleitet wird, was zurückbleibt und wie der Importer seine eigene Arbeit erkennt, wenn er erneut ausgeführt wird. Die Spalten selbst sind in KB10426. Referenz der Listen und Spalten von Discussions beschrieben.

Wie das klassische Forum einen Thread speichert

Ein klassisches Diskussionsforum speichert jede Diskussion als Ordner der Liste und jede Antwort als Element in diesem Ordner. Der Ordner trägt den Betreff, den Textkörper, das Kennzeichen Frage, das Kennzeichen Hervorgehoben, den Like-Zähler und die ID der besten Antwort; jede Antwort trägt ihren eigenen Textkörper, ihren Like-Zähler und einen Verweis Übergeordnetes Element (Parent item, ParentItemID), der entweder auf die Diskussion selbst (eine Antwort auf oberster Ebene) oder auf eine andere Antwort (eine verschachtelte) zeigt. Der Importer liest die Liste in Seiten zu 2.000 Elementen, nach ID geordnet, und unterscheidet Ordner von Nachrichten anhand des Elementtyps.

Discussions verwendet ein anderes Modell – ein Element pro Thema, ein Element pro Antwort, mit Nachschlagefeldern auf das Thema und auf den übergeordneten Beitrag –, sodass der Import eine Übersetzung zwischen den beiden Strukturen ist, keine Kopie der Liste.

Themen

Jede klassische Diskussion wird zu einem Element von Discussions Topics:

Klassische DiskussionSpalte in Discussions TopicsWert
BetreffTitleKopiert; auf 255 Zeichen gekürzt
TextkörperBody (VtxBody)Kopiert durch den HTML-Sanitizer des Produkts: zugelassene Tags und Attribute bleiben, Skripte, Stile und unsichere Links werden entfernt
—Board (VtxBoard)Das im Webpart ausgewählte Forum
FrageType (VtxTopicType)Question, wenn das Kennzeichen gesetzt ist, sonst Discussion
—Status (VtxStatus)Open; wird zu Answered, wenn eine beste Antwort gefunden wurde (siehe unten)
HervorgehobenFeatured (VtxIsFeatured)Kopiert
Anzahl der LikesLikes (VtxLikeCount)Kopiert
Antworten im OrdnerReplies (VtxReplyCount)Vom Importer gezählt
—Views (VtxViewCount)0
Erstellungsdatum der neuesten Antwort oder der DiskussionLast activity (VtxLastActivity)Vom Importer berechnet
Beste AntwortAccepted post (VtxAcceptedPostId)Die ID der importierten Antwort
—Approval status (VtxApprovalStatus)Approved
—Reports (VtxReportCount)0
Listen-ID und Element-IDLegacy id (VtxLegacyId){source list id}:{classic item id}
Erstellt von, Geändert von, Erstellt, GeändertDieselben SystemspaltenWiederhergestellt mit Keep original authors and dates
AnlagenAnlagen des ElementsKopiert mit Copy attachments

Antworten

Jede klassische Antwort wird zu einem Element von Discussions Posts:

Klassische AntwortSpalte in Discussions PostsWert
BetreffTitleKopiert; Re:, wenn leer; auf 255 Zeichen gekürzt
TextkörperBody (VtxBody)Kopiert durch den Sanitizer
Ordner der AntwortTopic (VtxTopic)Das importierte Thema dieses Ordners
Übergeordnetes ElementParent post (VtxParentPost)Die importierte übergeordnete Antwort; leer bei einer Antwort auf oberster Ebene
—Path (VtxPath)/ für eine Antwort auf oberster Ebene; der Pfad des übergeordneten Elements plus dessen ID und / für eine verschachtelte, zum Beispiel /341/356/
—Depth (VtxDepth)0 für eine Antwort auf oberster Ebene, sonst Tiefe des übergeordneten Elements + 1
Beste Antwort der DiskussionIs accepted answer (VtxIsAccepted)Ja für die Antwort, auf die die Diskussion zeigt
Anzahl der LikesLikes (VtxLikeCount)Kopiert
—Approval status, ReportsApproved, 0
Listen-ID und Element-IDLegacy id (VtxLegacyId){source list id}:{classic item id}
Erstellt von, Geändert von, Erstellt, GeändertDieselben SystemspaltenWiederhergestellt mit Keep original authors and dates
AnlagenAnlagen des ElementsKopiert mit Copy attachments

Ein klassischer Thread und seine importierte Kopie

Ein klassischer Thread und seine importierte Kopie

Was nicht kopiert wird

  • Bewertungen (Sternebewertungen) und die Liste der Personen, denen ein Element gefallen hat. Der Like-Zähler wird kopiert; die Spalte Liked by bleibt leer, sodass jeder Benutzer ein importiertes Element noch einmal liken kann.
  • Kategorien: Klassische Foren haben keine, und der Importer lässt Category leer. Weisen Sie Kategorien nach dem Import zu, wenn das Forum sie verwendet.
  • Aufrufzähler: beginnen bei 0.
  • Last reply by: bleibt leer; das Webpart zeigt den Autor der letzten Antwort nur für Antworten, die nach dem Import verfasst wurden.
  • Benachrichtigungen, klassische Ansichten und Listenformulare: Sie gehören zur klassischen Liste und haben in Discussions keine Entsprechung. Abonnements werden von den Benutzern neu angelegt – siehe KB10404. Boards und Themen folgen: Abonnements und Häufigkeit der Zusammenfassungen.
  • Angeheftete Themen: Klassische Foren haben kein solches Kennzeichen; heften Sie die benötigten Themen nach dem Import an.

Wie der Antwortbaum wiederhergestellt wird

  1. Antworten werden nach ihrem klassischen Datum Erstellt sortiert, die älteste zuerst, sodass ein übergeordnetes Element immer vor seinen untergeordneten angelegt wird.
  2. Für jede Antwort findet der Importer ihr Thema über den Ordner, in dem die Antwort liegt. Eine Antwort, deren Ordner keinem importierten Thema entspricht, wird mit der Warnung Reply skipped: its topic was not imported übersprungen.
  3. Das klassische Übergeordnete Element wird unter den Antworten gesucht, die in diesem Lauf oder früher importiert wurden. Zeigt es auf eine Antwort, erhält der neue Beitrag diese Antwort als Parent post, erbt deren Path und erhält Depth + 1. Zeigt es auf die Diskussion selbst, ist leer oder zeigt auf ein Element, das der Importer nicht kennt, wird der Beitrag zu einer Antwort auf oberster Ebene des Themas mit Pfad / und Tiefe 0. Ist die übergeordnete Antwort in der klassischen Liste vorhanden, konnte aber in diesem Lauf nicht angelegt werden, wird der Beitrag ebenfalls auf oberster Ebene eingeordnet, und der Bericht enthält die Warnung Parent reply failed to import; the reply was placed at the top level: 419 (419 ist die klassische ID der eingeordneten Antwort). Antworten, die unter der eingeordneten Antwort verschachtelt sind, werden wie gewohnt an sie angehängt.

Die Verschachtelung ist unbegrenzt: Eine klassische Antwort auf der fünften Ebene kommt auf der fünften Ebene an.

Abgeflachte Foren und verwaiste Antworten

Manche Migrationstools kopieren die Elemente eines klassischen Forums, aber nicht die Verweise Übergeordnetes Element zwischen ihnen; das Forum sieht dann wie eine Liste von Diskussionen aus, deren Antworten alle auf einer Ebene liegen, oder die Verweise zeigen auf Element-IDs, die nicht mehr existieren. Der Probelauf zählt Letztere als Replies without a known parent (imported as top-level) und zeigt die Warnung Some replies lost their parent (a flattened board). Solche Antworten werden in chronologischer Reihenfolge direkt an ihr Thema angehängt. Antworten mit leerem Übergeordnetem Element werden in dieser Zeile nicht gezählt, aber gleich behandelt. Der Importer versucht nicht, das ursprüngliche übergeordnete Element aus Zeitstempeln oder Betreffs zu erraten.

❗ Wichtig
Die Hierarchie kann nur aus Verweisen wiederhergestellt werden, die zum Zeitpunkt des Imports in der klassischen Liste vorhanden sind. Wenn Sie das ursprüngliche Forum noch haben – zum Beispiel in SharePoint Server –, prüfen Sie, ob das Migrationstool, mit dem Sie es nach SharePoint Online verschieben, die Spalte Übergeordnetes Element mitnimmt; siehe KB10419. Diskussionsforen von SharePoint Server nach SharePoint Online migrieren mit Discussions.

Beste Antworten, Zähler und letzte Aktivität

Nachdem alle Antworten angelegt sind, geht der Importer die Themen noch einmal durch (die Phase Updating counters and answers) und schreibt für jedes Thema des Plans:

  • Replies – die Anzahl der klassischen Antworten im Ordner des Themas;
  • Last activity – das Datum Erstellt der neuesten klassischen Antwort oder das Datum Erstellt der Diskussion, wenn sie keine Antworten hat;
  • Likes – den Like-Zähler der Diskussion;
  • Accepted post und Status = Answered – wenn die klassische Beste Antwort auf eine importierte Antwort zeigt; die Antwort selbst erhält Is accepted answer = Ja. Ein klassisches Kennzeichen Beantwortet ohne beste Antwort wird ignoriert, und das Thema bleibt Open.

Diese Werte werden für jedes Thema des Plans geschrieben, auch für Themen aus einem früheren Lauf, sodass ein zweiter Lauf die Zähler neu berechnet.

Autoren und Datumsangaben

Über die REST-API angelegte Listenelemente haben immer den Benutzer als Autor, der sie anlegt. Mit aktivierter Option Keep original authors and dates macht der Importer einen zweiten Aufruf pro Element, der Erstellt von (die Anmeldung des klassischen Autors), Geändert von (den klassischen Bearbeiter oder den Autor, wenn es keinen gibt), Erstellt und Geändert schreibt. SharePoint akzeptiert diese Werte nur von Konten, die Systemfelder setzen dürfen – in der Praxis Websitebesitzer mit Vollzugriff. Wird ein Feld abgelehnt, enthält der Bericht die Zeile Thementitel: Feld – Meldung von SharePoint; wird der ganze Aufruf abgelehnt, Author and dates could not be restored. Das Element wird trotzdem importiert, mit Ihnen als Autor und dem Importzeitpunkt als Datum.

Die Anmeldung des Autors muss sich zu einem Konto des Mandanten auflösen lassen. Gelöschte Konten oder lokale Konten, die ein Migrationstool nicht zugeordnet hat, können nicht wiederhergestellt werden und erzeugen dieselbe Warnung.

Importierte Themen mit ihrer Legacy id in der Liste Discussions Topics

Importierte Themen mit ihrer Legacy id in der Liste Discussions Topics

Anlagen

Mit aktivierter Option Copy attachments listet der Importer die Anlagedateien jedes klassischen Themas und jeder Antwort auf, lädt jede Datei von der Quellwebsite herunter und hängt sie unter ihrem ursprünglichen Namen an das neue Element an. Zeichen, die SharePoint in Dateinamen nicht erlaubt (\ / : * ? " < > | # % & { } ~), werden durch einen Unterstrich ersetzt, und Namen mit mehr als 120 Zeichen werden gekürzt. Eine Datei, die nicht kopiert werden kann, erzeugt die Warnung Dateiname: Meldung von SharePoint, und die übrigen Dateien werden weiterhin verarbeitet. In den Textkörper eingebettete Inline-Bilder sind Teil des HTML und wandern mit ihm.

Die Legacy id und das erneute Ausführen des Imports

Jedes importierte Thema und jede Antwort speichert {source list id}:{classic item id} in der indizierten Spalte Legacy id – zum Beispiel 3f2a9c1e-…:418. Vor dem Probelauf und vor dem Import liest der Assistent alle Legacy-IDs der Website, die mit der ID der ausgewählten klassischen Liste beginnen. Die Folgen:

  • ein Thema, das bereits eine Legacy-ID hat, wird übersprungen und in der Zeile Topics already imported (skipped) gemeldet; seine vorhandene Kopie dient als übergeordnetes Element für neue Antworten;
  • eine Antwort, die bereits eine Legacy-ID hat, wird ebenfalls übersprungen;
  • neue Antworten auf ein bereits importiertes Thema werden importiert, sodass ein noch genutztes Forum inkrementell importiert werden kann;
  • Autoren, Datumsangaben und Anlagen werden nur für Elemente wiederhergestellt, die im aktuellen Lauf angelegt wurden;
  • vorhandene Inhalte des Zielforums werden nie überschrieben oder gelöscht.

📝 Hinweis
Die Legacy-ID enthält die ID der klassischen Liste. Wird das klassische Forum in eine neue Liste kopiert – etwa durch einen zweiten Migrationsdurchlauf oder eine Websitekopie –, hat die neue Liste eine andere ID, und ein Import daraus erzeugt einen zweiten Satz von Themen. Importieren Sie immer aus derselben Liste, oder löschen Sie den ersten Satz, bevor Sie aus der Kopie importieren.

Ausgewählte Artikel

Employee Directory. Überblick über die Lösung

Employee Directory von Vitextra: Mitarbeitersuche für SharePoint und Microsoft Teams mit Entra ID, Microsoft Graph, anpassbaren Ansichten und Excel-Export.

101 7 Min.
Benutzerdefinierte Entra-ID-Attribute im Employee Directory anzeigen

So rufen Sie Entra-ID-Erweiterungsattribute mit PowerShell ab und zeigen sie als benutzerdefinierte Spalten im Vitextra Employee Directory Webpart für SharePoint und Teams an.

114 3 Min.
Fehlerbehebung für Questions and Answers: Nicht konfiguriert, fehlende Spalten, ausgeblendete Fragen und Berechtigungen

Leitfaden zur Fehlerbehebung für das Vitextra Questions-and-Answers-Webpart: der Bildschirm „Nicht konfiguriert“, eine Liste, die unter „Vorhandene Liste“ nicht angeboten wird (erforderliche Spalten fehlen), Fragen, die Leser nicht sehen (Veröffentlicht = Nein), die fehlende Schaltfläche „Frage hinzufügen“, eine Suche, die nichts findet, Kommentare, die sich nicht hinzufügen lassen, Videos, die nicht abgespielt werden, Markdown, das nicht gerendert wird, der Kategoriefilter, der nicht erscheint, endloses Laden und die Lizenzmeldung – jeweils mit Prüfung und Lösung.

2 8 Min.

Teilen