Kolommen die zijn gepubliceerd vanuit InfoPath-velden, worden opnieuw gemaakt wanneer dezelfde InfoPath-formuliersjabloon opnieuw wordt gepubliceerd
Origineel KB-nummer: 2554288
Symptomen
Neem het volgende scenario:
U maakt een Office InfoPath-formuliersjabloon en publiceert deze naar een documentbibliotheek in SharePoint. Tijdens het publiceren selecteert u bepaalde InfoPath-velden die als kolommen in de documentbibliotheek moeten worden gepubliceerd. Nadat u de formuliersjabloon hebt gepubliceerd, besluit u dezelfde formuliersjabloon en dezelfde velden te publiceren naar een andere documentbibliotheek op dezelfde SharePoint-site.
Later implementeert u een wijziging in de InfoPath-formuliersjabloon en publiceert u de formuliersjabloon opnieuw naar beide documentbibliotheken in dezelfde volgorde als tijdens de eerste publicatie.
In dit scenario worden alle kolommen in de documentbibliotheken die zijn gepubliceerd vanuit InfoPath-velden opnieuw gemaakt.
Tijdens deze procedure wordt ook de interne naam van de opnieuw gemaakte kolommen in de SharePoint-documentbibliotheken bijgewerkt. Dat wil gezegd dat een numerieke waarde die begint met 0 , wordt toegevoegd aan de oude kolomnaam. Een kolom met de naam LastName verandert bijvoorbeeld in LastName0.
De weergave van de kolommen bestaat uit twee stappen:
- De kolom wordt opnieuw toegevoegd aan de SharePoint-bibliotheek.
- De kolommen die niet zijn gekoppeld aan de InfoPath-velden, worden verwijderd.
Oorzaak
In InfoPath wordt de lijst met velden die zijn gepubliceerd naar SharePoint-documentbibliotheken opgeslagen in een lokaal manifest, samen met de kolommen waaraan deze velden zijn gekoppeld. Dit wordt bereikt door te verwijzen naar de kolom-id in SharePoint (een unieke GUID-waarde) met het veld InfoPath.
Wanneer u de bijgewerkte InfoPath-formuliersjabloon de tweede keer publiceert naar een SharePoint-documentbibliotheek, controleert InfoPath of de kolom met de bijbehorende id al bestaat. Als de bijbehorende kolom niet wordt gevonden, wordt er een nieuwe kolom gemaakt in de documentbibliotheek. Kolommen die niet aan een van de InfoPath-velden zijn gekoppeld, worden uit de documentbibliotheek verwijderd.
De volgende bewerkingen worden op de achtergrond uitgevoerd wanneer u dezelfde formuliersjabloon publiceert naar meerdere SharePoint-bibliotheken:
Wanneer u de formuliersjabloon de eerste keer naar de eerste bibliotheek publiceert, wordt elke gepubliceerde kolom gemaakt en gekoppeld aan het bijbehorende InfoPath-veld.
Wanneer u de formuliersjabloon de eerste keer publiceert naar de tweede bibliotheek, vindt InfoPath de gekoppelde kolommen met de opgeslagen id's niet en worden er dus nieuwe kolommen gemaakt. Vervolgens wordt de nieuwe kolom-id gekoppeld aan het bijbehorende InfoPath-veld.
Wanneer u de formuliersjabloon de tweede keer naar de eerste bibliotheek publiceert, vindt InfoPath de gekoppelde kolommen met de opgeslagen id's niet, omdat de GUID's uit de tweede bibliotheek momenteel aan de velden zijn gekoppeld. Daarom maakt InfoPath nieuwe kolommen die op hun beurt nieuwe id's krijgen en worden gekoppeld aan de InfoPath-velden.
In dit proces zijn er veel kolommen gemaakt die niet aan een van de InfoPath-velden zijn gekoppeld en uit de documentbibliotheek worden verwijderd.
Dit gedrag wordt herhaald wanneer u de formuliersjabloon de tweede keer naar de tweede bibliotheek publiceert.
Opmerking
Dit probleem treedt niet op als de InfoPath-formuliersjabloon wordt gepubliceerd als site-inhoudstype of als InfoPath-velden worden gepubliceerd als sitekolommen in SharePoint.
Oplossing
Er zijn een aantal methoden om dit te voorkomen:
Maak een sitekolom voor elk InfoPath-veld dat moet worden gepubliceerd op de SharePoint-site en selecteer de vooraf gemaakte sitekolommen bij het publiceren van de InfoPath-formuliersjabloon naar beide bibliotheken.
Omdat de id van de sitekolommen niet verandert, hoeft InfoPath de bestaande kolommen niet opnieuw te maken.
Maak een afzonderlijke kopie van de InfoPath-formuliersjabloon, één voor elk van de SharePoint-documentbibliotheken. Dit zorgt ervoor dat de bestaande kolommen niet opnieuw worden gemaakt in InfoPath, omdat de kolom-id's niet worden gewijzigd.
Het nadeel van deze aanpak is dat u alle wijzigingen moet implementeren in alle exemplaren van de formuliersjabloon die worden gebruikt.
Opmerking
In het algemeen, in plaats van de InfoPath-formuliersjabloon tweemaal te publiceren, is het raadzaam om de formuliersjabloon te publiceren als een site-inhoudstype en het site-inhoudstype te koppelen aan beide SharePoint-documentbibliotheken.
Meer informatie
Zie SharePoint-bibliotheekkolommen of sitekolommen toevoegen, verwijderen of wijzigen voor meer informatie.