Here’s the Agenda. We’ll start with an Overview of the Technologies involvedThen I’ll cover some techiques and give the first demoI’ll finish by digging a little deeper with the integration
So, what are we working with here?What exactly are Mashups? [Any ideas?]
Wikipedia defines it this way. Combining data from more than one source. I’ll demonstrate with SharePoint in a minute. First, let’s talk about some publicly available examples you may or may not be familiar with.
First, HousingMaps.com. This website combines two freely available web services. Google Maps plus Craigslist combined. By putting these two together, they’ve created new value for both.
AlertMap is a Hungarian web site that provides Disaster Information Services.They’re using Live Maps to display information they are collect and store locally. Again, two sources of data. One local source, the location and description of events requiring humanitarian assistance. And the second, mapping imagery and plotting capability provided freely from Microsoft.
So, those things are cool, but how does this apply. At this point, you might be asking What does this mean to me? How can I apply this in my day to day work with SharePoint? [Maybe someone with experience in the audience can give us some examples. David? Have you done anything interesting with mapping in SharePoint?] I’m going to concentrate on the Data View Web Part tonight, but maybe towards the end we can start a discussion of some of these more advanced topics if time allows.
Any questions on this part before I move on? I’m loving the interaction so far! My brother Pat in New York didn’t get it. He was like Mashup? Really, Tom? SharePoint and Maps are not music. Who knows what you get when you combine P-Diddy’s Black Album with the Beatles White Album. Anyone? Gray album? We’re all here to learn and share, right? Who’s already learned something? Great. Who’s already done a Mapping Mashup? Great. Pitch in if you have more to share. The rest of you are guaranteed to learn something.We’ve defined a Mashup as a combination of two or more sources of information. Given who we are, we’ll use SharePoint as one source of information. Are you ready to dive in to how you can do it?
To start this segment, I want to discuss my choice of tools for demonstration today. I could be doing this in C# in Visual Studio. Why not? To me, the power of SharePoint is in the tool delivered to Information Workers. That’s the vision Bill Gates described when I was 100 feet from him announcing the 2007 product in Redmond 3 years ago. SharePoint Designer gets more power to more people than C# and that appeals to me. It’s got some quirks, but if you can live with them, you get the power to talk that only an expensive programming effort could provide before.
Here are the key parts for the next demo. If we’re combining SharePoint with information from another source, we need a source, right? Any source will do, but we might prefer well defined services either through an XML Document like an RSS Feed or a full fledged Web Service API. Microsoft, Google, Yahoo and many others provide plenty of choice in APIs right now.Again, C#, the BDC, Excel services, all great options, but for rapid prototyping SharePoint’s Data View Web Part is an excellent choice. If you need to make it more reusable and easily deployable you can create a SharePoint Solution Package for a custom Web Part Feature later.
To start off, I’m going walk you through someone else’s blog post.I’m deferring to the expert here. Greg Chan from Microsoft’s SharePoint Designer Team wrote the post at. I’m going to walk you through it quickly so we can get to more later. You can refer back to the blog post for the full detail. [Demo]
So that quickly brings us to our second demo.
I worked on a project for a defense customer who had licensed Google Earth Enterprise Server. For confidential information, this is a good option because you don’t have to pass any information outside your network. That lead me to move the example we just looked at to the Google Maps API. Microsoft offers a similar Bing Maps Server . You can find more information about it on the website above.
I’ll have all of these links and this presentation on my blog
a mashup is aweb applicationthat combinesdata from morethan one sourceinto a singleintegrated tool
Mashups and SharePoint Data Form Web Part –Formats data from any data source for display in SharePoint –Connect to lists on other SharePoint Sites, RSS Feeds, Web Services or even your own Database Servers Business Connectivity Services –Allows for single sign-on access to data sources –More configuration required, but with that comes added flexibility Excel, Access and Reporting Services
Why SharePoint Designer?Anyone can use itRapid PrototypingData View Web Part – Swiss Army KnifeReduces the Complexity of the SolutionTRADEOFF – Customization or Design?
Mashup Recipe1. Start with a web service –Twitter, Facebook, Microsoft, Google, Yahoo, Amazon, Ebay all provide Web Service APIs –www.programmableweb.com has a directory of 3839 APIs2. Combine with a SharePoint List
Bing Maps + New ContactGoogle New Click to Maps Contact Address
Demo 1 New Contact with Reverse GeocodingGoogle Maps Key Required http://code.google.com/apis/maps/
XSLT Defined“Extensible Stylesheet LanguageTransformations (XSLT) is anXML-based language used for thetransformation of XML documentsinto other XML or "human-readable" documents.”-Wikipedia.org
Offline Mapping Google Earth Enterprise – 2D and 3D mapping inside the firewall – Good solution for limited connectivity or confidential information Bing Maps Server – http://www.vexcel.com
ResourcesTom Resing’s SharePoint Blog –http://tomresing.com/blogMicrosoft SharePoint Designer Team Blog –http://blogs.msdn.com/sharepointdesignerProgrammableWeb Mapping Section –http://www.programmableweb.com/mappingMike Williams Google Maps API Tutorial –http://econym.googlepages.com/SharePoint Developer Orientation - Part 4: AdvancedCustomization with Designer –https://www.nothingbutsharepoint.com
Connect with meTom Resing’s SharePoint Blogwww.tomresing.comEmailresingnetfirstname.lastname@example.orgTwitter@resing