520 likes | 685 Views
Wes Hackett. Bringing SharePoint information into Office through Office Apps. Wes Hackett. Principal Solution Architect. @weshackett wesley.hackett@contentandcode.com. a genda. introduction. introduction to Apps for Office. Apps closer look. Mail App. Task Pane and Content App.
E N D
Wes Hackett Bringing SharePoint information into Office through Office Apps
Wes Hackett Principal Solution Architect @weshackett wesley.hackett@contentandcode.com
agenda introduction introduction to Apps for Office Apps closer look Mail App Task Pane and Content App SharePoint hosted Office App opportunities
trends impacting the way we work Devices People Services 1billion 82% 50% of the world's online population engages in social networking of enterprise customers are “on the road” to cloud smartphonesby 2016, 350M of those being used at work
Office for Enterprises delightful social control extensible cloud
modernising the platform Today’s Trends Today’s Market Our Principles
three UI shapes for Office Apps Content App Task Pane App Mail App
Anatomy Web Page App Manifest HTML/CSS/JS <XML>
App development tools Use any tools you like Any editor that can manipulate text files Notepad, UltraEdit, etc. Great looking apps Microsoft provide the CSS, controls and templates Visual Studio 2012 Experience Project templates Excellent productivity features One tool to accomplish all of your development needs
App packaging and deployment App manifest (.xml) or .app package Developer Document Sharing Office Store or App Catalog Web Page Consumers & Corporate Users Web Server (Internet or Intranet)
App hosting models Provider-hosted “Bring your own server hosting infrastructure” SharePoint-hosted Host your code in SharePoint Client side technologies and declarative workflows Autohosted App Deploy to SharePoint, let SharePoint deploy to Azure for you Any Web Server (Online or On-premises) Windows Azure SharePoint (Online or On-premises) SharePoint (Online)
common App architecture Browser Host Web Server Host Server Client-side Logic HTML / CSS / JavaScript Server-side Logic Any language Office Mobile WinRT Mac Win32 Web Apps Server APIs Client APIs APP Tier 1 Tier 2 SharePoint Autohosted Provider-hosted Other ECMAScript 5 Web Sites Workflow IE Chrome FireFox Safari SQL SQL Windows Azure IIS / ASP.Net Other E.g. LAMP Client Office JS SharePoint JS (CSOM) CSOM REST Online On-premises SharePoint & Exchange Development Tools Visual Studio 2012, Napa or any standard Web development tool
common App architecture Browser Host Web Server Host Server Client-side Logic HTML / CSS / JavaScript Server-side Logic Any language Office Mobile WinRT Mac Win32 Web Apps Server APIs Client APIs APP Tier 1 Tier 2 SharePoint Autohosted Provider-hosted Other ECMAScript 5 Web Sites Workflow IE Chrome FireFox Safari SQL SQL Windows Azure IIS / ASP.Net Other E.g. LAMP Client Office JS SharePoint JS (CSOM) CSOM REST Online On-premises SharePoint & Exchange Development Tools Visual Studio 2012, Napa or any standard Web development tool
Office JavaScript API overview Office.context Project Mailbox Document Project Info Item R/W Selection Tasks User Profile Bindings EWS Settings Properties & Settings CustomXmlParts
Let’s take a look Mail app example
Mail App Mail App Availability Mail apps are available in Outlook, Outlook Web App and Mobile Outlook Web App. Subtle User Experience Mail apps are designed to remain unobtrusively in the background, yet easily activated when needed. Supplemental Information Contextual apps provide additional information based on rules applied to a messaging item.
Appear in messages and appointments Contextual to current item Cross platform, cross device
behind the scenes Manifest deployed to Exchange App added manifest saved to user’s mailbox Exchange 2013 is required for mail apps Cloud Service with app HTML + JS Exchange Server with app manifests • Outlook processes rules • Outlook 2013 client loads all manifests • Outlook processes rules from manifest on the selected item • Apps whose rules match are displayed as tabs User running Outlook • Outlook loads Office JS library • Clicking on app tab loads the app’s HTML and JS • Apps must reference Office.js and use it to interact with Outlook
extracted entities 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.
activation rules Itemls Checks if an item is a specific type (message, appt or custom item class) • 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 reg ex against body, subject or sender’s email address
permissions ReadWriteMailbox Limited EWS methods are allowed ReadItem Apps can access data from all entities Regular expressions allowed Full JS API is allowed EWS calls are not allowed Restricted App can access data from limited entities Regular expressions are blocked JS API limits item data access
possibilities Activate on patterns Bug tracking Package tracking Case number/PO status look-up Activate on entities or item classes News link summary Phone dialer Workflow around a custom Exchange item class Activate on all items CRM Social (LinkedIn) Display information about recipients
Let’s take a look Task Pane app example
task pane app • Part of the document • A task pane app is embedded within the content of the document. It is part of the document. • Familiar User Experience • Leveraging the task pane infrastructure, these apps leverage users familiarity with a popular Office UI paradigm. • Reference Information • Task Pane apps are perfect for providing reference information associated with a document.
task pane app • Layout Guidance • The default width of 350 pixels cannot be changed programmatically. Users can resize and move so design to adjust to different widths. • Context Menus • Developers have full control of the context menu inside an app. However, you can not take over, or add to the Office Task Pane menu. • Scrollbar Guidance • Vertical scrollbars are acceptable, use CSS to modify so they match Office scrollbars. Horizontal scrollbars should be avoided.
content app Content App • Part of the document • A content app is embedded within the content of the document. It is part of the document. • Implemented as an Excel shape • Print, resize, move, copy/paste, etc. The user is in complete control. • Travels with the document • The app travels with the document for easy, yet secure, distribution. An image is shown if the app is not available.
content app Set an appropriate size Specify an appropriate size for the app in the Manifest This example is sized too small – resize to avoid scrollbars • Layout Guidance • Content Agaves have a generous size limit of 2560x2048. Users can resize and move so design accordingly. Remember – content may print with the document. • Context Menus • Developers have full control of the context menu inside an app. However, you can not take over, or add to the Shape context menu. • Scrollbar Guidance • Scrollbars should be avoided within a content app. Size them appropriately within the manifest.
Let’s take a look Document Accelerate app example
Office enabled app for SharePoint Add apps for Office Integrated with a Document Library Embedded in the Document Template Deployed as part of the app for SharePoint Document Template App for SharePoint Document Library App
Apps for Office scenarios Resumes, Contracts YouTube Video, Photo Gallery Sales & Marketing, Finance, HR Content Authoring & Publishing Business Processes Rich Web content Data Visualisation, Analysis & Mash up Content & Project Management Data Analysis, Data Mash ups Maps, Custom charts, Lookups Team Collaboration Dashboards App Document Approval, Expenses Translation, Definitions, Dictionary, Help, Research Legal Forms, Financial Reports Forms & Reports Reference Tools Workflow Content Authoring & Publishing Doc builders, Print services Document Template Document Template Contextual Content & Services Business data lookup (CRM), Contextual forms (surveys) App for SharePoint App App App App Workflow and Collaboration Project tracking, Coauthoring Lists & Doc Libs Workflow App Parts Custom Actions Event Receivers More…
Let’s take a deeper dive Let’s take a look
visualisations Show data in useful ways Bing maps example Binding to data Dynamically show the visualisation of the selected data Great looking apps Create the dashboard experience
contextual content Only shown when needed Rules activation Only shown when the item matches the rules Great looking apps Showing information together when contextually relevant
data enhancement Combine data Bring together separate sources of data into one view Apply transformation and enhancement to data Reaction to change Bound data services allow document to feel alive Great looking apps Real-time dashboarding
reference & research Enable search Find related information to the selections in the document Validation and Improvements Add authoritative content to your document Great looking apps Add content from reference sources to improve your doc
master/detail Rich Information Bring up rich information to supplement you content Great looking apps Add to your users experience
document authoring Assisting your user Help your user create the document Great looking apps Improve your document quality Assist repetitive tasks Allow users to focus on distinct content Provide easy completion for repetitive document sections
document publishing Send document to a service Send your document to other services like Fax or hard print Great looking apps Allow others to utilise your documents in other formats
content transformation Enhance your content Send your document to other services for enhancement Translate content to other languages or formats Great looking apps Let people interact with your organisation from other formats
social Add social to Office Add your own social experience and sources to Office Great looking apps Bring new experiences to your user while they are inside Office
dynamic documents Assist rendering structured data Help users to incorporate their structured data into new or existing documents Great looking apps Help users with new document templates for complex structured data