miércoles, 11 de diciembre de 2013

Entrevista CompartiMOSS

CompartiMOSS es una revista digital especializada en temas de SharePoint y algunas tecnologías relacionadas a esta plataforma de colaboración. En la más reciente edición de la revista del mes de Diciembre se publicó una entrevista que me hicieron en días pasados. 

Les recomiendo ampliamente lean los artículos de esta revista, y claro también lean la entrevista que me hicieron.


jueves, 31 de octubre de 2013

ID4037: The key needed to verify the signature could not be resolved from the following security key identifier

Hace unos días estaba revisando un portal de SharePoint 2013 que había sido configurado para permitir la autentificación mediante Windows Live ID, la autentificación había sido configurada utilizando las siguientes guías:

Configure claims-based authentication using Windows Live ID (SharePoint Server 2010)
Visual guide to Windows Live ID authentication with SharePoint 2010 - part 1

Aunque las guías mencionadas son para SharePoint 2010 funcionan para SharePoint 2013 también, tan es así que el portal estuvo funcionando adecuadamente durante la etapa de desarrollo del  proyecto (algunas semanas) sin embargo de un día para otro dejo de funcionar la autentificación mediante Windows Live ID y en su lugar el portal mostraba el siguiente error cuando un usuario intentaba autentificarse mediante este método.

El mensaje:
ID4037: The key needed to verify the signature could not be resolved from the following security key identifier.
Después de revisar un rato los logs de SharePoint que se generaban al presentarse el error no encontré mayor información acerca del error por lo que decidí revisar los datos de configuración del proveedor de autentificación, sin embargo todo parecía estar correctamente configurado. Por último recordé que al ser esta una instalación de “Staging” los certificados que se utilizan para la configuración son temporales por lo que procedí a revisar  la vigencia de los certificados y efectivamente estaban vencidos.

Una vez descubierta la causa del error es hora de buscar la solución, la cual describo a continuación:

1.- Remover los certificados expirados. Para esto pueden utilizar la consola MMC.exe importando el addin de Certificados, identificar los certificados que ya expiraron y eliminarlos, los certificados deben encontrarse en los siguientes almacenes: Trusted Root Certification Authority, Trusted People y SharePoint.


2.- Una vez que los certificados han sido removidos se debe descargar de nuevo el certificado para posteriormente instalarse en los mismos almacenes. El certificado debe descargarse de la url https://nexus.passport-int.com/federationmetadata2/2007-06/federationmetadata.xml, se debe copiar y pegar en un archivo de texto lo que se encuentra del nodo X509Certificate, se guarda el archivo con extensión .cer.


3.- Una vez que se cuenta con el certificado actualizado se debe instalar en los mismos almacenes de los que se eliminó: Trusted Root Certification Authority, Trusted People y SharePoint.

4.- Por ultimo ejecutamos este pequeño script de PowerShell para actualizar solo el certificado del Trusted Identity Token Issuer

$certfile="C:\temp\LiveID-INT.cer" #path en donde se encuentra el nuevo certificado descargado desde https://nexus.passport-int.com/federationmetadata2/2007-06/federationmetadata.xml
$tokenIssuer=Get-SPTrustedIdentityTokenIssuer -Identity "LiveID INT" #Nombre con el que se registro el Trusted Identity Token Issuer
Set-SPTrustedIdentityTokenIssuer -Identity $tokenIssuer -ImportTrustCertificate $certfile


Despues de realizar estos sencillos pasos el sitio vuelve a funcionar y ya permite la autentificación mediante Windows Live ID

Happy Configuring!

jueves, 8 de agosto de 2013

Error configurando SQL Server Reporting Services 2012 en SharePoint 2010

Hola amigos, el día de hoy con un escenario que encontré hace unos días que intentaba configurar SSRS 2012 en SharePoint 2010.

El escenario es el siguiente: tenía una granja pequeña de SharePoint 2010 SP 2 con dos servidores y un servidor de base de datos con SQL Server 2012 SP 1.

Como parte de los requerimientos era necesario habilitar el servicio de Reporting Services en SharePoint 2010, por lo que procedí a descargar el Add-in de Reporting Services para SharePoint:

Microsoft® SQL Server® 2012 SP1 Reporting Services Add-in for Microsoft® SharePoint®

Sin embargo después de instalar el Add-in en los servidores de SharePoint y seguir el procedimiento standard de instalación de Microsoft, que consiste en la ejecución de los comandos de PowerShell:


Install-SPRSService
Install-SPRSServiceProxy
get-spserviceinstance -all |where {$_.TypeName -like "SQL Server Reporting*"} | Start-SPServiceInstance


Y posteriormente la creación del service application de Reporting Services en el sitio central de administración, noto que no me es posible crearlo, al revisar los servicios iniciados en el servidor me doy cuenta que el servicio SQL Server Reporting Services Service tuvo un error al iniciarse. Como buen consultor intento iniciarlo una vez más (porque todos pensamos que los problemas se resuelven haciendo las mismas cosas muchas veces?) y veo el siguiente error en pantalla:

Pero como siempre, este tipo de mensajes no son de mucha ayuda por lo que revise el visor de eventos de Windows para ver si existe alguna información extra que me ayude a corregir el error, pero solo encuentro el mismo mensaje:

Installation Error: Could not find SOFTWARE\Microsoft\Microsoft SQL Server\110 registry key Error with installing SQL Server Reporting Service Application

Después de un rato de investigación y de no encontrar nada, vuelvo a leer y revisar los procedimientos de instalación (oficiales y no oficiales) y me doy cuenta que algunos blogs hacen referencia a este Add-in, sin embargo otros hacen referencia, implícitamente, al uso de la media de SQL Server 2012, es decir del archivo ISO con que se instaló SQL Server 2012 y lo utilizan para instalar el Add-in de SSRS en los servidores de SharePoint.

Dado que en este punto no sabía que otra cosa intentar más que utilizar los bits de SQL Server 2012 SP 1 para configurar Reporting Services procedo a desinstalar el Add-in:


Y posteriormente utilizando los bits de SQL Server 2012 SP 1 con que se instaló el servidor de base de datos, ejecuto el instalador  en los servidores de SharePoint 2013 y selecciono solo los componentes necesarios de Reporting Services.


Acto seguido vuelvo a ejecutar los comandos de PowerShell y reviso si el servicio fue iniciado adecuadamente, y efectivamente todo funciona como debería.



Ya solo por curiosidad reviso la versión del Add-in instalado y note que si es diferente a la versión que había estado instalando previamente: 


Espero que este post les sirva y ahorre tiempo en el futuro.

Happy configuring!

martes, 23 de julio de 2013

SharePoint 2010 Service Pack 2

El dia de hoy se han hecho públicos los bits del service pack 2 de SharePoint 2010, por lo que a continuación les comparto un enlace de donde pueden descargarlos:

SharePoint Foundation 2010 SP2
SharePoint Server 2010 SP2

En este link pueden encontrar el listado de cambios que se incluyen en el service pack 2

Por su puesto tambien estan disponibles los service pack 2 para los respectivos language packs

Service Pack 2 for Microsoft SharePoint Foundation 2010 Language Pack
Service Pack 2 for Microsoft 2010 Server Language Pack

No olviden primero instalar y probar estos nuevos bits en ambientes de desarrollo y/o pre producción.



Happy updating!

miércoles, 10 de julio de 2013

Error <nativehr>0x80070003</nativehr><nativestack></nativestack> al restaurar una colección de sitios

Hace algunos días intentando restaurar una colección de sitios desde un respaldo generado en otra granja, me encontré con el siguiente error:


<nativehr>0x80070003</nativehr><nativestack></nativestack> At line:1 char:1 + Restore-SPSite http://webapplication:12345/sites/sitecollection_name -Pat ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~ + CategoryInfo : InvalidData: (Microsoft.Share...dletRestoreSite: SPCmdletRestoreSite) [Restore-SPSite], DirectoryNotFoundException + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletRestoreSite
La instrucción de PowerShell que estaba utilizando era algo como lo siguiente

Restore-SPSite -Identity http://server_name/sites/sitecollection -Path c:\temp\site_name.bak


Buscando un poco en la web se encuentran algunas referencias de dos posibles razones y formas de corregir este error:

1.- Managed Path incorrecto. Esto en caso de que el managed path "sites" no estuviera registrado como un path valido en el web application, la solución evidentemente es agregarlo. No era mi caso

2.- Permisos. Ejecutar el comando de Restore-SPSite con un usuario sin permisos; la solución obviamente es ejecutar el comando con un usuario administrador de la granja de SharePoint. Desafortunadamente tampoco era mi caso.

La forma en que yo pude realizar satisfactoriamente la restauración de la colección de sitios en la granja de destino fue a partir de un backup realizado desde la base de datos de contenido, a continuación enumero los pasos a seguir para realizar este workaround.

1.- Identificar la base de datos de contenido que contiene la coleccion de sitios que deseamos restaurar en la granja destino.
2.- Realizar un full backup de esta base de datos mediante SQL Server Management Studio (o mediante t-sql).
3.- Mover el respaldo realizado a una ubicacion que pueda ser accedida desde la base de datos de la granja destino.
4.- Restaurar la base de datos de contenido en una nueva base de datos dentro de la instanacia de SQL Server de la granja de SharePoint destino.
5.- Montar la base de datos con el siguiente comando de PowerShell:

Mount-SPContentDatabase "Nombre_de_la_base_de_datos_de_contenido_restaurada"  -WebApplication http://webapplication_destino

Por ultimo es importante recordar que una base de datos de contenido puede contener mas un site collection por lo que si este es su caso, desafortunadamente tendrán que borrar manualmente las colecciones de sitios que no utilicen.

Referencias:
Restore-SPSite
Mount-SPContentDatabase

Happy Coding!

Etiquetas

SharePoint 2010 (38) Microsoft (32) Desarrollo SharePoint (31) Gerardo Reyes Ortiz (27) SharePoint (20) SharePoint 2013 (18) Errores SharePoint (12) México (10) PowerShell (9) Silverlight (8) Visio Services (7) Features (6) MVP (6) Silverlight 3 (6) WebCast (6) Workflows (6) Configuracion SharePoint 2010 (5) D.F. (5) API REST (4) Configuracion SharePoint 2010; (4) Troubleshooting (4) Visual Studio 2010 (4) Visual studio (4) WSS (4) Web parts (4) Apps (3) Comunidad SharePoint (3) Configuración SharePoint 2013 (3) ODATA (3) SharePoint Server (3) SharePoint; Instalación SharePoint; Troubleshooting; Search Service (3) Silverlight 3.0 (3) Silverlight Toolkit (3) WebParts (3) javascript (3) jquery (3) Eventos SharePoint (2) Office 2010 (2) PeoplePicker (2) REST (2) SQL Server (2) Scripting (2) Search Service Application (2) SharePoint Designer (2) UPA (2) UPS (2) Workflows SharePoint (2) host header (2) Apps Development (1) Big Bang (1) CAS (1) CSOM (1) Codeplex (1) CompartiMOSS (1) Configuracion SharePoint 2010; Errores SharePoint (1) Configuracion SharePoint 2010; SharePoint 2010 (1) Custom Actions (1) Custom Editor Parts (1) Delegate Controls (1) Deployment (1) DisableLoopbackCheck (1) Document Library (1) Entrevista (1) Examenes de Certificación (1) Extract WSP (1) FBA (1) FS4SP (1) Fakes (1) Fast Search Server 2010 For SharePoint (1) Fiddler (1) HTTP.SYS (1) HTTPS (1) JSON (1) Language Pack's (1) Latam (1) MAXDOP (1) MCSM (1) MSExpertos (1) MVC (1) Microsoft México (1) Microsoft; Codeplex; Screencast; (1) My Sites (1) SQL Server 2012 (1) SQL Server Reporting Services (1) Screencast (1) Screencast; (1) Service Applications (1) Service Pack (1) SharePoint 2007 (1) SharePoint 2010 SP 1 (1) SharePoint API (1) SharePoint Conference (1) SharePoint Emulators (1) SharePoint Farm (1) SharePoint Health Analyzer (1) SharePoint Magazine (1) SharePoint Online (1) SharePoint Search (1) SharePoint Test (1) SharePoint; Desarrollo SharePoint (1) Shims (1) Simposio (1) Simposio Latinoamericano (1) SkyDrive Pro (1) Soporte Microsoft (1) Templates (1) Tip (1) VSeWSS (1) Virtual Machine (1) Visual Studio 2012 (1) WCF (1) WSS; IIS 7 (1) Web API (1) Web Content Management (1) Web Services (1) Windows 8 (1) Windows Live ID (1) Xml (1) appcmd (1) iOS (1) jqGrid (1) onload function (1)