1 / 47

Developer to Developer: Meeting Custom Needs with Microsoft Project

BRK3120. Developer to Developer: Meeting Custom Needs with Microsoft Project. Aesha Shah Dan MacDonald Eli Sheldon. Developing for Microsoft Project. What is Microsoft Project Online Project Server

nadine
Download Presentation

Developer to Developer: Meeting Custom Needs with Microsoft Project

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BRK3120 Developer to Developer: Meeting Custom Needs with Microsoft Project AeshaShah Dan MacDonald Eli Sheldon

  2. Developing for Microsoft Project What is Microsoft Project Online \ Project Server Microsoft 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.

  3. Apps

  4. Apps Add-ins

  5. Add-ins for SharePoint Aesha Shah Program Manager II Microsoft

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

  7. Overview Cloud Ready Model Project Server Add-ins are SharePoint Add-ins Well defined lifecycle and isolation policies Work on-premises and online with one codebase Can be hosted in SharePoint (JS), Azure (.Net) or anywhere else Web standards based technologies Embracing web technologies including HTML, JavaScript, REST/ODATA 4, Oauth2.0 Add-ins should be simple Designed primarily as light-weight solutions Full-blown solutions can be broken down into functions Acquire add-in from integrated stores Easy to discover 3rd party add-ins and get more done

  8. 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

  9. Project Server Add-in Scenarios Custom methodologies and templates Targeted scenarios to specific industries (hospitals, IT, government, etc) Line of Business application integration Automated timesheet data sync with ERP Reporting dashboards and web parts Surface high-level real-time project data with no configuration needed Contextual training content Tutorials and automated wizards

  10. User Experiences Immersive 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

  11. 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>

  12. 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>

  13. 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" <UrlActionUrl="https://shareboard.azurewebsites.net/Pages/Default.aspx?{StandardTokens}&amp;WebUrl={SiteUrl}&amp;ItemId={ItemId}&amp;ListId={ListId}" /> </CustomAction> </Elements>

  14. Office365 Apis Released ~months ago Restful APIs leveraging oData4.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

  15. My Apps

  16. My Apps

  17. Distribution

  18. Integrated Store • 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

  19. Licensing models (Office365, SP and Add-Ins)

  20. Corporate Catalog / Management Install 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 permissions Visibility into add-in usage by all users

  21. Project Add-ins Eli Sheldon Program Manager II Microsoft

  22. What is an Office Add-in? Office Store or Add-in Catalog Web server Office Add-in = + Manifest (XML) Web page (HTML + JS)

  23. What does an Office Add-in look like? Supported by Project Content Add-in Task Pane Contextual Add-in Adds embedded content / functionality into document Assists user working with one or more documents Detects content and offers additional functionality

  24. Project Add-ins Functionality Read selected task/resource or any task/resource by ID Write back to the project Data/settings persistence through local storage Add-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!

  25. Scenarios for Project Add-ins Extended client functionality Scheduling suggestions and automatic fixes based on project management standards Contextual cloud-hosted training determined by views and selection Connect social networking and external business solutions with Project Surface SharePoint and Project Online content directly in the client Enhanced cross-project decision making based on your full portfolio Leverage SharePoint collateral from project sites and team sites Bring Project Online data into Word, Excel, PowerPoint, Outlook

  26. Development Tools Any text editor will do HTML webpages and related JavaScript and CSS files XML manifest file defining locations, permissions and metadata Microsoft Visual Studio provides the best experience Office Add-in tools and templates installed out-of-the-box Allows rich debugging experience – one click to run your add-in in Project with familiar diagnostics and breakpoints Full IntelliSense support for Project Add-ins helps you hit the ground running along with MSDN documentation

  27. Demo: Project Add-in Eli Sheldon

  28. Developer to Developer: Meeting Custom Needs with Microsoft Project Daniel MacDonald Director of Development Sensei Project Solutions

  29. Your Presenter Daniel MacDonald Director of Development, Sensei Project Solutions Past 20 years working with Microsoft development platforms Project Server and Project development Leading Apps Initiative at Sensei Project Solutions

  30. Meeting Custom Needs with Microsoft Project Learning More Resources for Project Development Microsoft Project Online / Project Server Introduction Developing for Microsoft Project CSOM, JSOM and More

  31. Developing for Microsoft Project

  32. 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 Functionality Microsoft 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.

  33. Opportunities Improvements with PPM The reality of projects +37% Strategic Alignment +32% Schedule Performance 68% Challenged or Failed $50B Failed projects in US 2%-5% IT Budget Savings +22% Time to Market 43% Cost Overruns 82% Schedule Overruns

  34. Application Scenarios Microsoft Project Anywhere Sensei Task Master Visibility and Insight Sensei Portfolio Dashboard Project Maintenance Sensei Bulk Update

  35. Interfacing with Project JSOM JavaScript Object Model JavaScript, JQuery SharePoint Hosted SharePoint Add-ins CSOM Client Side Object Model C#, Visual Basic Windows Applications, Provided Hosted SharePoint Add-ins

  36. Project Owner UpdateCSOM Daniel MacDonald

  37. Project Owner UpdateJSOM Daniel MacDonald

  38. Interfacing with Project – Other Methods OData Web Services Project Server Reporting Service - OData <PWA Web URL>\_api\projectdata\Projects Ex. https:\\senseiprojectsolutions.sharepoint.com\sites\pwadev\_api\projectdata\Projects Rest Interface for Project Online <PWA Web URL>\_api\projectservice\Projects Ex. https:\\senseiprojectsolutions.sharepoint.com\sites\pwadev\_api\projectservice\Projects http://<sitecollection>/<site>/_api/ProjectServer/Projects/add(parameters) Project Server Interface - PSI Traditional Method of access Project Server Does not support Project Online

  39. OData – Project Reporting Service Test OData URLs in Browser Get 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=ResourceIsActiveeq true

  40. Sensei Portfolio Dashboard™ Daniel MacDonald

  41. Learning More

  42. References Office Dev Center: Main: msdn.microsoft.com/office Apps for Office and SharePoint: msdn.microsoft.com/library/office/fp161507.aspx Project 2013: msdn.microsoft.com/library/office/fp161358.aspx MSDN Forums: Apps for Office and SharePoint: blogs.msdn.com/b/officeapps Project 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

  43. Related Sessions FND2202 Keynote: Office Development matters, and here’s whyBRK3157 Light up mobile apps with Office 365 APIs BRK3199 Supercharging your custom solutions with the Office 365 unified API endpoint

  44. Questions?

  45. Please evaluate this session Your feedback is important to us! VisitMyigniteathttp://myignite.microsoft.comor download and use the Ignite Mobile Appwith the QR code above.

More Related