Sharepoint.Dev() Just another SharePoint weblog

1Aug/100

Recebimento de Emails no SharePoint não dispara o workflow automaticamente

No último projeto que participei tive que configurar uma biblioteca de documentos para receber emails automaticamente e ao mesmo criei um workflow para tomar algumas ações quando o email chegasse. O workflow foi criado pelo SharePoint Designer.
Bom, eis o problema.

Quando o email chegava na bilioteca o workflow não era disparado.

Encontrei a solução nesse KB da Microsoft http://support.microsoft.com/kb/953289/

Executei o comando stsadm -o setproperty -pn declarativeworkflowautostartonemailenabled -pv true e meu problema estava resolvido.

Vale a dica para quem estiver passando por essas dificuldades!!
Abraços!!

23Nov/090

Cancelar Workflow via programação

No último projeto tivemos que dar a possibilidade para o usuário encerrar o andamento do fluxo manualmente. Para isso um método foi criado:

SPSecurity.RunWithElevatedPrivileges(delegate()
{
    using (SPSite site = new SPSite(siteID))
    {
          using (SPWeb web = new SPWeb(relativeWeb))
         {
              SPWorkflowManager manager = site.WorkflowManager;
              SPListItem item = web.Lists[listname].GetItemByID(itemID);
              foreach(SPWorkflow workflow in manager.GetItemActiveWorkflows(item))
              {
                       SPWorkflowManager.CancelWorkflow(workflow);
              }
          }
    }
});

Detalhe para o "SPSecurity.RunWithElevatedPrivileges()" que faz com que o código possa ser executado por qualquer usuário que esteja logado.

O código que está no nosso projeto não é exatamente este, não coloquei algumas ações específicas do nosso projeto, mas basicamente para encerrar o fluxo, que é o tema deste post é esse!

Até a próxima!

Referencia: http://pointstoshare.spaces.live.com/Blog/cns!AEC42F315B4528B0!3045.entry?sa=648616426