martes, 7 de agosto de 2012

Desarrollo de Apps en Sharepoint 2013 (I) – Preparando el entorno


Como recientemente me he tenido que iniciar en el mundo de Sharepoint 2013 he decidido crear una serie de post donde tratare de plasmar el resultado de mis conclusiones y experiencias en el desarrollo de Apps para Sharepoint 2013
Antes de ponernos a escribir código como locos es muy importante disponer de un entorno que cumpla con los requisitos necesarios para poder desarrollar dichas Apps
Visual Studio 2012
El desarrollo lo realizaremos con Visual Studio 2012, así que será necesario que aquellos que no lo tenga instalado lo descarguen y lo instalen.
Para poder empezar a desarrollar necesitamos que tener instalados los siguientes paquetes de Visual Studio 2012:
Microsoft Office Developer Tools for Visual Studio 2012 RC – Preview
SharePoint Server 2013 Client Components SDK
Para instalar el primero deberemos hacerlo a través de “Microsoft Web Platform Installer 4.0”.
El que no lo tenga instalado que lo descargue desde esta URL:
Abrimos Web Installer y buscamos “Office”

Una vez haya finalizado la búsqueda nos aparecerá en el resultado. Pulsamos el botón “Agregar” y finalmente “Instalar”, con lo que empezará el proceso de descarga e instalación de Microsoft Office Developer Tools para Visual Studio 2012.
Pasados unos minutos finalizará la instalación, la cual tendría que haber ido correctamente.
En caso de que no fuese bien y se quejase de la falta de algún otro paquete, lo buscaremos, lo instalaremos y volveremos a tratar de Instalar Microsoft Office Developer Tools como hemos hecho antes.
El siguiente paso es instalar “Sharepoint Server 2013 Client Components SDK”.
Accedemos a la URL de descarga:
Descargamos e instalamos…no hay más secreto.
Ahora ya deberíamos tener Visual Studio listo para desarrollar Apps de Sharepoint.
Comprobémoslo.
Abrimos Visual Studio 2012 à File à New à Project

Como podemos ver, ya nos aparecen los tipos de proyectos de Sharepoint 2013.
Pero no corramos ya que aún no podemos empezar a desarrollar.
Antes debemos configurar Sharepoint para poder alojar las Apps que desarrollemos. Si intentamos desplegar Apps en Sharepoint sin que este esté correctamente configurado, dichas Apps no solo no funcionaran sino que tendremos problemas para desinstalarlas de Sharepoint.

Configurando Sharepoint 2013
Lo primero que vamos a necesitar es un Site Collection en el que desplegar las Apps que desarrollemos.
Sharepoint 2013 ya nos provee una plantilla para tal efecto (“Developr Site”), la cual permitirá crear sites en los que instalar y testear de las Apps que desarrollemos.
Así pues desde la Administración Central de Sharepoint pulsamos sobre el enlace “Create Site Collection” donde podremos proceder a crear nuestro site de desarrollo.

Completamos el formulario asignándole un título y una descripción a nuestro Site.
En el campo “URL” le asignaremos el nombre del site en la url.
Finalmente seleccionaremos la plantilla de creación del Site. Para ello seleccionaremos la plantilla “Developer Site” de las de la versión “2013” de Sharepoint.
Solo nos quedará asignar el usuario administrador.
Pulsamos OK y ya tendremos el Site donde desplegar las Apps que desarrollaremos.
Esto no acaba aquí….aún nos quedan más pasos por hacer.
Ahora necesitaremos crear nuestro Dominio Aislado de Aplicaciones (Isolated App Domain)
Para ello vamos a necesitar arrancar la Consola de Administración de Sharepoint 2013 como Administrador a través de la cual procederemos a lanzar los comandos de creación y configuración de nuestro dominio aislado.
Lo primero que necesitamos hacer es asegurarnos que los servicios “spadmin” y sptimer” están arrancado ejecutando los siguientes comandos en la consola:
net start spadminv4
net start sptimerv4

Una vez comprobados que disco servicios están arrancados procedemos a crear el dominio aislado.
Este dominio debe formar parte del dominio principal de nuestro sharepoint, así pues si nuestro sharepoint está bajo el dominio “sp2013” el dominio que crearemos podríamos llamarle “apps.sp2013” (aunque podéis cambiar el “apps” por la palabra que creáis más conveniente).
Lanzamos el siguiente comando para la creación del dominio:
Set-SPAppDomain "apps.sp2013"

Antes de continuar deberemos arrancar los servicios SPSubscriptionSettingsService y AppManagementServiceInstance. Para ello ejecutamos el siguiente comando:
Get-SPServiceInstance | where{$_.GetType().Name -eq "AppManagementServiceInstance" -or $_.GetType().Name -eq "SPSubscriptionSettingsServiceInstance"} | Start-SPServiceInstance

Verificaremos que los servicios SPSubscriptionSettingsService y AppManagementServiceInstance arrancados y  “online” lanzando el siguiente comando:
Get-SPServiceInstance | where{$_.GetType().Name -eq "AppManagementServiceInstance" -or $_.GetType().Name -eq "SPSubscriptionSettingsServiceInstance"}

Ahora deberemos especificar la cuenta bajo la cual van a funcionar los servicios SPSubscriptionSettingsService y AppManagementServiceInstance arrancados. Esta cuenta deberá ser “SPManagedAccount”. Si lo deseamos podemos o bien usar una cuenta existente o bien crear una nueva. Para crear dicha cuenta usaremos el siguiente comando:
$account = New-SPManagedAccount

Ahora procederemos a especificar la cuenta, el pool de aplicación y la base de datos para los servicios SPSubscriptionService y AppManagementServiceInstance. Para ello ejecutaremos el siguiente código desde la consola, poniendo especial atención en especificar correctamente la cuenta de usuario en la primera línea:
$account = Get-SPManagedAccount "[dominio]\[usuario]"
$appPoolSubSvc = New-SPServiceApplicationPool -Name SettingsServiceAppPool -Account $account
$appPoolAppSvc = New-SPServiceApplicationPool -Name AppServiceAppPool -Account $account
$appSubSvc = New-SPSubscriptionSettingsServiceApplication –ApplicationPool $appPoolSubSvc –Name SettingsServiceApp –DatabaseName SettingsServiceDB
$proxySubSvc = New-SPSubscriptionSettingsServiceApplicationProxy –ServiceApplication $appSubSvc
$appAppSvc = New-SPAppManagementServiceApplication -ApplicationPool $appPoolAppSvc -Name AppServiceApp -DatabaseName AppServiceDB
$proxyAppSvc = New-SPAppManagementServiceApplicationProxy -ServiceApplication $appAppSvc

Ahora debemos especificar el “Tenant” de las aplicaciones.  Pero que es el “tenant”?
Cuando accedamos a una de las aplicaciones que instalamos la URL que nos generará será algo parecido a esta:
Básicamente el formato de la URL se compone de las siguientes partes:
Para especificar el “tenant” de la aplicación ejecutaremos el siguiente comando sustituyendo “[tenant]” por el nombre que deseamos especificar (yo he usado “app”):
Set-SPAppSiteSubscriptionName -Name "app" -Confirm:$false

Ya casi hemos acabado, solo nos queda añadir el dominio  a la lista de “bypass” de Internet Explorer. Esto nos asegurará que podemos navegar por nuestra aplicación una vez desplegada en Sharepoint.
Intenet Explorer à Tools à Internet Options

Pestaña “Connections” à LAN Settings
Desmarcamos “Automatic detect settings” y marcamos “Use proxy server for your LAN”.
Pulsamos “Advanced”.
En “Excaptions” agregamos “*.” + el dominio de sharepoint (en mi caso “*.sp2013”).

Aceptamos todo y ya estaremos listos para desarrollar y desplegar Apps en nuestro Sharepoint.
Ahora si….ya podemos empezar a desarrollar……Suerte.




No hay comentarios:

Publicar un comentario