Webcast SUGES. Perfiles de Usuarios. El lado social de SharePoint.

El jueves 10 de febrero (la próxima semana), a las 17.00 (GMT), volvemos a dar la paliza con SharePoint en SUGES. Ahora que está de moda las redes sociales, hablaremos sobre las capacidades de SharePoint para crear nuestra propia “red social” dentro de la empresa y conocer mejor a nuestros compañeros de trabajo.

ms-sharepoint-2010-communities-consultants

Veremos qué funcionalidades nos ofrece SharePoint 2010 en este sentido, cómo podemos llegar a conseguir una auténtico “Facebook” en nuestra empresa y qué configuraciones son necesarias para poder aprovechar al máximo las características sociales de SharePoint, sin olvidarnos por supuesto de las posibilidades de extensibilidad que tenemos en esta área.

Para registraros y asistir al webcast tenemos el siguiente enlace

https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032474101&EventCategory=4&culture=es-ES&CountryCode=ES

No olvidéis tener instalado el cliente de Livemeeting.

 

Os esperamos…

SharePoint 2010. SQLException iniciando el servicio de Sincronización de Perfiles de Usuario

Una pequeña ayuda cuando nos encontramos con problemas iniciando  el servicio de Sincronización de Perfiles de Usuarios, cuando lo configuramos por primera vez. Cuando iniciamos el servicio este se queda en estado Iniciando y los servicios de Forefront Identity Manager Service y Forefront Identity Manager Synchronization Service no se configuran ni se inician, revisamos el visor de sucesos del servidor y nos encontramos con varios eventos relacionados con el origen Forefront Identity Manager que nos indican que no es posible abrir una conexión a la base de datos.

sharepoint2010_errorprovisioninguserprofile_2

.Net SqlClient Data Provider: System.Data.SqlClient.SqlException: Error relacionado con la red o específico de la instancia mientras se establecía una conexión con el servidor SQL Server. No se encontró el servidor o éste no estaba accesible. Compruebe que el nombre de la instancia es correcto y que SQL Server está configurado para admitir conexiones remotas. (provider: Proveedor de canalizaciones con nombre, error: 40 – No se pudo abrir una conexión con SQL Server)
   en Microsoft.ResourceManagement.Data.Exception.DataAccessExceptionManager.ThrowException(SqlException innerException)
   en Microsoft.ResourceManagement.Data.DatabaseConnection.Open(SqlConnection connection)
   en Microsoft.ResourceManagement.Data.DatabaseConnection.Open(DataStore store)
   en Microsoft.ResourceManagement.Data.TransactionAndConnectionScope..ctor(Boolean createTransaction, IsolationLevel isolationLevel, DataStore dataStore)
   en Microsoft.ResourceManagement.Data.TransactionAndConnectionScope..ctor(Boolean createTransaction)
   en Microsoft.ResourceManagement.Data.DataAccess.RegisterService(String hostName)
   en Microsoft.ResourceManagement.Workflow.Hosting.HostActivator.RegisterService(String hostName)
   en Microsoft.ResourceManagement.Workflow.Hosting.HostActivator.Initialize()
   en Microsoft.ResourceManagement.WebServices.ResourceManagementServiceHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses)
   en Microsoft.ResourceManagement.WindowsHostService.OnStart(String[] args)

Este error puede ser debido a que la clave del servicio de Almacenamiento Seguro no se ha creado y no puede realizar la conexión segura con el servidor de configuración. Para arreglar este problema, nos vamos a la administración del servicio de Almacenamiento Seguro y, una vez que comprobamos que no se ha creado la clave (ver siguiente imagen), generamos una nueva clave.

sharepoint2010_errorprovisioninguserprofile_1

Ahora faltaría reiniciar los servicios de nuestro servidor (o reiniciar el servidor por completo) y veremos que automáticamente comienza a iniciar el proceso de configuración de los servicios de Forefront y el servicio de Sincronización de Perfiles de Usuarios se pone en estado Iniciado.

sharepoint2010_errorprovisioninguserprofile_3

 

Saludos a todos…

SharePoint 2010. Permisos en JavaScript y HTML

SharePoint nos permite hacer verdaderas diabluras con JavaScript y también nos ofrece controles de servidor que exponen funcionalidades útiles para la interfaz de usuario.

Imaginemos que necesitamos mostrar un control ASP.NET o código HTML en función de los permisos del usuario o que queremos ejecutar una función JavaScript porque el usuario no tiene los permisos necesarios.

Esto lo podemos hacer con el control SPSecurityTrimmedControl, este nos permite añadir funcionalidad a nuestras páginas en SharePoint que sólo se ejecutarán si se cumplen los permisos necesarios. Por ejemplo:

<Sharepoint:SPSecurityTrimmedControl runat="server" PermissionsString="ApproveItems">

    Puede consultor los documentos pendientes de aprobar

    ......................

    ......................

</SharePoint:SPSecurityTrimmedControl>

Si queremos controlar la ejecución de nuestro código JavaScript, podemos hacer lo siguiente:

<script type="text/javascript">

    var UserCanApproveItems=false;

</script>

 

<Sharepoint:SPSecurityTrimmedControl runat="server" PermissionsString="ApproveItems">

  <script type="text/javascript">

    UserCanApproveItems = true;

  </script>

</SharePoint:SPSecurityTrimmedControl>

 

<script type="text/javascript">

    // do something based on permissions

    if ( UserCanApproveItems )

    {

      // add your code here

      alert("You can Approve Items")

    }

</script>

Y con esto una pequeña funcionalidad que tenemos en SharePoint y que nos dará muchas posibilidades.

 

Saludos a todos…

SharePoint 2010. Identificador de Correlación

Como comentaba Juan Carlos en uno de sus post sobre SharePoint, una de las múltiples novedades y mejoras que incorpora SharePoint 2010 tiene que ver con la gestión de errores.

Cuando se produce un error o una excepción no controlada, se le muestra al usuario una ventana con el mensaje de error y, muy útil pero no me termina de convencer, un identificador de correlación que nos permite localizar el mensaje entre la maraña que supone el log de SharePoint.

Este es el mensaje

sharepoint_correlationId_1

Este es el log

sharepoint_correlationId_2

Localización del problema

Para localizar el problema tenemos varios métodos, como comentaba Juan Carlos en su post, nos vamos al fichero de log más reciente (..14LOGS) y buscamos por el Identificador de Correlación, o bien, utilizamos alguno de los siguientes métodos.

PowerShell

SharePoint 2010 viene con un Management Shell que nos permite realizar las tareas de administración desde la consola. Para localizar identificadores tenemos el comando get-splogevent | ?{$_.Correlation –eq “<GUID>”}, comando que nos devuelve todos los eventos de SharePoint y lo filtramos para obtener los que estamos buscando. Podemos ver otras opciones del comando en el TechNet.

sharepoint_correlationId_3

ULS Viewer

ULS Viewer es una herramienta que nos ayuda con la visualización de los archivos de logs de SharePoint. Con esta podemos filtrar y localizar nuestro Identificador de Correlación y leer los mensajes asociados a este. Tenemos un artículo sobre la herramienta en el blog de Gustavo Vélez.

sharepoint_correlationId_4

Entre las funcionalidades a destacar, nos encontramos con la posibilidad de filtrar los mensajes por severidad (Verbose, Info, Medium o High), ver en tiempo real la escritura en el log y abrir logs de servidores remotos.

La podemos descargar del sitio http://code.msdn.microsoft.com/ULSViewer y, sin necesidad de instalación, la podemos ejecutar y empezar por hacer un Open From (o Append From) del fichero ULS de registro que queramos. Si necesitamos el online, debemos hacer un Open From ULS y seleccionar la carpeta donde se encuentren los logs.

 

Saludos a todos…

P.D. No me convence lo del Identificador de Correlación porque no veo a los usuarios apuntando ese numerajo y dictándotelo por teléfono, pero bueno, es una forma sencilla que nos ayuda a localizar los problemas.

Evento. Desarrollo en SharePoint para desarrolladores mortales de .NET

MadNugsuges2

Para todos aquellos que no tenéis la suerte de desarrollar con SharePoint y para los que si, MAD.NUG y SUGES han organizado una mesa redonda para hablar sobre el desarrollo con SharePoint y acercar este mundo a los mortales desarrolladores de .NET.

La idea principal es tener un debate sobre las capacidades de desarrollo de SharePoint y si debemos tener en cuenta esta plataforma para desarrollar aplicaciones empresariales.

Será un placer compartir mesa con los usuarios de MAD.NUG (queremos vuestra participación en el debate) y con los grandes maestros de SharePoint (Gustavo Vélez, Juan Carlos González y David Martos), así que con este cartel no os lo podéis perder.

El evento será en las oficinas de Microsoft España y, posiblemente, será emitido vía LiveMeeting, nos vemos el Miércoles 2 de Febrero a las 19.00 por Madrid. Para registrarse tenemos el siguiente enlace.

MVP SharePoint Server

Todavía lo estoy asimilando. Estás celebrando el año nuevo con unos grandes amigos y con algunas copas de más, coges tu Windows Phone 7 para ver si tienes algún mensaje en el Twitter, Facebook o email (esto sólo lo hacemos los que estamos enganchados al móvil y no dejamos de mirarlo por si no hemos oído el sonido de que tenemos un correo nuevo, ya que el día 1 de enero seguro que tienes un cliente esperando tu respuesta) y te encuentras el siguiente mensaje:

mvp

No te lo terminas de creer, das unos saltos de alegría, besas y abrazas a todos los que tienes a tu alrededor y vuelves a leer el correo por si te has equivocado. Lo dicho, es día 1 de enero y no estás como para leer correos serios.

Para un profesional (friki Sonrisa) de las tecnologías Microsoft es un orgullo que te reconozcan como Microsoft MVP (Most Value Professional) y no es más que eso, un reconocimiento. La idea es seguir trabajando, colaborando, escribiendo en el blog, ayudando a los desarrolladores, continuar con todo esto por placer (aunque el reconocimiento se lleva muy bien por dentro) y por satisfacción personal que es por lo que empecé a escribir en este blog, realizar Webcast para la comunidad y algunas charlas en Tenerife.

Quiero agradecer a todos los que me han dado la oportunidad de realizar los Webcast (Juan Carlos González – SUGES y Joaquín Sosa – SecondNug), las conferencias (Microsoft España, Innova 7 y José Fortes, compañero de viaje) y todos los que me habéis apoyado y ayudado a seguir adelante. Personalmente ha sido un año complicado, pero sin mi pareja, mi familia, mis amigos y sin mi empresa (General de Software de Canarias) no hubiera podido llegar al día de hoy.

Así que GRACIAS A TODOS por aguantarme, por leer este blog y por seguirme en Twitter.