Novy Jabber

Z KHnetWiki

Přejít na: navigace, hledání

Obsah

KHnet jabber server

30.1.2010 proběhl přechod na jiný server. Z jabberd2 2.0s11 (říjen 2005) na nejnovější OpenFire 3.6.4. Zároveň přesunuto z routeru KYD na vyhrazený virtuální server v serverovně.

Důvodů bylo několik:

  1. hardware serveru - KYD je momentálně jeden z nejstarších serverů khnetu. A není to aplikační server, ale router. Takže přesunem se mu poměrně hodně odlehčí. Virtuální server sice také není žádný zázrak, ale stejně je to pokrok.
  2. zastaralost software - jabber byl v podstatě 4 roky starý a bylo to na něm znát. Sice svoji práci většinou odváděl dobře, ale poslední dobou mu dost často bůhvíproč padal modul pro meziserverovou komunikaci. Tedy si člověk nepokecal s nikým mimo khnet. A i integrace dalších věcí byla hodně problematická, např. ICQ a skupinový chat. Také se tento server (byť byl označován jako referenční implementace) docela dlouho vůbec nevyvíjel. Pak se to sice zase rozeběhlo, ale upgrade tak složitý, že se už vyplatilo uvažovat nad jiným typem.
  3. uživatelská přítulnost - jelikož neuměl moc věcí měnit za běhu, tak nemělo smysl k tomu mít nějaké pěkné a jednoduché ovládání. Nový OpenFire je kompletně řízený webovým rozhraním. A je napsaný v Javě, takže jsem už jeden malý modulek pro něj zvládnul napsat (to je to vyplňování kontaktlistu při založení nového uživatele). Druhý kandidát byl eJabberd, ale učit se nějaký Erlang jazyk se mi opravdu nechtělo. Java se může hodit.

Nalezené problémy

I když jsem to testoval v podstatě rok (tak občasně, jak byl čas), stejně mi leccos uniklo. A nebo jsem s tím počítal ...

prázdné zprávy

velký problém, dva dny mi trvalo ho identifikovat. (technický popis)

Jedná se o to, že při každém přihlášení k jabberu (a čas od času i během provozu) vyskočí okénko s prázdnou zprávou. Většinou odemne (uživatel ludvik@jabber.khnet.info), ale existuje i pár dalších takových, ti ale nejsou v kontaktlistech naprosto všech našich členů.

Tento problém mám zatím nahlášený pouze od uživatelů, kteří používají klienta Just Another Jabber Client (JAJC) a to ve staré verzi. Do teď se totiž jako nejstabilnější tvářila verze 0.8.110 která je ovšem z roku 2004, ne-li 2003. A na jednu zvláštní zprávu ze serveru reaguje právě tahle špatně - otevře konverzační okno, které je ovšem prázdné, bez textu.

Jediné trvalé řešení je nainstalovat si novou verzi JAJCe (nebo jiného programu, podle toho co kdo používá). Instalace je naprosto jednoduchá, kliká se jenom na Next. Dokonce i nastavení zůstane stejné, nesmí se ovšem odinstalovat starý (pouze ukončit - žárovka/konec). Stahujte na klasickém místě: www.khnet.info/jajc.exe (nebo originál na jrudevels). Instalace bude pravděpodobně křičet, že se nedaří přepsat soubor activity.dll, pokud ano, zvolte ignorovat (nebo přeskočit).

Návod na instalaci

ICQ Transport

Kontakty, ani nastavení jsem mezi servery nepřenášel, kvůli sedmi uživatelům nemělo cenu něco programovat. Týká se to uživatelů Sipadan, Forrest, Gotz, Ludmila, Miki, Pavels a mě. Mám uloženou zálohu, pokud budete potřebovat, mohu zaslat.

Postup opětovného zprovoznění je velice jednoduchý. V horní části okénka programu Jajc je ikonka Jabber prohlížeč. Po kliknutí na ní se otevře seznam služeb co server nabízí (mimochodem je jich podstatně větší počet, než na starém). Pak stačí poklepat na icq.jabber.khnet.info (tedy ho otevřít) a potom v levé části okna kliknout na Register. Pak je nutné zadání UIN a hesla pro ICQ. Toť vše ... Nevím jak jiné programy, ale Jajc si kontakty doplní sám ze svého lokálního seznamu (proč ho má, když je to uložené na serveru, ví bůh). Tedy je nutné si ICQ transport zaregistrovat z počítače, kde se to používalo předtím. Jediný malinkatý problémek je, že kontakty nejspíš nebudou na původních místech v kontaktlistu.

Všechny kontakty off-line

Po přihlášení k jabberu naběhnou všechny kontakty jako offline, tedy šedivé. Netýká se to s podivem kontaktů z transportů (ICQ) nebo z jiných serverů. V průběhu času se tam objeví samy. A na tom je založeno i řešení tohoto problému - ihned po přihlášení většina klientů (Jajc) naběhne do stavu Připojen (online), v tu chvíli se také objeví jako online uživatelům z jeho seznamu. Aby se to projevilo i obráceně, stačí na chvilku přepnout status Jabberu (v Jajcu se to přepíná úplně dole v okně) třeba na Pryč (away) a za pár vteřin zase zpět na Připojen (online). To způsobí výměnu stavů mezi jednotlivými kontakty.

Bohužel to vypadá na problém přímo serveru OpenFire. A nevšiml jsem si ho dřív. Ale určitou souvislost to má i s klientem, který je pro jabber použitý. Stejně se chová Jajc, Miranda, PSI i Spark (což je přímo od autorů OpenFire). Například Jabbim ovšem funguje správně, ale pro změnu si občas odesílá prázdné zprávy a tím otravuje ostatní. Nepovedlo se mi zjistit co to je za zprávy, není to totiž klasický Chat - nepovedlo se mi to odchytit.

1.2.2010 00:04 vyřešeno. Chyba v jednom dodatečném modulu (remembot) který poslouchal právě na zprávách o stavu jednotlivých uživatelů. Po jeho odinstalaci (ani to nešlo normálně, musel jsem shodit server celý) to již všechno vypadá normálně a správně. Může za to Monty, chtěl jsem pomoci jeho skleróze ...

Žádné zprávy

Zjevně drobná chyba klientského programu JAJC, po probuzení počítače nenahraje zprávy uložené na serveru. Popsáno je to zde: ukončování JAJCe

Neviditelnost

V klientech existuje možnost stavu Neviditelný (Invisible). Nefunguje to ... existují totiž minimálně dva způsoby jak to správně realizovat. Nový XEP-0126 který není podporován ani JAJCem, ani serverem. A starý XEP-0186 který je "zavržený" (deprecated). A pak zjevně ještě jeden (obecné poslání presence "jsem neviditelný") který používá JAJC, ale server mu nerozumí.

Řešit to lze tzv. Privacy listem, kde se zakážou odchozí prezence (presence-out).

Nové vlastnosti

Transporty

Transport je modul jabberu, který umožňuje používat i jiné kecálkové sítě současně s jabberem pomocí jednoho programu (klienta). Je to jiný princip, než používá třeba Miranda. Miranda má spoustu modulů v sobě, takže pokud se chce používat jabber i ICQ používat současně, vše si řídí Miranda z počítače. Kdežto transport je na serveru a veškerou černou práci dělá on. Tedy lze v takovém případě používat klienta co umí jenom Jabber - například Jajc.

Způsob registrace je vždy stejný. A je popsaný v odstavci ohledně problému s převodem ICQ účtu. Časem sem dodám nějaké obrázky. Jediné co je vyzkoušené je ICQ a funguje v rámci možností dobře.

  • ICQ
  • AIM
  • gadugadu
  • IRC
  • MSN
  • Yahoo

Experimentální, u nás na serveru pro jistotu vypnuté. Ale třeba se z toho něco vyvine.

  • Facebook
    • to jsme i testovali, ale momentálně to nefunguje vůbec
  • GoogleTalk
  • QQ
  • Live Journal
  • MySpaceIM
  • SameTime
  • SIP/SIMPLE
  • XMPP
    • velice zajímavý transport. XMPP je oficiální název protokolu Jabber. Takže tento transport umožní připojit jiný jabberský účet. Tedy lze používat více serverů najednou v rámci jednoho klienta. Bohužel to vypadá tak, že lze použít jeden přednastavený server (jabber.org), takže je tento transport využitelný pouze omezeně.

vyhledávání

Na serveru je spuštěn modul, co synchronizuje jména a emailové adresy podle vizitky (vCard) vyplněné uživateli. Standardně jsou to totiž dvě nezávislé sady údajů. Na starém serveru to sice fungovalo, ale vyžadovalo to zaregistrování do této služby a vyplnění údajů, takže to nikdo neměl a hledat šlo pouze podle JID (jabber adresy).

Použití je opět jednoduché. Přes jabber prohlížeč (jabber browser) použijeme službu search.jabber.khnet.info (User Search) a následně v menu vlevo zvolíme Search. Vyhledávání je podle uživatelského jména (tedy slova před zavináčem), jména a příjmení z vizitky a emailové adresy. Lze použít i znak "*" jako zástupný, tedy "mar*" najde Martina i Martinu (ale také Marušku či Dagmaru). Zjevně je tam ta hvězdička vždy z obou stran sama od sebe.

Každý transport/modul lze i zařadit (alespoň v Jajcu) přímo do kontakt listu, bude pak jednodušší použití. Stačí v Jabber prohlížeči na požadovanou službu kliknout pravým tl. myši a zvolit Přidat do kontaktů (Add user to contact list). Potom se objeví na spodku seznamu v části Protokoly (Agents, Agenti). A použití je jednodušší v tom, že pak stačí opět pravé tlačítko myši na tomto kontaktu a volba Search, a je to.

konference

Aneb skupinový pokec (group chat). Je to opět věc, která sice fungovala i dříve, ale nyní jsou lepší možnosti. Především lze zakládat trvalé místnosti (tedy které nezmizí s odhlášením posledního uživatele) a také je lze lépe řídit administrací serveru.

Založení pokecu je jednoduché - pod žárovkou je v menu volba Připojit/Vytvořit diskusi (Join/Create groupchat), server je conference.jabber.khnet.info (mělo by být předvyplněno), místnost je název skupiny (lze buď napsat novou, nebo vybrat ze seznamu dříve použitých), přezdívka je jméno zakladatele - lze totiž změnit (ale pro změnu to lze zakázat ve vlastnostech místnosti). Některé místnosti můžou být ochráněné heslem, pokud ano, je nutné ho zadat.

Seznam existujících místností může být k nalezení pomocí Jabber prohlížeče, pak je připojení do místnosti opravdu jednoduché.

Po odkliknutí OK uživatel vstoupí do místnosti (pokud už existuje a je mu to povoleno), nebo na něj vyskočí další okénko pro nastavení vlastností zakládané místnosti:

  • jméno místnosti - není třeba vysvětlovat
  • popis - proč a nač, uživatelé se tím mohou řídit třeba v pozvánkách.
  • povolit změnu předmětu - když se změní téma diskuse, lze to takto oznámit ostatním
  • maximum uživatelů - čím víc lidí kecá, tím nepřehlednější to je ...
  • role jejichž přítomnost je vysílána - přesně nevím, ale tyto typy uživatelů jsou asi oznámeni ostatním, pokud vstoupí do místnosti.
  • seznam místností v adresáři - je-li povoleno, je tato místnost k nalezení přes Jabber prohlížeč
  • místnost je trvalá - nezmizí s odhlášením posledního uživatele. Používat s rozmyslem ...
  • místnost je moderovaná - přesně netuším co to způsobuje
  • místnost je jen pro členy - též přesně nevím. Jak tam dostanu členy, když to zakládám bez nich?
  • povolit uživatelům zvát ostatním - docela důležité, bez tohoto může pozvánky do místnosti posílat pouze administrátor (vlastník).
  • heslo - tímto lze udělat opravdu tajnou místnost, vhodnou pro konspirace.

Obecně řečeno - nic na tom není. Po založení místnosti lze z menu odesílat pozvánky. Pozvánka se u uživatele projeví jako nová zpráva, kde se kliknutím na OK připojí do místnosti kam byl pozván. A pak už lze hromadně kecat, překřikovat se, atak ...

vizitka (vCard)

Konečně umožňuje ukládat všechno, co si do ní klient uloží. Tedy i třeba více emailových adres, telefonů, atp. Jenom pozor na zmínku v kapitole o vyhledávání - synchronizace se týká vždy prvního údaje, tedy hlavně první emailové adresy, ostatní jsou v tomto případě ignorovány.


--Ludvik 00:27, 1. 2. 2010 (CET)

Osobní nástroje