Webcast. Todo lo que siempre quisiste saber sobre SharePoint, pero no te atreviste a preguntar II

Los grupos de usuarios de SharePoint de habla hispana os proponemos un evento online un tanto diferente: os proponemos durante aproximadamente 90 minutos charlar con los principales expertos de la plataforma en países de habla hispana. Ven con nosotros, plantéanos tus dudas y cuestiones sobre nuestro servidor favorito y averigua todo aquello que siempre quisiste saber, pero nunca te atreviste a preguntar.

Nos vemos el 1 de junio a las 15.00 (GMT) https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032486303&EventCategory=4&culture=es-ES&CountryCode=ES

Entre los participantes en la charla contaremos con algunos de los mayores conocedores de la plataforma SharePoint como: Gustavo Vélez, David Martos, Ricardo Muñoz, Juan Andrés Valenzuela, Juan Carlos González, Alberto Díaz, Daniel Seara, Héctor Insua, Manuel Herrera, Haarón González y Fabian Imaz.

SharePoint Designer 2010 no me permite guardar un fichero

Alguna vez te habrá pasado que no puedes hacer algo con SharePoint Designer 2010 que normalmente puedes hacer. El caso con el que me he encontrado hoy ya me había pasado en alguna ocasión, pero el hecho que haya estado buscando la solución durante más tiempo del necesario me ha empujado a escribir este breve artículo.

Síntoma

Al abrir un sitio con SharePoint Designer 2010 puedo localizar un fichero, desprotegerlo y editarlo pero al intentar guardar el fichero recibo un error indicando que el fichero ya no está desprotegido o que ha sido eliminado.

Causa

A la hora de implementar el paquete de despliegue no hemos indicado que el fichero en cuestión es GhostableInLibrary.

Solución

Localizar el fichero en vuestro paquete de despliegue y aseguraos de poner la parte resaltada en la siguiente figura.

<?xml version="1.0" encoding="utf-8"?>

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">

  <Module Name="ModuleName" Path="ModulePath" Url="ModuleUrl">

    <File Path="file.url" Url="file.url" Type="GhostableInLibrary" />

  </Module>

</Elements>

Como habréis imaginado, necesitaréis redesplegar el sitio para solucionar el problema. Si en el escenario en el que os encontráis no podéis hacerlo, la única opción que tenéis es la de eliminar el fichero incorrectamente desplegado y subirlo manualmente ya sea desde SharePoint Designer o desde la interfaz de usuario de SharePoint. En cualquier caso os recomiendo que arregléis la característica que ya teníais (por eso de que pueda venir un service pack o un desarrollador después de vosotros que haga que la característica se vuelva a activar y os rompa alguna cosa)

El servicio de sincronización de perfiles de usuario de SharePoint 2010 no se inicia

Quizá uno de los puntos más conflictivos en la instalación de SharePoint 2010 sea la configuración del servicio de sincronización de perfiles de usuario. Son muchas las causas que pueden provocar que el servicio no se inicie o no acabe de funcionar correctamente. En su mayoría las causas acaban siendo el no seguir adecuadamente los pasos de la guía de instalación. No obstante, nunca dejará de sorprenderme el hecho que, aún siguiendo los pasos al pie de la letra, siempre acaba habiendo un nuevo obstáculo en el camino.

Hoy, en una instalación que tengo entre manos, me encontré con que el servicio estaba parado y no había manera humana de iniciarlo. Al revisar los logs me encontré con esta perlita:

The Execute method of job definition
Microsoft.Office.Server.Administration.ProfileSynchronizationSetupJob
(ID b542c13b-af6a-41ed-a810-04a7405c536b) threw an exception. More
information is included below.

An update conflict has occurred, and you must re-try this action. The
object UserProfileApplication Name=User Profile Service Application
was updated by FARMuser, in the OWSTIMER (4548) process, on
machine SP.  View the tracing log for more information about the
conflict.

Tras verificar unas cuantas veces que había seguido todos los pasos al pie de la letra empecé a buscar la causa del error que estaba recibiendo. Al parecer esto ocurre si el contenido de la caché del sistema de archivos en los servidores frontales de la granja de SharePoint es más nuevo que los contenidos de la base de datos de contenidos. Pero, ¿cómo lo soluciono?

La solución es más simple de lo que parece. Sólo es necesario seguir los pasos que Microsoft indica en este artículo de su KB.

  1. Parar el servicio Windows SharePoint Services Timer
  2. Navegar a la carpeta donde Windows Server 2008 guarda la caché. En 2008 lo encontraréis en %ProgramData%MicrosoftSharePointConfig.
  3. Encontraréis ahí dos carpetas con un GUID como nombre. Una de ellas contiene un montón de ficheros .XML y un fichero CACHE.INI. Entrar en la carpeta que contiene el fichero CACHE.INI.
  4. Hacer una copia de seguridad del fichero CACHE.INI
  5. Eliminar todos los ficheros .XML de la carpeta
  6. Borrar todo el contenido del fichero CACHE.INI, escribir un 1 y guardar el fichero
  7. Reiniciar el servicio Windows SharePoint Services Timer

Probar de nuevo a iniciar el servicio de sincronización de perfiles de usuario y debería funcionar correctamente.

Spenta lanza un nuevo producto para SharePoint 2010 y para Office365

Los últimos meses he estado trabajando en el desarrollo de un producto que empieza a dar ahora sus primeros pasos, después de semanas de eventos, pilotos y demostraciones. El producto está pensado para aumentar las características sociales de SharePoint 2010 de manera que se obtengan las funcionalidades que demanda el mercado en ese sentido a la vez que se aprovechen las capacidades productivas de la plataforma de Microsoft.

Cómo no podía ser de otra manera, el producto puede funcionar tanto en la versión on-premises de SharePoint como en su versión online (Office365) y esto es así, básicamente, para dar soporte a cualquier tipo de organización, desde una gran empresa, con miles de empleados y con capacidad para mantener su propia granja de SharePoint, hasta pequeñas organizaciones que prefieren pagar un alquiler para dar soporte a un reducido número de personas.

Próximamente publicaré información técnica de interés en torno a este producto pero, por el momento, os puedo dirigir a su web para que conozcáis FacePoint, nombre por el cual se conoce actualmente la plataforma que hemos desarrollado. Este nombre, no obstante, no durará demasiado, ya que se acaba de abrir un proceso de elección del nuevo nombre que tendrá el producto y en el que todo el que quiera puede participar. Habrá premios para la persona que proponga el nombre que salga elegido y se sortearán también premios entre todos los participantes, así que ¡os animo a realizar vuestra propuesta!

Webcast MSDN: Office 365 ya está aquí, la productividad llega a la nube

El próximo día 4 de mayo, un servidor, en compañía de Mario Cortés y Juan Carlos González, presentará un webcast para hablar de Office365. Seguro que muchos de vosotros habréis leído mucho estos días acerca de esta plataforma porque hace sólo unos días que Microsoft ha lanzado al mercado la beta pública.

Si queréis más información sobre el evento o si os queréis apuntar, podéis hacerlo aquí. Si queréis más información sobre Office365, ¡no dudéis en acudir a la cita! Os dejo aquí la descripción y la agenda del evento.

“Los grupos de usuarios de Cloud Computing de España (CLOUDES), de SharePoint de España y Cataluña (SUGES y SUG.CAT) os proponemos una sesión en la que mostraremos a la plataforma de productividad en la nube de Microsoft, más conocida como Office 365, centrándonos en la versión de SharePoint en la nube (SharePoint Online – SPO). Veremos los bloques clave de la plataforma, la sencillez de administración y haremos una primera inmersión a la extensibilidad mediante desarrollo de SPO. Como ponentes, contaremos con Mario Cortés Flores, David Martos y Juan Carlos Gonzalez.”

Agenda:

  • Office 365: Productividad en la nube.
  • Administración en Office 365.
  • Introducción al desarrollo en SPO:
    • Novedades para desarrolladores.
    • Posibilidades, metodologías y limitaciones.
    • Escenarios típicos de desarrollo.
    • Herramientas:
      • Interfaz de usuario.
      • SharePoint Designer 2010.
      • Visual Studio 2010.
    • Introducción a las soluciones SandBox.
    • Modelo de objetos en cliente.

Q&A with the SharePoint MVP Experts Live!

El próximo miércoles día 20 a las 18:00 hora española tendrá lugar una charla en vivo con algunos de los MVPs de SharePoint en la cual tendréis la oportunidad de preguntar cualquier cosa relacionada con SharePoint que necesitéis saber.

Los MVPs confirmados para el evento son:

  1. Cornelius van Dyk
  2. Dan Attis
  3. Daniel Wessels
  4. David Martos
  5. Ivan Sanders
  6. Jeremy Thake
  7. John Ross
  8. Kris Wagner
  9. Mike Oryszak
  10. Paul Galvin
  11. Randy Drisgill
  12. Woody Windischman
  13. Zlatan Dzinic

Os dejo aquí el texto original del evento que, obviamente, será en inglés y os invito a que asistáis y preguntéis todo aquello que os interese saber sobre SharePoint.

Do you have tough technical questions regarding SharePoint for which you’re seeking answers? Do you want to tap into the deep knowledge of the talented Microsoft Most Valuable Professionals? The SharePoint MVPs are the same people you see in the technical community as authors, speakers, user group leaders and answerers in the MSDN and TechNet forums. By popular demand, we have brought these experts together as a collective group to answer your questions live. So please join us and bring on the questions! This chat will cover WSS 3.0, MOSS, SharePoint Foundation 2010 and the SharePoint Server 2010. Topics include setup and administration, design, development and general question.

Please join us on Wednesday April 20th at 9am PDT or noon EST to chat with MVPs from around the world. Learn more and add these chats to your calendar by visiting the MSDN event page http://msdn.microsoft.com/en-us/events/aa497438.aspx

¿Por qué no usar SharePoint?

Ayer leí un artículo en el que su autor ofrecía las 5 razones que, en su opinión, desaconsejaban el uso de SharePoint. Yo, por defecto, valoro y respeto todas las opiniones siempre que estas no sean ofensivas, y ésta no lo era. Me permití eso sí dar mi opinión personal y ahora me voy a permitir expresarla de manera más detallada en mi propio blog.

Para empezar, vamos a echar un vistazo a las 5 razones mencionadas por el autor:

Seguridad: aparentemente SharePoint no es un sistema seguro basándonos por ejemplo en un artículo de S21sec. Queda fuera de toda duda la capacidad y el conocimiento de la gente de S21sec, y estoy convencido de que si existe una puerta, ellos la encontrarán, en SharePoint o en cualquier sistema. No obstante, veo el artículo y los 5 puntos que destaca, de los cuales en dos de ellos ya se hace mención a que por defecto la puerta está cerrada (Extensiones FrontPage y Webdav), y los otros 3 se pueden (y deben) cerrar cuando trabajamos en un entorno publicado en internet. En este caso, si en un despliegue de SharePoint al público te encuentras con una de estas 5 puertas abiertas, nos encontramos con una mala práctica de la gente que ha puesto en marcha el proyecto, y no entraré en si esto se debe a la capacidad de las personas, o las características (presupuesto) del proyecto.

Precio: el argumento que más suelo escuchar para atacar a SharePoint, pero todavía no he recibido ninguna alternativa válida a menor coste. Está claro que hay CMS más baratos, gestores de contenidos más baratos o bases de datos más baratas… pero señores, SharePoint no es ninguna de estas cosas. Está claro que SharePoint es un producto extremadamente caro si lo que quieres es tener una web estática, o si quieres tener una lista de contactos. Me gustaría escuchar vuestras opiniones al respecto, siempre proponiendo alternativas válidas que ofrecan todo lo que ofrece la suite SharePoint + Office. También estaré encantado de evaluarlas y hacer un análisis de sus funcionalidades y de su precio final real. El autor, en su artículo, hace referencia a las nuevas versiones de los productos que te obligan a cambiar el resto del ecosistema. Si tienes Windows XP y IE6 vas a tener problemas… claro, pero tampoco estás obligado a instalar SharePoint. Tu Windows XP no dejará de funcionar si no instalas SharePoint 2010. ¿Y si tienes un Windows Server 2003 en un hierro de 32bits? Pues tampoco te sirve. Está claro, todo tiene un precio y tienes que valorar lo que te aporta SharePoint y si te merece la pena invertir en infraestructura. Estoy seguro de que muchas empresas funcionarían perfectamente con papel y lápiz (y seguro que lo hacen) y también estoy seguro de que muchas empresas recuperarían una inversión de millones de euros aumentando la productividad un 1% en un año. De todas maneras, insisto, si tienes una alternativa mejor, instálala.

Interoperabilidad: en este punto no creo que merezca la pena entrar. Si has visto como se integra SharePoint con la suite de Office o con Lync sabes de lo que hablo. Evidentemente me dirijo al mundo empresarial y no al mundo de consumo. Busca este tipo de herramienta en el mundo del open source y, si lo encuentras, hazme una demo. Mejor dicho, dame el link de descarga para que me lo instale y lo pruebe. Ahora, ¿que Twitter o Facebook están a la orden del día y quiero que mi SharePoint se integre con ellos? aquí podríamos hablar de claims, pero no quiero entrar a nivel técnico… y, por supuesto, si necesitas cualquier funcionalidad específica para integrarte con otro sistema, con SharePoint no te faltan opciones, desde usar los servicios de conexión con sistemas externos de SharePoint (sin desarrollar) hasta desarrollar cualquier cosa que necesites, pero esto lo dejo para el siguiente punto.

Escalabilidad: en realidad el autor quiere decir extensibilidad. Lo peor del caso es que su fuente es un artículo donde las razones que se dan para no escribir código para SharePoint son: Que SharePoint ya tiene mucha funcionalidad de serie, que escribir código no es fácil y que posiblemente el código que escribas no funcione en nuevas versiones de SharePoint. Vamos a ver, si ya tiene mucha funcionalidad por defecto, ¿por qué estamos discutiendo la calidad del producto? De todas maneras, estoy de acuerdo, si tienes que desarrollar mucho código sobre SharePoint quizá tengas que plantearte si es el producto que buscas. Eso sí, que es complicado desarrollar para SharePoint no lo acepto. Es tan complicado desarrollar para SharePoint como desarrollar para cualquier otro sistema. El problema aquí es que el desarrollador no tenga la formación mínima necesaria para hacer lo que se le ha pedido que haga y no que SharePoint añada complejidad al problema. Si tienes que desarrollar una nueva funcionalidad para SharePoint, no compares el coste de implementarlo sobre SharePoint con lo que te cuesta implementarlo directamente en .NET o en java… compáralo que te cuesta implementar toda la funcionalidad de SharePoint junto con esa nueva funcionalidad. Eso sí, vigila que posiblemente con el nuevo framework o con la nueva versión del SO, tu código tenga que revisarse de la misma manera que si instalas una nueva versión de SharePoint. De todas formas, y un último comentario al artículo en cuestión: si sale una nueva versión de SharePoint seguramente se planteará un proyecto de migración que incluya cambios en el código fuente pero esto sucede en TODOS los proyectos de desarrollo del mundo mundial. Si yo hago un PRODUCTO sobre SharePoint 2007, seguro que desarrollaré una actualización para SharePoint 2010 o SharePoint 201X que permita que sigas trabajando cuando actualices la plataforma. Si no lo hago el problema no es SharePoint, es mi producto.

Comunidad: este es otro punto que me suele afectar especialmente. No le quito la razón a nadie que me diga que instalar un software propietario te “ata” en cierta manera a un un fabricante, y posiblemente encuentres casos en el mundo a los que esa atadura les haya causado algún problema. Dudo mucho que Microsoft te haya dejado tirado si su software tenía algún defecto, pero podría pasar, claro. Creo, de todas maneras, que quien tiene más probabilidades de dejarte tirado es la empresa que te ha desarrollado el proyecto y no el fabricante en sí. En cualquier caso, profesionales del mundo de SharePoint los hay, y muchos, y estoy seguro de que si tienes un problema podrás encontrar fácilmente alguien que te lo resuelva. ¿Que eso vale dinero? ¿alguien piensa realmente que el software libre es gratis? ¿Si tú tienes una empresa y te encuentras con un problema en un componente libre, lo vas a solucionar tú y lo vasa volver a compilar, o vas a ponerte en manos de un profesional? Lo curioso del caso es que en el apartado alternativas aparecen productos que tienen versión gratuita y versión de pago como Alfresco. Curiosamente lo mismo sucede con SharePoint. Ahora bien, una cosa es que el producto sea libre y otra muy diferente es que haya una comunidad asociada. Os puedo decir que alrededor de SharePoint hay una comunidad enorme, con infinitud de grupos de usuario y de foros de discusión. También os digo que hay mucho componente open source que se instala sobre SharePoint, de la misma manera que hay mucho elemento de pago relacionado con productos open source. En muchas ocasiones me he visto defendiendo el argumento del coste de licencia y el coste de propiedad de SharePoint contra alguien que defendía un producto gratuito u open source que ha acabado reconociendo que si querías un rendimiento aceptable para un volumen elevado de usuarios necesitabas tener detrás bases de datos Oracle o servidores de aplicaciones de BEA. De nuevo, os invito a que me expongáis vuestros comentarios al respecto y me encantaría que alguien me convenciese de que estoy equivocado.

Ahora podría exponer mis 100 razones para usar SharePoint pero creo que con lo que he expuesto anteriormente queda claro que tengo una confianza total en el prducto. He visto y he participado en la implantación de numerosos proyectos donde SharePoint era una pieza fundamental y os puedo garantizar que es un producto fantástico que puede mejorar la productividad de un equipo de personas y minimizar sus costes. Evidentemente tiene sus detractores, como todo… porque no es una plataforma que sirva PARA TODO, y en ocasiones así es como se vende. Me he encontrado también en muchas ocasiones con clientes insatisfechos porque no recibieron lo que esperaban. Son, claramente, casos donde las espectativas no se gestionaron de manera adecuada. Si te encuentras en esa situación, será un placer para mí exponerte mi punto de vista, tanto para decirte que la elección de SharePoint no era la adecuada para ti como para decirte que hicieron un trabajo desastroso.

Finalmente, me parece que acabar el artículo recomendando no usar SharePoint porque no integra un producto desarrollado por su propia empresa no me parece para nada adecuado. En primer caso porque te expones a que alguien te diga que tiene algo similar funcionando sobre SharePoint y comience a decir por ahí que no compren su producto porque no se integra con SharePoint, y en segundo lugar porque no creo que sea una buena práctica enfrentarte a un gigante. Hay miles de implantaciones de SharePoint a lo largo del planeta y lo más inteligente sería integrar tu producto para optar a entrar en todas esas implantaciones. En cualquier caso es una opinión igual de respetable que la mía y la de cualquiera.

Y ahora, reventadme a comentarios Winking smile

Charla con los expertos: Todo lo que siempre has querido saber sobre SharePoint, pero no te atreviste a preguntar!

Los grupos de usuarios de SharePoint de habla hispana os proponemos un evento online un tanto diferente: os proponemos durante aproximadamente 90 minutos charlar con los principales expertos de la plataforma en países de habla de hispana. Ven con nosotros, plantéanos tus dudas y cuestiones sobre nuestro servidor favorito y averigua todo aquello que siempre quisiste saber, pero nunca te atreviste a preguntar.

Entre los participantes en la charla contaremos con algunos de los mayores conocedores de la plataforma SharePoint como: Gustavo Vélez David Martos Ricardo Muñoz Juan Andrés Valenzuela Juan Carlos González Alberto Díaz Daniel Seara Héctor Insua Manuel Herrera Haarón González Fabián Imaz.

 

Pie_Chat_Expertos_SharePoint

Datos de interés:

The extended protection settings configured on IIS do not match the settings configured on the transport

Hoy me he encontrado con un extraño error en una instalación de SharePoint 2010 que hacía que algunos servicios no se iniciaran correctamente y que fuera imposible conectar con las colecciones de sitios con SharePoint Designer. Tras revisar el visor de sucesos y las trazas de SharePoint topé con la siguiente excepción:

WebHost failed to process a request.

Sender Information: System.ServiceModel.ServiceHostingEnvironment+HostingManager/12036987

Exception: System.ServiceModel.ServiceActivationException: The service ‘/_vti_bin/client.svc’ cannot be activated due to an exception during compilation. The exception message is: The extended protection settings configured on IIS do not match the settings configured on the transport. See inner exception for details.. —> System.NotSupportedException: The extended protection settings configured on IIS do not match the settings configured on the transport. See inner exception for details. —> System.InvalidOperationException: The ExtendedProtectionPolicy.PolicyEnforcement values do not match. One policy has a value of WhenSupported, while the other has a value of Never. These values must match exactly.

Tras investigar un rato, encontré información referente a la configuración de IIS, más concretamente, a su configuración de autenticación. No quiero entrar demasiado en detalle, primero porque no soy un experto en la materia, y segundo porque si habéis llegado aquí posiblemente estéis buscando una solución y no una clase magistral de configuración de IIS.

Para solucionar el problema, en cada una de las aplicaciones web de SharePoint que os esté generando la excepción anteriormente mencionada, acceder a la configuración de autenticación de IIS.

image

Una vez allí deberíais tener habilitado, almenos, autenticación windows. Si entráis en la configuración avanzada, tal y como muestra la figura, accederéis a la configuración de protección extendida.

image

En mi caso tenía configurada la protección extendida en modo Accept. Hacer el cambio a Off solucionó el problema.

image

Nota importante: en el caso que me ocupa me encontraba en un entorno de pruebas y, por lo tanto, realicé este cambio sin investigar a fondo las causas que modificaron este parámetro ni las consecuencias de hacer la variación correspondiente. Si tenéis que hacer esto en un entorno desplegado en producción, os recomiendo que vosotros sí lo hagáis.

Instalar Lync Server 2010 en WS2008R2 SP1

En un artículo anterior expliqué como instalar Lync Server 2010 sobre Windows Server 2008 R2. Tras algunos problemas, sobretodo motivados por incompatibilidades con SQL Server 2008 R2 y por el uso del usuario administrador de dominio para instalar la plataforma, todo comenzó a funcionar como la seda. Tanto fue así que me animé a hacer una nueva instalación, pero esta vez en una granja completa y usando las cuentas de usuario recomendadas por la documentación. Al hacerlo de esta manera me he encontrado con algunas diferencias, todas ellas debidamente indicadas en la documentación del producto y referentes, por ejemplo, a los permisos que necesita el usuario que se usa para la instalación de Lync Server 2010. Ha habido un detalle, eso sí, que tuve que deducirlo yo, y que está relacionado con la instalación sobre Windows Server 2008R2 SP1.

Si sigues el proceso de instalación, a la hora de ejecutar el segundo paso (Setup or remove Lync Server components) del apartado Install or update Lync Server System, nos encontraremos con un error similar al siguiente:

Executing external command: C:Windowssystem32dism.exe /online /norestart /add-package /packagepath:C:WindowsservicingPackagesMicrosoft-Windows-Media-Format-Package~31bf3856ad364e35~amd64~~6.1.7600.16385.mum /ignorecheck MM/DD/YYYY HH:MM:SS AM Installation result: -2146762496 MM/DD/YYYY HH:MM:SS AM Error: Prerequisite installation failed: Wmf2008R2

El caso es que WS2008R2 SP1 viene con una versión más nueva del paquete en cuestión y, si navegamos a la carpeta C:WindowsservicingPackages veremos que el fichero que estamos buscando es, en realidad:

Microsoft-Windows-Media-Format-Package~31bf3856ad364e35~amd64~~6.1.7601.17514

Al parecer, si instalas la característica Desktop experience, el problema desaparece. No obstante hay una solución más simple. Basta con ejecutar el comando que aparece en la traza cambiando el nombre del paquete a instalar:

C:WindowsservicingPackagesMicrosoft-Windows-Media-Format-Package~31bf3856ad364e35~amd64~~6.1.7601.17514.mum /ignorecheck

Después de ejecutar el comando anterior será necesario reiniciar el servidor antes de continuar con el proceso de instalación.

Por cierto, para vuestra tranquilidad, antes de ejecutar el comando anterior busqué información acerca de asunto para evitar problemas mayores. Aquí tenéis la página que confirma la solución.