Proveedores de mapas estáticos

Existen diferentes proveedores que ofrecen una api para obtener mapas que podemos usar en nuestras aplicaciones; vamos a comentar cuatro de ellos:

Ejemplo de Uso:

A nivel básico disponemos de un asistente para generar generar urls de los diferentes proveedores (sin necesidad de entrar en las apis de los proveedores) ;-).

Google MapsGoogleMaps

Google Maps ofrece un servicio mediante en el cual realizando una petición HTTP nos retorna un mapa. Este servicio se describe Static Maps API V2.
El mapa obtenido como máximo es de 1280×1280 pixeles (resultado de multiplicar el tamaño por la escala). Hay una versión professional Google Maps For Business que permite obtener un mapa de 2048×2048 pixeles.

API scale=1 scale=2 scale=4
Free 640x640 640x640(returns 1280×1280 pixels) Not available.
Google Maps API for Business 2048x2048 1024x1024(returns 2048×2048 pixels) 512x512(returns 2048×2048 pixels)

Ejemplo de Uso:

En nuestro caso realizamos la llamada a la Api configurando los siguientes parámetros en el request de la Url:

  • center: latitud y logitud.
  • zoom: zoom de la Imagen.
  • size: tamaño de la imagen.
  • scale: escalado de la imagen.
  • maptype: tipo de mapa.
  • formato: formato de la imagen (por defecto png).

http://maps.googleapis.com/maps/api/staticmap?center=41.3833,2.1833&zoom=14&scale=2&size=640×640&sensor=false&maptype=satellite&format=jpg
Mapa Google

Bing Maps BingMaps

De la misma manera Microsoft también nos ofrece un servicio mediante en el cual realizando una petición HTTP nos retorna un mapa. Este servicio se describe Bing Maps REST Services Static Map. En este caso nos hemos de dar de alta en el servicio; ya que no admite peticiones anónimas. Posee mayores limitaciones de uso a nivel libre.
El mapa obtenido como máximo es de 900×834 pixeles.

Ejemplo de Uso:

En nuestro caso realizamos la llamada a la api configurando los siguientes parámetros de la Url:

  • maptype: tipo de mapa (en la url). Por ejemplo Aerial para vista satélite.
  • latitud, longitud: (en la url).
  • zoom: zoom de la imagen (en la url).
  • mapsize: tamaño de la imagen (parámetro request de la url).
  • fmt: formato de la imagen (parámetro request de la url).
  • key: clave para peticiones

http://dev.virtualearth.net/REST/V1/Imagery/Map/Aerial/41.3833,2.1833/14?mapSize=900,834&fmt=jpeg&key=Ajqteq7Vn6Sapasq31fUPf57YzRUhU1WiYoEmhCN7OkAJdhB2cTf-JBfmKaC9BaC
Mapa Bing

Nokia Maps NokiaMaps

Funciona igual que los servicios previos con una petición REST HTTP que nos retorna un mapa. Este servicio se describe en el siguiente documentoMap Image API Developer’s Guide. En este caso nos hemos de dar de alta en el servicio; ya que no admite peticiones anónimas. Hay disponible una licencia libre; con limitaciones de uso.
El mapa obtenido admite tamaños grandes (por ejemplo 2048×2024) y sin logo del proveedor de la API. El proveedor de imágenes no es el mismo que en las anteriores api; en algunos caso parece menos perfilado y no tan amplio.

Ejemplo de Uso:

En nuestro caso realizamos la llamada a la Api configurando los siguientes parámetros en el request de la Url:

  • c: latitud y logitud del centro del mapa.
  • z: zoom de la Imagen.
  • h: altura de la imagen.
  • w: anchura de la imagen.
  • t: tipo de mapa (1 para vista satélite).
  • nodot: no muestre punto en el centro del mapa

http://image.maps.cit.api.here.com/mia/1.6/mapview?app_id=DemoAppId01082013GAL&app_code=AJKnXv84fjrb0KIHawS0Tg&c=41.3833,2.1833&h=2048&w=2048&z=15&nodot&t=1
Mapa Nokia

OpentStreetMaps OpenStreetMaps

Solo dispone proveedores de mapas de carreteras; es decir no hay vista de terreno. Hay una red de servidores disponibles; pero no esta asegurada su continuidad.

Ejemplo de Uso:

En nuestro caso realizamos la llamada a la Api configurando los siguientes parámetros en el request de la Url:

  • center: latitud y logitud del centro del mapa.
  • zoom: zoom de la Imagen.
  • size: tamaño de la Imagen.

http://staticmap.openstreetmap.de/staticmap.php?center=41.3833,2.1833&zoom=14&size=1024×1024
OpenStreetMap

Publicado en Maps, Uncategorized | Etiquetado , , | Deja un comentario

Primera Aplicación Sharepoint en Provider-Hosted (III)

En el anterior entrada configuramos la aplicación para desarrollo. En esta entrada vamos a desplegar la aplicación en un entorno de producción.

7.- Generamos un nuevo registro de Aplicación

  • 1.- Acceder a http://[Sharepoint Host]/_layouts/15/appregnew.aspx
  • 2.- Generar Id y Secret
  • 3.- Indicar el Host. El host es donde desplegaremos la parte web de la aplicación: Servidor, Website de Azure,….

8.- Generamos el paquete con la App para Sharepoint.

  • 1.- En el proyecto App; editamos el fichero AppManifest.xml.
  • 2.- Poner el Id generado en el Atributo ClientId del Path
  • 3.- Poner en el elemento StartPage del Path Properties el host donde desplegaremos la parte web en lugar de ~remoteAppUrl
  • 8GenerarApp

  • 4.- Publicamos el proyecto App, esto nos generará un fichero de paquete .app

9.- Desplegamos la App en el Catalogo de Aplicaciones y en un Site de Sharepoint.

  • 1.- Acceder a http://[Sharepoint Host]/sites/Apps
  • 2.-Vamos Aplicaciones para Sharepoint
  • 3.-Subimos en esta lista de Aplicaciones el fichero de paquete .app generado en el punto anterior.
  • 4.- Navegamos al Site Contents/Contenidos del Sitio del Site donde queremos incorporar la aplicación.
  • 5.- Seleccionamos Add App/Agregar Aplicación.
  • 6.- Seleccionamos From Your Organization/De Su Organización y pulsamos en nuestra App.

10.- Publicamos la Web en Servidor Web de Producción.

  • 1.- Poner el Id generado en el valor del Setting ClientId. y poner el Secret generado en el valor del Setting ClientSecret.
  • 2.- Publicamos el proyecto Web en nuestro servidor de Producción.
Publicado en SharePoint | Etiquetado , | Deja un comentario

Primera Aplicación Sharepoint en Provider-Hosted (II)

En el anterior entrada creamos el entorno de pruebas y el proyecto de la App. En esta entrada vamos a configurar la aplicación para poderla integrarla con el entorno de pruebas de Sharepoint y poderla ejecutar en local.

3.- Registrar la App en el Sharepoint

  • 1.- Acceder a http://[Sharepoint Host]/_layouts/15/appregnew.aspx
  • 2.- Generar Id y Secret
  • 3.- Indicar el Host. Si no se indica puerto automáticamente coge el 443 (https). En nuestro caso selecciono el localhost:44310; que es mi puerto de https en mi servidor local de IIS.
  • 4.- Crear el Registro
  • 3cNewAppOnSharepoint

4.- Vincular el proyecto App en el Registro previo del Sharepoint

  • 1.- En el proyecto App; editamos el fichero AppManifest.xml.
  • 2.- Poner el Id generado en el Atributo ClientId del Path AppPrincipal/RemoteWebApplication.
    1 VincularRegistroApp

5.- Vincular el proyecto Web en el Registro previo del Sharepoint

  • 1.- En el proyecto Web; editamos el ficheroWeb.config.
  • 2.- Poner el Id generado en el valor del Setting ClientId.
  • 3.- Poner el Secret generado en el valor del Setting ClientSecret.
    1 VincularRegistroWeb

6.- Ejecución en Visual Studio

En la pagina Default.aspx añadimos el texto Hello World. Al ejecutar la solución con F5. Automáticamente se publica la App en nuestro entorno de pruebas y solicita la ejecución de la App. La App nos redirige automáticamente a nuestra Web en el Servidor local.
EjecuciónLocal
Podemos poner breakpoins y a depurar ;-)

Continua en la siguiente entrada Primera Aplicación Sharepoint en Provider-Hosted (III)

Publicado en SharePoint | Etiquetado , , | 2 comentarios

Primera Aplicación Sharepoint en Provider-Hosted (I)

Introducción

Vamos a realizar una App para Sharepoint 2013 o Online; en el modelo de Aplicación Provider-Hosted.

El objetivo es mostrar:

  • Como instalar/configurar App en Sharepoint.
  • Como instalar/configurar App Servidor Web.
  • Como depurar en entorno de pruebas.
  • Como deplollar en entorno de producción.

1.- Crear Entorno de Desarrollo en Sharepoint

Las Apps en Sharepoint se pueden publicar en:

  • Un entorno de pruebas para test/debug. En este caso se publica en un SiteCollection basado en la Plantilla de Desarrollador.
  • Un entorno de producción en Sharepoint. En este caso se publica en el Catálogo de Aplicaciones. Desde esta manera esta disponibles para todos nuestros Sites. Para añadir al Site; se debe seleccionarla desde las Apps disponibles en nuestro Catálogo de Aplicaciones.
  • En el Market. En esta entrada no entraemos en este tipo de publicación. ;-)
  • 1.- Crear el sitio de Desarrollador (entorno de pruebas).
    1NewSiteDevApp

2.- Crear Proyecto en Visual Studio 2013

  • 1.- Crear un proyecto de Tipo App for Sharepoint 2013.
    Si no lo tenemos disponible, debe instalar las Office Developer Tools.
    Create Project App Sharepoint
  • 2.- Completar asistente de creación. Introducimos la url del Entorno de desarrollo de Sharepoint (creado en el paso anterior) y seleccionamos Provider-Hosted.
    Asistente Nueva AppSharepoint
  • 3.- Siguiente. Podemos vincular la App de Sharepoint y Servidor Web mediante Certificado; no es nuestro caso.
    Paso 2 Asistente New App Sharepoint
  • En Visual Studio 2012 el asistente genera una App en Web Forms Application. Aunque podemos cambiarla a MVC Web Application. En Visual Studio 2013 el asistente nos permite seleccionar si la App es Web Forms Application o MVC Web Application.

Finalmente tenemos una solución con dos proyectos: Un proyecto Web Forms Application para nuestro Servidor Web y otro proyecto App para nuestro Sharepoint.

Continua en la siguiente entrada Primera Aplicación Sharepoint en Provider-Hosted (II)

Publicado en SharePoint, Visual Studio | Etiquetado , , | 1 Comentario

Aplicaciones en Sharepoint

Alojamiento de Aplicaciones en Sharepoint

Alojamiento de Aplicaciones en Sharepoint

Sharepoint-Hosted

Sharepoint ofrece una página HTML con código; este código se ejecuta en el navegador del usuario.

  • Aislado en el propio Sharepoint.
  • Solo HTML y JSOM (JavaScript object model) sin acceso a base de datos. Hay que destacar que las llamadas JSOM son asíncronas.
  • Privilegios los del usuario.

AutoHosted

Sharepoint despliega automáticamente la aplicación sobre un Servicio de Windows Azure; el código se ejecuta en el servicio desplegado.

  • Windows Azure
  • Código CSOM (.NET client-side object model) ejecutado en entorno de desarrollo soportado por Windows Azure y SQL Azure. Generalemente C#.
  • OAuth 2 o Cross Domain Library.
  • Se despliega una instancia de la aplicación para cada añadido de la misma.

Provider-Hosted

Sharepoint se conecta un servidor Web que ofrece la aplicación como servicio externo.

  • En un servidor Web (incluye servicios Web que ofrece Azure).
  • Código CSOM. Cualquier entorno de desarrollo y base de datos.
  • OAuth o Cross Domain Library.
  • Permite un escalado puro en multitenant.
Publicado en SharePoint | Etiquetado | 1 Comentario

Arquitectura de Sites en Sharepoint 2013

El presente esquema intenta describir su estructura de organización de Sites de una manera rápida.

Diagrama UML

Es un pseudo-diagrama de modelo de UML.

umlArquitecturaSites

Paquete Arquitectura Sites: Como se define la estructura de un Sitio en Sharepoint.

  • El Site Collection tiene asociado un Site Raiz.
  • El Site Template contiene las librerías, listas y paginas por defecto.
  • El Site Collection tiene disponibles unos Sites Templates. Por defecto Sharepoint incorpora unos (Sharepoint Site Template) o se puede generar a partir de un Site existente (Saved Site Template).
  • El Site se basa en una Site Template.
  • El Site se compone a su vez de sites (SubSite) y paginas (Pages).
  • Las paginas incorporan WebParts (AppParts).

Paquete Seguridad: Nivel basico de Seguridad.

  • Los Usuarios tienen Grupos
  • El Site Collection lo administra el grupo Site Collection Admin además concede privilegios para sus Sites.
  • El Site lo administra el grupo Site Owner.
  • El Usuario tiene un User Profile, donde configura sus personalizacion: idioma por defecto, favoritos…
Publicado en SharePoint | Etiquetado , | Deja un comentario

Esquema de Listas en Sharepoint 2013

Las listas son el elemento básico de trabajo en SharePoint. El presente esquema intenta describir su estructura básica de una manera rápida.

Diagrama UML

Es un pseudo-diagrama de modelo de UML.
UmlListaSharePoint

Paquete Metadata: La información que define que contiene la lista:

  • La lista (List) se define como una lista de columnas.
  • Hay dos niveles de columnas las propias (List Column) y las de site (Site Column).
  • Las columnas contienen un tipo de información: Basic, Calculated o Lookup.
  • La columna de tipo de información Basic es: String, Numero, Opciones, Fecha…
  • La columna de tipo de información Calculated es una formula calculada a partir de otras columnas.
  • La columna de tipo Lookup son opciones que hacen referencia a una columna de una lista. La típica foreign key ;-).
  • Las columnas de nivel del site se pueden agrupar en grupos ContentType.
  • Estos grupos ContentType soportan herencia.

Paquete Data: Los valores que contiene la lista.

  • La lista contiene List items. Son los valores de un elemento de la lista en base a las columnas definidas en el anterior paquete.
  • Si el List item se ha generado a partir de un grupo ContentType; este es diferente. Solo contiene valores las columnas existentes en el Grupo.

Paquete Apps: Define los templates de lista en las que basaremos la lista

  • La lista se crea a partir de una Custom List o List Template
  • Custom List es el template para una lista vacia
  • List Template es el template para una lista ya con columnas. Originalmente se creo a partir de una lista.
Publicado en SharePoint | Etiquetado , | Deja un comentario