Domanda

Desidero spostare/tagliare un elemento dall'elenco di SharePoint a un altro elenco.Posso copiare l'elemento in un elenco ed eliminare l'originale.Purtroppo la cronologia delle versioni è andata perduta.

Voglio un modo per poter copiare un elemento da un elenco a un altro e mantenere la cronologia.Ho pensato di provare a utilizzare il file SPExportObject E SPImportObject.

Ho il seguente codice per creare una voce di elenco come an SPExportObject.

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

Non sono sicuro di come posso ora importare exportObject nell'altro mio elenco.

Entrambi gli elenchi sono dello stesso tipo.

È stato utile?

Soluzione

SPExportObject/SPImportObject può essere utilizzato per migrare l'elemento dell'elenco, ma solo i problemi necessari Stai attento è se esporti un elemento da un database (ad es.una lista) senza esportare il suo genitore, l'elemento esportato diventerà orfano nel pacchetto.Un pacchetto può contenere più oggetti orfani diversi (ad es.se esporti più elenchi o elementi di elenco diversi).

Tuttavia, un metodo di importazione ci consente di definire un nuovo genitore per ogni oggetto orfano nel pacchetto di esportazione.Vedi questo esempio per la gestione della genitorialità dell'elemento dell'elenco: Utilizzando le API di distribuzione dei contenuti, ListItem vengono duplicati, mentre i documenti non lo sono

È importante ricordare che sono necessarie due impostazioni importanti per farlo funzionare:

URL Web - questa proprietà definisce il web che verrà utilizzato come nuovo genitore per tutti gli oggetti orfani nel pacchetto di esportazione.Questo metodo (ad esempio) non può essere utilizzato se il pacchetto contiene documenti orfani poiché un Web non può essere il genitore di un documento.Il genitore di un documento deve essere un elenco o una cartella.

Mantieni l'identità dell'oggetto - definisce se preservare l'identità dell'oggetto durante l'importazione o se non preservare l'identità.Se il valore è false gli oggetti riceveranno un nuovo Guid generato durante l'importazione e sarà possibile assegnare un nuovo genitore agli oggetti orfani importati.

Stefan di Microsoft ha fornito un'ottima procedura dettagliata con l'API di migrazione dei contenuti

Vedere Parte 2 E Parte 3 per una visione più dettagliata

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top