September 2007 - Posts - Vlad-Point Master Chief

Vlad-Point Master Chief

Noticias, Artículos y lo que salga del mundo ITPro, SharePoint y más

September 2007 - Posts

Acceso a WorkFlows sin usar el menú de edición del elemento

Chale, siempre que tengo un tiempo libre para escribir algo nuevo en mi blog, esta caido el servidor, pero bueno, vamos a aprovechar este momento de vida en el servidor para postear algo que tiene tiempo que queria postear... Vamos entonces:

 

Que bien se siente cuando tienes un reto frente a ti y, después de ponerte a luchar un rato con la lógica de MOSS, encuentras la solución.

 

Les platico cual era el reto, en el proyecto de un cliente, este quería que la columna de nombre del elemento en las bibliotecas de documentos, no apareciera en la vista; sin embargo, era necesario el menú de edición que viene colgado a esa columna de nombre para acceder a los flujos de trabajo del elemento, ya que existen algunos que se tienen que ejecutar manualmente por el usuario. Entonces el problema es que le debemos de poner un acceso a los workflows del elemento sin usar el menú de edición del nombre… y lo más importante, hacerlo sin programación.

 

Como sabrán, MOSS usa páginas genéricas para algunos procesos, entonces la parte donde están los workflows de cada elemento de la biblioteca, es una pagina aspx genérica que solo requiere de 2 parametros: el ID del elemento y el ID de la lista donde se encuentra el elemento.

 

La solución: crearle al usuario una columna con el acceso directo a la pagina, pero se requiere que ese acceso directo tome el ID del elemento y el ID de la lista para funcionar correctamente; del ID de la lista no se tiene problema porque se puede dejar estático, ya que el usuario accede a los workflows desde la misma biblioteca donde pondríamos el acceso directo, por lo tanto, se tendrá un acceso directo en cada biblioteca que requiera de ello. El problema esta en el ID del elemento, ya que ese es completamente dinámico, cada link de cada elemento debe tener el ID de ese elemento.

 

Desarrollo de la solución: lo primero que tenemos que hacer es obtener en una columna el ID del elemento, porque aunque ya existe una columna llamada ID que genera automáticamente MOSS, esa no nos sirva ya que no la podemos usar en columnas calculadas (sí, ya más o menos saben por donde me estoy yendo), entonces creamos nuestra columna de tipo texto simple, la cual por medio de un workflow llene el dato del ID cada que se genera un nuevo elemento en la biblioteca… Bien ya tenemos el ID de cada elemento en una columna usable, ahora pasemos al campo calculado, debemos crear un campo calculado que va a generar el link a la página de workflows de cada elemento, cual es la formula de ese campo, bueno según la lógica que toma MOSS para generar campos de tipo hipervínculo (sip, a eso quería llegar, ya todo mundo lo sospechaba no?) lo que tenemos que hacer es poner el link, después una coma y después el Título o Header de nuestro link (para que no espantemos al usuario con una URL como campo, mejor algo más bonito y entendible, como les gusta a los usuarios), entonces la formula del campo calculado iría más o menos así:

 

="http://<server>/<sitio>/<subsitio>/_layouts/Workflow.aspx?ID="&<IDElemento>&"&List=<IDBiblioteca>&", <nombre, lo que va a ver el usuario>"

 

Recuerden que “IDElemento” es el campo que se creo para obtener el ID y “IDBiblioteca” es el ID estático (si no lo requieren dinámico) de la biblioteca donde esta el elemento.

 

Listo, tenemos el link con la estructura que requiere un campo de tipo Hipervinculo, ahora tenemos que crear ese campo, ya que lo tenemos creado, debemos de meter en el workflow que estamos ejecutando para copiar el ID del elemento, otra acción para que copiemos el ampo calculado que tenemos con la estructura de un hipervínculo al campo de tipo hipervínculo que nos servirá para mostrárselo al usuario de la manera más limpia posible.

 

Finalmente quitamos todos los campos de trabajo que utilizamos de la vista del usuario, para que no este tentado a andarle metiendo mano y cambiando esos datos (esto tamoco requiere de progrmación, eh!!!, solo es ingenio), si no saben como hacerlo, lean mi siguiente post, en donde les mostrare la manera ingeniosa de quitar esos campos vitales que a veces creamos para hacer maravillas y que no queremos que los usuarios los estén ocupando.

 

 

Saludos;

Vlad-Point

Posted: Sep 26 2007, 05:44 AM by medinav | with 1 comment(s)
Filed under: