SlideShare a Scribd company logo
VS002 -Sviluppare App per Office 
Fabio Franzini –SharePoint MVP
•SharePoint MVP 
•Senior Consultant and Software Engineer 
•MCT Trainer 
•MCPD Web Applications, MCTS SharePoint 2010/2007 
•Official Ignite Trainer for SharePoint 2013 & 2010 in Italy 
•Over 10 years experience in IT as a software engineer 
•Twitter: @franzinifabio 
•Email: fabio@fabiofranzini.com 
•Web: www.fabiofranzini.com 
About Me
“SharePoint 2013 App Model Succinctly” 
SharePoint2013 App Model Succinctly is a hands-on approach to learning how to develop SharePoint apps. 
Author Fabio Franzini introduces readers to the concepts that make SharePoint 2013 simpler and easier to use than previous development models. 
You’ll learn to develop both on-premises and cloud applications in Visual Studio 2013, then enable your apps to communicate with SharePoint using the client-side object model (CSOM) or the representational state transfer (REST) API 
http://bit.ly/1ytzthl
Agenda 
•Introduction 
•Document-based Apps 
•Mail Apps 
•Distribution
Introduction
Microsoft Vision: Modernizing the Platform 
Today’s Market 
Today’s Trends 
Microsoft Principles
Types of Office Apps 
TaskPane App 
Content App 
Mail App 
•Assist userworking with one or more documents 
•Works in Word,Excel, PowerPoint and Project 
•Adds embeddedcontent/functionality to documents 
•Only in Excel and Excel web app 
•Extendsmessage and appointments with custom UI and behavior 
•Used in Outlook and Outlook Web App
Anatomy of an Office App 
Each App for Office is based on XML-based manifest 
•Points to a web page 
•Defines the type of the App for Office 
•Defines which Office applications it supports 
•Defines required capabilities 
8
•Cross Platform 
•Designed from the ground up, Abstraction, Async 
•Cross App 
•Common objects and methods across apps (selection, tables, settings) 
•Web Standards 
•ECMAScript5 
•Performance 
•Async, limits 
Principles
Server 
Client 
Browser Host 
Common App Architecture 
Web Server Host 
SharePoint 
& Exchange 
APP 
Client APIs 
Server APIs 
Other Devices 
& Clients 
3rdParty Services 
Office
Office JavascriptAPI OverviewDocumentOffice.contextCustomXmlPartsBindingsSettingsR/W SelectionMailboxProperties & SettingsUser ProfileEWSItemProjectTasksProject Info
Document-based Apps
•Apps for Office code run in separate sandboxed process 
•Sandbox infrastructure leverages Web Control from IE9/IE10 
•App for Office support for HTML5 and CSS3 consistent with IE9/IE10 support 
•Browser-rendered Apps based 
•Works across all popular browsers (might require the latest version) 
•App runs its it own iFrameinside outer an iFramewith WEF runtime 
•Communications between iFramesrelies on HTML5 postMessageAPI 
Office Application Architecture
•Document-basedApps for Office have common objects 
•Used to read and write content to and from document 
•Used to create bindings and event handlers 
A common API for document-based AppsCommon Objects x-Office! 
Text 
Table 
Matrix 
Charts 
Shapes 
Picture 
Hyperlink 
Word Art 
XML Parts 
Clip Art
Core API Objects
•All data access starts through document object 
•Read/write access to user selection 
•Event handler for selection change event 
•Three data types are supported 
•Text 
•Matrix 
•Table 
Interacting With Document Content
Working with Selections 
Current selection 
Task Pane App reads current selection and translates 
Content App reads current selection and translates
App Bindings 
Bound range of stock symbols 
App handles SelectionChanged event associated with the binding to retrieve news associated with stock symbol
•You can read/write document settings 
•ReadDocument 
•You have read access to document 
•You can subscribe to change events 
•WriteDocument 
•Write content into document 
•ReadWriteDocument 
•ReadDocument+ WriteDocument 
•FullAccess 
•All Permissions + use of Silverlight & Flash 
Requested Capabilities
Document-based Apps -Demo
Mail Apps
•Write once, run anywhere Outlook runs 
•Same Mail App runs on Outlook and OWA 
•Development model based on activation rules 
•Activation rules run whenever user selects item 
•Activated mail apps are added into Outlook UI 
•Designed to be secure 
•Mail apps run in an isolated, sandboxed process 
•Mail apps run with a three-tier permission model 
Mail Apps
•Mail Apps require Exchange 2013 
•Exchange Server hosts users mailbox 
•Exchange Server hosts app manifest files 
•Web server hosts HTML for Mail App 
•Mail App can make callback to Web server 
•Mail App can call Exchange Web Services (EWS) EWS calls can be brokered through Web server 
Mail App Hosting 
EWS
•Exchange detects specific entities 
•Exchange 2013 inspects each incoming message for text, such as postal addresses, URLs, etc. 
•These entities are stamped on each item as a property. 
Extracted Entities 
Entity Type 
Text Detected 
Address 
US postal addresses(1 Microsoft Way, Redmond WA, 98052) 
EmailAddress 
Any SMTP address 
MeetingSuggestion 
A reference to an event or meeting(Let’s meetnext Tuesday for lunch.) 
Contact 
A personal name relatedto other entities (Randy Byrne, 1 Microsoft Way, Redmond WA, 98052) 
PhoneNumber 
US telephone numbers(555) 867-5309 
TaskSuggestion 
Actionable sentences in anemail, Please install office 2013 on my computer. 
Url 
A filename or web address
•RuleCollection 
•Groups multiple rules together using AND or OR 
•Rule Collections can be nested within each other 
•ItemHasAttachment 
•Checks whether the item has an attachment 
•ItemHasRegularExpressionMatch 
•Checks for matches to the regex against body, subject or sender’s email address 
•ItemHasKnownEntity 
•Checks whether the item has the specified entity 
Activation rules
Interact with Mailbox & Item properties 
.mailbox: 
•userProfile 
•item 
•display forms 
•user token 
•call EWS 
Office.context: 
•roamingSettings 
•displayLanguage 
.item 
.userProfile: 
•name 
•time zone 
•email address 
(Message) 
•message properties 
•entities 
•regex matches 
•custom props 
(Appointment): 
•apptproperties 
•entities 
•regex matches 
•custom props
Low trust: end-user can install for self 
High trust: Exchange administrator must install 
•Restricted 
•Use only extracted item entities but no custom regular expressions 
•Partial OM access and no access makeEWSRequestAsync 
•ReadItem 
•Use custom regular expressions 
•Full JSOM access except no access to makeEWSRequestAsync 
•Read & write properties for current item 
•ReadWriteMailbox 
•Use Exchange Web Services (EWS) operations 
•Create, read, write items & folders 
•Send items 
Permissions and Capabilities 
Read/write mailbox permission 
Read item permission 
Restricted permission
Mail Apps -Demo
Distribution
Publication to App Catalog 
•App for Office distribution/deployment model based on App Catalogs 
•Apps for Office are published by uploading its manifest to an App Catalog 
•Different App Catalogs 
•Office Store 
•SharePoint App Catalog 
•File share App Catalog 
•Exchange 2013 App Catalog (mail apps only)
Office Store
For more info… 
•http://dev.office.com 
•https://code.msdn.microsoft.com/officeapps/Apps-for-Office-code- d04762b7
Contatti OverNet Education 
OverNet Education 
info@overneteducation.it 
www.overneteducation.it 
Tel. 02 365738 
@overnete 
www.facebook.com/OverNetEducationwww.linkedin.com/company/overnet-solutions

More Related Content

What's hot

Single page applications & SharePoint
Single page applications & SharePointSingle page applications & SharePoint
Single page applications & SharePoint
Fabio Franzini
 
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 appsChris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
Chris O'Brien
 
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
SPTechCon
 
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
Chris O'Brien - Modern SharePoint development: techniques for moving code off...Chris O'Brien - Modern SharePoint development: techniques for moving code off...
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
Chris O'Brien
 
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - referenceChris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
Chris O'Brien
 
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
Chris O'Brien
 
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developersChris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien
 
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
NCCOMMS
 
Sp administration-training-prism
Sp administration-training-prismSp administration-training-prism
Sp administration-training-prismThuan Ng
 
Building the SharePoint hot or not app ... or how not sell social to your boss
Building the SharePoint hot or not app ... or how not sell social to your bossBuilding the SharePoint hot or not app ... or how not sell social to your boss
Building the SharePoint hot or not app ... or how not sell social to your boss
Joris Poelmans
 
Sviluppare App per Office 2013 e SharePoint 2013
Sviluppare App per Office 2013 e SharePoint 2013Sviluppare App per Office 2013 e SharePoint 2013
Sviluppare App per Office 2013 e SharePoint 2013Giuseppe Marchi
 
Visio Services in SharePoint 2010
Visio Services in SharePoint 2010Visio Services in SharePoint 2010
Visio Services in SharePoint 2010Alexander Meijers
 
O365Con18 - Site Templates, Site Life Cycle Management and Modern SharePoint ...
O365Con18 - Site Templates, Site Life Cycle Management and Modern SharePoint ...O365Con18 - Site Templates, Site Life Cycle Management and Modern SharePoint ...
O365Con18 - Site Templates, Site Life Cycle Management and Modern SharePoint ...
NCCOMMS
 
JavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint DevelopersJavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint Developers
Rob Windsor
 
ECS19 - John White - Unlock SharePoint’s Reporting Secrets
ECS19 - John White - Unlock SharePoint’s Reporting SecretsECS19 - John White - Unlock SharePoint’s Reporting Secrets
ECS19 - John White - Unlock SharePoint’s Reporting Secrets
European Collaboration Summit
 
Building productivity solutions with Microsoft Graph
Building productivity solutions with Microsoft GraphBuilding productivity solutions with Microsoft Graph
Building productivity solutions with Microsoft Graph
Waldek Mastykarz
 
Getting Started with SharePoint Development
Getting Started with SharePoint DevelopmentGetting Started with SharePoint Development
Getting Started with SharePoint Development
Chakkaradeep Chandran
 
CSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
CSOM (Client Side Object Model). Explained @ SharePoint Saturday HoustonCSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
CSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
Kunaal Kapoor
 
[Wilen] Enriching conversations with your data in Microsoft Teams
[Wilen] Enriching conversations with your data in Microsoft Teams[Wilen] Enriching conversations with your data in Microsoft Teams
[Wilen] Enriching conversations with your data in Microsoft Teams
European Collaboration Summit
 
App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013
Toni Il Caiser
 

What's hot (20)

Single page applications & SharePoint
Single page applications & SharePointSingle page applications & SharePoint
Single page applications & SharePoint
 
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 appsChris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
 
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
 
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
Chris O'Brien - Modern SharePoint development: techniques for moving code off...Chris O'Brien - Modern SharePoint development: techniques for moving code off...
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
 
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - referenceChris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
 
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
 
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developersChris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developers
 
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
 
Sp administration-training-prism
Sp administration-training-prismSp administration-training-prism
Sp administration-training-prism
 
Building the SharePoint hot or not app ... or how not sell social to your boss
Building the SharePoint hot or not app ... or how not sell social to your bossBuilding the SharePoint hot or not app ... or how not sell social to your boss
Building the SharePoint hot or not app ... or how not sell social to your boss
 
Sviluppare App per Office 2013 e SharePoint 2013
Sviluppare App per Office 2013 e SharePoint 2013Sviluppare App per Office 2013 e SharePoint 2013
Sviluppare App per Office 2013 e SharePoint 2013
 
Visio Services in SharePoint 2010
Visio Services in SharePoint 2010Visio Services in SharePoint 2010
Visio Services in SharePoint 2010
 
O365Con18 - Site Templates, Site Life Cycle Management and Modern SharePoint ...
O365Con18 - Site Templates, Site Life Cycle Management and Modern SharePoint ...O365Con18 - Site Templates, Site Life Cycle Management and Modern SharePoint ...
O365Con18 - Site Templates, Site Life Cycle Management and Modern SharePoint ...
 
JavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint DevelopersJavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint Developers
 
ECS19 - John White - Unlock SharePoint’s Reporting Secrets
ECS19 - John White - Unlock SharePoint’s Reporting SecretsECS19 - John White - Unlock SharePoint’s Reporting Secrets
ECS19 - John White - Unlock SharePoint’s Reporting Secrets
 
Building productivity solutions with Microsoft Graph
Building productivity solutions with Microsoft GraphBuilding productivity solutions with Microsoft Graph
Building productivity solutions with Microsoft Graph
 
Getting Started with SharePoint Development
Getting Started with SharePoint DevelopmentGetting Started with SharePoint Development
Getting Started with SharePoint Development
 
CSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
CSOM (Client Side Object Model). Explained @ SharePoint Saturday HoustonCSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
CSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
 
[Wilen] Enriching conversations with your data in Microsoft Teams
[Wilen] Enriching conversations with your data in Microsoft Teams[Wilen] Enriching conversations with your data in Microsoft Teams
[Wilen] Enriching conversations with your data in Microsoft Teams
 
App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013
 

Similar to Sviluppare app per office

What's New for Developers in SharePoint 2013
What's New for Developers in SharePoint 2013What's New for Developers in SharePoint 2013
What's New for Developers in SharePoint 2013
CTE Solutions Inc.
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013
SPC Adriatics
 
Portal and Intranets
Portal and Intranets Portal and Intranets
Portal and Intranets
Redar Ismail
 
SharePoint Saturday/Friday Honolulu
SharePoint Saturday/Friday HonoluluSharePoint Saturday/Friday Honolulu
SharePoint Saturday/Friday Honolulu
Paul J. Swider
 
SharePoint 2013 APIs demystified
SharePoint 2013 APIs demystifiedSharePoint 2013 APIs demystified
SharePoint 2013 APIs demystified
SPC Adriatics
 
IBM Social Business Toolkit
IBM Social Business ToolkitIBM Social Business Toolkit
IBM Social Business Toolkit
Van Staub, MBA
 
SPTechCon Extending ECM for Developers
SPTechCon Extending ECM for DevelopersSPTechCon Extending ECM for Developers
SPTechCon Extending ECM for Developers
Paul J. Swider
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
Talbott Crowell
 
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and AzureCloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
Tobias Lekman
 
Anatomy of a mail app
Anatomy of a mail appAnatomy of a mail app
Anatomy of a mail app
SharePoint Saturday New Jersey
 
Oracle WebCenter portal
Oracle WebCenter portalOracle WebCenter portal
Oracle WebCenter portal
Addvantum
 
Developing a provider hosted share point app
Developing a provider hosted share point appDeveloping a provider hosted share point app
Developing a provider hosted share point app
Talbott Crowell
 
What's new for Developers in SharePoint 2013
What's new for Developers in SharePoint 2013What's new for Developers in SharePoint 2013
What's new for Developers in SharePoint 2013
Marius Constantinescu [MVP]
 
Share point development 101
Share point development 101Share point development 101
Share point development 101
Becky Bertram
 
Developer’s Independence Day: Introducing the SharePoint App Model
Developer’s Independence Day:Introducing the SharePoint App ModelDeveloper’s Independence Day:Introducing the SharePoint App Model
Developer’s Independence Day: Introducing the SharePoint App Model
bgerman
 
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClassECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
European Collaboration Summit
 
CNIT 121: 14 Investigating Applications
CNIT 121: 14 Investigating ApplicationsCNIT 121: 14 Investigating Applications
CNIT 121: 14 Investigating Applications
Sam Bowne
 
Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint app
Talbott Crowell
 
Mastering react with redux
Mastering react with reduxMastering react with redux
Mastering react with redux
Gaurav Singh
 
Xamarin.Forms Bootcamp
Xamarin.Forms BootcampXamarin.Forms Bootcamp
Xamarin.Forms Bootcamp
Mike Melusky
 

Similar to Sviluppare app per office (20)

What's New for Developers in SharePoint 2013
What's New for Developers in SharePoint 2013What's New for Developers in SharePoint 2013
What's New for Developers in SharePoint 2013
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013
 
Portal and Intranets
Portal and Intranets Portal and Intranets
Portal and Intranets
 
SharePoint Saturday/Friday Honolulu
SharePoint Saturday/Friday HonoluluSharePoint Saturday/Friday Honolulu
SharePoint Saturday/Friday Honolulu
 
SharePoint 2013 APIs demystified
SharePoint 2013 APIs demystifiedSharePoint 2013 APIs demystified
SharePoint 2013 APIs demystified
 
IBM Social Business Toolkit
IBM Social Business ToolkitIBM Social Business Toolkit
IBM Social Business Toolkit
 
SPTechCon Extending ECM for Developers
SPTechCon Extending ECM for DevelopersSPTechCon Extending ECM for Developers
SPTechCon Extending ECM for Developers
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
 
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and AzureCloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
 
Anatomy of a mail app
Anatomy of a mail appAnatomy of a mail app
Anatomy of a mail app
 
Oracle WebCenter portal
Oracle WebCenter portalOracle WebCenter portal
Oracle WebCenter portal
 
Developing a provider hosted share point app
Developing a provider hosted share point appDeveloping a provider hosted share point app
Developing a provider hosted share point app
 
What's new for Developers in SharePoint 2013
What's new for Developers in SharePoint 2013What's new for Developers in SharePoint 2013
What's new for Developers in SharePoint 2013
 
Share point development 101
Share point development 101Share point development 101
Share point development 101
 
Developer’s Independence Day: Introducing the SharePoint App Model
Developer’s Independence Day:Introducing the SharePoint App ModelDeveloper’s Independence Day:Introducing the SharePoint App Model
Developer’s Independence Day: Introducing the SharePoint App Model
 
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClassECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
 
CNIT 121: 14 Investigating Applications
CNIT 121: 14 Investigating ApplicationsCNIT 121: 14 Investigating Applications
CNIT 121: 14 Investigating Applications
 
Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint app
 
Mastering react with redux
Mastering react with reduxMastering react with redux
Mastering react with redux
 
Xamarin.Forms Bootcamp
Xamarin.Forms BootcampXamarin.Forms Bootcamp
Xamarin.Forms Bootcamp
 

More from Fabio Franzini

Use the PnP SharePoint Starter Kit to create your intranet in a box
Use the PnP SharePoint Starter Kit to create your intranet in a boxUse the PnP SharePoint Starter Kit to create your intranet in a box
Use the PnP SharePoint Starter Kit to create your intranet in a box
Fabio Franzini
 
All about Office UI Fabric
All about Office UI FabricAll about Office UI Fabric
All about Office UI Fabric
Fabio Franzini
 
All about SPFx
All about SPFxAll about SPFx
All about SPFx
Fabio Franzini
 
Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)
Fabio Franzini
 
Whymca - Sviluppare applicazioni mobile native in html e javascript
Whymca - Sviluppare applicazioni mobile native in html e javascriptWhymca - Sviluppare applicazioni mobile native in html e javascript
Whymca - Sviluppare applicazioni mobile native in html e javascriptFabio Franzini
 
Sviluppare applicazioni mobile native in html e java script
Sviluppare applicazioni mobile native in html e java scriptSviluppare applicazioni mobile native in html e java script
Sviluppare applicazioni mobile native in html e java script
Fabio Franzini
 

More from Fabio Franzini (6)

Use the PnP SharePoint Starter Kit to create your intranet in a box
Use the PnP SharePoint Starter Kit to create your intranet in a boxUse the PnP SharePoint Starter Kit to create your intranet in a box
Use the PnP SharePoint Starter Kit to create your intranet in a box
 
All about Office UI Fabric
All about Office UI FabricAll about Office UI Fabric
All about Office UI Fabric
 
All about SPFx
All about SPFxAll about SPFx
All about SPFx
 
Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)
 
Whymca - Sviluppare applicazioni mobile native in html e javascript
Whymca - Sviluppare applicazioni mobile native in html e javascriptWhymca - Sviluppare applicazioni mobile native in html e javascript
Whymca - Sviluppare applicazioni mobile native in html e javascript
 
Sviluppare applicazioni mobile native in html e java script
Sviluppare applicazioni mobile native in html e java scriptSviluppare applicazioni mobile native in html e java script
Sviluppare applicazioni mobile native in html e java script
 

Recently uploaded

FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 

Sviluppare app per office

  • 1. VS002 -Sviluppare App per Office Fabio Franzini –SharePoint MVP
  • 2. •SharePoint MVP •Senior Consultant and Software Engineer •MCT Trainer •MCPD Web Applications, MCTS SharePoint 2010/2007 •Official Ignite Trainer for SharePoint 2013 & 2010 in Italy •Over 10 years experience in IT as a software engineer •Twitter: @franzinifabio •Email: fabio@fabiofranzini.com •Web: www.fabiofranzini.com About Me
  • 3. “SharePoint 2013 App Model Succinctly” SharePoint2013 App Model Succinctly is a hands-on approach to learning how to develop SharePoint apps. Author Fabio Franzini introduces readers to the concepts that make SharePoint 2013 simpler and easier to use than previous development models. You’ll learn to develop both on-premises and cloud applications in Visual Studio 2013, then enable your apps to communicate with SharePoint using the client-side object model (CSOM) or the representational state transfer (REST) API http://bit.ly/1ytzthl
  • 4. Agenda •Introduction •Document-based Apps •Mail Apps •Distribution
  • 6. Microsoft Vision: Modernizing the Platform Today’s Market Today’s Trends Microsoft Principles
  • 7. Types of Office Apps TaskPane App Content App Mail App •Assist userworking with one or more documents •Works in Word,Excel, PowerPoint and Project •Adds embeddedcontent/functionality to documents •Only in Excel and Excel web app •Extendsmessage and appointments with custom UI and behavior •Used in Outlook and Outlook Web App
  • 8. Anatomy of an Office App Each App for Office is based on XML-based manifest •Points to a web page •Defines the type of the App for Office •Defines which Office applications it supports •Defines required capabilities 8
  • 9. •Cross Platform •Designed from the ground up, Abstraction, Async •Cross App •Common objects and methods across apps (selection, tables, settings) •Web Standards •ECMAScript5 •Performance •Async, limits Principles
  • 10. Server Client Browser Host Common App Architecture Web Server Host SharePoint & Exchange APP Client APIs Server APIs Other Devices & Clients 3rdParty Services Office
  • 11. Office JavascriptAPI OverviewDocumentOffice.contextCustomXmlPartsBindingsSettingsR/W SelectionMailboxProperties & SettingsUser ProfileEWSItemProjectTasksProject Info
  • 13. •Apps for Office code run in separate sandboxed process •Sandbox infrastructure leverages Web Control from IE9/IE10 •App for Office support for HTML5 and CSS3 consistent with IE9/IE10 support •Browser-rendered Apps based •Works across all popular browsers (might require the latest version) •App runs its it own iFrameinside outer an iFramewith WEF runtime •Communications between iFramesrelies on HTML5 postMessageAPI Office Application Architecture
  • 14. •Document-basedApps for Office have common objects •Used to read and write content to and from document •Used to create bindings and event handlers A common API for document-based AppsCommon Objects x-Office! Text Table Matrix Charts Shapes Picture Hyperlink Word Art XML Parts Clip Art
  • 16. •All data access starts through document object •Read/write access to user selection •Event handler for selection change event •Three data types are supported •Text •Matrix •Table Interacting With Document Content
  • 17. Working with Selections Current selection Task Pane App reads current selection and translates Content App reads current selection and translates
  • 18. App Bindings Bound range of stock symbols App handles SelectionChanged event associated with the binding to retrieve news associated with stock symbol
  • 19. •You can read/write document settings •ReadDocument •You have read access to document •You can subscribe to change events •WriteDocument •Write content into document •ReadWriteDocument •ReadDocument+ WriteDocument •FullAccess •All Permissions + use of Silverlight & Flash Requested Capabilities
  • 22. •Write once, run anywhere Outlook runs •Same Mail App runs on Outlook and OWA •Development model based on activation rules •Activation rules run whenever user selects item •Activated mail apps are added into Outlook UI •Designed to be secure •Mail apps run in an isolated, sandboxed process •Mail apps run with a three-tier permission model Mail Apps
  • 23. •Mail Apps require Exchange 2013 •Exchange Server hosts users mailbox •Exchange Server hosts app manifest files •Web server hosts HTML for Mail App •Mail App can make callback to Web server •Mail App can call Exchange Web Services (EWS) EWS calls can be brokered through Web server Mail App Hosting EWS
  • 24. •Exchange detects specific entities •Exchange 2013 inspects each incoming message for text, such as postal addresses, URLs, etc. •These entities are stamped on each item as a property. Extracted Entities Entity Type Text Detected Address US postal addresses(1 Microsoft Way, Redmond WA, 98052) EmailAddress Any SMTP address MeetingSuggestion A reference to an event or meeting(Let’s meetnext Tuesday for lunch.) Contact A personal name relatedto other entities (Randy Byrne, 1 Microsoft Way, Redmond WA, 98052) PhoneNumber US telephone numbers(555) 867-5309 TaskSuggestion Actionable sentences in anemail, Please install office 2013 on my computer. Url A filename or web address
  • 25. •RuleCollection •Groups multiple rules together using AND or OR •Rule Collections can be nested within each other •ItemHasAttachment •Checks whether the item has an attachment •ItemHasRegularExpressionMatch •Checks for matches to the regex against body, subject or sender’s email address •ItemHasKnownEntity •Checks whether the item has the specified entity Activation rules
  • 26. Interact with Mailbox & Item properties .mailbox: •userProfile •item •display forms •user token •call EWS Office.context: •roamingSettings •displayLanguage .item .userProfile: •name •time zone •email address (Message) •message properties •entities •regex matches •custom props (Appointment): •apptproperties •entities •regex matches •custom props
  • 27. Low trust: end-user can install for self High trust: Exchange administrator must install •Restricted •Use only extracted item entities but no custom regular expressions •Partial OM access and no access makeEWSRequestAsync •ReadItem •Use custom regular expressions •Full JSOM access except no access to makeEWSRequestAsync •Read & write properties for current item •ReadWriteMailbox •Use Exchange Web Services (EWS) operations •Create, read, write items & folders •Send items Permissions and Capabilities Read/write mailbox permission Read item permission Restricted permission
  • 30. Publication to App Catalog •App for Office distribution/deployment model based on App Catalogs •Apps for Office are published by uploading its manifest to an App Catalog •Different App Catalogs •Office Store •SharePoint App Catalog •File share App Catalog •Exchange 2013 App Catalog (mail apps only)
  • 32. For more info… •http://dev.office.com •https://code.msdn.microsoft.com/officeapps/Apps-for-Office-code- d04762b7
  • 33. Contatti OverNet Education OverNet Education info@overneteducation.it www.overneteducation.it Tel. 02 365738 @overnete www.facebook.com/OverNetEducationwww.linkedin.com/company/overnet-solutions