Question

Je souhaite déplacer/couper un élément d'une liste dans SharePoint vers une autre liste.Je peux copier l'élément dans une liste et supprimer l'original.Malheureusement, l'historique des versions est perdu.

Je veux un moyen de pouvoir copier un élément d'une liste à une autre et de conserver l'historique.J'ai pensé à essayer d'utiliser le SPExportObject et SPImportObject.

J'ai le code suivant pour créer un élément de liste en tant que SPExportObject.

SPExportObject exportObject = new SPExportObject();
exportObject.Id = listItem.UniqueId;
exportObject.Type = SPDeploymentObjectType.ListItem;

Je ne sais pas comment importer exportObject dans mon autre liste.

Les deux listes sont du même type.

Était-ce utile?

La solution

SPExportObject/SPImportObject peut être utilisé pour migrer l'élément de liste, mais uniquement les problèmes dont vous avez besoin prends soin de toi c'est si vous exportez un élément à partir d'une base de données (par ex.une liste) sans exporter son parent, l'élément exporté deviendra orphelin dans le package.Un package peut contenir plusieurs objets orphelins différents (par ex.si vous exportez plusieurs listes ou éléments de liste différents).

Cependant, une méthode d'importation nous permet de définir un nouveau parent pour chaque objet orphelin du package d'exportation.Voir cet exemple pour la gestion de la parentalité d'un élément de liste : À l'aide des API de déploiement de contenu, les ListItem sont dupliqués lorsque les documents ne le sont pas.

Il est important de se rappeler que deux paramètres importants sont requis pour que cela fonctionne :

URL Web - cette propriété définit le web qui sera utilisé comme nouveau parent pour tous les objets orphelins du package d'exportation.Cette méthode (par exemple) ne peut pas être utilisée si le package contient des documents orphelins, car un site Web ne peut pas être le parent d'un document.Le parent d'un document doit être une liste ou un dossier.

Conserver l'identité de l'objet - ceci définit s'il faut conserver l'identité de l'objet lors de l'importation ou non.Si la valeur est fausse, les objets recevront un nouveau Guid généré lors de l'importation et il sera possible d'attribuer un nouveau parent aux objets orphelins importés.

Stefan de Microsoft a une très bonne présentation de l'API de migration de contenu

Voir Partie 2 et Partie 3 pour un aperçu plus détaillé

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top