3. Adrián Díaz Cervera
MVP SharePoint Server
SharePoint Architect en ENCAMINA
http://blogs.encamina.com/desarrollandosobresharepoint
http://geeks.ms/blogs/adiazcervera
adiaz@encamina.com
@AdrianDiaz81
4. Alberto Diaz Martin
MVP SharePoint Server
SharePoint Team Leader en ENCAMINA
http://blogs.encamina.com/negocios-sharepoint/
http://geeks.ms/blogs/adiazmartin
alberto.diaz@encamina.com
@adiazcan
10. • Apps de SharePoint
– Provider Hosted
– SharePoint Hosted
• Apps de Office
– Excel
– Word
– Outlook
• Apps de Cloud
– Aplicaciones interactuando con la nube
– APIS’ Office 365
– AD Azure
Formas de Extender
18. • Provider Hosted
– Puedes alojarla donde quieras: Azure, Amazon,… o en tus propias infraestructuras
– Puedes utilizar cualquier lenguaje de desarrollo
– C#, Javascript, HTML5, PHP, Perl, Cobol
• SharePoint Hosted
– Alojadas en el propio SharePoint
– Solamente puedes utilizar HTML5, CSS3 y JS
Según su alojamiento
20. • Web Project
– ASP.NET Web Forms
– MVC 5
• Authorization
– Azure Access Control Services
– Server-to-Server High Trust
• Programmability
– SharePointContextProvider class
– Managed CSOM or REST
– JavaScript Cross-Domain Library
Creando Provider-Hosted Apps
21. • App debe de estar registrada en nuestro SharePoint online
– Client ID – generado durante el proceso de registro
– Client Secret – generado durante el proceso de registro
– App Host Domain – el dominio del sitio de Azure donde esta alojada la APP
– Redirect URL – la URL donde se redirige una vez comprobado los permisos
• SharePoint proporciona páginas de gestión de registro
– AppRegNew.aspx – para registrar nuevas app
– AppInv.aspx – para actualizar apps registradas apps
– AppPrincipals.aspx – lista todas las apps registradas
Consideraciones
22. Registrando una nueva APP
22
Generated value
Generated value
Free text value
Azure domain (e.g.,myapp.azurewebsites.net)
Web address (e.g.,
https://myapp.azurewebsites.net)
26. • Incluido con la subscripción de Office 365
• La administración de los usuarios y grupos desde el Portal de Office 365
– Cambios persisten en el Azure AD
Azure Active Directory (Azure AD)
27. • Flujo de Autenticación único para Office 365
– Azure AD Graph, Exchange, SharePoint
– Device apps and web sites
– Admin y usuarios dan su consentimiento
• Protocol seguro
– OAuth 2.0
– No captura las credenciales de los usuarios
– Soporta MFA and federación en el login de usuarios
– Acceso mediante token
Azure AD OAuth in Office 365
28. • Tipos de aplicaciones
– Desarrollo a medida
– Aplicaciones de terceros
• Office 365 SharePoint, Exchange
• Dynamics CRM
• Thousands of others
• Aplicación de cliente
– Web Application and/or WebAPI
– Native Client
Registro de Aplicación
28
29. • Operaciones con la API
– Leer mensajes
– Borrar mensajes
– Enviar mensajes
– Trabajar con Adjuntos
Mail Messages
29
30. • Operaciones con la API
– Leer eventos de un rango especifigo
– Crear eventos
– Borrar eventos
– Editar eventos
Calendar Events
30
31. • Operaciones con la API
– Leer contactos
– Buscar contactos
– Crear contactos
– Eliminar contactos
– Editar contactos
Contacts
31
32. OneDrive for Business
32
Una libreria personal para
almacenar y organizar los
documentos de nuestro trabajo
diario
35. • Es una página Web cargada dentro de una Aplicación Office
– Embebida dentro o en un panel sin documentos, mails o tareas.
– Funciona tanto en Aplicaciones de escritorio de Office como en Office Web Apps
• Usa las tecnologías Web
– HTML 5 y CSS se utilizan para la interfaz de usuario
– JavaScript y jQuery se utilizan para añadir lógica a la aplicación y en los event handlers
– App pueden leer/escribrir sobre el contenido de los documentos de Office
– App pueden llamar a Servicos Web alojados en Interner o en tu propia red
¿Como es una App para Office?
36. • Apps for Office come in three different shapes
– Task Pane App (only shape supported by Microsoft Word)
– Content App
– Mail App
Designing Apps for Office - Shapes
37. • Cada App para Office esta basada en un
Manifiesto.XML
– Manifiesto define el tipo de App para Office
– Manifiesto define que Aplicaciones soporta
– Manifiesto define los requisitos
Escructura de una App para Office
App for Office
Manifest
<XML>
Web
Page
HTML+JS
App for Office
Catalog Server Web Server
App for Office
40. Apps SharePoint Apps Cloud
Acceso A través de Site Colection Apps Louncher
Autenticación de Office
365/SharePoint
Autenticación de la APP Registrado Azure AD
Hosting Cualquier tipo Cualquier tipo
Registrar la APP Registrado en
SharePoint/Office 365
usando AppRegNew.aspx
Registradp en Azure AD
Comparación de Apps
Versión de portada para Ofertas. Si utilizas esta, elimina las otras tres.
Si el documento lleva más de tres secciones, repite los bloques de color por el mismo orden: azul, verde, morado.
The new SharePoint App Model gives developers three different ways to surface their app customizations within SharePoint sites.
The first option, a full page, is required for all apps. Think of this as the immersive experience where you can create an app that takes over the entire screen.
Even if your app is designed to only use the App Part or UI command extension options (both explained in a moment), you must still have a full page implementation. However this can simply be an “about me” or FAQ style page for your app customizations.
This is an example of what the full page immersive experience would look like. Notice the traditional SharePoint experience is missing… all we see is a familiar SharePoint app bar at the top, but everything else is custom.
Microsoft does provide some controls & tools to ingest the parent site’s styles so that your app can have a similar look & feel as the parent site.
The new SharePoint App Model gives developers three different ways to surface their app customizations within SharePoint sites.
The first option, a full page, is required for all apps. Think of this as the immersive experience where you can create an app that takes over the entire screen.
Even if your app is designed to only use the App Part or UI command extension options (both explained in a moment), you must still have a full page implementation. However this can simply be an “about me” or FAQ style page for your app customizations.
Here is an example of an app part. Notice adding it to the existing page is very similar to adding a web part. When it’s rendered, it looks like a standard web part, as in the screenshot showing the weather for Reston, Virginia… except that content is actually coming from the app.
The new SharePoint App Model gives developers three different ways to surface their app customizations within SharePoint sites.
The first option, a full page, is required for all apps. Think of this as the immersive experience where you can create an app that takes over the entire screen.
Even if your app is designed to only use the App Part or UI command extension options (both explained in a moment), you must still have a full page implementation. However this can simply be an “about me” or FAQ style page for your app customizations.
Here is an example of a command UI extension. You see that this app has created a new tab in the ribbon called TIMELINE that contains it’s own tab groups and controls to interact with the page.
Remote web is deployed on separate infrastructure
Typically this is Azure web sites, but can be anything
Solution may or may not have an App Web depending upon whether anything is deployed (like lists or libraries in the App Web)
Host web can be accessed by remote web using OAuth or cross-domain library
Additional assets like SQL Azure or web-based REST services can be accessed from the remote web and incorporated into the solution
Apps must be registered with SharePoint. This page will generate a new client ID and secret for the app. If deployed to Azure, use that information to fill out the rest of the form.
Prior to the release of the Office 365 APIs, device apps had to prompt users for credentials for the service, and in some cases the location of the resources.
Storing credentials is very risky, and a worst practice.
Although an Azure AD is included with Office 365, accessing it via the Azure Management Portal requires a “sign-up.” However, there are no charges from Azure for using AD. (Charges will occur if other services are used.)
With the Office 365 APIs, which leverage the Azure AD Oauth service, device apps no longer need to store user credentials.
Azure AD has implemented a “Common Consent” dialog, providing a consistent interface for permission grants.
Typically, OAuth is used to access a single resource. Common Consent is unique in that it can provide a token to Exchange Mail/Calendar/Contacts as well as SharePoint lists and files in OneDrive .
OneDrive for Business is a personal library intended for storing and organizing your work documents. As an integral part of Office 365 or SharePoint Server 2013, OneDrive for Business lets you work within the context of your organization, with features such as direct access to your organization’s address book.
Note OneDrive for Business is different from OneDrive, which is intended for personal storage separate from your workplace. OneDrive for Business is also different from your team site, which is intended for storing team or project-related documents.
An App for Office can be seen as a Web page loaded inside an Office Application. In some cases it will appear embedded inline within the document. In other cases it might appear as a task pane or within a message in Outlook. Note that the architecture for Apps for Office has been designed to work in both Office Applications and Office Web Applications.
WEF and Apps for Office allow Office applications to be extended in such as way so that they can leverage Web technologies such as HTML 5 and CSS for rendering user interface as well as JavaScript and jQuery to add behavior. When you write the JavaScript code for an App for Office, you can call REST APIs such as those added to SharePoint 2013 to retrieve and update data from across network.
When you begin to design an app, you must pick one of the three different shapes. You can create a document-based app as either a Task Pane App or a Content App. Alternatively, you can create a Mail App that targets Outlook and Outlook OWA.
Every App for Office must be distributed with an XML-based manifest which contains information about the app itself. For example, the app manifest contains an address to a Web page on the Internet which is used to load the app. The app manifest also includes information which indicates which Office applications it supports. The app manifest also defines the required capabilities which represent the set of permissions that the app needs in order to run and complete its work.