Delete vs. Recycle com Cliente Object Model no Sharepoint 2010

Sharepoint

Bem, se você como eu está iniciando no mundo do (ou que é o) Sharepoint 2010, ai segue uma dica sobre o uso do Client Object Model introduzido no Sharepoint 2010.

Em geral, na mecânica do Sharepoint quando “deletamos” um item ele é movido para a lixeira ao invés de ser excluído permanentemente. Com isso os usuários mais rodados de sharepoint vão esperar que suas aplicações sigam o mesmo comportamento. Contudo o que vemos com muita facilidade até mesmo na documentação oficial são exemplos usando o método SPListItem.Delete().

Como meu foco não é abordar os conceitos de Cliente Object Model, então vamos observar o trecho de código abaixo:

01

 

Se utilizarmos este trecho de código o item deletado será excluído total e permanentemente. Mesmo que a lista esteja configurada para reciclar ou mandar os itens para a lixeira, isto não ocorrerá se usarmos o método SPListItem.Delete(). Essa confusão pode ocorrer (como já citado acima) devido a mecânica de deleção do Sharepoint. Pode ser que a semelhança dos nomes te leve a pensar que o comportamento deste método será igual ao comportamento utilizando a interface do usuário. Para este fim devemos utilizar o seguinte trecho de código ilustrado abaixo:

02

 

A descrição do método SPListItem.Recycle() diz: “Recicla o item e retorna seu GUID”. Não é muito divulgado nem comum nos exemplos mas é este o método que vai realizar o comportamento mais comum das aplicações em Sharepoint.

 

Referências:

SPListItem.Recycle method

SPListItem.Delete method


Author's profile picture

Vitor is a computer scientist who is passionate about creating software that will positively change the world we live in.

MVP Azure - Cloud Architect - Data science enthusiast


1 minutes to read