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!!
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