Post on 18-Dec-2014
description
transcript
Anatomy of a Mail app
Who am I?
• I am the founder of the Atlanta SharePoint User Group and have been a staple in the local .NET and SharePoint communities since the days of SharePoint 2003. I have been working exclusively with SharePoint since 2005 and am an 8 time SharePoint MVP. My IT career began in 1999 when I first moved to the United States from Canada after being recruited by an international consulting firm. After getting settled in, I started putting in my time (roughly 10 years) at various local firms, including Definition 6, Intellinet, and Slalom Consulting. My current employer, B&R Business Solutions, is a New Jersey based consulting company with a deep focus on SharePoint. My specialty is custom development, but I have worked in many other areas, including product development, architecture, project management and business analysis to name a few.
• When not sitting in front of my multiple monitors in my home office, coding away like mad, I enjoy spending time with my exceptionally awesome and beautiful daughter Lily and gallivanting around the globe (mostly just back to Canada) to visit and spend time with my fiancé Gillian.
• You can find me moderating or speaking at the monthly meeting of the Atlanta SharePoint User Group (@atlspug, #atlspug), online via Twitter (@jdattis), LinkedIn (www.linkedin.com/in/jakedanattis/), at a SharePoint Conference or SharePoint Saturday, or on Skype (jdattis).
• I live in Roswell, Georgia, where the sun is hot and my [cool weather] fescue lawn is both my love and my evil nemesis.
What could possibly happen?
My car…
Agenda
• Roadmap for Apps for Office, VSTO, and VBA
• Mail apps for Outlook
• Types of Mail apps
• Demo – A Mail app
• Demo – Manifest & API
• Adding an attachment
• Modifying message body
• Managing user settings
• Demo – Putting the puzzle together
• Resources
Roadmap for Apps for Office, VSTO, and VBA
Visual Basic for Applications (VBA) macros• In-product experience
• Visual Basic 6
• Decade+ old technology
• Limited in terms of UI customizability, tooling and framework support
• Code is typically stored and distributed directly in a document
• Application-level solutions are possible, but not the norm
• Involves IT and Group Policy
• Maintenance virtually impossible after initial distribution
Managed add-ins built with Visual Studio Tools for Office (VSTO)• Full language support of C# and Visual Basic
• Tight integration with the Office client applications
• Rich APIs
• Customization of the user interface
• Can also target Office 2007 and Office 2010
• Can deeply interact with other programs or resources on the host computer
• Requires an “installation”, therefore likely involves IT
• May have upgrade requirements and other dependencies
• Runs with the same security privilege as any other desktop program
• Might affect performance and/or stability of the host Office application
Apps for Office
• No need to install an add-in
• No need to enable a macro
• Download, install and use from Office Store or corporate app catalog
• Friction-free ease of distribution
• Run in a sandbox (no, not the SharePoint sandbox )
• Use in Office 2013 and a growing selection of Office Web Apps
• Built with “any” web technology
• Leverage your existing development skills
• Connect rich web content and services contextually with Office
Comparison
Apps for Office VSTO VBA
Automation and interaction with the host computer
Interaction with the web
User Interface customization
partial* partial
Interaction with the Office client object models
partial*
Offline Availability partial**
Support for latest tools and technologies
Support for team development and source-control
Comparison
Apps for Office VSTO VBA
Ability to target multiple host applications with one codebase
Ability to run code at application-level, across documents
partial
Security and sandboxed environment
Ease of distribution, lifecycle, and telemetry
Built-in monetization opportunity
Cloud and Desktop Compatibility
Office 2013+, and web-based O365 clients
Office 2007+(desktop only)
Office 2000+ (desktop only)
Mail apps for Outlook
• A web page that is hosted inside Outlook
• Made available by Outlook contextually with respect to the item the user is currently viewing or composing
• Started by the user
• Purpose is to enhance the browsing or authoring experience
• Runs seamlessly across the Outlook rich client, Outlook Web App and OWA for Devices
• Installed once per mailbox, available in all of the above
• Supported by email messages, meeting requests, responses and cancelations, and appointments
Types of Mail apps
Read
• Activated when the user is viewing a message or appointment
Compose
• Activated when the user is composing a message or appointment
Architecture Components
• An Exchange Server
• The user’s mailbox
• App manifest
• An Outlook client
• User views or composes a message or appointment
• A web server
• Mail app source files
• Just a plain old web application using the technology of your choosing
• CDN
• JavaScript API for Office
• Other (if needed)
• SharePoint
• SQL
• etc...
Component interaction
Demo – A Mail app
Demo – Manifest & API
Demo – Putting the puzzle together
Resources
• Roadmap for Apps for Office, VSTO, and VBA
• http://blogs.msdn.com/b/officeapps/archive/2013/06/18/roadmap-for-apps-for-office-vsto-and-vba.aspx
• Mail apps for Outlook
• http://msdn.microsoft.com/en-us/library/office/fp161135(v=office.15).aspx
• Apps for Office
• http://msdn.microsoft.com/en-US/office/dn448457
• Apps for SharePoint
• http://msdn.microsoft.com/en-US/office/dn448479
• Office Dev Center
• http://dev.office.com/