Check-in e Check-out + Workflow 2013

?Os fluxos do SharePoint Designer 2013 ganham muito com a possibilidade de realizar chamadas em Web Services. Muitas das ações que não estão disponíveis como atividades nativas podem ser realizadas aproveitando da API REST do SharePoint.

Um exemplo é o desenvolvimento de um fluxo reutilizável que realiza checkout do item em o que fluxo está sendo executado.

A ação “Fazer checkout de item em esta lista” não permite a utilização de uma variável e deve ser selecionada uma lista fixa. Devido a esse comportamento, essa ação não pode ser utilizada em um fluxo genérico, como é o fluxo reutilizável.


 

Para contornar essa limitação pode ser utilizada a API REST para realizar o checkout e check-in de um item.

Será utilizada a ação “Chamar o serviço WEB HTTP”


 

Com a seguinte URL

[%Workflow Context:Current Site URL%]/_api/web/Lists(guid'[%Workflow Context:List ID%]’)/getItemById([%Current Item:ID%])/File/CheckOut()

Detalhando as variáveis da URL temos:

[%Workflow Context:Current Site URL%] – que contém a URL da SPWeb onde o fluxo está executando

/_api/web/Lists(guid'[%Workflow Context:List ID%]’) – caminho da API REST para encontrar a lista do item em que o fluxo está sendo executado

/getItemById([%Current Item:ID%]) – Comando da API REST para pegar o item em que o fluxo está sendo executado

/File/ – Acessando o arquivo da biblioteca de documentos

/CheckOut() – e executando a operação Checkout do arquivo

Além da URL, é necessário vincular algumas variáveis com a chamada do serviço web:

Coloque a ação “Criar Dicionário” antes da ação “Chamar o serviço Web HTTP”


E insira neste dicionário os elementos

“Accept” e “Content-Type”, ambos com os valores “application/json;odata=verbose”


 

Após criar o dicionário selecione as propriedades da ação “Chamar o serviço Web HTTP” utilizando o clique direito do mouse


Preencha para o parâmetro RequestHeaders com o dicionário criado no passo anterior.

O parâmetro RequestType deve ser preenchido conforme a operação a ser executada pela API REST, no caso do checkout, ela deve ser POST.

Os outros parâmetros, são também utilizados de acordo com a necessidade, caso seja uma operação de Insert ou Update, deve-se montar um dicionário com a estrutura que deve ser informada para o SharePoint realizar a operação.


 

A variável informada ao parâmetro ResponseStatusCode pode ser utilizada para verificar se a operação foi bem sucedida ou não e o parâmetro ResponseContent pode ser utilizado para ler os resultados de uma requisição de leitura.

Após a realização do Checkout utilizando essa solução, o fluxo pode realizar alterações no item.

É necessário ao final das atualizações realizar o check-in.

O check-in pode ser feito seguindo os mesmos passos descritos com a exceção da URL que deverá ser

/File/CheckIn(comment=’Alteração da mensagem de status’, checkintype=0)

Onde a ação Check-In e os parâmetros do comentário e o tipo de check-in são preenchidos na URL.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *