Okay, so i had some more time to read through this and here are my two cents:
Gojara does actually solve the first problem, it just does it in a way that is probably pretty specific to the Spark client. As we use OF + Spark + Spectrum in a business environment, we had some requirements to consider when implementing. (For example nonpersistant roster, transport itself not showing up in the users contact list, preventing OF sending Presences to all items in users roster, causing Transports to always connect on startup, even if not specified to do so in client.)
When spectrum sends the Jabber:iq:Roster to request the users roster from OF (so it can see if it supports RR + to see which users are already in the roster, resulting in optimally not needing to push every item again) - Gojara replies with an empty roster Payload (in non Persistant Mode). This indicates to spectrum that we support RR, and that it needs to push the complete roster, which is a little patch i did to S2 some time ago with help from Jan .
If you have Gojara installed but didnt enable remote Roster (like shown in the guide document) it should send error, which causes a lot of subscription requests to pop up, as spectrum falls back to non remote roster contact pushing.
As i see it the Gajim workaround is necessary (and we wont change anything in Gojara atm), because Gajim doesnt seem to keep track of its enabled Transports, or at least it does not push any presence change to the transport. Which of course is not problematic in itself, but conflicts with the way Spark does this. With the workaround it should’nt really be a problem anymore, maybe in the future i’ll add some more options to disable/enable specific things we implemented for spark usage.
I dont know if i covered everything now, but well much thanks for your effort! Will definitely look into some things if it comes up again.
transport itself not showing up in the users contact list
Don’t know why you want to do such strange things, I think it could be better if gojara will have an option “push transport jid to roster” And it will be the best if OF without gojara will send error to jabber:iq:roster request from transport and then transport will be able to fallback
I just tried Spark and understand now what problem you solve.
Spark flow - discovery available services and show icons at the top of roster, I can click icon, register and check do I want to login automatically or not. Yes, spark with gojara works perfectly
Kraken flow - if I register from Spark, it does not add transport jid to roster and does not persist all transport contacts in roster and Spark flow works as usual. but if I register from another client - it add transport jid, add all contacts and works as other clients are want.
So, what I want from Gojara - the same flow as Kraken Is it possible?
Am I interpreting this correctly: “You will need to remove existing Registration so you have a fresh start.”, as in I have to tell all my users to re-register with the transports?
I am in need to implement gojara to enable the openfire users to chat with the gmail/yahoo users.
I will download, test and update on my findings. Is there any gmail , yahoo related setup that has to go in to make the openfire users talk to gtalk and yahoo.
You should try to do things according to it, and if a problem arises maybe have a look in this discussion if it already popped up. I try to include problems in the guide though. If you’re still having trouble configuring, feel free to write a PM or post again!
Gojara is not tested with Skype / Facebook though. Gtalk, Yahoo, AIM, ICQ, MSN etc run fine though.
To be clear: Spectrum acts as a gateway. Spectrum + Gojara make it possible to log into your (say Gtalk) Account via an XMPP Messenger and the XMPP Server Openfire.
Therefore you need a gmail account to talk to other gmail users, but you then can log into it via your xmpp client and openfire, instead of running a native gtalk client.