lunes, 31 de enero de 2011

Variante al acceder UserPofileManager vía código en SharePoint 2010

 

Para obtener los perfiles de usuario de SharePoint Server utilizamos la clase UserPofileManager y en 2007 pasábamos una instancia de la clase ServerContext que representaba los servicios compartidos de SharePoint 2007 o SSP.   Pero en 2010 ya no existe mas SSP ahora cada servicio es independiente del otro y esto también afecta la forma en que escribimos el código en 2010. 

Ahora cuando deseamos utilizar la clase ServerContext en 2010 a través de el ensamblado Microsoft.Office.Server.dll nos muestra la imagen de abajo::

image

Y cuando la pasamos al UserProfileManager también nos previene que ya es una sentencia obsoleta.

image

Y nos indica que utilicemos la clase SPServiceContext.

Entonces la nueva forma de hacerlo no varía mucho de la anterior pero si tiene un impacto importante en los recursos utilizados y en el tiempo que demorará la solicitud de nuestro código.

Ejemplo completo de la forma en que se hacía en  2007 :

image

La nueva forma de hacerlo sería la siguiente:

image

PropertyConstants es una clase que nos permite acceder los campos de los perfiles de usuario no importante el lenguaje con que esta instalado SharePoint y esta disponible en ambas versiones y es mejor utilizarla en vez de utilizar un string que varía de versión del lenguaje en que esta instalado SharePoint, ya que en inglés sería “WorkEmail” y en español “Correo del Trabajo”, por ejemplo.

La recomendación será que nuevos desarrollos o en los cambios que necesitemos hacer vayamos migrando el código dejando de utilizar ServerContext y ahora utilizar SPServiceContext.

Hasta la próxima!, SharePoint4Fun!,

Manolo Herrera

No hay comentarios.: