shawn wildermuth agilitrain microsoft mvp (c#), mcsd silverlight in sharepoint webparts you got...

19
Shawn Wildermuth AgiliTrai Microsoft MVP (C#), MCS Silverlight in SharePoint WebParts You got peanut butter in my chocolate

Post on 19-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Shawn Wildermuth AgiliTrain Microsoft MVP (C#), MCSD Silverlight in SharePoint WebParts You got peanut butter in my chocolate

Shawn WildermuthAgiliTrain

Microsoft MVP (C#), MCSD

Silverlight in SharePoint WebPartsYou got peanut butter in my chocolate

Page 2: Shawn Wildermuth AgiliTrain Microsoft MVP (C#), MCSD Silverlight in SharePoint WebParts You got peanut butter in my chocolate

Copyright 2009 Wildermuth Consulting Services, LLC

Silverlight in SharePoint WebParts – Atlanta SQL Saturday 2009

Who Am I?

•Shawn Wildermuth ▫[email protected]▫C# MVP, MCSD, MCT, INETA Speaker, Author

•AgiliTrain▫Silverlight for SharePoint – Atlanta, June 2-4,

2009▫Silverlight Tour – Atlanta, July 20-22, 2009▫Advanced Silverlight – Atlanta, August 3-4,

2009

Page 3: Shawn Wildermuth AgiliTrain Microsoft MVP (C#), MCSD Silverlight in SharePoint WebParts You got peanut butter in my chocolate

Copyright 2009 Wildermuth Consulting Services, LLC

Silverlight in SharePoint WebParts – Atlanta SQL Saturday 2009

Agenda

•Why Silverlight?•SharePoint Integration▫Linking Projects▫Hosting in SharePoint▫Using Web Services▫Debugging

Page 4: Shawn Wildermuth AgiliTrain Microsoft MVP (C#), MCSD Silverlight in SharePoint WebParts You got peanut butter in my chocolate

Copyright 2009 Wildermuth Consulting Services, LLC

Silverlight in SharePoint WebParts – Atlanta SQL Saturday 2009

What’s SharePoint?

• I am not a SharePoint Expert…▫…Some of the Techniques Here May Be

Hacky…▫Goal is to show how it *can* work ▫So you can apply it to your exceptional

SharePoint Skills

Page 5: Shawn Wildermuth AgiliTrain Microsoft MVP (C#), MCSD Silverlight in SharePoint WebParts You got peanut butter in my chocolate

Copyright 2009 Wildermuth Consulting Services, LLC

Silverlight in SharePoint WebParts – Atlanta SQL Saturday 2009

SharePoint

Page 6: Shawn Wildermuth AgiliTrain Microsoft MVP (C#), MCSD Silverlight in SharePoint WebParts You got peanut butter in my chocolate

Copyright 2009 Wildermuth Consulting Services, LLC

Silverlight in SharePoint WebParts – Atlanta SQL Saturday 2009

Why Silverlight in SharePoint

•Leave to SharePoint (and Web) What They Do Well▫Silverlight for Islands of Content▫Where Graphics and Interactivity Helps▫Don’t Overuse it

Page 7: Shawn Wildermuth AgiliTrain Microsoft MVP (C#), MCSD Silverlight in SharePoint WebParts You got peanut butter in my chocolate

Copyright 2009 Wildermuth Consulting Services, LLC

Silverlight in SharePoint WebParts – Atlanta SQL Saturday 2009

Using Silverlight in WebPart Project•Can Create Silverlight in Same Solution▫No Official Linking▫Must Do Manually

Post-Build, Shared File, MSBuild▫Add XAP to WebPart XML file for Deployment

Page 8: Shawn Wildermuth AgiliTrain Microsoft MVP (C#), MCSD Silverlight in SharePoint WebParts You got peanut butter in my chocolate

Copyright 2009 Wildermuth Consulting Services, LLC

Silverlight in SharePoint WebParts – Atlanta SQL Saturday 2009

Using Silverlight in WebPart Project•WebPart.xml▫May be better as separate module

<?xml version="1.0" encoding="utf-8"?><Elements Id="..." xmlns="..." > <Module Name="WebParts" List="113" Url="_catalogs/wp"> <File Path="SilverlightTaskViewer.webpart" Url="SilverlightTaskViewer.webpart" Type="GhostableInLibrary" /> <File Path="SilverlightTasksWidget.xap" Url="SilverlightTasksWidget.xap" Type="GhostableInLibrary" /> </Module></Elements>

Page 9: Shawn Wildermuth AgiliTrain Microsoft MVP (C#), MCSD Silverlight in SharePoint WebParts You got peanut butter in my chocolate

Copyright 2009 Wildermuth Consulting Services, LLC

Silverlight in SharePoint WebParts – Atlanta SQL Saturday 2009

DemoNew Silverlight Web Part

Page 10: Shawn Wildermuth AgiliTrain Microsoft MVP (C#), MCSD Silverlight in SharePoint WebParts You got peanut butter in my chocolate

Copyright 2009 Wildermuth Consulting Services, LLC

Silverlight in SharePoint WebParts – Atlanta SQL Saturday 2009

Hosting in SharePoint

•WebPart Can Create HTML Code▫LiteralControl and ObjectTag

public class SilverlightTaskViewer : WebPart {

protected override void CreateChildControls() { base.CreateChildControls(); string hostTag = @"<object ...></object>";

// Put the Object Tag the control collection LiteralControl slObj = new LiteralControl(hostTag); Controls.Add(slObj); }}

Page 11: Shawn Wildermuth AgiliTrain Microsoft MVP (C#), MCSD Silverlight in SharePoint WebParts You got peanut butter in my chocolate

Copyright 2009 Wildermuth Consulting Services, LLC

Silverlight in SharePoint WebParts – Atlanta SQL Saturday 2009

Hosting in SharePoint (2)

•Browser Cache a Problem▫SPUtility.MakeBrowserCacheSafeLayoutsUrl()

Can help but must be in a template to work

Page 12: Shawn Wildermuth AgiliTrain Microsoft MVP (C#), MCSD Silverlight in SharePoint WebParts You got peanut butter in my chocolate

Copyright 2009 Wildermuth Consulting Services, LLC

Silverlight in SharePoint WebParts – Atlanta SQL Saturday 2009

Hosting in SharePoint (3)

•WebPart Can Create HTML Code▫Can Use Silverlight control and ScriptManager▫But why?

Page 13: Shawn Wildermuth AgiliTrain Microsoft MVP (C#), MCSD Silverlight in SharePoint WebParts You got peanut butter in my chocolate

Copyright 2009 Wildermuth Consulting Services, LLC

Silverlight in SharePoint WebParts – Atlanta SQL Saturday 2009

DemoShowing Silverlight in WebPart

Page 14: Shawn Wildermuth AgiliTrain Microsoft MVP (C#), MCSD Silverlight in SharePoint WebParts You got peanut butter in my chocolate

Copyright 2009 Wildermuth Consulting Services, LLC

Silverlight in SharePoint WebParts – Atlanta SQL Saturday 2009

Using SharePoint Web Services•Creating ServiceReferences to SP “Just

Works”▫http://<Machine>/_vti_bin/Lists.asmx▫http://<Machine>/_vti_bin/Alerts.asmx▫Etc.

Page 15: Shawn Wildermuth AgiliTrain Microsoft MVP (C#), MCSD Silverlight in SharePoint WebParts You got peanut butter in my chocolate

Copyright 2009 Wildermuth Consulting Services, LLC

Silverlight in SharePoint WebParts – Atlanta SQL Saturday 2009

Using SharePoint Web Services (2)•Data Returned is Typically XML▫Must Use Projection to Shape for DataBinding

XElement tasks = e.Results;

var qry = from i in e.Result.Descendants(rowName) select new Task() { Title = i.Attribute("ows_Title").Value, Priority = i.Attribute("ows_Priority").Value, Status = i.Attribute("ows_Status").Value, };

theList.ItemsSource = qry.ToList();

Page 16: Shawn Wildermuth AgiliTrain Microsoft MVP (C#), MCSD Silverlight in SharePoint WebParts You got peanut butter in my chocolate

Copyright 2009 Wildermuth Consulting Services, LLC

Silverlight in SharePoint WebParts – Atlanta SQL Saturday 2009

DemoConsume a Web Service

Page 17: Shawn Wildermuth AgiliTrain Microsoft MVP (C#), MCSD Silverlight in SharePoint WebParts You got peanut butter in my chocolate

Copyright 2009 Wildermuth Consulting Services, LLC

Silverlight in SharePoint WebParts – Atlanta SQL Saturday 2009

Debug Considerations

•Pain Points with Debugging the Silverlight Code▫Browser Cache Need Invalidated to Debug▫“Run with Debugging” Only Works Locally

Remote Debugging Silverlight is not trivial Attach To Process Works Well

▫Cross Domain May Be An Issue Too.

Page 18: Shawn Wildermuth AgiliTrain Microsoft MVP (C#), MCSD Silverlight in SharePoint WebParts You got peanut butter in my chocolate

Copyright 2009 Wildermuth Consulting Services, LLC

Silverlight in SharePoint WebParts – Atlanta SQL Saturday 2009

DemoDebugging Silverlight in WebPart

Page 19: Shawn Wildermuth AgiliTrain Microsoft MVP (C#), MCSD Silverlight in SharePoint WebParts You got peanut butter in my chocolate

Copyright 2009 Wildermuth Consulting Services, LLC

Silverlight in SharePoint WebParts – Atlanta SQL Saturday 2009

Questions?

•Links:▫My Blog (Code is Available Here)

http://wildermuth.com▫My Email:

[email protected]▫Silverlight.NET

http://silverlight.net Shawn WildermuthAgiliTrain

Microsoft MVP (C#), MCSD