sábado, 18 de mayo de 2013

Buenas Noticias! el desarrollo de Apps para SharePoint Online no requiere de instalar el API de SharePoint localmente

Esto es algo que estuvimos esperando desde hace mucho tiempo cuando desarrollamos soluciones para SharePoint y no fue posible sino hasta ahora con el nuevo modelo de programación Apps para SharePoint y el lanzamiento de Office 365 con SharePoint 2013 que ahora se llama SharePoint Online.

Lo que necesitas ahora para desarrollar Apps para SharePoint Online es lo siguiente:

1) Una suscripción de Office 365 para desarrolladores (Es gratuita por 30 días, Suscripción MSDN por un año, Compra directa o por medio de un socio de Microsoft)

2) Visual Studio 2012 en sus versiones Ultimate, Premium, o Professional y si estamos buscando una versión gratuita VS 2012 Express no funciona pero si funciona descargando la herramienta Napa para desarrollar Apps para SharePoint Online.

3) Visual Studio 2012 Update 2 o Superior  (La actualización de los bits de VS 2012 recomendado aunque no indispensable)

4) Las herramientas para desarrollar para Office o SharePoint que las podemos encontrar en Microsoft Web Platform Installer 4.5 o bien directamente en el siguiente enlace http://aka.ms/OfficeDevToolsForVS2012.

Y eso es todo luego al crear el proyecto utilizas la plantilla de VS 2012 Apps for SharePoint 2013 y escribes la dirección del sitio de SharePoint Online.  Échale un vistazo a las siguientes imágenes!

image

Luego de seleccionar la plantilla App for SharePoint 2013, debes de indicar la dirección url del sitio para desarrolladores en Office 365, y luego el lugar donde se va hospedar la App, que puede ser SharePoint Hosted, Auto Hosted (Azure) o Provider-hosted (un proveedor fuera de la plataforma de Microsoft).

image 

Solicitará el usuario y contraseña de Office 365.

image

Debido a que las Apps se basa en código cliente la plantilla crea el proyecto las dependencias hacia las bibliotecas de Jquery y siempre nos crea la página de inicio o Landing Page de la App, como escogimos Autohosted para este ejemplo significa que Office 365 va crear un espacio en Windows Azure para ejecutar esta App y por ello nos permite que la pagina tenga una página de código aunque solo podamos ejecutar código cliente para acceder los objetos de SharePoint o sea CSOM que es el modelo de Objetos de SharePoint Cliente.  Para este artículo que no haremos más detalle escribiremos en la página de Default el mensaje HOLA MUNDO!!! y presionaremos F5 para instalar el App en el sitio de desarrollo en Office 365.

Pueda que solicite credenciales

image

Luego le solicitará confie en unos certificados de seguridad y por último que si confia en la aplicación que esta instalando en el sitio de SharePoint en O365.

image

Confiemos y veamos que sucede

image

Listo la App corrió y me muestra el mensaje, no me muestra nada mas que eso ya que esta tomando toda la pantalla completa sin mostrar o incrustara sobre el ambiente Office 365.

Y si ejecutamos seleccionando la opción Deploy, ya no se ejecutará local sino creará el App en un área aislada en la nube de Azure asociada a Office 365.

image

Bueno eso es todo por este artículo vimos que necesitamos para iniciar el desarrollo de Apps para SharePoint Online en Office 365 y la buena nueva es que no necesitamos para este propósito tener un servidor con SharePoint instalado y configurado para desarrollar sobre este modelo de programación.

Apps4Fun!,

Juan Manuel Herrera Ocheita

viernes, 17 de mayo de 2013

El antiguo caso de la página ha sido modificado desde que fue abierta en SharePoint 2007

Bueno recientemente en una migración de sitios hacia nuevas colecciones de sitios que se realizó para distribuir en diferentes bases de datos el contenido del portal de SharePoint, particularmente la colección de sitios primario donde se extrajo el contenido tenía algunas páginas de diseño o Page Layout de publicación personalizadas y a través de la herramienta disponible en SharePoint  (stsadm –o export | import, ya que en 2007 no hay los comandos que hay hoy en día en 2010 o 2013) y no de terceros que si pueden realizar la migración de una forma más limpia.

Por lo que utilizamos SharePoint Designer para realizar la copia de estos diseños, los cuales no fueron exitosos, tuvimos que crear unas páginas de diseño nuevas y allí copiar el contenido de las páginas originales para que funcionarán de nuevo en la nueva colección de sitios, y eso si nos funcionó para la creación de nuevas páginas, pero no para las que fueron migradas, por lo que se tuvo que ir al sitio de origen desacoplarla de la página de diseño y copiarla al nuevo sitio, créame fue un trabajo tedioso y largo, pero lo logramos terminar.

Pero luego al momento de editar la página, modificar el elemento web de editor de contenido Web nos mostraba el siguiente error:

This Page has been modified since you opened it. You must open the page again. 

Con lo cual nos daba un botón de refrescar la página y eso era todo, pero el usuario final no esta a gusto con ello por lo que tuvimos que buscar una alternativa, que nos costo encontrarla pero finalmente la hayamos y mis sincero agradecimiento para André Lage un colega MVP en SharePoint que contribuye con la comunidad también.

La solución de André  me funcionó de maravilla y es la siguiente:

1) Modificar la página maestra de la colección de sitios e incluir el código de java script siguiente, que define un método llamado removeOption(), estos escribirlo en la parte del Page head de la Master Page.

<script language=”javascript” type=”text/javascript”>

function removeOption() {

      if (document.getElementById("MSO_PageHashCode"))

{

      document.getElementById("MSO_PageHashCode").value="";

            }

}

</script>

2) Luego viene lo genial y es que se invoque cada ves que cargue la página en que navega el usuario.

"onload="javascript:if (typeof(_spBodyOnLoadWrapper) != 'undefined') { _spBodyOnLoadWrapper(); removeOption(); }"

Y eso es todo con ello anula el tedioso mensaje que aparece luego de editar el elemento Web Editor de contenido.

Hasta la próxima,

Juan Manuel Herrera Ocheita

Como transformar una instalación de Modo “Stand-Alone” o Independiente a Modo de Granja de Servidores en SharePoint

Esto es aplicable para las versiones 2007, 2010 y 2013 con pequeñas variaciones por la versión.  También es necesario un conocimiento base de administración de sistemas, realización de respaldos en SQL Server, una cuenta con privilegios de administración local en el servidor de SharePoint.

Porque razón debes de abandonar el modo “Stand-Alone” o Independiente y subirte al modo Granja.  Bueno las razones son las siguientes:

1) Modo que su propósito fue diseñado para una instalación fácil de demostración o prueba piloto, por lo que todo lo configura con cuentas de servicio local que es un riesgo de seguridad, ya que le otorga acceso y privilegios a las cuentas no adecuadas.  No fue diseñado para ambientes de producción.

2) No permite escalar el producto porque todo lo instala para ser usado en una sola computadora.

3) No permite optimizar las bases de dato y extraer copias de seguridad de forma sencilla ya que instala una versión de SQL Server Express 2008, sin el Management Studio incluido.  Por esa razón se tiene una limitación de crecimiento por base de datos de 10 GB.

En resumidas cuentas el modo “Stand-Alone” o Independiente limita la escalabilidad, el almacenamiento, hay “gaps” de seguridad y no se puede optimizar para mejorar el rendimiento.

DESCARGO DE RESPONSABILIDAD: Favor tomar en cuenta que los siguientes pasos corren por cuenta propia del que los siga, la información indicada tiene fines educativos y no puedo ser responsable por el estado final de la instalación de SharePoint o consecuencias que puedan surgir como resultado de seguir parcial o totalmente el siguiente procedimiento, sino esta seguro de hacerlo favor avóquese a un proveedor local que tenga las credenciales que lo acrediten como especialista profesional en SharePoint.

Una vez justificado el cambio ahora vamos a ver el procedimiento necesario para realizarlo a continuación:

1) Debemos ubicar las bases de datos de contenido que están escondidas en el siguiente directorio: c:\program files\common files\microsoft shared\web server extensions\14\Data (Según la versión reemplace 14 por 12 si es SP 2007 o 15 si es SP 2013, si es SP 2010 deje el número 14).  Las bases de datos de contenido por norma tiene el prefijo WSS_Content para confirmar esto, puede ir al Central Administration, Manage Applications, Content Databases y revisar el nombre de las bases de datos de contenido que están asignadas a las aplicaciones Web, para confirmar estos nombres puede ir también

2) Realizar una copia de respaldo de estas bases de datos o backup (el cómo: http://help.webtrends.com/en/installguide/backup_sql08_express_db)

3) Luego estamos listos para desconectarnos de la granja actual de SharePoint que realmente es solo uno pero así es el concepto.  Para ello debemos de ejecutar el asistente de tecnologías Microsoft, podemos buscarlo en el Servidor de SharePoint en All Programs, Microsoft SharePoint 2010 Product y SharePoint 2010 Product Configuration Wizard, presione el botón Next , luego el botón Yes para permitir el reinicio de los servicios de IIS, SPTimerV4 y otros, y luego indíquele que desea desconectarse de la granja y presione el botón Next.

4) Ahora necesitamos instalar SQL Server recomendado en la versión Standard para ello puede revisar (http://msdn.microsoft.com/en-us/library/ms143219(v=sql.105).aspx)

5) Luego necesitamos restaurar las copias de respaldo de las bases de datos de contenido.  Y como ya tenemos Management Studio será más sencillo. Más información en http://technet.microsoft.com/en-us/library/ms177429(v=sql.105).aspx

6) Ahora es necesario preparar la media (DVD, CD o ISO) de instalación de SharePoint, y su correspondiente llave de producto si fuera necesario (en caso de ser SharePoint Foundation que no es requerido), ya que vamos a desinstalar SharePoint, para instalarlo nuevamente.  Para desinstalar los bits de SharePoint consulte el siguiente enlace:http://social.technet.microsoft.com/wiki/contents/articles/5449.how-to-uninstall-sharepoint-2010.aspx 

7) Es saludable luego de desinstalar algún software de servidor reiniciarlo, así que favor hagámoslo.

8) Antes de iniciar la instalación la recomendación será que se preparemos las cuentas de dominio por lo menos mínimas para instalar SharePoint, para ello lea la siguiente publicación: http://jmhogua.blogspot.com/2011/08/cuentas-minimas-requeridas-para-la.html

8) Ahora ejecutemos la media de instalación de SharePoint

  1. Ejecute Setup.exe desde el medio de instalación.

  2. Escriba la clave del producto y haga clic en Continuar.

  3. Revise los términos de licencia del software y, a continuación, active la casilla para aceptar el contrato. Haga clic en Continuar.

  4. En la página de tipos de instalación, haga clic en Granja de servidores (esta es la primera diferencia entre la versión “Stand Alone” o Independiente.

    Cuadro de diálogo Tipo de instalación del programa de instalación de SharePoint

  5. En la página Tipo de servidor (aquí otro cambio importante seleccione la opción Completa), haga clic en Completa y, a continuación, haga clic en Instalar ahora.

    Cuadro de diálogo Tipo de servidor del programa de instalación de SharePoint

  6. Una vez completada la instalación, verá la página Ejecutar el Asistente para configuración. Compruebe que esté activada la casilla correspondiente a Ejecutar el Asistente para configuración de Productos de SharePoint en este momento.

Para ejecutar el Asistente para configuración de Productos de SharePoint
  1. Una vez cerrada la instalación de SharePoint, se ejecuta el Asistente para configuración de Productos de SharePoint. El Asistente para la configuración de productos de SharePoint 2010 también se puede iniciar haciendo clic en el botón Iniciar y, a continuación, abriendo la carpeta Productos de Microsoft SharePoint 2010.

  2. En la página Productos de SharePoint, haga clic en Siguiente. Verá un mensaje de advertencia notificando que es necesario reiniciar algunos servicios durante el proceso de configuración. Haga clic en Sí.

  3. En la página Conectar a un conjunto de servidores, haga clic en Crear un nuevo conjunto de servidores y haga clic en Siguiente.

  4. En la página Especificar los parámetros de la base de datos de configuración:

    1. Escriba el nombre del servidor en el cuadro de texto Servidor de bases de datos. (Que en este caso es el nombre del servidor donde instalamos SQL Server, para descubrir el nombre podemos utilizar la línea de comando y ejecutar el comando hostname).

    2. Use el Nombre de la base de datos predeterminado de SharePoint_Config.  (favor deje el predeterminado)

    3. Escriba un nombre de usuario y una contraseña apropiados para la cuenta de acceso a la base de datos.  (utilice la cuenta que esta designada como Administrador de la granja, ej: sudominio\spfarm)

    4. Haga clic en Siguiente.

  5. En Especificar configuración de seguridad del conjunto de servidores escriba la frase de contraseña (se recomienda sea la misma de la cuenta spfarm para facilitar su recuerdo) deseada y haga clic en Siguiente.

  6. En la página Configurar la aplicación web de Administración central de SharePoint:

    1. Escriba el número de puerto. (Le sugiero 5 veces 5 o sea 55555, ya que es fácil de recordar )

    2. Haga clic en el proveedor de autenticación deseado (recomendado Windows clásico).

    3. Haga clic en Siguiente.

  7. En la página Finalizando el Asistente para configuración de Productos de SharePoint, compruebe los valores y haga clic en Siguiente para ejecutar el asistente.

  8. En la página Configuración realizada correctamente, revise la configuración de Administración central y haga clic en Finalizar. Se cerrará el Asistente para la configuración, el explorador se abrirá y cargará la página Administración central de SharePoint y el Asistente de configuración del conjunto de servidores inicial. (puede ejecutar el asistente para que lo ayude a configurar los demás servicios, lo mejor es hacerlo manualmente o un script por powershell pero esto queda afuera de la intención de este artículo)

Los pasos de instalación se basaron y fueron extraídos de http://msdn.microsoft.com/es-es/library/bb677368(v=sql.105).aspx para facilitar el trabajo del autor de este artículo, o sea yo.

Bueno amigo eso es todo por este vez donde vimos que es posible mover nuestra instalación Independiente o “Stand Alone” a una instalación de granja que nos permitirá entre otras cosas, escalar, respaldar nuestra instalación, optimizar SharePoint, asegurarlo y tener un control mayor sobre la plataforma.

SharePoint4Fun!,

Juan Manuel Herrera Ocheita

Próximo Web Cast sobre personalización de SharePoint 2013 con Visual Studio

 

Amigos lectores quiero invitarlos al Web Cast que estaré impartiendo sobre el desarrollo de soluciones para SharePoint 2013 con Visual Studio 2012 el día 21 de Mayo del 2013 a las 2:00 PM Hora de México, abajo les dejo el enlace para que se inscriban:

https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032548198&Culture=es-AR&community=0

La presentación tratará que a pesar del nuevo modelo de desarrollo “Apps” los modelos de programación anteriores son válidos aún SandBox Solution y Farm Solutions.  Pero uno esta indicado como obsoleto y el otro para instalaciones On Premises o que están en la nube pero tenemos acceso al servidor o servidores de SharePoint. 

Dentro de estas soluciones podemos desarrollar procesos internos que corren de lado del servidor llamados Timer Jobs, capturar eventos de los sitios, bibliotecas y listas para cambiar su comportamiento o elementos Web que se conecten a cualquier sub-sitio, o servicio que requiramos, el poder de los flujos de trabajo programados y los elementos Web Visuales.  

Veremos la diferencia entre las Apps y las Soluciones Farm como ambas son complemento una de otra y no excluyentes, y por ultimo demostración de una juego de soluciones para que comprendamos como se realiza el deployment y como esta constituido el paquete de solución WSP y esto como difiere en su contra parte al paquete APP.

Te espero el 21 de Mayo en línea para compartir esta sesión con todos ustedes.

Larga vida a SharePoint!,

 

Juan Manuel Herrera Ocheita

jueves, 16 de mayo de 2013

Donde se encuentran las base de datos de una instalación Stand-alone o de demostración en SharePoint 2010

 

Pueda que te encuentres con una instalación realizada de modo “Stand Alone” que fue diseñada solo para demostración, esta instalación provee su propia versión de SQL Server que presumiblemente es Express 2008.  La cual tiene un tamaña máximo no confirmado por base de datos de 4GB, y no instala ninguna interfaz gráfica para administrar SQL Server, pueda que si intentas instalar el SQL Server Mananagement Studio puedas administrarla, realmente nunca lo he probado por que no es una instalación que haga siquiera para demos ya que no permite escalar la granja de SharePoint e instala muchos servicios con la cuenta local newtwork services  que es precisamente una mala practica dictada por Microsoft por temas de seguridad que recomienda no se haga.

El directorio donde guarda las bases de datos de SharePoint 2010 de modo “Stand Alone” es el siguiente:

c:\program files\common files\microsoft shared\web server extensions\14\data

Pueda que te indique que esta oculto si tienes privilegios de administrador puedes confirmar que quieres ingresar y te dará los permisos para hacerlo.

La recomendación entonces es no instalen SharePoint en modo “Stand Alone”, aunque solo lo instalen en una sola caja y recomiendo instalen SQL Server 2008 R2 en su edición “Standard” que es suficiente para lo que utiliza SharePoint y no es muy cara la licencia cercanos a los 400 USD (que para la calidad que producto es y lo que puede hacer es un preciazo, siempre consúltelo con un LAR de Microsoft que este certificado en licenciamiento para confirmarlo), o bien olvídese de lo terrenal y súbase a la nube por 4 USD por usuario y tiene la versión SharePoint 2013 Enterprise en la nube.

Bueno esto es todo por ahora, voy a compartir un artículo de como pasarse de un modo “Stand Alone” a una instalación de Granja.

SharePoint4Fun!,

Juan Manuel Herrera Ocheita