Buenas,

estas son semanas complicadas, mayormente por la carga de trabajo (donde día a día sobrepasa mi capacidad de sorpresa la poca preparación que existe en el aire), la preparación para el ALM '09 Sessions y otros proyectos personales (de este tipo en su mayoría). Sin embargo, entre tantas cosas para tener en cuenta, trato de no dejar de lado uno de los mejores canales de información que conozco: los foros. Lo mejor que tienen los foros, es que las preguntas que se realizan en los mismos, vienen dados de problemas reales.

Es por esto, que hace unos días me llamó la atención una pregunta en un foro interno de Avanade donde un compañero de Canadá preguntaba como crear tareas en un Team Project en Team Foundation Server 2008 pero que las mismas no puedan ser visualizadas, ni modificadas por todo el equipo que podía acceder a ese Team Project.

Antes de soltarle una respuesta, traté de averiguar cómo estaban organizados sus equipos de trabajo (una de las ventajas de tener un OCS global, es que puedes comunicarte con cualquier compañero del mundo en cualquier momento). Para mi gozo, resultó que su problema residía en que un determinado equipo de personas no debían tener acceso a ciertos elementos del Team Project por cuestiones de seguridad.

La siguiente pregunta fue relacionada con el manejo de las áreas, y después de comentarlo un poco llegamos a la conclusión que adaptando un poco el esquema de áreas de su Team Project podía lograr su cometido. Ya que al asignar permisos específicos de seguridad a una o más áreas, con las mismas podía controlar los permiso de acceso, modificaciones, etc. a los WorkItems que se creen para estas áreas.

Para esto, y a modo de ejemplo, seguiremos el siguiente tutorial para satisfacer el siguiente requerimiento:

El usuario Art (arquitecto) no debe poder visualizar los WorkItems del área $/Áreas/Reports

 

Tutorial

1. Acceder a la definición de áreas del Team Project, seleccionando el mismo en el Team Explorer.

2. Desplegar el menú contextual y seleccionar Team Project Settings // Áreas and Iterations



3. Seleccionar el área Area / Reports.

4. Presionar el botón Security

5. En la sección de usuario y grupos, seleccionar la opción Windows User or Group y agregar el usuario Art.

6. Seleccionar el check Deny (denegar acceso) para las opciones

  • View this node
  • View work items in this node

 

7. De esta forma cuando otro usuario acceda al Team Project y ejecute un query para mostrar todos los WorkItems (All WorkItems por ejemplo) podrá ver la siguiente información, donde el WorkItem 528, pertenece al Area Reports.

 

 

8. Sin embargo, cuando Art ejecute esta query (en la siguiente imagen desde Team System Web Access), veremos que no puede ver el WorkItem 518.

 

Un detalle adicional a mencionar es que utilizando el esquema de seguridad de las áreas es posible configurar el acceso (o denegar el mismo) para las siguientes acciones:

  • Eliminar el nodo del área
  • Modificar el nodo del área
  • Modificar WorkItems asociados al nodo del área
  • Visualizar el nodo del área
  • Visualizar WorkItems asociados al nodo del área

 

Saludos @ Home

El Bruno

Crossposting from El Bruno