none
Sharepoint 2007 RRS feed

  • Pregunta

  • Muy buenas! Estoy empezando con sharepoint en concreto 2007 y me encontre con un problemilla. Cree un workflow basico con visual studio 2008 que me crea un archivo de texto. Si el usuario logueado es ana (por ejemplo) pues escribe en el archivo hola ana. en caso contrario pues escribe hola desconocido. La cuestion es que al ejecutarlo pues siempre me devuelve como usuario administrador, aunque este en el sistema como ana y logueada en sharepoint como ana. Siempre me devuelve admin. (imagino que es porque el administrador fue quien instalo la caracteristica y tal) Espero que alguien me pueda ayudar....seguro que es una chorrada...pero no doy con la tecla! Saludos!
    martes, 4 de enero de 2011 9:13

Respuestas

  • Buenas,

    en el workflow tienes que tener un objeto workflowproperies con los datos del usuario que ejecuta el Workflow, tal que así

    workflowProperties.OriginatorUser.ID
    workflowProperties.OriginatorUser.Name
    workflowProperties.OriginatorUser.ID.LoginName


    Alberto Diaz Martin twitter://@adiazcan | http://geeks.ms/blogs/adiazmartin
    martes, 4 de enero de 2011 10:17

Todas las respuestas

  • Buenas,

    en el workflow tienes que tener un objeto workflowproperies con los datos del usuario que ejecuta el Workflow, tal que así

    workflowProperties.OriginatorUser.ID
    workflowProperties.OriginatorUser.Name
    workflowProperties.OriginatorUser.ID.LoginName


    Alberto Diaz Martin twitter://@adiazcan | http://geeks.ms/blogs/adiazmartin
    martes, 4 de enero de 2011 10:17
  • Muchisimas gracias Alberto!

    ya puedo saber desde visual studio quien esta ejecutando el workflow y me ejecuta mi condicion perfectamente y me rellena mi columna personalizada tal como quiero.

    Ahora abusando de ti (solo un poquito jejeje) me gustaria saber como hacer para cuando por ejemplo inicio el workFlow desde un documento en sharepoint, el modified by pues me diga el usuario logueado en ese momento, y no System Account.

    Cuando creo el documento si me muestra el usuario logueada, pero al ejecutarlo cambia a SystemAccount. Tengo que asignarlo yo desde codigo manualmente??

    Perdona mi ignorancia ..creo que se nota mucho que solo llevo una semana con sharepoint.

    Mil gracias por adelantado.

    martes, 4 de enero de 2011 11:43
  • Buenas,

    No entiendo muy bien tu segunda pregunta. ¿Necesitas obtener el usuario que modifica el documento? ¿ese no es el usuario que ejecuta el workflow?

     


    Alberto Diaz Martin twitter://@adiazcan | http://geeks.ms/blogs/adiazmartin
    martes, 4 de enero de 2011 11:46
  • Eso pensaba yo tambien.

    A ver te explico.

    En sharepoint Creo una libreria y un documento con el usuario ana. En la columna modified by (que sale por defecto) pone ana.

    Cuando ejecuto el workflow (boton derecho workflow y selecciono mi flujo de trabajo ) pues se ejecuta bien pero la columna modified by pues pone system account.

    Lo gracioso es que si clico en completed (la columna de mi workflow) me sale en otra ventana que el iniciador del flujo es ana.

    igual es algo de la configuracion.

    Con lo que me dijiste en tu anterior respuesta se que usario es y  relleno mis demas columnas, pero no se porque esa que sale por defecto pone system account.

    Gracias!

    martes, 4 de enero de 2011 12:01
  • Mira a ver si tienes un problema con la ejecución del workflow. Revisa este post que comenta como establecer el usuario que modifica el workflow, sobrescribiendo la cuenta del sistema

    http://www.bryansgeekspeak.com/2009/02/moss-2007-workflow-approval-sets.html

     


    Alberto Diaz Martin twitter://@adiazcan | http://geeks.ms/blogs/adiazmartin
    martes, 4 de enero de 2011 12:08
  • Hola,

    en el código que ejecutas tienes algún RunWithElevatedPrivileges? en ese caso piensa que estás efectuando las acciones como si fueras la cuenta de sistema.

    Saludos,
    David Martos
    http://david-martos.blogspot.com

    martes, 4 de enero de 2011 12:58
  • Buenas,

    Alberto, el workflow va, porque precisamente me cree una columna nueva donde me diga quien fue quien lo modifico por ultima vez ademas de otras cosas que tambien hace. El link que me pasaste es muy interesante, sobre todo la segunda parte mejorada http://www.bryansgeekspeak.com/2009/03/moss-2007-show-sharepoint-version_06.html aunque segun dice su autor no esta del todo perfecta...pero bueno..ya se por donde van los tiros...MUCHAS GRACIAS por tu ayuda.

    David, no tengo ningun RunWithElevatedPrivileges..eso fue lo primero que comprobe...de todas formas gracias por tu ayuda 

    Creo que una solucion rapida es ocultarla y crearme mi propia columna jejejeje...sobre todo los novatos como yo...no vaya a ser que me cargue otra cosa por otro lado :D

    martes, 4 de enero de 2011 14:34