polymap.org

  • Increase font size
  • Default font size
  • Decrease font size
Home POLYMAP2 Dokumentation Konfiguration Web-Applikationen anbinden

Web-Applikationen anbinden

PDF
There are no translations available.

Das GeoRef-Plugin bietet die Möglichkeit Polymap mit externen Web-Applikationen zu verflechten. Ziel ist es, dem Nutzer einen möglichst nahtlosen Übergang von der einen zur anderen Anwendung zu bieten. Um zum Beispiel auf Knopfdruck ein Flurstück einer externen Flurstücksverwaltung im Polymap sehen zu können; oder andersherum die Flurstückinformationen zu einem Geo-Objekt direkt anzeigen zu können.

Die Integration findet auf der Ebene der Bedienoberfläche im Browser statt (im Gegensatz zur Datenintegration auf dem Server). Das jeweils andere Programm wird durch geschickten Aufruf von URLs im Browser gesteuert. Über diesen Mechanismus werden auch die ggf. nötigen Parameter ausgetauscht.

POLYMAP ist über diesen Weg weitestgehend steuerbar. Man muss sich aber auch hier Gedanken über die richtige Konfiguration machen, denn jeder Zugriff auf Polymap erfolgt, wie im “normalen” Betrieb, unter einem bestimmten Login/Passwort mit spezifischen Einstellungen. Man muss also zwei Fälle unterscheiden:

Fall 1: der Nutzer hat sonst nichts mit Polymap zu tun

In diesem Fall können die Zugriffe aus der externen Web-Applikation eventuell unter einem einzigen Login/Passwort erfolgen. Dieses kann dann in der URL mit übergeben werden (wenn das keine Sicherheitsprobleme bringt).

Fall 2: der Nutzer hat sowieso ein Polymap-Login

Der Nutzer bekommt beim ersten Zugriff auf Polymap das gewohnte Login-Fenster. Danach bekommt er seine gewohnte Umgebung; zusätzlich werden die jeweils von der externen Web-Applikation angeforderten Funktionen ausgeführt.

Konfiguration

Grundsätzlich sollen bei der Integration einer externen Web-Applikation meist Referenzen zwischen externen Daten und Daten in Polymap hergestellt werden. Dazu ist ein passender externer Datenlieferant und die Referenz zwischen externen und internen Daten zu konfigurieren:

Beispiel:

Beispiel
<dataProviders>
...
<!-- PolyGIS ********************************** -->
<polygis1 label="Freitag" class="polymap2.sinca.SincaSession">
...
</polygis1>
<!-- webFLUR ********************************** -->
<webflur label="webFLUR" class="polymap2.georef.external.ExternalDataProvider">
<baseURL>https://212.78.108.174:8443/iac-wiki/Wiki.jsp</baseURL>
</webflur>
</dataProviders>

<refs>
...
<polygis_webflur label="webFLUR"
objectProviderId="polygis1"
objectReferencer="polymap2.georef.sinca.KeyFieldObjectReferencer"
dataProviderId="webflur"
dataReferencer="polymap2.georef.external.ExternalDataReferencer">
<keyIndex>1</keyIndex>
<layerNames>POLYGIS Ebene</layerNames>
<externalWindowWidth>800</externalWindowWidth>
<externalWindowHeight>750</externalWindowHeight>
<externalURLParamName>page</externalURLParamName>
<externalURLTarget>page</externalURLTarget>
</polygis_webflur>
</refs>
In diesem Beispiel wird eine externe Web-Applikation über einen Key-Feld-Eintrag eines PolyGIS-Objektes referenziert. Die Referenz kann aber auch zu allen verfügbaren anderen internen GIS-Objekten und über andere Referenzmerkmale erfolgen. (siehe dazu auch: Puffern)

Folgende Parameter steuern das Verhalten der externen Referenz:

  • externalWindowWidth/Height (optional): die Größe des Fensters
  • externalURLParamName: Name des URL-Parameters, über den die Geo-Referenz-ID übergeben wird; wenn nicht angegeben, wird Referenz-ID direkt an die Basis-URL des Providers angehängt (ab Version 1.0)
  • externalURLTarget (optional): wenn angegeben, wird über Javascript window.open() mit diesem Parameter (als Window-Name) ein drittes Fenster geöffnet.

URL-Parameter

Um ein Kommando an POLYMAP zu senden, muss immer der Parameter E_id=ExternalEvent in der URL enthalten sein. Eine gültige URL ist zum Beispiel:

http://localhost/polymap2.standard/app?E_id=ExternalEvent&command=map&activeMap=map3
Diese enthält ein Kommando. Dieses Kommando lädt die Sicht map3. Es können auch mehrere Kommandos angegeben werden. Der Parametername command muss dann für jedes Kommando mit einem eindeutigen Suffix versehen werden. Dieses Suffix muss dann ebenfalls in dem zugehörigen Parameternamen verwendet werden. Beispiel:
http://localhost/polymap2.standard/app?E_id=ExternalEvent&command=map&activeMap=map3&
command_2=external&refId_2=M70062&center_2=true
In diesem Aufruf werden 2 Kommandos aufgerufen. Zuerst wird mittels des Kommandos map sichergestellt, dass eine bestimmte Sicht aktiviert ist. Das zweite Kommando external zentriert anschließend das angegebene Objekt. Für die Reihenfolge der Abarbeitung ist das gewählte Suffix entscheidend. Im obigen Beispiel wird das Kommando external als zweites ausgeführt, da die Zeichenkette “_2” grösser ist als “” (leeres Suffix für das erste Kommando).

Folgenden Kommandos stehen zur Verfügung

Login

Ist kein spezielles Kommando. Es ermöglicht das Ausführen unter dem angegebenen Login.
Achtung!: Login und Passwort werden leserlich übermittelt und stellen somit potentiell ein Sicherheitsrisiko dar.

  • login/passwd:

Kommando: map

Die angegebene Sicht aktivieren.

  • activeMap: eine oder mehrere Konfigurationsnamen der Sichten, die aktiviert werden sollen; wenn mehrere Sichten aktiviert werden sollen, dann wird dieser Parameter mehrfach mit den unterschiedlichen Werten angegeben.

Kommando: external

Es werden Geo-Referenzen für die angegebenen Referenz-IDs gesucht; dazu muss die entsprechende Geo-Referenz konfiguriert sein (siehe oben).

  • refId: eine oder mehrere Referenz-IDs (bei mehreren wird der Parameter mehrfach angegeben)
  • center (optional):
  • mark (optional):

Realisierung im Browser

Mit der obigen Konfiguration ist es möglich, Polymap von aussen zu steuern und/oder Polymap eine externe Web-Applikation steuern zu lassen. Bei der Realisierung können folgende Fälle auftreten:

Fall 1: Polymap im Fenster

Die externe Web-Applikation läuft in einem “primären” Browser-Fenster und lässt Daten von Polymap in einem externen Fenster anzeigen.

  • im Link oder Javascript immer denselben Namen für Target/Window-Namen angeben, ansonsten wird immer ein neues Fenster geöffnet
  • Achtung: noch Probleme: im Moment wird bei *jedem* Aufruf ein neues Fenster geöffnet

Fall 2: Web-Applikation im Fenster

  • beim Referenzer richtiges Target angeben
  • zurück mit “opener” ???

Fall 3: Polymap und Web-Applikation in Frames

  • beim Aufruf von Polymap das Target “_top” für den Link angeben
  • Parameter an Polymap weiterleiten
  • ansonsten siehe Fall 1 und 2
Last Updated ( Tuesday, 31 March 2009 14:02 )  

Add comment


Security code
Refresh



  • Deutsch (DE-CH-AT)
  • English (United Kingdom)

Wer ist online

We have 447 guests online