Aus InfoPath-Feldern veröffentlichte Spalten werden neu erstellt, wenn dieselbe InfoPath-Formularvorlage erneut veröffentlicht wird.

Ursprüngliche KB-Nummer: 2554288

Problembeschreibung

Stellen Sie sich folgendes Szenario vor:

  • Sie erstellen eine Office InfoPath-Formularvorlage und veröffentlichen sie in einer Dokumentbibliothek in SharePoint. Während der Veröffentlichung wählen Sie bestimmte InfoPath-Felder aus, die als Spalten in der Dokumentbibliothek veröffentlicht werden sollen. Nachdem Sie die Formularvorlage veröffentlicht haben, entscheiden Sie sich, dieselbe Formularvorlage und dieselben Felder in einer anderen Dokumentbibliothek auf derselben SharePoint-Website zu veröffentlichen.

  • Später implementieren Sie eine Änderung in der InfoPath-Formularvorlage und veröffentlichen die Formularvorlage erneut in beiden Dokumentbibliotheken in der gleichen Reihenfolge wie bei der ersten Veröffentlichung.

In diesem Szenario werden alle Spalten in den Dokumentbibliotheken, die aus InfoPath-Feldern veröffentlicht wurden, neu erstellt.

Während dieses Verfahrens wird auch der interne Name der neu erstellten Spalten in den SharePoint-Dokumentbibliotheken aktualisiert, d. h., eine Numerische, die mit 0 beginnt, wird mit dem Suffix des alten Spaltennamens versehen. Beispielsweise ändert sich eine Spalte namens LastName in LastName0.

Die Neuerstellung der Spalten erfolgt in zwei Schritten:

  1. Die Spalte wird der SharePoint-Bibliothek erneut hinzugefügt.
  2. Die Spalten, die den InfoPath-Feldern nicht zugeordnet sind, werden entfernt.

Ursache

InfoPath speichert die Liste der Felder, die in SharePoint-Dokumentbibliotheken veröffentlicht werden, in einem lokalen Manifest zusammen mit den Spalten, denen diese Felder zugeordnet sind. Dies wird erreicht, indem auf die Spalten-ID in SharePoint (ein eindeutiger GUID-Wert) mit dem InfoPath-Feld verwiesen wird.

Wenn Sie die aktualisierte InfoPath-Formularvorlage zum zweiten Mal in einer SharePoint-Dokumentbibliothek veröffentlichen, überprüft InfoPath, ob die Spalte mit der zugeordneten ID bereits vorhanden ist. Wenn die entsprechende Spalte nicht gefunden wird, wird eine neue Spalte in der Dokumentbibliothek erstellt. Alle Spalten, die keinem der InfoPath-Felder zugeordnet sind, werden aus der Dokumentbibliothek gelöscht.

Die folgenden Vorgänge werden im Hintergrund ausgeführt, wenn Sie dieselbe Formularvorlage in mehreren SharePoint-Bibliotheken veröffentlichen:

  • Wenn Sie die Formularvorlage zum ersten Mal in der ersten Bibliothek veröffentlichen, wird jede veröffentlichte Spalte erstellt und dem entsprechenden InfoPath-Feld zugeordnet.

  • Wenn Sie die Formularvorlage zum ersten Mal in der zweiten Bibliothek veröffentlichen, findet InfoPath die zugeordneten Spalten mit den gespeicherten IDs nicht und erstellt daher neue Spalten. Anschließend wird die neue Spalten-ID dem entsprechenden InfoPath-Feld zugeordnet.

  • Wenn Sie die Formularvorlage beim zweiten Mal in der ersten Bibliothek veröffentlichen, findet InfoPath die zugeordneten Spalten mit den gespeicherten IDs nicht, da die GUIDs aus der zweiten Bibliothek derzeit den Feldern zugeordnet sind. Daher erstellt InfoPath neue Spalten, die wiederum neue IDs erhalten und den InfoPath-Feldern zugeordnet sind.

  • In diesem Prozess werden viele Spalten erstellt, die keinem der InfoPath-Felder zugeordnet sind und aus der Dokumentbibliothek entfernt werden.

  • Dieses Verhalten wird wiederholt, wenn Sie die Formularvorlage beim zweiten Mal in der zweiten Bibliothek veröffentlichen.

Hinweis

Dieses Problem tritt nicht auf, wenn die InfoPath-Formularvorlage als Websiteinhaltstyp veröffentlicht wird oder InfoPath-Felder als Websitespalten in SharePoint veröffentlicht werden.

Lösung

Es gibt eine Reihe von Methoden, um dies zu verhindern:

  • Erstellen Sie eine Websitespalte für jedes InfoPath-Feld, das auf der SharePoint-Website veröffentlicht werden soll, und wählen Sie die vorab erstellten Websitespalten aus, wenn Sie die InfoPath-Formularvorlage in beiden Bibliotheken veröffentlichen.

    Da sich die ID der Websitespalten nicht ändert, muss InfoPath die vorhandenen Spalten nicht neu erstellen.

  • Erstellen Sie eine separate Kopie der InfoPath-Formularvorlage, eine für jede sharePoint-Dokumentbibliothek. Dadurch wird sichergestellt, dass InfoPath die vorhandenen Spalten nicht neu erstellt, da sich die Spalten-IDs nicht ändern.

    Der Nachteil dieses Ansatzes besteht darin, dass Sie alle Änderungen in allen verwendeten Formularvorlagenkopien implementieren müssen.

Hinweis

Anstatt die InfoPath-Formularvorlage zweimal zu veröffentlichen, wird empfohlen, die Formularvorlage als Websiteinhaltstyp zu veröffentlichen und den Websiteinhaltstyp beiden SharePoint-Dokumentbibliotheken zuzuordnen.

Weitere Informationen

Weitere Informationen finden Sie unter Hinzufügen, Entfernen oder Ändern von SharePoint-Bibliotheksspalten oder Websitespalten.