Apps sharepoint 2013
This presentation is the property of its rightful owner.
Sponsored Links
1 / 36

Создание приложений ( Apps ) для SharePoint 2013 в Облаке PowerPoint PPT Presentation


  • 190 Views
  • Uploaded on
  • Presentation posted in: General

Создание приложений ( Apps ) для SharePoint 2013 в Облаке. Марат Бакиров UMSOFT. Станислав Выщепан Ай- Теко. Обзор. Что такое приложения (apps) для SharePoint 2013 SharePoint hosted apps Cloud-Hosted apps Возможности приложений. История разработки для SharePoint. 2003 : XML

Download Presentation

Создание приложений ( Apps ) для SharePoint 2013 в Облаке

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Apps sharepoint 2013

Создание приложений (Apps) для SharePoint 2013 в Облаке

Марат Бакиров

UMSOFT

Станислав Выщепан

Ай-Теко


Apps sharepoint 2013

Обзор

  • Что такое приложения (apps) для SharePoint 2013

  • SharePoint hosted apps

  • Cloud-Hosted apps

  • Возможности приложений


Sharepoint

Историяразработки для SharePoint

  • 2003: XML

  • 2007: Feature framework & WSP

  • 2010: Sandbox solutions & Client Side

  • 2013: Apps


Apps sharepoint 2013

Хостинг приложений

SharePoint Web

Your Hosted Site

Provider-hosted App

“Построй свою инфраструктуру”

Cloud-hosted apps

Обработчики событийCSOM/REST + OAuth

Autohosted App

Windows Azure + SQL Azure автоматически создается при установке app

SharePoint Web

Azure

Host

web

  • SharePoint-Hosted App

  • Используем артефакты SharePoint (списки, страницы)

    • Клиентские технологии и workflow

App Web (from WSP)


Apps sharepoint 2013

Формы приложений

Полная страница

Отдельная страница приложения со своей навигацией

  • App Parts

    • Аналог веб-части для размещения на страницах сайтов SharePoint

  • Пункт меню

    • Команда в Ribbon или Меню


Apps sharepoint 2013

Обзор

  • Что такое приложения (apps) для SharePoint 2013

  • SharePoint hosted apps

  • Cloud-Hosted apps

  • Возможности приложений


Sharepoint hosted apps

Почему SharePoint hosted apps

Без дополнительнойинфраструктуры

Одинаково работает в Office365

и on-prem

Встроеннаяизоляцияэкземпляров

Без лишнихзатрат

Автоматическаяаутентификация


Sharepoint hosted

Изоляция SharePoint-hosted приложений

  • 1 экземпляр приложения= 1 “app web”

  • Каждый App webs имеет свой домен:

  • Использует same-origin policy в браузере для изоляции JavaScript

Host web

https://contoso.sharepoint.com/site/

App web

https://contoso-appUID.sharepoint.com/site/app/


Apps sharepoint 2013

Доступные компоненты

  • Данные

  • Списки

  • Библиотеки

  • WebProxy

  • App scoped ECTs

  • Интерфейс

  • Страницы (только разметка)

  • CSS файлы

  • Custom Actions

  • Встроенные Веб-части

  • Логика

  • JavaScript

  • Workflows

  • Custom Actions


Jsom rest

JSOM & REST

  • JavaScript object model

    varctx = new SP.ClientContext("http://contoso-appUID.spo.com/site/app");ctx.load(ctx.get_web());ctx.executeQueryAsync();

  • REST/OData

    http://contoso-appUID.spo.com/site/app/_api/web/Title

    _api/web/lists

    _api/web/lists/getByTitle('Documents')

    _api/social.feed/my/news

    _api/SP.UserProfiles.PeopleManager/getMyProperties()

    _api/search/query?Querytext='Marketing'


Host web

Как обратиться к Host Web

  • Чтобы обратиться к артефактам за пределами appweb:

    • Запросить разрешения

    • Сделать CSOM вызов, используя правильный контекст

  • varctx = new SP.ClientContext(appWebUrl);

  • varappContextSite = new SP.AppContextSite(ctx, targetUrl);

  • ctx.Load(appContextSite.get_web());


Sharepoint hosted app

SharePoint hosted app

Марат Бакиров

UMSOFT


Apps sharepoint 2013

Обзор

  • Что такое приложения (apps) для SharePoint 2013

  • SharePoint hosted apps

  • Cloud-Hosted apps

  • Возможности приложений


Cloud hosted app

Для чего использовать Cloud hosted app

  • Серверный код

    • C#, PHP, Java, Ruby, ваш_любимый_язык

  • Повышение привилегий

    • Выполнять код с разрешениями выше, чем у пользователя

  • Обработчики событий

    • Обрабатывать события установки и удаления app

    • Обрабатывать события элементов, списков, сайтов, события безопасности


Cloud hosted app1

Недостатки Cloud hosted app

  • Необходимо самостоятельно хоститьapp

    • Azure или другие провайдеры

    • Ваша собственная инфраструктура

  • Необходимо использовать OAuth или S2S

    • Управлять токенамиOAuth

    • Настраивать «доверие» S2S в on-prem

  • Необходимо поддерживать консистентный внешний вид

    • Стили и chromeкак в SharePoint


Oauth

OAuth

  • Защищенное взаимодействие с SharePoint

    • App и SharePoint доверяют третьей стороне (ACS)

  • Доверие создается используя ClientIdи ClientSecret

    • SharePoint и ACS знают ClientId

    • App и ACS знают ClientSecret

  • OAuth Token Flow

    • SharePoint получает Context Token от ACS и передает приложению

    • App проверяет Context Tokenи получает Access Token от ACS

    • Access Token используется App для доступа к SharePoint


High trust apps

High-Trust apps

  • OAuth не работает в On-prem

    • Можно подключить, но требует Office365 Tenant

  • S2S Trust позволяет app обращаться напрямую

    • Доверие устанавливается с помощью сертификатов

    • App имеет приватный ключ, которым подписывает запросы

  • Недостатки

    • Требуется настройка фермы

    • Работает только в on-prem


Oauth1

Управление токенами OAuth

  • Ваше приложение должно запрашивать токены

    • Visual Studio генерирует класс TokenHelperдля этих целей


Apps sharepoint 2013

Какое API использовать

  • Вapps доступны только CSOM\REST API

    • Только они поддерживают OAuth\S2S

  • Веб-сервисыне доступны

    • Требуют аутентификацию пользователя

  • Серверная объектная модель не доступна

    • Требует запуска на ферме


Sharepoint 2013 remote api

SharePoint 2013 Remote API

_apiэто алиас для _vti_bin/client.svc

Server

Client

CSOM

REST

OData

JSON

JavaScript Library

Silverlight Library

.Net CLR Library

Произвольный код


Chrome control

Chrome control

  • Консистентный внешний вид app

    • Подтягивает темы с host web

  • Включает ссылку на host web

    • Обязательное требование Microsoft

  • Настраиваемое меню команд

    • Можно добавлять ссылки на любые страницы


Chrome control1

Chrome control

$(function () {

var options = {

appIconUrl: "siteicon.png",

appTitle: "Chrome control app"

}

varnav = new SP.UI.Controls.Navigation(

"chrome_ctrl_placeholder",

options

);

nav.setVisible(true);

});


Remote event receiver s

Remote Event Receivers

  • Аналог серверных ресиверов

    • Синхронные и асинхронные события

    • События элементов, списков, сайтов, безопасности и приложений

  • Не гарантируется доставка событий

    • В случае недоступности сервера ресиверы игнорируются

  • Для отладки необходимо использовать Azure Service Bus


Autohosted app

Autohosted app

Марат Бакиров

UMSOFT


Apps sharepoint 2013

Обзор

  • Что такое приложения (apps) для SharePoint 2013

  • SharePoint hosted apps

  • Cloud-Hosted apps

  • Возможности приложений


Apps sharepoint 2013

Разрешения приложений

Сильно отличаются от разрешений для пользователей

  • Даются по принципу «все или ничего»

    Не учитывают иерархию объектов

  • Разрешения можно получить только на весь сайт\коллекцию целиком

  • Разрешения могут быть выданы на разные области

    • Список, сайт, коллекция сайтов или тенант

    • Поиск,BCS, таксономия, профили пользователей

    • Отдельные возможности Project Server


  • Apps sharepoint 2013

    Политики разрешений

    • App + User policy

      • Пользователь И приложение должны иметь доступ к ресурсу (пересечение)

      • Если не хватает разрешений, то «нет доступа» или «элемент не найден»

    • App-only policy

      • Только приложение должно иметь доступ к ресурсу

      • Приложение может обращаться к SharePoint без контекста пользователя

      • Только в серверном коде

    • User Policy

      • Не используется в приложениях


    App only policy

    App-only Policy

    • Два основных сценария:

      • Выполнение действий с разрешениями выше, чем у текущего пользователя (повышение привилегий)

      • Обращение к SharePoint без контекста пользователя

  • Как это сделать

    • ДобавитьAllowAppOnlyPolicyв AppManifest.xml

    • Написать код для получения app only access token


  • Workflow

    Workflow

    • Используется движок WF4

      • Поддерживаются циклы и переходы к предыдущим состояниям

    • Автоматически привязываются к спискам на app web

      • Можно привязать к host web с помощью кода


    App scoped ect

    App-scoped ECT

    • Можно создавать внешние типы контента в app

      • Раньше только на уровне всей фермы

    • Работает с OData источниками данных

    • Удобный дизайнер в студии


    App parts

    App parts

    • Тоже самое что Web Part с iframe

      • Внутри отображается обычная страница из app

    • Можно задавать настраиваемые свойства

      • Доступные типы свойств: string, enum, int, bool

    • Не поддерживают connections

      • И вообще и никак не получить данные из родительской страницы 


    Custom actions

    Custom Actions

    • Можно добавлять команды на host web

      • Единственный способ передать данные из host web в app

    • В любые меню и ribbon

      • Только ссылку, javascript:кодне работает

    • Команды могут отображать страницу в диалоге

      • Достаточно добавить HostWebDialog="true"в XML


    Provider hosted app

    Provider hosted app

    Марат Бакиров

    UMSOFT


    Apps sharepoint 2013

    Заключение

    • Что такое приложения (apps) для SharePoint 2013

    • SharePoint hosted apps

    • Cloud-Hosted apps

    • Возможности приложений


    Apps sharepoint 2013

    Q&A

    Марат Бакиров

    UMSOFT

    http://www.gotdotnet.ru/blogs/mbakirov

    @mbakirov

    Станислав Выщепан

    Ай-Теко

    http://gandjustas.blogspot.ru

    @gandjustas


  • Login