Basic SharePoint-Google-Maps-WebPart for SharePoint-Lists auf Codeplex

Heute habe ich mein erstes Codeplex-Projekt erstellt. Das Projekt hat den anspruchsvollen Namen “Basic SharePoint-Google-Maps-WebPart for SharePoint-Lists” und ich werde nun den Sinn, die Motivation und dessen Mehrwert näher erläutern.

Der Sinn – Warum Codeplex?

Obwohl ich die Entwicklungsarbeiten weitestgehend abgeschlossen hatte, habe ich die Sourcen auf Codeplex hinterlegt, da ich schon immer ein eigenen Codeplex-Projekt erstellen wollte. ;-) Die Vorteile von Codeplex einer professionellen Versionsverwaltung (Microsoft-TFS) werden zwar erst dann an´s Licht gelangen, wenn sich dem Projekt mindestens ein zweiter Codeplex-Nutzer anschließt – aber irgendwie könnte ich mir vorstellen, dass es die Kombination SharePoint & JavaScript-Liebhaber nicht sehr häufig gibt. Von daher ließe sich über die Sinnhaftigkeit zur Nutzung von Codeplex streiten. Aber ich bin da optimistisch…

Die Motivation – Gibts da nicht schon dutzende SharePoint-Google-Maps-WebParts?

Eben nicht! Aber meine Motivation war eigentlich eine andere.

Ich wollte die Standorte aller Kontakte, die in einer SharePoint-Kontakt-Liste enthalten waren, auf einer Landkarte anzeigen. Bis hierher würden bekannte Lösungen (bspw. GoogleMapsWebPart) meine Anforderungen erfüllen. Dummerweise bin ich aber Besitzer eines WSS3.0-Hosting-Paketes auf dem ich keine SharePoint-Solutions (WSPs) installieren darf. Außerdem schwebte mir vor, dass ich auch gern nur bestimmte Kontakte (bspw. alle Kontakte aus dem Bundesland Sachsen) auf der Landkarte sehen wollte. Die mir bekannten Lösungen können aber immer nur eine bestimmte Sichtweise (View) einer SharePoint-Liste darstellen. Und ehrlich gesagt wäre es mir zu öde, für jeden View ein extra WebPart zu konfigurieren. – Die mir bekannten Lösungen erfüllten also meine Anforderungen nicht.

Als SharePoint & JavaScript-Fan habe ich mich gefragt, ob es prinzipiell möglich ist, eine Landkarte, deren Inhalte (also die Marker) aus einer SharePoint-Liste stammen, nur mit JavaScript darzustellen. Kombiniert mit den Möglichkeiten eines Listen-WebParts (bspw. das Filtern und Sortieren) ergeben sich unendlich viele Möglichkeiten. Damit war mein Entwicklungsdrang geweckt…

Der Mehrwert – Was genau ist denn jetzt so toll am neuen Google-Maps-WebPart für SharePoint-Listen?

Die neue Lösung ist eigentlich nur ein bisschen Html und JavaScript. Auf einer SharePoint-Seite, die das Listen-WebPart enthält, muss ein Inhalts-Editor-WebPart (was ein Standard-SharePoint-WebPart ist) mit dem genannten bisschen Html+JavaScript eingefügt werden.

Ist alles korrekt konfiguriert, wird in der Menü-Toolbar des Listen-WebParts ein zusätzlicher Menü-Punkt “Google-Maps” angezeigt. Durch Klicken auf diesen neuen Menü-Punkt wird unter der SharePoint-Liste die Landkarte dargestellt. Auf der Landkarte werden alle aktuell sichtbaren Listen-Elemente als Marker dargestellt. Durch das Filtern der SharePoint-Liste ändern sich also auch die Marker auf der Landkarte.

Die Vorteile lassen sich schnell aufzählen.

  • Kein Installieren von SharePoint-Solutions / Sandboxed-Solutions (WSPs) notwendig.
  • Es können SharePoint-Listen als Quelle genutzt werden. Es muss nur sichergestellt werden, dass die Informationen der Koordinaten (Längen- und Breitengrad / Latitude und Longitude) bzw. die Adress-Infos (Pflichtangabe: Stadt; Optional: Straße, PLZ, Land) in der Liste zu finden sind.
  • Die Standard-Funktionalität einer SharePoint-Liste wird um eine Landkarten-Funktion erweitert.
  • Durch die Sortier- und Filterfunktionen einer SharePoint-Liste sind beliebig viele Sichten der Landkarte möglich. Oder anders: Es muss nicht für jede Sicht ein extra WebPart hinzugefügt und konfiguriert werden.
  • Traffic-Arm durch Nachladen der Landkarten-Infos mittels Ajax (JQuery + owssrv.dll + Google-Maps-API-v3).
  • Unterstützt SharePoint 2007 und SharePoint 2010.
  • Durch Nutzung von Google Maps Api v3 ist kein Google Maps Key notwendig (vgl. Punkt 5.2 der Google Maps Api Terms).

Natürlich gibt es auch einige Nachteile. (Dafür sind dann die anderen Google-Maps-WebParts da… ;-))

  • Die Anzeige eines Listen-WebParts ist notwendig. (In dessen Menü-Toolbar wird ja der Google-Maps-Link dargestellt.)
  • Es wird in der aktuellen Version (v1.1) nur ein Listen-WebPart je SharePoint-Seite unterstützt. (Gibt es mehr, wird der Google-Maps-Link nicht in der Menü-Toolbar gezeigt.)
  • Konfiguration erfolgt direkt im JavaScript-Quellcode. (Ein bequemes Konfigurieren über die WebPart-Toolpane würde einer installationsfreien Lösung widersprechen.)

Mein Fazit – Hoffnungen

Ich hoffe, ich kann noch ein paar SharePoint-Enthusiasten (die sogenannten Information-Worker und Power-User) für diese Art der Landkarten-Darstellung für SharePoint-Listen begeistern. Mir hilft sie schon jetzt ungemein. – Und besonders gespannt bin ich, wie viele Codeplex-Nutzer sich meinem ersten Codeplex-Projekt anschließen werden. (Ich bin mal mutig und spendiere einen Kasten Bier in der nächsten Dresdner Doppelkopfrunde für jeden Supporter meines Codeplex-Projektes. Bei 10 sollte dann aber langsam Schluss sein.. ;-))

Dieser Beitrag wurde unter JavaScript, Microsoft, SharePoint 2007, SharePoint 2010, Web abgelegt und mit , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

10 Antworten auf Basic SharePoint-Google-Maps-WebPart for SharePoint-Lists auf Codeplex

  1. Axel sagt:

    Heute wurde die Schallmauer von 200 Downloads durchbrochen. ;-)))

  2. Axel sagt:

    Nachdem die 300-Download-Marke durchbrochen ist und die ein oder andere Nachfrage kam, habe ich ein Video-How-To erstellt.

  3. Axel sagt:

    Die 1000er-Download-Marke ist heute geknackt. Cool.

  4. Helmut Goedicke sagt:

    Hallo Axel,

    gratuliere für diese wunderbar einfach anzuwendende Lösung. Funktionierte in SP 2010 auf Anhieb. Einzig beim Einsatz dieser Lösung auf dem SP 2010 auf Websites mit 2007 Design wurden keine Marker angezeigt. Hast Du eine Idee woran das liegen könnte ?

    Mit freundlichem Gruß

    Helmut

    • Axel sagt:

      Hallo Helmut,

      die Konstellation eines SP2010 mit SP2007er-Layout ist natürlich ein Sonderfall. Im JavaScript-Code wird anhand des HTML-Doms geprüft, ob es sich um ein SP2007 oder SP2010 handelt. Ich könnte mir vorstellen, dass sich im oben genannten Sonderfall ein nicht berücksichtigter Fall verbirgt. Ich werde bei meinen Migrationen mal darauf achten und ggf. ein Update für die Google-Maps-Lösung auf Codeplex einstellen.

      Viele Grüße aus Dresden,
      Axel

  5. Ignaz sagt:

    Hi,
    ich habe die Webpart probiert, keine Error message erhalten, aber die Marker sehe ich nicht…. was koentte schief gelafuen sein?? Was kann ich probieren??

    Danke im voraus!!

  6. Axel sagt:

    Seit ein paar Tagen ist die 2000er-Download-Marke durchbrochen. Cool. ;-)

  7. Axel sagt:

    Und nun ist auch die 4000er-Download-Marke geknackt. Zumindest scheint meine Lösung einige Leute zu interessieren.

  8. Axel sagt:

    By the way: Der bei der Google-Maps-Lösung gewählte Schnittstellen-Ansatz mittels direkter Remote-Procedure-Calls (RPC) zur owssrv.dll ist in SharePoint 2013 noch möglich, jedoch wird diese Art der Kommunikation von Microsoft als “deprecated” eingestuft. Es wird Zeit, dass ich die Google-Maps-Lösung mal auf SharePoint 2013 teste…

Hinterlasse einen Kommentar zu Axel Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>