SharePoint-hosted app

Slides:



Advertisements
Similar presentations
SharePoint 2010 Web Templates What are They and How to Conquer Them Ryan McIntyre, MCITP, MCPD Director, Portals & Collaboration Practice.
Advertisements

22 мая 2013, Киев Построение Windows 8 приложений для доступа к SharePoint 2013 Бельский Сергей.
Getting Started with SharePoint 2013 Apps
©2011 Quest Software, Inc. All rights reserved. Steve Walch, Senior Product Manager Blog: November, 2011 Partner Training Webcast.
Eric J. Oszakiewski MCTS: SharePoint Application Development SharePoint Configuration.
Сергей П. Консультант по технологиям Microsoft BrightConsult.
Microsoft Office SharePoint Portal Server 2007 Introduction to InfoPath Forms Services Daryl L. Rudolph.
SharePoint 2013 apps to be or not to be. Alexander Krupsky Artur Kukharevich.
Designing, Deploying and Managing Workflow in SharePoint Sites Steve Heaney Product Development Manager OBS
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP CarePack registration.
SharePoint Apps for IT Pro
@ScotHillier Web Parts Workflows Pages Libraries App Parts SharePoint-Hosted Apps Provider-Hosted Apps.
Thomas Palmié Architect Microsoft Schweiz Implementierung eines mehrsprachigen Intranets basierend auf SharePoint 2010.
#spsevents #spsphx SPS EVENTS PHX Know REST for the Query AN INTRODUCTION TO REST FOR SHAREPOINT 2013 ERIC J OSZAKIEWSKI, MCTS, MS, MCPS.
S HARE P OINT 2013 S EARCH – A D EVELOPER ’ S P ERSPECTIVE Ryan McIntyre MCITP, MCPD Director, Portals & Collaboration.
Bringing SharePoint information into Office through Office Apps.
11 Getting Started with ASP.NET Beginning ASP.NET 4.0 in C# 2010 Chapters 5 and 6.
1 of 6 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
Microsoft ® Official Course Introducing Apps for SharePoint SharePoint Practice Microsoft SharePoint 2013.
Becky Bertram SharePoint MVP
SPC220 Web Template FundamentalsCreating Web Templates Using Web Templates Web Templates and App Webs Wrap Up.
Basic SharePoint 2013 App Development start-up for New Developers
©2012 Microsoft Corporation. All rights reserved. Content based on SharePoint 2013 Technical Preview and published July Introducing.
App development in SharePoint 2013 LIVE Introducing Cloud App Model Cloud-hosted Apps Experiences from the Field.
1 Deploying a Web Application. 2 Virtual Directories Web servers map URLs to directories in their file systems. Called virtual directories. Normally one.
Marat Bakirov Readify. 2 3 ServerClient Browser Host Web Server Host SharePoint & Exchange Office APP Client APIs Server APIs.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
WaveMaker Visual AJAX Studio 4.0 Training Studio Overview.
©2012 Microsoft Corporation. All rights reserved. Content based on SharePoint 15 Technical Preview and published July 2012.
E-Commerce: Introduction to Web Development 1 Dr. Lawrence West, Management Dept., University of Central Florida Topics What is a Web.
Introduction to HTML. What is a HTML File?  HTML stands for Hyper Text Markup Language  An HTML file is a text file containing small markup tags  The.
11 Web Services. 22 Objectives You will be able to Say what a web service is. Write and deploy a simple web service. Test a simple web service. Write.
Presented by RJB Technical Consulting. SharePoint Designer can make simple, easy workflows for any SharePoint site. These workflows, however, are restricted.
Windows 8 Application Microsoft Word with Apps For Office Internal O365 SharePoint Site Windows Azure Cloud Services Windows Azure Workflow Server.
Introduction to the SharePoint 2013 REST API. 2 About Me SharePoint Solutions Architect at Sparkhound in Baton Rouge
App Manifest Web Page HTML/CSS/JS APP SharePoint App Web SharePoint Host Web Windows Azure Websites SharePoint Host Web Your hosted site SharePoint.
How to create a SharePoint site MICROSOFT OFFICE SHAREPOINT DESIGNER.
Microsoft ® Official Course Developing a Publishing Site for Web Content Microsoft SharePoint 2013 SharePoint Practice.
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
Both Dutch and Swedish nationality 20+ years of industry experience Living in Stockholm, Sweden MCSM, MCM, MVP, MCSE, MCSD, MCSA, MCPD, MCITP, MCTS PnP.
© 2014 IBM Corporation Activity Streams Integration IBM Connections 5.0 Workshop Author: Paul Godby IBM Ecosystem Development Duration: 45 minutes.
Intro to Apps Anatomy of an App App Architecture.
A Developer’s Introduction to SharePoint 2013 Apps Ryan McIntyre, MCITP, MCPD National
O SharePoint 2013 Remote Event Receivers Speaker.
SharePoint 2013 Workflow: Troubleshoot Sergii Bielskyi
Office 365 Development July 2014.
Introduction ITEC 420.
Introduction to HTML.
Computing with C# and the .NET Framework
2 At the top of the zone in which you want to add the Web Part, click Add a Web Part. In the Add Web Parts to [zone] dialog box, select the check box of.
Office 365 Development July 2014.
2 At the top of the zone in which you want to add the Web Part, click Add a Web Part. In the Add Web Parts to [zone] dialog box, select the check box of.
LMEvents SharePoint Portal How-to Guide
An introduction to REST for SharePoint 2013
How to customize your Microsoft SharePoint Online website
WEB API.
Дизайн корпоративных сайтов SharePoint 2010
How to customize your Microsoft SharePoint Online website
Сетевое взаимодействие
Harris County Domestic Relations Office Website
07 | Workflows Chris Johnson | SharePoint Guru
Windows Azure Keenan Newton 3-021
ASP.NET 4 Сергей Байдачный специалист по разработке ПО
How to customize your Microsoft SharePoint Online website
Visual Studio 2010 SharePoint Development Tools Overview
Mike Ammerlaan Program Manager Microsoft Corporation
04 | Apps and SharePoint Chris Johnson | SharePoint Guru
Bijay Kumar Sahoo Office Server & Services MVP (SharePoint)
* Любой табак кроме WTO Депозит берется в течение 20 мин, как подошли все гости* В депозит входят все позиции в меню* Депозит не возвращается*
Presentation transcript:

SharePoint-hosted app Alexander Krupsky Artur Kukharevich

Содержание. Вариант SharePoint-hosted app Проблемы Шаблоны сайтов Cross-domain calls Localization Выводы

Вариант SharePoint-hosted app Запрос на отпуск. Необходимо: Реализовать простой процесс Вывести данные на временную линию Возможность создания заявки должна быть на любой странице сайта

Установка прав на элемент списка Проблемы. Права Установка прав на элемент списка Workflow не поддерживает (не актуально) Нет Event Receiver Переопределение момента сохранения через JS не возможно при наличии прикрепленных файлов

Проблемы. Права Фиг с ним с элементом. Как установить изначальные права на сайте app и установить изначальные настройки? Что говорит по этому поводу MSDN: In some cases, the app will require certain information or choices to be provided before the app can function. When your app requires information before it can function, you should provide a user experience that guides the user to the settings page to update the configuration. You should add the settings page URL to the app’s top-right menu if appropriate so that users can find it easily. If your app has a getting started experience or other settings, you can add those also. For more information, see How to: Use the client chrome control in apps for SharePoint.

Проблемы. Календарь Я хочу чтобы у меня отпуск был каждый месяц по два дня, выпадающих на первую неделю в течении двух лет. Если список находится не на сайте app, то сочувствую, т к SharePoint API позволяет сделать повторяющиеся события: Серверный код Запрос к сервису с установкой Date Overlap

Проблемы. Client Web Parts Ограничения: Встраивается на страницу при помощи iFrame Фиксированный размер

Проблемы. Client Web Parts Изменения размера iframe var resizeMessage = '<message senderId={Sender_ID}>resize({Width}, {Height})</message>'; resizeMessage = resizeMessage.replace("{Sender_ID}", senderId); resizeMessage = resizeMessage.replace("{Height}", newHeight); resizeMessage = resizeMessage.replace("{Width}", newWidth); window.parent.postMessage(resizeMessage, "*"); Где SenderId – параметр, который берется с query string. Важно!!! Этот метод работает, когда для Client Web Part задана автоматическая ширина и(или) высота.

Проблемы. Workflow Скрытые активности Как локализовать workflow?

Возможно, но используйте с умом, а лучше вообще не используйте) Шаблоны сайтов Возможно, но используйте с умом, а лучше вообще не используйте) Что говорит по этому поводу MSDN: Do not use the WebTemplate element in the app manifest to designate any of the built-in SharePoint site definition configurations as the app web's site type. We do not support using any of the built-in site definition configurations, other than APP#0, for app webs.

Using REST (работает через AppWebProxy.aspx): Cross-domain calls Using REST (работает через AppWebProxy.aspx): $.getScript(scriptbase + "SP.RequestExecutor.js", execCrossDomainRequest); function execCrossDomainRequest() { var executor; executor = new SP.RequestExecutor(appweburl); executor.executeAsync( { url: appweburl + "/_api/SP.AppContextSite(@target)/web/title?@target='" + hostweburl + "'", method: "GET", headers: { "Accept": "application/json; odata=verbose" }, success: successHandler, error: errorHandler } );

Cross-domain calls. Architecture

Using REST (не использует AppWebProxy.aspx): Cross-domain calls Using REST (не использует AppWebProxy.aspx): var context = new SP.ClientContext(_appweburl); var factory = new SP.ProxyWebRequestExecutorFactory(_appweburl); context.set_webRequestExecutorFactory(factory); var appContextSite = new SP.AppContextSite(context, _hostweburl); // наш запрос context.executeQueryAsync(); Пример запроса: <Request xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="Javascript Library"> <Actions> <ObjectPath Id="69" ObjectPathId="68" /> </Actions> <ObjectPaths> <Constructor Id="68" TypeId="{5530f782-6a0d-41ec-bfd9-2cb628fe1557}"> <Parameters> <Parameter Type="String">https://spsitepro.sharepoint.com/sites/apps</Parameter> </Parameters> </Constructor> </ObjectPaths> </Request>

Localization. С чего начать А начинается все безобидно) В настройках AppManifest указываем поддерживаемые языки и Visual Studio автоматически сгенерирует необходимые ресурсные файлы.

$Resources:Resource_key; Localization. В контексте App Web Для локализации модулей(Lists, ContentTypes и т.п.), которые будут доступны только на App Web необходимо использовать стандартную конструкцию: $Resources:Resource_key;

$Resources:Resource_key; Localization. В контексте Hosted-Web Может применяться для локализации App Client Web Part, Ribbon Actions. Используем: $Resources:Resource_key; Получаем:

Localization. В контексте Hosted-Web Вот так Microsoft описывает проблему: To add OPC relationship markup to the app package Append a .zip extension to the app package. In the .zip file, open the folder named _rels. Open the AppManifest.xml.rels file. This file specifies the OPC relationships of the AppManifest.xml file to other files in the package. The file contains a Relationship element for the Resources.resx file and for each of the Resources.LL-CC.resx files. The following are examples: <Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/content-defaultresource" Target="/Resources.resx" Id="R8d5c4429fc13446e" /> Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/content-resource" Target="/Resources.en-US.resx" Id="R71986f3a45e24d8f" /> Copy these resource-related Relationship elements and save them in a text file outside the package so you can reuse them in a later step. Close the AppManifest.xml.rels file. In the _rels folder, open the featureGUID.xml.rels file. This file specifies the OPC relationships of the featureGUID.xml file and all its child files, such as elements.xml files, to other files in the package. Paste into the Relationships element all of the Relationship elements that you copied from the AppManifest.xml.rels file. It’s OK to use the same relationship IDs because you are pasting them into a different parent Relationships element. Save (as UTF-8) and close the file. Close the .zip file and then remove the ".zip" from the end of the file name. The app package can now be installed on your test SharePoint website.

Localization. В контексте Hosted-Web Скачать с Msdn утилиту AddRelsToAppPackage (http://msdn.microsoft.com/en-us/library/fp179919.aspx) СПОСОБ РАБОТАЕТ ТОЛЬКО ПРИ Deploy!!!!!

Localization. В контексте Hosted-Web Сделаем, что бы работало при deploy и publish. В .csproj файл добавить следующее: <Target Name="ConfigureResourses" AfterTargets="PackageSharePointApp"> <Exec Command="$(SolutionDir)ConfigureRelsToAppPackage.exe $(TargetDir)" ContinueOnError="false"></Exec> </Target> после строки: <Import Project="$(VSToolsPath)\SharePointTools\Microsoft.VisualStudio.SharePoint.targets" Condition="'$(VSToolsPath)' != ''" />

Localization. UI А как же быть с alert и ему подобным???

Выводы А выводы делайте сами ;)