minneapolis office developer interest group (modig) july 22, 2008 developing against sharepoint...
TRANSCRIPT
![Page 1: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/1.jpg)
Minneapolis Office Developer Interest Group (MODIG)
July 22, 2008
Developing against SharePoint Remotely
(No Object Model Allowed!)
Raymond MitchellInetium
http://www.iwkid.com/
![Page 2: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/2.jpg)
The Plan Introduction You are here Feature Presentation
Developing against SharePoint Remotely Next Topic Selection Random Stuff
![Page 3: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/3.jpg)
User Group Goals Provide a community for SharePoint
Developers Share development knowledge Exchange tips/tricks/other/free pizza Add 2,000 List Items….in JavaScript
![Page 4: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/4.jpg)
User Group Format Presentations
1-2 per meeting (targeting 1.25 Hours) Hopefully Demo Heavy (Slides are for MBAs)
Highlights of Nifty Things See next slide
QA/Discussion/Random Things
![Page 5: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/5.jpg)
Call for Cool Stuff Created something cool?
Send Screenshots or Videos We’ll try to feature some items here
![Page 6: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/6.jpg)
Sharepointmn.com/modig/
Our current home Meeting information
Usually has the right time
Previous presentations
Running on SharePoint As required by
SharePoint User Group Law
![Page 7: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/7.jpg)
Upcoming Next Meeting
August 26 (Tuesday 5:30pm) Topic: TBD – Hopefully later today Location: Based on Feedback
MNSPUG August 13 (9:00am – Noon) Topic : Panel Discussion (sharepointmn.com)
![Page 8: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/8.jpg)
The Plan But, I love the Object Model!
Why you can’t use the OM all the time Remote possibilities
SharePoint Web Services Introduction What’s available How do I use them? Hey – those don’t do what I want!
The dark alley that is RPC Introduction What’s available How do I use them? Where can I learn more?
Questions
![Page 9: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/9.jpg)
Working with SharePoint Remotely
![Page 10: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/10.jpg)
But, I love the Object Model! We all do…
You can only use the Object Model on the server
Scenarios: Remote administration tools Integration with desktop application Silverlight!
![Page 11: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/11.jpg)
Remote Possibilities… SharePoint Designer!
OOTB WSS Web Services OOTB MOSS Web Services
Custom Web Services
FP RPC WSS RPC
![Page 12: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/12.jpg)
SharePoint Web Services
![Page 13: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/13.jpg)
SharePoint Web Services Introduction
Located in C:\Program Files\Common Files\microsoft shared\Web Server Extensions\12\ISAPI
Accessible via http://site/_vti_bin/*.asmx
![Page 14: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/14.jpg)
SharePoint Web Services What’s available in WSS
Administration Alerts Authentication Copy DocumentWorkspace Forms Imaging ListDataRetrieval Lists Meetings People Permissions SharepointDirectoryManagementService SiteData Sites SPSearch UsersGroups Versions Views WebPartPages Webs
![Page 15: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/15.jpg)
SharePoint Web Services What’s available in MOSS
Area – obsolete in V3Official FilePublished LinksSearchUser Profile ChangeUser ProfileWorkflow
![Page 16: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/16.jpg)
DEMO: The basics Add a Web Reference and get back a list of lists for a web
![Page 17: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/17.jpg)
DEMO: Play from PoSH! Use the Get-WebService Proxy Generator
![Page 18: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/18.jpg)
SharePoint Web Services Hey – those don’t do what I want!
Deploy your own Web Service!
Allows you to use the Object Model Permissions/Deployment can be tricky
![Page 19: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/19.jpg)
DEMO: I do what I want Deploy and consume a custom Web Service
![Page 20: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/20.jpg)
Remote Procedure Call
![Page 21: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/21.jpg)
SharePoint RPC Introduction
Remote Procedure Call Execute commands via HTTP POST
Two kinds: FrontPage RPC (FPRPC) WSS RPC
Three Targets: _vti_bin/_vti_adm/admin.dll _vti_bin/_vti_aut/author.dll _vti_bin/owssvr.dll
![Page 22: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/22.jpg)
SharePoint RPC What’s available - FPRPC
![Page 23: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/23.jpg)
SharePoint RPC What’s available – WSS RPC
![Page 24: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/24.jpg)
SharePoint RPC Permissions
Permissions count! You can only do with RPC what you have access to do via the Web UI
Once you have authenticated, a Request Digest is sent down that you can use for future calls.
![Page 25: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/25.jpg)
SharePoint RPC How do I use them?
Authenticate and retrieve a Request Digest
Submit a POST command to the appropriate URL
Retrieve the server’s response
![Page 26: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/26.jpg)
DEMO: JavaScript Test Page Submit RPC commands via JavaScript
![Page 27: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/27.jpg)
SharePoint RPC How do I use them?
Not just a JavaScript thing :-)
Use .NET to submit RPC commands
![Page 28: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/28.jpg)
SharePoint RPC Where can I learn more?
SharePoint Designer knows!
Use Fiddler to watch what SPD is doing
![Page 29: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/29.jpg)
DEMO: Learn from SPD Use Fiddler to watch the HTTP traffic between SharePoint Designer and
SharePoint
![Page 30: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/30.jpg)
SharePoint RPC Where can I learn more?
HubKey’s document-focused RPC Library
![Page 31: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/31.jpg)
DEMO: Play with HubKey’s Framework Get a list of documents
![Page 32: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/32.jpg)
Resources
![Page 33: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/33.jpg)
Resources Web Services @ MSDN:
http://msdn.microsoft.com/en-us/library/aa979690.aspx
RPC @ MSDN: http://msdn.microsoft.com/en-us/library/ms442469
.aspx
More than you ever wanted to know: RPC Protocol Specifications
http://www.iwkid.com/blog/Lists/Posts/Post.aspx?ID=22 http://msdn.microsoft.com/en-us/library/cc313171.aspx
![Page 34: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/34.jpg)
Resources Blogs:
http://www.iwkid.com/blog http://www.tonstegeman.com/blog
PowerShell Proxy Generator http://www.nivot.org/NewImprovedGetWebService
ProxyGeneratorForPowerShell.aspx
![Page 35: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/35.jpg)
Resources HubKey C# Code Library
http://geek.hubkey.com/2008/07/programatically-manage-remote-documents.html
Minnesota Silverlight User Grouphttp://www.ilmservice.com/silverlight/
SharePoint + Silverlight User Group Session Tuesday, September 16th
![Page 36: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/36.jpg)
Next Meeting Planning Possible Topics
Workflow Timer Jobs/Alert Event Panel/Roundtable General Site Provisioning (Site
Defs/Templates/Features) … More RPC
![Page 37: Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium](https://reader031.vdocuments.net/reader031/viewer/2022013004/56649e4d5503460f94b42ba9/html5/thumbnails/37.jpg)
Random Stuff
Raymond MitchellInetiumhttp://www.iwkid.com
Feedback Forms/Giveaway
Mingle, Eat, Feedback
See you next time!