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

COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
Monitoring Java Application Security with JDK Tools and JFR Events.pdf
Monitoring Java Application Security with JDK Tools and JFR Events.pdfMonitoring Java Application Security with JDK Tools and JFR Events.pdf
Monitoring Java Application Security with JDK Tools and JFR Events.pdfAna-Maria Mihalceanu
 
COMPUTER_GROUP 7_10 ST. JOHN VIANNEY.pptx
COMPUTER_GROUP 7_10 ST. JOHN VIANNEY.pptxCOMPUTER_GROUP 7_10 ST. JOHN VIANNEY.pptx
COMPUTER_GROUP 7_10 ST. JOHN VIANNEY.pptxabalosyvonne42
 
Checklist to troubleshoot CD moisture profiles.docx
Checklist to troubleshoot CD moisture profiles.docxChecklist to troubleshoot CD moisture profiles.docx
Checklist to troubleshoot CD moisture profiles.docxNoman khan
 
Reference Domain Ontologies and Large Medical Language Models.pptx
Reference Domain Ontologies and Large Medical Language Models.pptxReference Domain Ontologies and Large Medical Language Models.pptx
Reference Domain Ontologies and Large Medical Language Models.pptxChimezie Ogbuji
 
ict grade 12 lesson 2 sinhala medium notes pdf
ict grade 12 lesson 2 sinhala medium notes pdfict grade 12 lesson 2 sinhala medium notes pdf
ict grade 12 lesson 2 sinhala medium notes pdfruhisiya9
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
AI Health Agents: Longevity as a Service in the Web3 GenAI Quantum Revolution
AI Health Agents: Longevity as a Service in the Web3 GenAI Quantum RevolutionAI Health Agents: Longevity as a Service in the Web3 GenAI Quantum Revolution
AI Health Agents: Longevity as a Service in the Web3 GenAI Quantum RevolutionMelanie Swan
 
Grade 10 Computer Lesson 5: What is Blogging?
Grade 10 Computer Lesson 5: What is Blogging?Grade 10 Computer Lesson 5: What is Blogging?
Grade 10 Computer Lesson 5: What is Blogging?rosariokimberlyannma
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
RTL Design Methodologies_Object Automation Inc
RTL Design Methodologies_Object Automation IncRTL Design Methodologies_Object Automation Inc
RTL Design Methodologies_Object Automation IncObject Automation
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
DS Lesson 2 - Subsets, Supersets and Power Set.pdf
DS Lesson 2 - Subsets, Supersets and Power Set.pdfDS Lesson 2 - Subsets, Supersets and Power Set.pdf
DS Lesson 2 - Subsets, Supersets and Power Set.pdfROWELL MARQUINA
 
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxBabel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxYounusS2
 
GenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncGenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncObject Automation
 
Introduction to Quantum Computing
Introduction to Quantum ComputingIntroduction to Quantum Computing
Introduction to Quantum ComputingGDSC PJATK
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
5 Considerations For Choosing The Best Gutter Guards
5 Considerations For Choosing The Best Gutter Guards5 Considerations For Choosing The Best Gutter Guards
5 Considerations For Choosing The Best Gutter GuardsCPR Gutter Protection
 

Recently uploaded (20)

COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
Monitoring Java Application Security with JDK Tools and JFR Events.pdf
Monitoring Java Application Security with JDK Tools and JFR Events.pdfMonitoring Java Application Security with JDK Tools and JFR Events.pdf
Monitoring Java Application Security with JDK Tools and JFR Events.pdf
 
COMPUTER_GROUP 7_10 ST. JOHN VIANNEY.pptx
COMPUTER_GROUP 7_10 ST. JOHN VIANNEY.pptxCOMPUTER_GROUP 7_10 ST. JOHN VIANNEY.pptx
COMPUTER_GROUP 7_10 ST. JOHN VIANNEY.pptx
 
Checklist to troubleshoot CD moisture profiles.docx
Checklist to troubleshoot CD moisture profiles.docxChecklist to troubleshoot CD moisture profiles.docx
Checklist to troubleshoot CD moisture profiles.docx
 
Reference Domain Ontologies and Large Medical Language Models.pptx
Reference Domain Ontologies and Large Medical Language Models.pptxReference Domain Ontologies and Large Medical Language Models.pptx
Reference Domain Ontologies and Large Medical Language Models.pptx
 
ict grade 12 lesson 2 sinhala medium notes pdf
ict grade 12 lesson 2 sinhala medium notes pdfict grade 12 lesson 2 sinhala medium notes pdf
ict grade 12 lesson 2 sinhala medium notes pdf
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
AI Health Agents: Longevity as a Service in the Web3 GenAI Quantum Revolution
AI Health Agents: Longevity as a Service in the Web3 GenAI Quantum RevolutionAI Health Agents: Longevity as a Service in the Web3 GenAI Quantum Revolution
AI Health Agents: Longevity as a Service in the Web3 GenAI Quantum Revolution
 
Grade 10 Computer Lesson 5: What is Blogging?
Grade 10 Computer Lesson 5: What is Blogging?Grade 10 Computer Lesson 5: What is Blogging?
Grade 10 Computer Lesson 5: What is Blogging?
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
RTL Design Methodologies_Object Automation Inc
RTL Design Methodologies_Object Automation IncRTL Design Methodologies_Object Automation Inc
RTL Design Methodologies_Object Automation Inc
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
DS Lesson 2 - Subsets, Supersets and Power Set.pdf
DS Lesson 2 - Subsets, Supersets and Power Set.pdfDS Lesson 2 - Subsets, Supersets and Power Set.pdf
DS Lesson 2 - Subsets, Supersets and Power Set.pdf
 
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxBabel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptx
 
GenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncGenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation Inc
 
Introduction to Quantum Computing
Introduction to Quantum ComputingIntroduction to Quantum Computing
Introduction to Quantum Computing
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
5 Considerations For Choosing The Best Gutter Guards
5 Considerations For Choosing The Best Gutter Guards5 Considerations For Choosing The Best Gutter Guards
5 Considerations For Choosing The Best Gutter Guards
 

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