{"type":"rich","html":"<div style=\"width: 640; height: 426; font-family: sans-serif,arial,freesans;\" ><div id=\"shared_container_1263343532\" class=\"shared_container\"><div id=\"shared_header_1263343532\" class=\"shared_header\"><a href=\"https:\/\/hub.netzgemeinde.eu\/channel\/buckaroo\"><img src=\"https:\/\/hub.netzgemeinde.eu\/photo\/profile\/s\/2\" alt=\"Mark Nowiasz\" height=\"32\" width=\"32\" loading=\"lazy\" \/><\/a><span><a href=\"https:\/\/hub.netzgemeinde.eu\/channel\/buckaroo\">Mark Nowiasz<\/a>  wrote the following  <a href=\"https:\/\/hub.netzgemeinde.eu\/articles\/buckaroo\/8bc993963285b592\">Artikel <\/a><span class=\"autotime\" title=\"2019-02-05T11:03:02+01:00\">Tue, 05 Feb 2019 11:03:02 +0100<\/span><\/span><\/div><div id=\"reshared-content-1263343532\" class=\"reshared-content\"><strong>Jabber vs Matrix<\/strong><br \/>Urspr\u00fcnglich wollte ich - zust\u00e4tzlich zu dem \u00f6ffentlichen Matrixserver matrix.netzgemeinde.eu - einen \u00f6ffentlichen Jabberserver anbieten, jedoch habe ich sehr schnell meine Meinung ge\u00e4ndert und werde den entsprechenden Jabberserver ASAP l\u00f6schen. Das hat zwei Gr\u00fcnden: Der Server selbst (ejabberd) und das Protokoll selbst.<br \/><br \/><h1>Ejabberd<\/h1>Ich hatte mich f\u00fcr ejbabberd entschieden, ein Jabberserver geschrieben in Erlang, welcher schnell und effizient sein soll (das glaube ich sogar, wenn ich andere Erlang-Projekte ansehe). Die Installation als solche war unproblematisch, aber die Konfiguration, mein Gott die Konfiguration!<br \/><br \/><h2>Die Konfiguration<\/h2>Die mitgelieferte Konfiguration umfasst etwa 800 Zeilen YAML (viele Zeilen davon sind Kommentare). Die Doku erkennt das Problem und versucht den Administrator zu beruhigen:<blockquote>Do not let this complexity scare you. Most of you will be fine with default config file (or light changes).<\/blockquote><br \/>Soweit so gut, nun zur Dokumentation:<br \/><br \/><h2>Die Dokumentation<\/h2>Die Dokumentation befindet sich unter <span class=\"bookmark-identifier\">#^<\/span><a class=\"bookmark\" href=\"https:\/\/docs.ejabberd.im\/admin\/configuration.\" target=\"_blank\" rel=\"nofollow noopener\">https:\/\/docs.ejabberd.im\/admin\/configuration.<\/a><br \/>Wenn man eine so komplexe Konfiguration hat, ist eine gute Dokumentation das A und O, ansonsten ist man relativ aufgeschmissen und rennt st\u00e4ndig in Probleme. Genau das ist mir passiert, denn das Grund\u00fcbel der Dokumentation: Es ist vollkommen unklar auf welche Version des ejabberd sie sich bezieht! Ich hatte 17.04 am laufen, divere Konfigurationsoptionen, die in der Doku beschrieben sind, funktionieren nicht - anscheinend bezieht sich die Dokumentation auf die allerneuste Version von ejabberd, ohne das irgendwo zu erw\u00e4hnen! Besonders unangenehm war das bei der Datenbank: Ich befolgte den Rat das \u201eneue\u201c SQL-Schema zu benutzen (<span class=\"bookmark-identifier\">#^<\/span><a class=\"bookmark\" href=\"https:\/\/docs.ejabberd.im\/admin\/configuration\/#database-and-ldap-configuration).\" target=\"_blank\" rel=\"nofollow noopener\">https:\/\/docs.ejabberd.im\/admin\/configuration\/#database-and-ldap-configuration).<\/a> Nach viel Fluchen und Herumprobieren (welche der Konfigurationsoptionen denn nun gehen und f\u00fcr meine Version zu\u00f6\u00e4ssig sind) gelang es mir endlich den Dienst zu starten - ich konnte blo\u00df keine User anlegen. Es stellte sich heraus, dass das \u201eneue\u201c SQL-Schema nicht von meiner Version unterst\u00fctzt wurde!<br \/><br \/>Also die Datenbank gel\u00f6scht, neu aufgesetzt, \u201ealtes\u201c Schema eingespielt und endlich - nach viel Herumprobieren - funktionierte das Teil endlich!<br \/><br \/><h1>Jabber<\/h1>Nachdem ich endlich die meisten Probleme gel\u00f6st hatte habe ich mit einigen Jabber clients herumspielt und zu meinem extremen Erstaunen stellte sich heraus, das Jabber\/XMPP eines der grunds\u00e4tzlichensten Features eines Messengers nicht unterst\u00fctzt: Die F\u00e4higkeit mit mehr als einem Client an einer Sitzung teilzunehmen. Dieses Feature ist so grundlegend, dass es erst gar nicht glauben konnte. (Zugegeben, Whatsapp kann das auch nicht, aber wenigstens sagt Whatsapp das. Ditto Telegrams verschl\u00fcsselte Nachrichten. Auch hier eine Warnung).<br \/><br \/>Ich hatte drei Clients laufen - einen der in KDE\/Plasma eingebaut ist (Telepathy), Kopete und einen unter Android. Und das war ein reines Gl\u00fcckspiel: Manche Nachrichten kamen in Android an, manche in Kopete, etc. Das macht Jabber f\u00fcr mich fast unbenutzbar: Normalerweise l\u00e4uft bei mir ein Client unter Android&nbsp;&nbsp;und einen auf dem Desktop. Wenn ich den Desktop verlasse kann ich Unterhaltungen unter Android weiterf\u00fchren und umgekehrt. Das ist unm\u00f6glich uunter Jabber - ich kann nicht auf alte Nachrichten zugreifen, und das scheint auch noch unter mobil ein Problem zu sein: Da sich dort regelm\u00e4\u00dfig die IP \u00e4ndert gibt es wohl Probleme mit Jabber.<br \/><br \/><h2>Erweiterbarkeit (XMPP]<\/h2>Ich habe herausgefunden dass es f\u00fcr das Problem \u201emehrere Clients\u201c ein Workaround gibt - eine Erweiterung des Protokolls (XEP). Es gibt ein Github repository f\u00fcr die notwendige Erweiterung (XEP-0280), aber warum ist ein solches Kernfeature als Erweiterung des Protokolls implementiert? Und selbst wenn, warum ist es nicht Teil von ejabberds Standardsetup?<br \/><br \/>Die Erweiterbarkeit des Protokolls ist theoretisch eine gute Sache - praktisch jedoch erzeugt das massive Probleme. Als Beispiel: Ich hatte captcha f\u00fcr die Registrierungen aktiviert. Das f\u00fchrte leider dazu dass Registrierungen nicht m\u00f6glich waren - der Client hatte das entsprechende XEP nicht implementiert (Die Webregistrierung funktionierte sowieso nicht. Gab nur einen 404. Warum? Keine Ahnung). Das f\u00fchrt dazu dass es ein zweiseitiges Problem bei der Nutzung von Jabber gibt:&nbsp;&nbsp;Zuerst muss man einen (\u00f6ffentlichen) Server finden, der die ben\u00f6tigten XEPs implementiert, und dann noch einen Client der diese auch alle versteht - nicht nur auf dem Desktop, sondern auch unter Mobile. Das ist viel zu viel Aufwand\/\u00c4rger die man sich damit einf\u00e4ngt.<br \/><br \/><h1>Matrix<\/h1>Die Probleme unter Jabber hatte ich nie bei Matrix\/synapse gehabt. Zugegeben, man muss einige Dinge konfigurieren, die Dokumentation ist aber gut und richtig, die Migration von sqlite zu PostgreSQL war gut beschrieben und lief problemlos. Es lief einfach so - mehrere Clients pro Sitzung, Voice\/Videochat, Kan\u00e4le, Offline Nachrichten, egal was.<br \/><br \/><h1>Ergo<\/h1>Statt den Jabberserver f\u00fcr die \u00d6ffentlichkeit werde ich diesen Haufen .. (man kann sich denken) l\u00f6schen. Die Doku ist nicht korrekt, der Server ist einer Programmiersprache geschrieben die ich nicht beherrsche, was dazu f\u00fchrt dass ich bei Problemen nichts machen kann und zu guter Letzt fehlen Jabber elementare Eigenschaften eines Messengers - z.B. mehrere Clients pro Sitzung, deshalb sehe ich keinen Sinn darinen ein XMPP-Server zu betreiben. Ich habe auf einem anderen Server ein Profil angelegt falls jemand mich per Jabber kontaktieren m\u00f6chte, jedoch bleibt Matrix die bevorzugte Kommunikationsform.<br \/><br \/>Es gibt einen deutschsprachigen Blogartikel zu dem selben Thema: <span class=\"bookmark-identifier\">#^<\/span><a class=\"bookmark\" href=\"https:\/\/www.kuketz-blog.de\/messenger-matrix-das-xmpp-fuer-hobby-admins\/\" target=\"_blank\" rel=\"nofollow noopener\">https:\/\/www.kuketz-blog.de\/messenger-matrix-das-xmpp-fuer-hobby-admins\/<\/a><br \/><\/div><\/div><br \/><\/div>","width":640,"height":426}