SlideShare a Scribd company logo
1 of 33
Download to read offline
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 & SharePointFabio 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 appsChris 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 - referenceChris 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 developersChris 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 bossJoris 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 DevelopersRob 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 SecretsEuropean Collaboration Summit
 
Building productivity solutions with Microsoft Graph
Building productivity solutions with Microsoft GraphBuilding productivity solutions with Microsoft Graph
Building productivity solutions with Microsoft GraphWaldek Mastykarz
 
Getting Started with SharePoint Development
Getting Started with SharePoint DevelopmentGetting Started with SharePoint Development
Getting Started with SharePoint DevelopmentChakkaradeep 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 HoustonKunaal 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 TeamsEuropean Collaboration Summit
 
App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013Toni 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 2013CTE Solutions Inc.
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013SPC 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 HonoluluPaul J. Swider
 
SharePoint 2013 APIs demystified
SharePoint 2013 APIs demystifiedSharePoint 2013 APIs demystified
SharePoint 2013 APIs demystifiedSPC Adriatics
 
IBM Social Business Toolkit
IBM Social Business ToolkitIBM Social Business Toolkit
IBM Social Business ToolkitVan Staub, MBA
 
SPTechCon Extending ECM for Developers
SPTechCon Extending ECM for DevelopersSPTechCon Extending ECM for Developers
SPTechCon Extending ECM for DevelopersPaul 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 AzureTobias Lekman
 
Oracle WebCenter portal
Oracle WebCenter portalOracle WebCenter portal
Oracle WebCenter portalAddvantum
 
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 appTalbott Crowell
 
Share point development 101
Share point development 101Share point development 101
Share point development 101Becky 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 Modelbgerman
 
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 PowerClassEuropean Collaboration Summit
 
CNIT 121: 14 Investigating Applications
CNIT 121: 14 Investigating ApplicationsCNIT 121: 14 Investigating Applications
CNIT 121: 14 Investigating ApplicationsSam Bowne
 
Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appTalbott Crowell
 
Mastering react with redux
Mastering react with reduxMastering react with redux
Mastering react with reduxGaurav Singh
 
Xamarin.Forms Bootcamp
Xamarin.Forms BootcampXamarin.Forms Bootcamp
Xamarin.Forms BootcampMike 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 boxFabio Franzini
 
All about Office UI Fabric
All about Office UI FabricAll about Office UI Fabric
All about Office UI FabricFabio 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 scriptFabio 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

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Recently uploaded (20)

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 

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