-
Notifications
You must be signed in to change notification settings - Fork 21
XMPP Spec managing accounts, roster and presence #156
Comments
cc @owncloud/designers |
So the roster is basically an address book, but only for XMPP contacts? In that case, I doubt whether we want it to be visible for the user. It will only add confusion because contacts' information is stored in multiple places. Apart from an initial import of existing XMPP contacts, I don't see any benefit to it. Am I wrong? |
Well, the »Roster« should just be comprised of the people in the Contacts app which have a Jabber address set. Whenever you add someone to your Buddy list, they should be added to Contacts.
Yes. |
It's an address book, created, managad and stored by the XMPP server. It hold your "buddies", which are basically JID's with optional extra information.
The roster can be changed by other clients, or the server (e.g. facebook friends)
So every time you load the Chat app, the roster and the Contacts app are synchronised? |
Basically that would be ideal, yes. Everytime you open the Chat app, the Chat app should check if there are more (or less) people with Jabber IDs in Contacts. |
At first XMPP connection, the Chat app could create a group in the addressbook of the ownCloud user named something like "Chat contacts" and import them all. On every consecutive XMPP login the Chat app can check if there are jabber identifiers that are not yet included in the addressbook, and add them. Later on we can implement merging with existing contacts. |
@jancborchardt @jbtbnl new contacts are now saved in the Contacts app (ref #158)
|
@LEDfan option 3 seems the best. If the user is eager to clean up the address book then a visit to the Contacts app will suffice. |
If the contact was created by the Chat app in the first place (and has no other info other than the XMPP handle) then delete it. If it has other info as well or existed before, do nothing. |
@jancborchardt will do it that way :) |
@jancborchardt @jbtbnl to keep it simple for now, I won't remove any contacts. |
@LEDfan that's fine, it can be implemented later on if necessary. |
Yup, sounds fine. |
The XMPP protocol which is being implemented has some special cases which need to be implemented in the Chat app. In this issue I want to discuss how the XMPP protocol should be implemented. I'have made a list of questions along with some information, about how I would implement it. If you don't agree with the questions please respond, otherwise I'll implement it like that.
Accounts
A XMPP account is identified by the
jid
. Which stands forjabber identifier
. It consists of:If your username on facebook is e.g.
derpie123
the jid will be:It must be possible to connect to multiple XMPP servers at the same time.
Roster
On the server there is a
contact
orbuddy
list, called theroster
. It must be possible to add, remove and editcontacts
in this roster from the Chat client.IMO there should be a button (just like the
+
andattach file
buttons) to add a contact from the OC contacts app to the xmpp roster, and vice versa.IMO both users should be shown.
Again, IMO this should be possible. This mean a
new conversation
button must be introduced. When clicked an input field should be shown which aks the user 4 things:-whetherr this user should be added to the OC Contacts app (B)
If the user deny A and B, the next time the Chat app is loaded this conversation will dissapear. (like in other XMPP clients). If the user accepts A or B, the user will show up when the Chat app is reloaded. When the user shoses A this will also be the case for other XMPP clients.
Note that when a XMPP JID send you a message, this conversations also will be added to the conversation list for this current session. When you reload the Chat app this conversation won't be shown, except when you receive a new message. A
add to XMPP roster
and aadd to Contacts app
button must be shown.IMO it should. This means a button
add a new contact to the XMPP roster
should be introduced.Presence
Presence means the current status of the user, e.g.:
When user
derp@xmpp.woho.tld
subscribe* to the presence of usertom@xmpp.wihi.tld
usertom
has to authorize this. In most clients adeny/accept
popup is shown.*this means user
derp@xmpp.woho.tld
can see whethertom@xmpp.wihi.tld
is online.cc @jancborchardt @jbtbnl @stefan-niedermann @fossxplorer @wakeup
@jancborchardt maybe you can ping @owncloud/designers?
The text was updated successfully, but these errors were encountered: