Kann XMPP / Jabber die Bearbeitung von Nachrichten und Offline-Nachrichten wie in Skype unterstützen?

5644
Vi.

Ich habe mich daran gewöhnt, etwa 30% meiner Nachrichten in Skype zu bearbeiten. Ich erwarte auch, dass meine Nachrichten am Ende zugestellt werden, unabhängig davon, ob der Peer jetzt online ist oder nicht (dh die Nachricht wird schließlich ankommen, wenn wir beide online sind).

Ich habe diese Features in Jabber noch nicht gesehen.

Welche XMPP-Clients (oder welche Protokollerweiterungen) sollte ich verwenden, um bequemes Chatten zu unterstützen ?

Eigentlich möchte der Chat eher wie Wiki sein ( Links setzen, auch Peers-Nachrichten bearbeiten, Revisionsverlauf, einige Formatierungen), aber die Verwendung einer Wiki-Software ist nicht so (kein normaler Kontaktverlauf, keine normalen Benachrichtigungen, keine "Verwendung") Tippen ... ").

6

2 Antworten auf die Frage

7
unor

Ich erwarte auch, dass meine Nachrichten am Ende zugestellt werden, unabhängig davon, ob der Peer jetzt online ist oder nicht (dh die Nachricht wird schließlich ankommen, wenn wir beide online sind).

XMPP-Server / -Clients unterstützen normalerweise das Senden von Nachrichten an Offline-Kontakte. Diese XEPs könnten relevant sein (vielleicht gibt es mehr):


Ich habe mich daran gewöhnt, etwa 30% meiner Nachrichten in Skype zu bearbeiten.

Ich weiß nicht, wie Skype dies implementiert hat, aber es gibt ein XEP, um die zuletzt gesendete Nachricht zu bearbeiten .

XEP-0308: Korrektur der letzten Nachricht :

Beim Senden einer Nachricht geben die Benutzer häufig Tippfehler ein und senden eine Folgenachricht, um sie zu korrigieren. Diese Spezifikation ermöglicht es dem sendenden Client, die zweite Nachricht als korrigierend zu kennzeichnen.

Ich denke, OneTeam hat diese Funktion implementiert (aber ich bin mir nicht sicher, habe diesen Client noch nie verwendet). Es kann auch andere Clients geben.

/ edit: Wie Zash bemerkt hat, unterstützt auch Swift dies.

Ich bearbeite auch nicht die letzte Nachricht und füge beispielsweise Details iterativ an eine Liste an ... Eigentlich möchte ich, dass der Chat eher wie Wiki ist (Links setzen, Peers-Nachrichten bearbeiten / Änderungsverlauf, einige Formatierungen), aber nur ein Wiki verwenden ist das nicht (kein normaler pro Kontaktverlauf, keine normalen Benachrichtigungen, keine "Verwendung ist das Tippen ..."). Vi. vor 12 Jahren 2
Ich sehe nichts, was "XEP-0308" auf die letzte Nachricht beschränkt, es sei denn, "letzte Nachricht" wird in Titel und Zusammenfassung erwähnt. / * BTW hier auf StackExchage Ich bearbeite auch fast alles * / Vi. vor 12 Jahren 0
[Swift](http://swift.im/) implements message correction. (The author of the XEP is also a developer of Swift) Zash vor 12 Jahren 2
@Vi Beachten Sie, dass der Empfänger die unkorrigierte Nachricht trotzdem erhalten hat. Es ist Sache des Remote-Clients, ihn bearbeitet anzuzeigen oder nicht. Dies ist anders als bei Skype, bei dem der Benutzer keine Kontrolle hat und der Client die Informationen möglicherweise ausblenden möchte. WhyNotHugo vor 10 Jahren 1
Es ist erforderlich, um Tippfehler zu korrigieren und Dinge zu klären, nicht um die Informationen zu verbergen. Ich mag es nicht, offenkundig unvollkommene Nachrichten zu hinterlassen, ohne dass ich mich bemühen muss, sie zu reparieren. und separate Korrekturmeldungen (insbesondere mehrere) sehen nicht gut aus. Vi. vor 10 Jahren 0
2
Aadaam

Im Jahr 2009 hatte ich zu FOSDEM im XMPP DevRoom ein ziemlich kontroverses Gespräch darüber.

Der Hauptpunkt ist: Selbst wenn Ihr Client die Bearbeitung von Nachrichten unterstützt hat, können Sie nicht garantieren (es sei denn, Sie erstellen ein internes Netzwerk), dass die empfangende Partei dies unterstützt.

Hier ist der Trick mit Skype: Skype hatte nur einen einzigen Client eines einzigen Anbieters namens Skype, bis vor kurzem SkypeSDK vertrieb, mit dem Automobilhersteller, TV-Hersteller usw. Skype-Clients erstellen konnten. Aber auch diese Clients basieren auf Skype SDK und müssen daher von den meisten unterstützt werden.

Wenn Sie sich mit XMPP in der öffentlichen Jabber-Infrastruktur befinden, können Sie nicht sicher sein, welche Server oder Clients Ihre Kollegen verwenden, und Sie können sich nur auf eines verlassen: RFC 3920 und 3921. (Ja, ich weiß, dass dies die alten Standards sind: Sie können nicht sicher sein, ob sie die neuen unterstützen).

Es ist leicht zu sagen, dass die meisten Ihrer Kontakte GTalk-Kontakte mit GMail sein werden. Daher ist das, was von GTalk in GMail nicht unterstützt wird, in der Jabber-Welt praktisch nicht vorhanden. Dazu gehört auch die Bearbeitung von Nachrichten. Oder Sie könnten sagen, dass es einige Pidgin / Telepathy-Benutzer gibt, mit denen Sie viel reden, aber vielleicht ist sogar das Versenden von Dateien für Sie außerhalb der Grenzen.

Im Intranet unterscheidet sich die Situation. Sie können einen Client installieren, der diese Funktion unterstützt (Swift wurde in den Kommentaren zur vorherigen Antwort erwähnt), aber selbst dann können Sie nur das interne Kommunikationsnetzwerk kennen.

Es stellt sich heraus, dass es manchmal besser ist, einen IM-Dienst von Grund auf zu erstellen, als XMPP zu verwenden.

"Sie können nicht garantieren, dass der Empfänger dies unterstützt" -> 1. Nachrichten können in diesem Fall nur dupliziert werden. 2. Es gibt einen Abschnitt wie "Erkennung, ob Peer die Bearbeitung unterstützt" im XEP. Sogar IRC verfügt über den Befehl "VERSION", um Informationen zur Peer-Software zu finden. Vi. vor 12 Jahren 4
"Besser einen IM-Dienst von Grund auf erstellen" -> Ist XMPP so schlecht? _Extensible_ steht im Namen. Vi. vor 12 Jahren 2
@Vi .: Ja, sie können dupliziert werden, aber wenn du schreibst "Mary, ich." HassIch liebe dich ", Duplizierung wird dir nicht viel helfen. Solange du nicht großflächig und / oder webfähig bist, ist XMPP in Ordnung, aber GTalk auf GMail oder FBChat in der FB-Seite verwendet XMPP aus einem bestimmten Grund nicht Es ist nur eine Schnittstelle zu den externen Clients und Services. Es gibt einige Dinge, die von den meisten Clients unterstützt werden, es gibt Dinge, die einige Clients unterstützen, manchmal auf kompatible Weise, aber Erweiterbarkeit ist nur ein Discovery-Service + die Möglichkeit, beliebige XML-Nachrichten zu senden die andere Seite mit einem Namensraum. Aadaam vor 12 Jahren 1