Der Teufelskreis von GMap Location und Location
am 06.10.2007 - 11:47 Uhr in
Die Module GMap Location und Location haengen in einer Art zusammen die es bei bestimmten Arten einer Userintegration unmoeglich macht, beide sinnvoll zu handhaben.
1. Szenario
Eine Userregistrierung soll derart erfolgen, das sich ein User mit seinen minimalen Accountdaten Benutzername und eMail-Adresse registriert. Sein eigentliches Profil mit allen Angaben wie komplette Adresse, Firma usw. soll mit einer extra Node(type) verarbeitet werden.
Das heisst, man kann die Registrierung derart vereinfachen das bei einer Registrierung nur minimale Daten vom User anzugeben sind. Erst spaeter traegt der User alle seine Angabe in seinem Profil ein.
Diese Vorgehensweise hat auch den Vorteil, das die minimalen Userdaten Benutzername und eMail auf einfache Weise von den eigentlichen Profildaten des Users getrennt werden koennen - auch unter Sicherheitsaspekten sinnvoll.
2. GMap Location und Location einsetzen
Der User soll in seinem Profil die GMap Funktion nutzen koennen.
Dafuer benotigt Drupal 2 Module: "GMap Location" und "Location". "GMap Location" benoetigt "Location".
Wenn man "Location" aktiviert hat man zwangsweise eine mit dem Basisaccount (normales Profil) verbundene "Locative information". Diese ist fest mit dem Basisaccount verbunden und kann nicht konfiguriert werden hinsichtlich der Eingabefelder. Die "Locative information" wird beim Registrieren dem User angezeigt.
Die GMap Funktion des Userprofiles soll aber in der Usernode aktiviert werden und dort vom User bearbeitet werden koennen. Dafuer aktiviert man "GMap Location". Dann kann man bei der Konfiguration des Inhaltstyp der Usernode die "Locativ information" aktivieren.
3. Das Problem des Teufels
Ab diesem Zeitpunkt hat man zwei "Locative informations":
- eine mit dem normalen Profil verbundene
- eine mit der Usernode verbundene
Und genau das ist das Problem!
Bei seinen gesamten Daten hat der User nun auch 2 GMaps. Das ist im hoechsten Grade verwirrend, da am Ende ja nur eine GMap verwendet wird.
Die mit dem normalen Profil verbundene GMap wird ja nicht benoetigt - die GMap soll ja im Profil des Usernode im Zusammenhang mit den anderen Daten des Users verwendet werden. Das normale Profil soll nur die fuer die Registrierung notwendigen Daten enthalten. Man kann diese GMap aber nicht deaktivieren.
Man kann schon.
Aber dann steht die GMap in der Usernode nicht mehr zur Verfuegung. Damit hat sich der Teufelskreis geschlossen.
Ein weiteres Problem am Rande:
Nur Adressdateneintraege in der "Locative information" des normalen Userprofil fuehren zur automatischen Ermittlung der Werte fuer Latitude und Longitude.
In einer Usernode mit "Locative information" muss der User selbst Latitude und Longitude eintragen, damit der Marker in der GMap korrekt zu seiner Adresse gesetzt wird. Hierbei besteht die Moeglichkeit, das der User mit fehlerhaften Angaben von Latitude und Longitude einen Marker in der GMap setzt der nicht mit eingetragenen Adresse uebereinstimmt.
4. Eventuelle Loesung
Man kann die nicht benoetigte GMap mit CSS ausblenden. Aber das waere nur Augenwischerei. Die Daten werden trotzdem von Googel geholt.
5. Loesung
Um eine mit einem User verbundene GMap anzuzeigen einfach auf maps.google.com linken, die Adressdaten mitgeben und die Karte im Popup oeffnen. Fertig.
6. Fazit
Die Zwangskopplung von "Location" mit dem Userprofil in Kombination mit der Abhaengigkeit "GMap Location" von "Location" ist eine schlechte Loesung bei der Integration in Drupal. Will man GMap in Drupal nach obigem Snenario verwenden ist die bestehende Situation genau genommen der Grund, GMap direkt innerhalb einer Drupalseite nicht einzusetzen.
Koennte man Drupal's GMap Integration so handhaben wie in Pkt. 6. beschrieben koennte man von einer anwenderhahen Loesung sprechen.
- Anmelden oder Registrieren um Kommentare zu schreiben
Hattest du nicht schon
am 06.10.2007 - 12:25 Uhr
Hi ,
hattest du nicht schon eine Lösung, wo das mit Gmap ging und der User eine eigene Seite hatte???
Oder verstehe ich da jetzt was falsch???
MfG
Michael Finger
Holztechniker
Je knapper das Geld, desto wichtiger die Kreativität!!
Das Geschilderte sagt nicht
am 06.10.2007 - 14:16 Uhr
Das Geschilderte sagt nicht das ich keine Loesung habe - sie funktioniert. Aber unter verschiedenen Anwendungsaspekten nicht optimal bzw. nur mit Einschraenkungen.
Aber.
Wenn Du denkst es geht nicht mehr kommt in der Dunkelheit ein Lichtlein daher.
Ich arbeite immer noch an einer Variante, die meine Ansprueche zufrieden stellt. Mein Lichtlein:
Das Location Modul dahingehend erweitern das bei der Adressangabe der Location auch Vorname und Name angegeben werden koennen. Dazu ist eine Erweiterung der entsprechenden MySQL Tabelle notwendig. Weiterhin muss sich diese Erweiterung konsistent durch das gesamte Modul ziehen - Administration, User bearbeitet und Weseitenanzeige.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
So, der wichtigste Teil ist
am 06.10.2007 - 18:02 Uhr
So, der wichtigste Teil ist gaschafft. Ich habe das Modul Location dahingehend erweitert das man bei der Adresse Vorname und Nachname eingeben kann.
Jetzt noch das contribted Modul Views von Location anpassen damit es auch mit den Views in Zusammenhang GMap funktioniert.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.