Download presentation
Presentation is loading. Please wait.
Published byDorthy Hubbard Modified over 9 years ago
2
Creating Cloud Hosted Line Of Business Applications with Apps for Office, O365, Azure, and WP8 Michael Sherman Todd Baginski Canviz Consulting, LLC.
3
Who is this guy? @UWSherm http://www.linkedin.com/in/uwsherm/ http://www.canviz.com
4
Who is this guy? @toddbaginski http://www.canviz.com http://www.toddbaginski.com/blog http://sharepointpromag.com/blog/todd-baginski-sharepoint- development
5
Set the stage How do Apps for Office, Office 365, and Azure make creating line of business apps in the cloud easy? Demo Architecture & Code Wrap up Agenda
6
Key Takeaways With the cloud app model for SharePoint, Apps for Office, and Azure you can create secure cloud hosted line of business applications for a mobile workforce.
9
Architecture Components Clients MS Word + Apps for Office MS Excel + Apps for Office Windows Phone 8 App Private O365 SharePoint Site Cloud Windows Azure Access Control Service Windows Azure SQL Database Windows Azure Cloud Services/ Web Sites Contest information Leaderboard Announcements My Ideas Qualify, Triage, Assess ideas Collaboration Send notifications Create SharePoint sites Provision SharePoint sites Implement Apps for Office Authentication Store idea, contest, and financial data Qualify ideas Triage, evaluate, display results View Announcements, submit ideas
10
Core Technologies O365 Private Web Sites Apps for Office Microsoft Office Windows Phone 8 Windows Azure Web Sites SQL Database Mobile Services
11
Fundamental Toolsets ASP.NET MVC 5 Entity Framework 6 Visual Studio 2013 HTML 5 CSS 3 JavaScript / JQuery / AJAX
12
Begin Innovation Management Demo Michael Sherman Todd Baginski
13
Employee
14
Submitting Ideas
15
View Announcements SharePoint List Data Submit Idea Windows Azure SQL Database Calling all mobile users
16
Data Sources SharePoint Announcements List http://.sharepoint.com/innovation/lists/Announcements Windows Azure SQL Database Data Access Model C# Code uses SP CSOM to read Announcements list C# Code calls ASP.NET Web API ASP.NET Web API uses Entity Framework to Query and Update Windows Azure SQL Database UI Model XAML Controls Notifications Azure Mobile Services Going Mobile
18
Custom Apps ECM Collaboration Search Workflow etc. Office 365 Web Sites can do a lot!
19
Data Source Windows Azure SQL Database Data Access Model ASP.NET Web API Web API uses Entity Framework to Query Windows Azure SQL Database UI Model Windows Azure Web Site HTML/ASP.NET MVC Presented on SharePoint Page Using Client Web Part Leaderboard Provider-hosted App
20
MVC Controller public ActionResult LeaderBoard() { Dictionary > retDic = new Dictionary >(); LeaderBoardModel leaderBoardModel = new LeaderBoardModel(); retDic = leaderBoardModel.GetLeaderModel(); … return View(retDic); }
21
Data Source Windows Azure SQL Database Data Access Model ASP.NET Web API Web API uses Entity Framework to Query Windows Azure SQL Database UI Model Windows Azure Web Site HTML/ASP.NET MVC Presented on SharePoint Page Using Client Web Part My Ideas Provider-hosted App
22
Data Source SharePoint Announcements List on O365 Private SharePoint site Data Access Model ASP.NET Web API [SharePointContextFilter] attribute passes SharePoint Context seamlessly Just decorate and code! Web API uses Managed CSOM to query Announcements List UI Model Windows Azure Web Site HTML/ASP.NET MVC Presented on SharePoint Page Using Client Web Part Announcements Provider-hosted App
23
Data Source Windows Azure SQL Database Data Access Model ASP.NET Web API JSONP Service Controller ASP.NET Web API uses Entity Framework to execute Stored Procedures in the Windows Azure SQL Database UI Model HTML/JQuery Part of the SharePoint Master Page Admin Links Provider-hosted App
24
Master Page / Azure Code $("#Admin-link-go").click( function () { var adminText = $("#agave_admintext").html(); var azureSiteUrl = $("#AzureSiteHostname").val(); var turl; if (adminText == "0 - Seed first round ideas") { turl = azureSiteUrl + "/JsonpService/SeedFirstRoundIdeas"; } $.ajax({ async: true, url: turl, type: 'GET', dataType: 'jsonp', success: function (data) { if (data.status.toLocaleLowerCase() == "ok") { alert("Success."); } }) return false; });
25
How did you make it so pretty?
26
Remote provisioning branding pattern Web API uses Managed CSOM to Provision root site and sub sites Provision branding artifacts (Master Page, Images, CSS, JS, Page Layouts) Create Announcements list and add Announcements Create Tasks list and add Tasks Clear and set home page contents Add and install SP Apps Add documents to document libraries in SP Apps via App Installed event MSDN Code Samples Now Available! SharePoint Online Solution Pack for branding and provisioning A new way to brand your sites!
27
Resume Innovation Management Demo Michael Sherman Todd Baginski
28
Employee
29
Apps for Office
30
What is an App for Office? What can it do? Mix and match There’s an App for that, even Office! Office Client Toolbar Office Document Body Task Pane App for Office App for Office
31
Architectural Patterns Templates Sounds pretty cool, how do I make one?
32
Data Source Windows Azure SQL Database Data Access Model JQuery invokes ASP.NET Web API ASP.NET Web API uses Entity Framework to Query Windows Azure SQL Database UI Model Office.js Office.context.document.url Available after document is saved Pre-provisioning makes documents ready to go! Does not apply to Mail Apps for Office Windows Azure Web Site HTML / CSS / JQuery Here’s the pattern we used
33
Multiple Task Pane AFOs From Store Custom Read/Write Deploy Provider-hosted SP App Word App For Office – Qualify Idea
34
HTML Code Interests / Hobbies Automotive Clothing Electronics Garden Home Health and Beauty Sports Toys
35
Azure Code [ActionName("GetIdea")] [HttpGet] public IdeaDTO GetIdea(string IdeaName) { IdeaDTO ideaDTO = new IdeaDTO(); ideaDTO = (from i in db.Ideas where i.Name == IdeaName select new IdeaDTO { Id = i.Id, Name = i.Name, Description = i.Description, DepartmentName = i.Department.Name, Submitter = i.Submitter, TeamSiteURL = i.TeamSiteURL, Qualified = i.Qualified }).FirstOrDefault();... return ideaDTO; }
36
Office.js Code function bindContentControls() { updateStatus("Bind Content Control."); Office.context.document.bindings.addFromNamedItemAsync('ccProductName', Office.BindingType.Text, { id: 'ccProductName' }, function () { }); … } function getIdeaDataFromAzure() {... $.ajax({ async: false, url: fullUrl, type: 'GET', dataType: 'json', success: function (data) { Office.select("bindings#ccProductName").setDataAsync(data.Name, function () { });... }
37
Single AFO Custom Task Pane Read/Write Data Visualization Voting Deploy App for Office 2013 Upload to tenancy Possible Compose App Mail App for Office – Vote for Ideas
38
HTML Code IDEA 1 department of idea description of idea... IDEA 2 department of test description of test...
39
Resume Innovation Management Demo Michael Sherman Todd Baginski
40
Triage Lead
41
Single Custom AFO Read/Write Data Visualization Charting Deploy Provider-hosted SP App Excel App for Office – Triage Idea
42
Resume Innovation Management Demo Michael Sherman Todd Baginski
43
Executive Review
44
Multiple AFOs From Store Custom Task Pane Embedded Read/Write Data Visualization Mapping Deploy Provider-hosted SP App Excel App for Office – Evaluate Results
45
Office.js Code Office.context.document.bindings.addFromNamedItemAsync(sheetname + "!F5:F23", "matrix", { id: sheetid + "ccProduct" }, function (asyncResult) { var array = new Array(new Array(azuredata.Name), new Array(""), new Array(azuredata.Description), new Array(""), new Array(azuredata.DepartmentName), new Array(""), new Array(azuredata.IntendedCustomer.Age), new Array(""), new Array(azuredata.IntendedCustomer.Sex), new Array(""), new Array(azuredata.IntendedCustomer.Income), new Array(""), new Array(azuredata.IntendedCustomer.Occupation), new Array(""), new Array(azuredata.IntendedCustomer.Interests)); Office.select("bindings#" + asyncResult.value.id).setDataAsync(array, { coercionType: "matrix" }, function () {}); } });
46
Takeaways: Windows Azure
47
Web Sites ASP.NET MVC Web Site ASP.NET Web API SharePointContextFilter SQL Database Entity Framework Create Model From Cloud Database! Mobile Services Push Notifications You name it, I can do it!
48
Takeaways: Visual Studio
49
Publishing SharePoint Apps Windows Azure Web Sites SQL Azure Database integration Remote Debugging Visual Studio has a crush on Azure
50
Wrap Up
51
With the cloud app model for SharePoint, Apps for Office, and Azure you can create cloud hosted line of business applications for a mobile workforce. Apps for Office include a rich set of integration points with Office client applications. Azure is the glue! Plumbing SharePoint and OAuth with MVC Web Sites is a piece of cake. Visual Studio enables high developer productivity with templates and tooling. Did you drink enough coffee to get all that?
52
SPC283 - Get started developing Apps for Office & SharePoint 2013 http://channel9.msdn.com/Events/SharePoint- Conference/2014?sort=sequential&direction=desc&term=283 SPC351 - Office Power Hour - new developer APIs and features for Apps for Office http://channel9.msdn.com/Events/SharePoint- Conference/2014?sort=sequential&direction=desc&term=351 Related content
53
SPC294 - Achieving better business productivity through Apps for Office http://channel9.msdn.com/Events/SharePoint- Conference/2014?sort=sequential&direction=desc&term=294 SPC391 - Deep dive into Mail Compose Apps APIs http://channel9.msdn.com/Events/SharePoint- Conference/2014?sort=sequential&direction=desc&term=391 Related content
55
Site Provisioning Techniques and remote provisioning http://blogs.msdn.com/b/vesku/archive/2013/08/23/site-provisioning- techniques-and-remote-provisioning-in-sharepoint-2013.aspx Self Service Site Provisioning Using Apps for SharePoint 2013 http://blogs.msdn.com/b/richard_dizeregas_blog/archive/2013/04/04/self- service-site-provisioning-using-apps-for-sharepoint-2013.aspx Related content
56
SharePoint Online Solution Pack for branding and provisioning http://blogs.msdn.com/b/vesku/archive/2014/03/02/sharepoint-online-solution- pack-for-branding-and-provisioning-released.aspx Related content
64
www.microsoft.com/learning http://microsoft.com/msdn http://microsoft.com/technet http://channel9.msdn.com/Events/TechEd
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.