none
workflows cannot automatically start if the triggering action was performed by System Account RRS feed

  • Pregunta

  • Hola Juan Carlos y amigos del foro.

    Tengo un Flujo desarrollado en SharePoint Designer 2010. Funciona bien en el evento de modificación de un archivo; pero no en el evento de creación o cargar de un archivo. No inicia automáticamente.

    En el log se me presenta el siguiente mensaje: "workflows cannot automatically start if the triggering action was performed by System Account"

    Ya cambie el usuario del Job Timer, también el usuario del Pool Application, también estoy cargando los nuevos documentos con un usuario diferente y aún no se inicia el WF.

    Mi consulta es dónde debo cambiar el System Account par que se incie el WF automáticamente. Mi granja tiene SharePioint Server 2010, con la actualización a Octubre del 2013.

    Agradezco toda la ayuda,

    Saludos,



    miércoles, 27 de noviembre de 2013 23:55

Respuestas

  • Hola a tod@s

    Les comento que ya lo logré solucionar el problema, implmenté un evento que inicia los flujos asociados a las listas cuando se agrega un nuevo documento. En teoría esto lo debería hacer el SharePoint de cada, pero bueno a mí no me funcionó, así que aquí esta lo que me resultó como solución definitiva:

     SPListItem addedItem = properties.ListItem;
                SPWorkflowManager manager = addedItem.ParentList.ParentWeb.Site.WorkflowManager;
                SPWorkflowAssociationCollection assoCollection = addedItem.ContentType.WorkflowAssociations;

                foreach (SPWorkflowAssociation asso in assoCollection)
                {
                    manager.StartWorkflow(addedItem, asso, "");
                }

    Para más referencia: http://msftplayground.com/2011/01/sharepoint-2010-content-organizer-feature/

    Muchas gracias a tod@s


    Clarence Ricketts Torres

    viernes, 29 de noviembre de 2013 23:18

Todas las respuestas

  • Hola Clarence,

    Vamos a ver un Workflow no se puede arrancar si el usuario que ha provocado el evento es la cuenta del sistema esto da igual cual es usuario del pool de aplicaciones, etc... Este es así y no se puede modificar.


    Por lo que comentas tienes un TimerJob que hace algo no? El TimerJob se estará ejecutando con permisos de System Account porque debe de tener permisos para poder instalarse en la Administración central, por lo que si la funcionalidad de este timer Job utiliza el usuario que lo ha lanzado lo estará lanzando siempre con el System Account y no te funcionara.

    Alternativas para solucionar este problema hay muchas, pero antes de intentar adivinar que es lo que estas implementando nos puedes dar el proceso concreto que estas implementando y te ayudamos mejor.

    Saludos,


    MCPD SharePoint 2010 Mi blog: http://blogs.encamina.com/desarrollandosobresharepoint Twitter: @AdrianDiaz81

    jueves, 28 de noviembre de 2013 6:42
  • Adrián muchas gracias por la pronta respuesta.

    Lo que estoy intentado hacer es un flujo de trabajo en Microsoft SharePoint Designer 2010. El cual tiene como propósito asignar los derechos a los documentos que se agregan o modifican en una librería. El mismo funciona bien al modificar un documento existente pero no al agregar un documento nuevo.

    Cuando observo el log encuentro un mensaje que dice: "workflows cannot automatically start if the triggering action was performed by System Account".

    Al ver ese mensaje cambié la cuenta del servicio: "SharePoint 2010 Timer" y luego fui al Administrador Central y cambie la cuenta del "Web Application Pool" del sitio dónde está la librería que tiene asociado el Flujo.

    Sin embargo el problema persiste.

    Este es uno de los flujos que no se iniciar automáticamente

    Flujo en Designer

    

    Cuando miro el workflow history encuentro que quien ejecutar el flujo es el system accont, no sé dónde debo cambiar esa cuenta para que mi flujo se ejecute de forma automática al cargar un nuevo documento.

    Gracias por toda la ayuda.

    jueves, 28 de noviembre de 2013 17:10
  • Hola a tod@s

    Les comento que ya lo logré solucionar el problema, implmenté un evento que inicia los flujos asociados a las listas cuando se agrega un nuevo documento. En teoría esto lo debería hacer el SharePoint de cada, pero bueno a mí no me funcionó, así que aquí esta lo que me resultó como solución definitiva:

     SPListItem addedItem = properties.ListItem;
                SPWorkflowManager manager = addedItem.ParentList.ParentWeb.Site.WorkflowManager;
                SPWorkflowAssociationCollection assoCollection = addedItem.ContentType.WorkflowAssociations;

                foreach (SPWorkflowAssociation asso in assoCollection)
                {
                    manager.StartWorkflow(addedItem, asso, "");
                }

    Para más referencia: http://msftplayground.com/2011/01/sharepoint-2010-content-organizer-feature/

    Muchas gracias a tod@s


    Clarence Ricketts Torres

    viernes, 29 de noviembre de 2013 23:18