47
park the future. May 4 – 8, 2015 Chicago, IL

SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Embed Size (px)

Citation preview

Page 1: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Spark the future.

May 4 – 8, 2015Chicago, IL

Page 2: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Developer to Developer: Meeting Custom Needs with Microsoft ProjectAesha ShahDan MacDonaldEli Sheldon

BRK3120

Page 3: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Developing for Microsoft Project

What is Microsoft Project Online \ Project ServerMicrosoft Project Online is a flexible online solution for project portfolio management (PPM) and everyday work. Delivered through Office 365, Project Online enables organizations to get started, prioritize project portfolio investments and deliver the intended business value—from virtually anywhere on nearly any device.

Microsoft Project Server 2013 is a flexible on-premises solution for project portfolio management (PPM) and everyday work. Team members, project participants, and business decision makers can get started, prioritize project portfolio investments and deliver the intended business value from virtually anywhere.

Page 4: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Apps

Page 5: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Apps Add-ins

Page 6: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Add-ins for SharePoint

Aesha ShahProgram Manager IIMicrosoft

Page 7: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

SharePoint

SharePoint 2007

Sandbox

SharePoint 2010

SharePoint

Azure, IIS, LAMP, etc…

_api

SharePoint 2013

Extensibility Model: Past, Present and Future

Page 8: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

OverviewCloud Ready ModelProject Server Add-ins are SharePoint Add-insWell defined lifecycle and isolation policiesWork on-premises and online with one codebaseCan be hosted in SharePoint (JS), Azure (.Net) or anywhere else

Web standards based technologiesEmbracing web technologies including HTML, JavaScript, REST/ODATA 4, Oauth 2.0

Add-ins should be simpleDesigned primarily as light-weight solutionsFull-blown solutions can be broken down into functions

Acquire add-in from integrated storesEasy to discover 3rd party add-ins and get more done

Page 9: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Hosting

SharePoint-Hosted Build your whole add-in or

use SharePoint for list and document storage in autohosted or provider-hosted add-ins.

Provider-hosted Used for add-ins that

require the greatest amount of flexibility and scalability and toolset and backend services that cross add-in instances.

Hosting options provide the flexibility and scalability your add-in needs

Page 10: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Project Server Add-in ScenariosCustom methodologies and templatesTargeted scenarios to specific industries (hospitals, IT, government, etc)

Line of Business application integrationAutomated timesheet data sync with ERP

Reporting dashboards and web partsSurface high-level real-time project data with no configuration needed

Contextual training contentTutorials and automated wizards

Page 11: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

User ExperiencesImmersive full page (all add-ins)Implement complete app experiences

to satisfy business scenarios

Part (optional)Create parts that can interact with the SharePoint experience

UI custom actions (optional)Extend existing functionality with new commands

Page 12: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Add-In Launch<?xml version="1.0" encoding="utf-8"?><App xmlns="http://schemas.microsoft.com/sharepoint/2012/app/manifest" Name="AwesomeCharts" ProductID="{02416182-9d1b-4859-8ebb-560befab1c92}" Version="1.0.0.1" SharePointMinVersion="15.0.0.0"> <Properties> <Title>Awesome Charts</Title> <StartPage>~appWebUrl/Pages/Default.aspx?{StandardTokens}</StartPage> </Properties> <AppPrincipal> <Internal /> </AppPrincipal> <AppPermissionRequests> <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="Read" /> </AppPermissionRequests></App>

Page 13: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Part<?xml version="1.0" encoding="utf-8"?><Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <ClientWebPart Title="PayPalTest" Name="PayPal Test" Description="This is a basic app part with custom properties." ><Content Src="~appWebUrl/Pages/ButtonPage.aspx?{StandardTokens}&amp;RemoteAppUrl=~remoteAppUrl&amp;Price=_Price_" Type="html"/> <Properties>

<Property Name="Price" Type="string" RequiresDesignerPermission="true" DefaultValue="0" WebCategory="Product Info" WebDisplayName="Product's Price"> </Property>

</Properties> </ClientWebPart></Elements>

Page 14: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Custom Actions<?xml version="1.0" encoding="utf-8"?><Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <!-- Adds an ECB custom action to a list in the host web site. --> <!-- Create a new custom list and add a new item to it. This custom action will be on the new item's ECB --> <CustomAction Id="3f3fcc26-ace9-48ad-b58c-289131c369cf.HostWebPinAction" RegistrationType="ContentType" RegistrationId="0x01" Location="EditControlBlock" Sequence="100" Title=“PinThis!"> HostWebDialog="true" HostWebDialogHeight="500" HostWebDialogWidth="600"

<UrlAction Url="https://shareboard.azurewebsites.net/Pages/Default.aspx?{StandardTokens}&amp;WebUrl={SiteUrl}&amp;ItemId={ItemId}&amp;ListId={ListId}" /> </CustomAction></Elements>

Page 15: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Office365 Apis• Released ~months ago• Restful APIs leveraging oData 4.0 and

oAuth 2.0• Allow apps to connect to data in any

Office365 workload (calendar, mail, oneDrive for Business, contacts, project – coming soon)

• Leverage Azure AAD as the auth provider to connect to your office365 identity to consume these resources

Page 16: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

My Apps

Page 17: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

My Apps

Page 18: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Distribution

Page 19: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

End users and teams have access to the add-ins they need to get their job done

IT admins have the right tools and monitoring to empower users to acquire add-ins from the store

Integrated Store

Page 20: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Licensing models (Office365, SP and Add-Ins)

Duration User Limit

FreePerpetual Unlimited

Trial30d, 60d, 120d or unlimited

N (per user) or Unlimited

PaidPerpetual N (per user) or Unlimited

Subscription (new)

Monthly N (per user) or Unlimited

Page 21: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Corporate Catalog / ManagementInstall Any Add-in You WantAdd-ins can be installed directly without publishing into the marketplace or going through validation process

Catalog of All Your Add-ins All add-ins from marketplace and add-ins installed manually surfaced in one place

Manage Permissions and LicensesEasy to distribute to users and to change permissionsVisibility into add-in usage by all users

Page 22: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Project Add-ins

Eli SheldonProgram Manager IIMicrosoft

Page 23: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

What is an Office Add-in?

Office Store or Add-in Catalog

Web server

Manifest(XML)

Web page(HTML + JS)+ =

Office Add-in

Page 24: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Supported by Project

What does an Office Add-in look like?

Task Pane Contextual Add-inContent Add-in

Adds embedded content /

functionality into document

Assists user working with one or more

documents

Detects content and offers additional

functionality

Page 25: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Project Add-insFunctionalityRead selected task/resource or any task/resource by IDWrite back to the projectData/settings persistence through local storageAdd-ins are loaded by the user and are not tied to the project plan

Specific Project set of APIs:Access to Tasks, Resources, Views, and Project containers getTaskAsync(), getProjectFieldAsync(), setResourceFieldAsync(), getMaxTaskIndexAsync()…Event handlers for task, resource, view changes taskSelectionChanged(), viewSelectionChanged()…

Yellow items are new in Project 2016!

Page 26: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Scenarios for Project Add-insExtended client functionalityScheduling suggestions and automatic fixes based on project management standardsContextual cloud-hosted training determined by views and selectionConnect social networking and external business solutions with Project

Surface SharePoint and Project Online content directly in the clientEnhanced cross-project decision making based on your full portfolioLeverage SharePoint collateral from project sites and team sitesBring Project Online data into Word, Excel, PowerPoint, Outlook

Page 27: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Development ToolsAny text editor will doHTML webpages and related JavaScript and CSS files XML manifest file defining locations, permissions and metadata

Microsoft Visual Studio provides the best experienceOffice Add-in tools and templates installed out-of-the-boxAllows rich debugging experience – one click to run your add-in in Project with familiar diagnostics and breakpointsFull IntelliSense support for Project Add-ins helps you hit the ground running along with MSDN documentation

Page 28: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Demo: Project Add-in

Eli Sheldon

Page 29: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Developer to Developer: Meeting Custom Needs with Microsoft ProjectDaniel MacDonald

Director of DevelopmentSensei Project Solutions

Page 30: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Your Presenter

Daniel MacDonaldDirector of Development, Sensei Project SolutionsPast 20 years working with Microsoft development platformsProject Server and Project developmentLeading Apps Initiative at Sensei Project Solutions

Page 31: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Meeting Custom Needs with Microsoft Project

Learning MoreResources for Project Development

Developing for Microsoft ProjectCSOM, JSOM and More

Microsoft Project Online / Project ServerIntroduction

Page 32: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Developing for Microsoft Project

Page 33: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Microsoft Project Online \ Project Server

Project Portfolio Management (PPM)Microsoft Project Online \ Project Server takes the functionality of Microsoft Project on the Desktop and add features such as prioritize project portfolio investments, resource capacity and demand and time tacking.

Parallel FunctionalityMicrosoft Project Server 2013 is a on-premises solution that is deployed within an organization’s own environment.

Microsoft Project Online is a flexible cloud solution that reduces much of a effort required to deploy and maintain the PPM environment.

Page 34: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Opportunities

2%-

5%IT Budget Savings

+32%Schedule Performance

+22%Time to Market

+37%Strategic Alignment

43%Cost Overruns

68%Challenged or Failed

82%Schedule Overruns

$50BFailed projects in US

Improvements with PPM

The reality of projects

Page 35: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Application Scenarios

Microsoft Project AnywhereSensei Task Master

Visibility and InsightSensei Portfolio Dashboard

Project MaintenanceSensei Bulk Update

Page 36: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Interfacing with Project

JSOMJavaScript Object ModelJavaScript, JQuerySharePoint Hosted SharePoint Add-ins

CSOMClient Side Object ModelC#, Visual BasicWindows Applications, Provided Hosted SharePoint Add-ins

Page 37: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Project Owner UpdateCSOM

Daniel MacDonald

Page 38: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Project Owner UpdateJSOM

Daniel MacDonald

Page 39: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Interfacing with Project – Other MethodsOData Web Services Project Server Reporting Service - OData<PWA Web URL>\_api\projectdata\ProjectsEx. https:\\senseiprojectsolutions.sharepoint.com\sites\pwadev\_api\projectdata\Projects

Rest Interface for Project Online<PWA Web URL>\_api\projectservice\ProjectsEx. https:\\senseiprojectsolutions.sharepoint.com\sites\pwadev\_api\projectservice\Projectshttp://<sitecollection>/<site>/_api/ProjectServer/Projects/add(parameters)

Project Server Interface - PSITraditional Method of access Project ServerDoes not support Project Online

Page 40: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

OData – Project Reporting Service

Test OData URLs in BrowserGet Projects<PWA Web URL>/_api/projectdata/Projects

Get Resource<PWA Web URL>/_api/projectdata/Resources

Add Options<PWA Web URL>/_api/projectdata/Resources?$select=ResourceId,ResourceName,ResourceEmailAddress&$filter=ResourceIsActive eq true

Page 41: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Sensei Portfolio Dashboard™

Daniel MacDonald

Page 42: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Learning More

Page 43: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

ReferencesOffice Dev Center: Main: msdn.microsoft.com/officeApps for Office and SharePoint: msdn.microsoft.com/library/office/fp161507.aspxProject 2013: msdn.microsoft.com/library/office/fp161358.aspx

MSDN Forums: Apps for Office and SharePoint: blogs.msdn.com/b/officeappsProject Customization and Programming: social.msdn.microsoft.com/Forums/office/en-US/home?forum=project2010custprog

MSDN Blogs:Getting started with app development: blogs.office.com/2013/08/08/getting-started-with-app-development

Microsoft Virtual Academy:Courses, Live Events: microsoftvirtualacademy.com

Page 44: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Related SessionsFND2202 Keynote: Office Development matters, and here’s why

BRK3157 Light up mobile apps with Office 365 APIs

BRK3199 Supercharging your custom solutions with the Office 365 unified API endpoint

Page 45: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Questions?

Page 46: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

Visit Myignite at http://myignite.microsoft.com or download and use the Ignite Mobile App with the QR code above.

Please evaluate this sessionYour feedback is important to us!

Page 47: SharePoint SharePoint 2007 Sandbox SharePoint 2010 SharePoint Azure, IIS, LAMP, etc… _api SharePoint 2013 Extensibility Model: Past, Present

© 2015 Microsoft Corporation. All rights reserved.