Nachrichtensystem - Empfänger auswählen anhand von AutoSuggest

Kalma

Erfahrenes Mitglied
Hi,

ich programmiere momentan ein Nachrichtensystem, in dem man den Empfänger via AutoSuggest auswählen kann.
So wie bei Facebook oder Schueler-, StudiVz.

Was ich mich jetzt Frage:
Angenommen ich habe folgende Leute in der Datenbank:
Id | Vorname | Nachname (jeweils ein eigenes Feld)
- 1 - Max - Mustermann
- 2 - Jan - Feldkamp
- 3 - Max - Mustermann
- 4 - Julius - Irgendwie

Wenn ich jetzt als Empfänger per AutoSuggest Max Mustermann auswählen lassen will, beginnt das Problem: Es gibt 2 davon!
Eventuell gibt es in einer großen Community sogar mehrere Leute die den selben Namen tragen.

Wie umgeht man dieses Problem?
Ich könnte mir vorstellen, in ein hidden-Feld die User-ID's der Empfänger direkt reinschreiben zu lassen, aber das wäre mit Aufwand verbunden, denke ich.


Gibt es irgendwelche Lösungsansätze oder Tips?

vielen Dank
Kalma
 
Hallo!
Ich nehme mal stark an das du ein fertiges Script für AutoSuggest verwendest. Kann ich leider nicht viel zu sagen.
Ich kann dir nur empfehlen jQuery Autocomplete zu verwenden. In dieser Liste kannst du dir geauso die Namen (je nach Tastenschlag) auflisten lassen. Für die Verarbeitung kannst du dir dann den Namen UND die ID geben lassen. So mache ich es auch! Ist meiner Meinung nach die einfachste und bequemste Art ... :)
Hier steht kurz beschrieben, wie du auf die ID bzw. den Inhalt (in deinem Fall: Vor- und Nachname) des jQuery Autocomplete zugreifen kannst: http://grover.open2space.com/node/190

Gruß
 
Zuletzt bearbeitet:
AHA!
Das ist ja super!

Jau, das jQuery Plugin benutze ich :)
Das ist echt super.

Dann brauch ich mir ja nur diese #hiddenIdBox übergeben lassen, und gar nicht die blöden Namen auswerten! Viel einfacher!

Wunderbar, danke******!
 
Hallo!

Gerade bei Allerweltsnamen (Müller, Schulz usw.) passiert es ganz schnell dass man auf gleiche Namen stösst.
Die Tatsache dass das Internet weltweit ist, macht es noch schlimmer. ;)
Daher gibt es in den Communitys ja auch Nicknames, welche nur einmalig vergeben werden.
Würde sich Max mit der UID 1 also "Mäxchen", und Max mit der UID 3 "Max der Große" nennen, dann hättest Du dieses Problem nicht.
Weitere Vorteile: ein Empfänger kann sich eine UID schlecht merken (zumindest nicht wenn sie z.B. 10-stellig ist ;)).
Einen Nicknamen hingegen kann man sich gut merken (zumindest wenn er sinnvoll gewählt wird --> ein Nickname wie z.B. "sdgvnidhlighmlk" ist NICHT sinnvoll :D).
Ausserdem weiss der Empfänger, wenn er eine Nachricht von "Mäxchen" bekommt, welcher Max Mustermann gemeint ist.

Dein System hingegen schickt die Nachricht nicht an "Mäxchen", sondern schaut in der Datenbank nach welche UID "Mäxchen" hat und ordnet die Nachricht der UID zu.
Da die Nachrichten so nicht mit den Nicknames, sondern mit den UIDs verknüpft sind, kann "Mäxchen" seinen Nickname jederzeit ändern ohne dass es zum Chaos im Nachrichtensystem kommt (die UID bleibt ja die gleiche).

Damit die User ihren Nickname aber nicht alle paar Tage ändern (wer soll dann noch durchblicken?! ;), würde ich es nur manuell auf Antrag machen.
Wird hier ja auch so gehandhabt. ;)

Auf einer Profilseite, wie es z.B. hier im Forum der Fall ist, können "Mäxchen" und "Max der Große" ihre realen Namen preisgeben.

Wie gesagt kann sich kaum jemand die UIDs merken.
Reale Namen sind keine Phantasienamen.
Ohne Nicknames wird es also zwangsweise zu Problemen kommen.
Max Mustermann (UID 1) war zuerst da.
Max Mustermann (UID 3) hat Pech und kann sich nicht registrieren, da nur reale Namen angegeben werden dürfen und er leider nicht der einzige Max Mustermann ist.
Entweder gibt Max Mustermann (UID 3) also einen falschen Namen an, oder er lässt seinen Namen offiziell von den Behörden ändern.
Letzteres wird aber keine Behörde machen, nur weil es den Namen bereits irgendwo auf der weiten Welt gibt. ;)
Selbst wenn sich beide mit dem Namen Max Mustermann registrieren können: der Absender schickt seine Nachricht an Max Mustermann, da er die UID ja nicht kennt, und Dein System soll nun entscheiden welcher Max Mustermann gemeint ist..... das ist unmöglich (Computer können zwar vieles, aber hellsehen können sie nicht ;)).
Und welche UID soll denn in ein hidden-Feld eingetragen werden, wenn der Computer doch garnicht hellsehen kann?! :p
Die Chance dass die Nachricht also beim gewünschten Max Mustermann landet, ist also eine reine Glücksache.
Man könnte die Nachricht natürlich auch an die gesamte Community senden..... dann bekommt der gewünschte Max Mustermann die Nachricht auf jedenfall. :D
Bleibt also nur die Lösung mit Nicknames.

Gruss Dr Dau
 
Danke für die ausführliche Antwort Dr. Dau!

Ein Nickname wäre natürlich eine Möglichkeit, aber ich hatte mich mit meinen Entwicklern drauf geeinigt, das es keine Nicknames gibt.

Dass nur die Lösung mit den Nicknames bleibt, glaube ich nicht.
Bei Schülervz habe auch ich 2 Freunde mit dem gleichen Namen. Wenn ich nun bei einer Nachricht den Empfänger auswähle, dann sehe ich zusätzlich zum Namen noch das Profilbild und die Herkunft die der Benutzer eingetragen hat. Zumal ich auch nur meine Freunde als Empfänger auswählen will.

// Edit
Und selbst bei Facebook gibt es ja bestimmt mehr als 10 Leute die mal den selben Namen eingetragen haben, da wurde ja auch eine Lösung gefunden, ohne Nickname!

Wenn es wirklich zu so großen Problemen kommt, wie du es schilderst, und die Möglichkeit von
GAngZta nicht funktioniert, wie es soll, dann werden wir wohl auf Nicknames zurückgreifen.


vielen Dank
Kalma
 
Dr Dau: großartige Argumentation! :)

Allerdings muss ich dazu sagen, dass es doch davon abhängig ist, um welche Art Plattform es sich bei Kalma handelt. Ich bin der Meinung, dass eher auf "unpersönlichen" Plattformen (z.B. Foren) Nicknames zum Einsatz kommen sollten. Vergleicht man nun ein Social Network (so wie studi es z.B. ist) wird deutlich, dass wirklich die direkte Kommunikation mit anderen Personen (Freunden, ...) im Vordergrund steht. Hier sollten, nach meiner Meinung, keine Nicknames für die Identifizierung, verwendet werden.

Bleibt allerdings noch das Problem mit mehrfach auftretenden Namen. Hier hat sich studi doch eine recht ordentliche Lösung, mit Bildchen an der Seite der Namen einfallen lassen.
Wir hatten bei uns im Studio die gleiche (allerdings viel längere ;) ) Diskussion um diese Thematik. Wir sind z.B. zum Entschluss gekommen, jQuery Autocomplete zu verwenden. Dieses Plug-In haben wir so überarbeitet, dass neben dem Name ein Bild der Person erscheint.

Grüße
 
Vergleicht man nun ein Social Network (so wie studi es z.B. ist) wird deutlich, dass wirklich die direkte Kommunikation mit anderen Personen (Freunden, ...) im Vordergrund steht. Hier sollten, nach meiner Meinung, keine Nicknames für die Identifizierung, verwendet werden.

Richtig, das war uns wichtig.
Wir machen eine Social Community, die "persönlich" ist und wo wirklich Kontakte aufgebaut werden sollen, und zwar vor allem fürs reale Leben. (Nein, keine FlirtCommunity oder Partnerbörse ;) )

Ich denke, das mit dem Bild neben der Person werden wir auch so machen.

@GAngZta: Ich würd dir gern ne PM schreiben wegen der Modifizierung die ihr gemacht habt, ist das OK?


vielen Dank
Kalma
 
Wenn ich nun bei einer Nachricht den Empfänger auswähle, dann sehe ich zusätzlich zum Namen noch das Profilbild und die Herkunft die der Benutzer eingetragen hat.
Funktioniert natürlich nur wenn diese Informationen vorhanden sind.
Nur die Herkunft wäre meiner Meinung nach zu wenig, denn es könnte ja auch mehrere Max Mustermann in der selben Stadt geben.
Zusammen mit einem Profilbild könnte es aber klappen.
Setzt natürlich voraus dass die Herkunft und das Profilbild Pflichtangaben sind.

Zumal ich auch nur meine Freunde als Empfänger auswählen will.
Wenn Du Deine Freunde nicht schon vorher real kanntest, musst Du sie ja erstmal irgendwie kennen lernen.
Will man über eine Community neue Leute kennen lernen, muss man also mit ihnen (z.B. über ein Nachrichtensystem) in Kontakt treten. ;)
 
Wenn Du Deine Freunde nicht schon vorher real kanntest, musst Du sie ja erstmal irgendwie kennen lernen.
Will man über eine Community neue Leute kennen lernen, muss man also mit ihnen (z.B. über ein Nachrichtensystem) in Kontakt treten. ;)

Falsch ausgedrückt, sorry!
Ich meinte, die "Freunde", die ich vorher in meine Freundesliste hinzugefügt habe ;) :)
 
Zurück