martes, 9 de julio de 2013

Para publicar un App para SharePoint en el Office Store de Microsoft qué debes de saber?

Si has planificado crear Apps para ofrecerlas en el Office Store de Microsoft debes de prepararte para pasar por un proceso de revisión que debe de incluir entre otras cosas lo siguiente:

1) Definición del Idioma soportado en el AppManifest.xml

  <SupportedLocales>
    <SupportedLocale CultureName="en-US" />
  </SupportedLocales>

 

2) Que la aplicación se ejecute en los siguientes sistemas operativos y navegadores:

1) Windows 7 e IE 8

2) Windows 8 e IE 8, 9 y 10

3) Mozilla Fire Fox la última versión

4) Google Chrome la última versión

* Típicamente se tuvieron que hacer ajustes en el App para que funcionara en Windows 7 e IE 8 ya que este no soporta todas las funcionalidades e los navegadores más actualizados, así que le recomiendo prepare una virtual con el sistema operativo Windows 7 e IE 8.  Sorpresivamente el navegador IE 8 no se comporta igual en Windows 7 que en Windows 8.

3) Debes de tener preparado la licencia “End User License Agreement” publicada en algún sitio propio para que el usuario que utilice el App sepa a que atenerse.

Enlaces de interés:

Microsoft Seller Dashboard

Office Store for Apps

Apps4Publish!,

Juan Manuel Herrera Ocheita

miércoles, 5 de junio de 2013

Saliendo de la caja llamada IFRAME en las Apps para SharePoint 2013

El nuevo modelo Apps esta diseñado para que estas se ejecute en un dominio asilado diferente del domino donde se ejecutan los sitios de SharePoint, por lo que para desplegar un App Part en un sitio de SharePoint es necesario utilizar un IFRAME,el problema de esto es que hay riesgos de seguridad y además un perímetro físico que es establecido por las dimensiones del App Part, por lo que todo lo que muestre realmente se esta ejecutando en el dominio aislado.

Esto hace complicado el ejecutar operaciones fuera del Iframe, cosas tan sencillas como colocar un enlace o link que redireccione a otra página lo hará dentro del Iframe a menos que hagamos uso del objeto window de javascript de la siguiente forma window.location.href = url.

Pero esto no funciona en el App Part ya que es bloqueado, que podemos hacer?

Utilizar la propiedad Top del objeto Window de la siguiente forma:

top.window.location.href = url

Para ver un ejemplo del segmento de código quedaría así:

<a  onclick=”top.window.location.href='url'” target='_blank'>Read More</a>

Eso es todo, Apps4Fun!,

Juan Manuel Herrera Ocheita

ACTUALIZACION 14/JUL/2013

En Windows 7 y IE 8 no funciona top.window.location.href, por lo que es mejor utilizar parent.location.href:

      parent.location.href = url;

Cómo desaparecer el mensaje “Only secure content is displayed” en IE 10 cuando intentamos mostrar un App Part que consume Servicios Web Externos

Esta solución puede aplicar a versiones anteriores de IE y también a otros escenarios donde se utiliza contenido mixto y lo que se desea es eliminar el fastidioso mensaje se se muestra en la imagen de abajo.

clip_image001

Ahora un poco de explicación sobre el contexto y del porque del mensaje.

Las App Parts son ejecutadas en un dominio aislado llamado App Web del sitio de SharePoint donde esta instalado el App llamado Host Web por lo que es necesario desplegarlo a través de un IFRAME en la página del Host Web, esto trae consigo un riesgo ya que realmente el App esta ejecutándose en otro dominio distinto al de el Sito Web de SharePoint, por lo que el navegador Internet Explorer detecta un riesgo, y por ello el mensaje.

Adicionalmente el App Part puede estar consumiendo servicios externos a su dominio de ejecución y e aquí la clave para configurar el IE para que nos permita ejecutar el contenido del App Part que deseamos mostrar sin que nos muestre el fastidioso mensaje.

IE 10 y anteriores tiene en las opciones de configuración una sección o pestaña de Seguridad y dentro de ella podemos definir sitios seguros o sitios de intranet, ambos puede trabajar muy bien, si personalizamos las opciones de un sitio seguro encontraremos una opción con la siguiente descripción “Display Mixed Content” con la cual debemos de seleccionar el texto Enabled.   Pero la clave no se encuentra aquí sino en el listado de sitios que debemos de incluir en sitios seguros o intranet.  

Vamos a suponer que el App Part esta consumiendo los servicios del sitio YahooApis.com, entonces el listado de sitios que deberíamos incluir en sitios seguros o Intranet son los siguientes:

*.Microsoftonline.com
*.Sharepoint.com
*.Yahooapis.com

para incluir estos con este formato sin las siglas http o https debe de quitar la selección de la cajita que dice image

Y eso es todo, con ello debería funcionar sin problemas el App part y no mostrar más ese mensaje fastidioso.

Para los que no estas familiarizados con IE abajo las instrucciones paso a paso:

  1. En IE 10, vaya a Tools (alt+x) + Internet Options
  2. Vaya a “Security TAB”
  3. Seleccione “Local Intranet”
  4. Haga clic en el botón “Sites”
  5. Haga clic en el botón “Advanced”
  6. Verifique que la cajita de selección “Require server verification (https:) for all sites in this zone) no este seleccionada
  7. En la casilla “Add to this zone the next domains”
  8. Escriba *.microsoftonline.com  y presione el botón “Add”
  9. Escriba *.sharepoint.com y presione el botón “Add”
  10. Escribe *.Yahooapis.com y presione el botón “Add”
  11. Presione el botón “Close”
  12. Haga Clic sobre el botón “Custom Level”
  13. Busque la sección “Display Mixed Content” y valique en la opción “Enable” este seleccionada
  14. Presione el botón OK
  15. Y luego nuevamente el botón OK de la ventana restante.
  16. Cierre IE completamente, espere un momento y luego intente abrir la página que despliega los app parts y verifique que el mensaje desapareció.

 

Esos esto todo amigos, Apps4Fun!,

Juan Manuel Herrera Ocheita

martes, 4 de junio de 2013

Cuál es la colección de SQL Server Oficial para SharePoint 2013?

Finalmente encontré en vivo y directo respuesta a la pregunta de que colección de SQL Server utilizar para SharePoint, y es la siguiente:

Latin1_General_CI_AS_KS_WS

La colección de SQL Server  proporciona reglas de clasificación, el uso de mayúsculas, y las propiedades de sensibilidad de acento para sus datos, que el motor de SQL Server utiliza para almacenar y manejar los caracteres por ello su importancia e impacto.

Extraído del siguiente video: https://www.microsoftvirtualacademy.com/training-courses/tuning-sql-server-2012-for-sharepoint-2013-jump-start

Y eso es todo!,

Juan Manuel Herrera

Tablas básicas de una base de datos de Contenido de SharePoint 2013

Esto es algo que siempre estamos buscando, por lo que tomado de la presentación  “Key SQL Server and SharePoint Server Integration Concepts” la cual les recomiendo la vean ya que es de una excelente calidad en presentación y contenido (https://www.microsoftvirtualacademy.com/training-courses/tuning-sql-server-2012-for-sharepoint-2013-jump-start) a continuación las tablas básicas de la base de datos de Contenido de SharePoint que no varia en mucho en sus versiones anteriores.

Microsoft no apoya ni recomienda la modificación alguna del contenido y del esquema de sus bases de datos, pero a veces es necesario poder extraer o bien recuperar alguna información a nivel de tabla por lo que es útil saber como esta estructurado el contenido dentro de estas bases de datos.

image

SharePoint4Fun!,

Juan Manuel Herrera Ocheita

domingo, 2 de junio de 2013

Preparándose para el cambio crea un Alias de SQL antes de Instalar SharePoint

Una buena práctica poco conocida es antes de instalar es necesario prepararse para el cambio, y un cambio usual es el servidor de base de datos.  Aunque iniciar con una sola caja o servidor no esta diseñado para ambientes productivos puede ser una realidad para muchas empresas, pero más pronto que tarde el portal crea interés y popularidad y es necesario expandir la instalación a por lo menos dos servidores; uno donde estén los bits de SharePoint y otro servidor de bases de datos. 

O bien se quiere mudar las bases de datos a un servidor más potente o con una configuración de clusters o espejo por lo que si se maneja un alias y este es el utilizado en la configuración inicial de SharePoint bastará con colocar el alias al nuevo servidor de SQL y listo.

Cuando hacerlo?

Esto es clave, luego de instalar SQL Server o de crear una instancia de SQL para uso de SharePoint, es recomendable que se cree el alias, de tal forma que en la instalación Avanzada de SharePoint cuando solicite el nombre del servidor de base de datos utilizaremos el nombre del alias en vez del nombre del servidor de SQL.

El procedimiento lo puedes encontrar aquí:

http://msdn.microsoft.com/en-us/libranary/ms190445(v=sql.110).aspx

Y eso es todo por ahora.

SharePont4Fun!,

Juan Manuel Herrera

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