Pergunta

Desejo mover/cortar um item da lista no SharePoint para outra lista.Posso copiar o item para uma lista e excluir o original.Infelizmente, o histórico da versão foi perdido.

Quero uma maneira de copiar um item de uma lista para outra e manter o histórico.Eu pensei em tentar usar o SPExportObject e SPImportObject.

Eu tenho o seguinte código para criar um item de lista como um SPExportObject.

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

Não tenho certeza de como posso importar exportObject para minha outra lista.

Ambas as listas são do mesmo tipo.

Foi útil?

Solução

SPExportObject/SPImportObject pode ser usado para migrar o item da lista, mas apenas emitir o que você precisa tomar cuidado é se você exportar um item de um banco de dados (por exemplo,uma lista) sem exportar seu pai, o item exportado ficará órfão no pacote.Um pacote pode conter vários objetos órfãos diferentes (por exemplo,se você exportar várias listas ou itens de lista diferentes).

Entretanto, um método de importação nos permite definir um novo pai para cada objeto órfão no pacote de exportação.Veja este exemplo para lidar com a parentalidade do item da lista: Usando as APIs de implantação de conteúdo, ListItem são duplicados, quando os documentos não são

É importante lembrar que existem duas configurações importantes necessárias para que isso funcione:

URL da Web - esta propriedade define a web que será usada como novo pai para todos os objetos órfãos no pacote de exportação.Este método (por exemplo) não pode ser usado se o pacote contiver documentos órfãos, pois uma web não pode ser pai de um documento.O pai de um documento precisa ser uma lista ou pasta.

ReterObjectIdentity - define se a identidade do objeto deve ser preservada durante a importação ou se não deve ser preservada a identidade.Se o valor for falso os objetos receberão um novo Guid gerado durante a importação e será possível atribuir um novo pai aos objetos órfãos importados.

Stefan, da Microsoft, tem um guia muito bom com a API de migração de conteúdo

Ver Parte 2 e Parte 3 para uma visão mais detalhada

Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top