Re: [Standards] xep - 144

2009-07-17 Thread Pedro Melo


On 2009/07/16, at 14:19, Fabio Forno wrote:


Some more thoughts, which are the business rules for accepting roster
items? I explain with some cases:
- in the main roster on the server we have jids coming from any domain


The main roster is under the client control, so I guess he decides  
what to put there.



- can rosters coming form separate services (each one with its own
domain, e.g. msn.jabber.org) contain jids from other domains or only
in the same domain (s...@msn.jabber.org yes, but not s...@jabber.org)?
I prefer to restrict to the domain


I think it MUST be restricted to the domain. The x...@msn.net would  
become xpto\40msn@msn.jabber.org.




- what happens when the main roster contains jids in the same
subdomain of the service? I'd say that all that entries should be
ignored by the client


Not sure yet. I don't see this as causing problems to the XMPP network  
as a whole, and in those cases, i don't see the need to restrict  
something that might be used creatively by smart client authors.




- do we allow full jids export their own roster to other clients? I'd
say no in the case, roster providers can be just domain jids.


I don't see a useful use case for having JIDs export roster items to  
another, but I also don't see what harm would it cause.


Best regards,


Re: [Standards] xep - 144

2009-07-16 Thread Kevin Smith
On Thu, Jul 16, 2009 at 3:01 PM, Fabio Forno wrote:
>> They can come from any domain - think of a shared roster/user groups service.
> Uhm, I'm trying to think together with presence delivery too. Shared
> roster is bit tricky in that, since shared.jabber.org could tell you
> that ham...@danemark.net is you roster, and then what? If your server
> doesn't know that  presence is never routed. This seems a special case
> where some collaboration with server itself is needed
> In all the other cases instead the presence to the service jid is sufficient

Point taken. So even if you're running a shared roster service, it
still needs to do JID transformation, and you could well be right :)

>> You continue as usua (e.g. for a transport you could have the service
>> and the service admin both in your main roster).
> I was thinking of removal. If it happens that you have
> s...@msn.jabber.org in the main roster and not more in the gateway it
> means that you have deleted it, perhaps with a different client, but
> you server will still think that you have a subscription. Instead if
> we limit the secondary rosters to a subdomain the client know that
> missing jids must be deleted from the main roster. (this should happen
> in the ideal world, but during the transition it will be the rule)

I'm not sure why this one's a big deal - I don't see why the same
contact should end up in both your transport roster and your main
roster.

>>> - do we allow full jids export their own roster to other clients? I'd
>>> say no in the case, roster providers can be just domain jids.
>> I don't follow - are you asking if e.g. I could share my roster with you?
> I was just wondering if a client entity could be a roster provider for
> a different client entity. I've no idea of possible applications, and
> I'd forbid it, but perhaps it's just lack of "vision" ;)

It does sound interesting to be able to see other people's rosters,
where authorised, so I wouldn't outright forbid it unless we need to.
I have no real use case, though.

Best,
/K


Re: [Standards] xep - 144

2009-07-16 Thread Fabio Forno
On Thu, Jul 16, 2009 at 3:27 PM, Kevin Smith wrote:
>> - in the main roster on the server we have jids coming from any domain
>> - can rosters coming form separate services (each one with its own
>> domain, e.g. msn.jabber.org) contain jids from other domains or only
>> in the same domain (s...@msn.jabber.org yes, but not s...@jabber.org)?
>> I prefer to restrict to the domain
>
> They can come from any domain - think of a shared roster/user groups service.

Uhm, I'm trying to think together with presence delivery too. Shared
roster is bit tricky in that, since shared.jabber.org could tell you
that ham...@danemark.net is you roster, and then what? If your server
doesn't know that  presence is never routed. This seems a special case
where some collaboration with server itself is needed

In all the other cases instead the presence to the service jid is sufficient

>> - what happens when the main roster contains jids in the same
>> subdomain of the service? I'd say that all that entries should be
>> ignored by the client
>
> You continue as usua (e.g. for a transport you could have the service
> and the service admin both in your main roster).

I was thinking of removal. If it happens that you have
s...@msn.jabber.org in the main roster and not more in the gateway it
means that you have deleted it, perhaps with a different client, but
you server will still think that you have a subscription. Instead if
we limit the secondary rosters to a subdomain the client know that
missing jids must be deleted from the main roster. (this should happen
in the ideal world, but during the transition it will be the rule)


>> - do we allow full jids export their own roster to other clients? I'd
>> say no in the case, roster providers can be just domain jids.
>
> I don't follow - are you asking if e.g. I could share my roster with you?

I was just wondering if a client entity could be a roster provider for
a different client entity. I've no idea of possible applications, and
I'd forbid it, but perhaps it's just lack of "vision" ;)

bye

-- 
Fabio Forno, Ph.D.
Bluendo srl http://www.bluendo.com
jabber id: f...@jabber.bluendo.com


Re: [Standards] xep - 144

2009-07-16 Thread Kevin Smith
On Thu, Jul 16, 2009 at 2:19 PM, Fabio Forno wrote:
> Some more thoughts, which are the business rules for accepting roster
> items? I explain with some cases:
> - in the main roster on the server we have jids coming from any domain
> - can rosters coming form separate services (each one with its own
> domain, e.g. msn.jabber.org) contain jids from other domains or only
> in the same domain (s...@msn.jabber.org yes, but not s...@jabber.org)?
> I prefer to restrict to the domain

They can come from any domain - think of a shared roster/user groups service.

> - what happens when the main roster contains jids in the same
> subdomain of the service? I'd say that all that entries should be
> ignored by the client

You continue as usua (e.g. for a transport you could have the service
and the service admin both in your main roster).

> - do we allow full jids export their own roster to other clients? I'd
> say no in the case, roster providers can be just domain jids.

I don't follow - are you asking if e.g. I could share my roster with you?

Best,
/K


Re: [Standards] xep - 144

2009-07-16 Thread Fabio Forno
Some more thoughts, which are the business rules for accepting roster
items? I explain with some cases:
- in the main roster on the server we have jids coming from any domain
- can rosters coming form separate services (each one with its own
domain, e.g. msn.jabber.org) contain jids from other domains or only
in the same domain (s...@msn.jabber.org yes, but not s...@jabber.org)?
I prefer to restrict to the domain
- what happens when the main roster contains jids in the same
subdomain of the service? I'd say that all that entries should be
ignored by the client
- do we allow full jids export their own roster to other clients? I'd
say no in the case, roster providers can be just domain jids.

bye

On Thu, Jul 16, 2009 at 12:11 PM, Fabio Forno wrote:
> On Thu, Jul 16, 2009 at 9:49 AM, Pedro Melo wrote:
[...[
>



-- 
Fabio Forno, Ph.D.
Ooros srl
jabber id: f...@jabber.bluendo.com


Re: [Standards] xep - 144

2009-07-16 Thread Fabio Forno
On Thu, Jul 16, 2009 at 9:49 AM, Pedro Melo wrote:
>
>
> I've been thinking about this problem and I don't see a solution for this
> that is compatible with different generation of clients (those who support
>  trusted sources for jabber:iq:roster and those that don't).
>
> I think this might be one situation where you would have to use a big bang
> approach: each user decides which protocol he wants to use, and all his
> clients must use that one.
>
> I'm hoping someone smarter will come up with something better though :)
>
> Best regards,

I've been thinking about it too. Indeed which is the real problem?
Just duplicated entries, which will be seen by the new client only,
and we can cope with them while merging the rosters and giving
precedence to the component's entries. The benefits are so high that
we can live with this little issue ;)

bye

-- 
Fabio Forno, Ph.D.
Bluendo srl http://www.bluendo.com
jabber id: f...@jabber.bluendo.com


Re: [Standards] xep - 144

2009-07-16 Thread Pedro Melo


On 2009/07/15, at 22:15, Fabio Forno wrote:


2009/7/15 Remko Tronçon :


True. If we use a new protocol, a client can announce support of it
through entity capabilities, and the service can decide what to do at
presence-receive time. Of course, this will still mean an add/auth
storm if you ever use one client that doesn't support the protocol,
which is indeed painful. That's why I would only check that at
registration time, but that in turn will lead to questions like "Why
don't i see my contacts if i log in with my mobile client?"


We have two clients, A and B, only A supports the new protocol. A
registers with the gateway so that contacts are not set in the main
roster. Then B sends its presence and the gw what should do? If if
does nothing, since the client won't get roster we just miss the
contacts, but it is worse if it tries to add the contatcs to the main
roster. After that for client A all the contacts are duplicated, and
their handling may not be trivial.


I've been thinking about this problem and I don't see a solution for  
this that is compatible with different generation of clients (those  
who support  trusted sources for jabber:iq:roster and those that don't).


I think this might be one situation where you would have to use a big  
bang approach: each user decides which protocol he wants to use, and  
all his clients must use that one.


I'm hoping someone smarter will come up with something better though :)

Best regards,

Re: [Standards] xep - 144

2009-07-16 Thread Remko Tronçon
> We have two clients, A and B, only A supports the new protocol. A
> registers with the gateway so that contacts are not set in the main
> roster. Then B sends its presence and the gw what should do? If if
> does nothing, since the client won't get roster we just miss the
> contacts, but it is worse if it tries to add the contatcs to the main
> roster. After that for client A all the contacts are duplicated, and
> their handling may not be trivial.

That's what I tried to say ;-)

cheers,
Remko


Re: [Standards] xep - 144

2009-07-15 Thread Fabio Forno
2009/7/15 Remko Tronçon :

> True. If we use a new protocol, a client can announce support of it
> through entity capabilities, and the service can decide what to do at
> presence-receive time. Of course, this will still mean an add/auth
> storm if you ever use one client that doesn't support the protocol,
> which is indeed painful. That's why I would only check that at
> registration time, but that in turn will lead to questions like "Why
> don't i see my contacts if i log in with my mobile client?"

We have two clients, A and B, only A supports the new protocol. A
registers with the gateway so that contacts are not set in the main
roster. Then B sends its presence and the gw what should do? If if
does nothing, since the client won't get roster we just miss the
contacts, but it is worse if it tries to add the contatcs to the main
roster. After that for client A all the contacts are duplicated, and
their handling may not be trivial.

-- 
Fabio Forno, Ph.D.
Bluendo srl http://www.bluendo.com
jabber id: f...@jabber.bluendo.com


Re: [Standards] xep - 144

2009-07-15 Thread Kevin Smith
2009/7/15 Remko Tronçon :
>> I'm sure there were good reasons for both these suggestions - I can
>> understand why if we upgrade the usage we can upgrade the namespace,
>> but what is the motivation for suggesting two different namespaces for
>> the same job?
> It will take some time until server software is upgraded to 3921bis,
> and until then, they may not route jabber:iq:roster packages to
> components (because of the special treatment of jabber:iqRoster in
> 3921). A new protocol will not have this problem.

Well, yes - but just using a new namespace everywhere would work ok
too. Clients will have to jabber:iq:roster if their server only
understands that regardless, but we can use the new namespace where
it's supported everywhere. Yes, my motivation for this is largely that
of the other thread - I'd like to upgrade roster handling while we're
at it.

/K


Re: [Standards] xep - 144

2009-07-15 Thread Remko Tronçon
> Two small issues:
> - it won't work until servers route the packets (small fix, but
> upgrades are needed)

Indeed. This could be solved by using a new protocol.

> - transition will be difficult, since if it can't work while using two
> different clients of which just one supports it (and the case is very
> common, since nobody uses the same client for teh desktop or mobiles)

True. If we use a new protocol, a client can announce support of it
through entity capabilities, and the service can decide what to do at
presence-receive time. Of course, this will still mean an add/auth
storm if you ever use one client that doesn't support the protocol,
which is indeed painful. That's why I would only check that at
registration time, but that in turn will lead to questions like "Why
don't i see my contacts if i log in with my mobile client?"

cheers,
Remko


Re: [Standards] xep - 144

2009-07-15 Thread Remko Tronçon
> I'm sure there were good reasons for both these suggestions - I can
> understand why if we upgrade the usage we can upgrade the namespace,
> but what is the motivation for suggesting two different namespaces for
> the same job?

It will take some time until server software is upgraded to 3921bis,
and until then, they may not route jabber:iq:roster packages to
components (because of the special treatment of jabber:iqRoster in
3921). A new protocol will not have this problem.

cheers,
Remko


Re: [Standards] xep - 144

2009-07-15 Thread Kevin Smith
On Wed, Jul 15, 2009 at 4:59 AM, Peter Saint-Andre wrote:
>> Could we just do a new urn:xmpp:roster namespace, expose your master roster
>> via that namespace (also), and use that new namespace to talk to external
>> entities?
> Or we could use jabber:iq:roster as we always have in the past, with
> urn:xmpp:roster for the share groups functionality.

I'm sure there were good reasons for both these suggestions - I can
understand why if we upgrade the usage we can upgrade the namespace,
but what is the motivation for suggesting two different namespaces for
the same job?

Best,
/K


Re: [Standards] xep - 144

2009-07-14 Thread Joe Hildebrand
On 7/14/09 8:59 PM, "Peter Saint-Andre"  wrote:
>> Could we just do a new urn:xmpp:roster namespace, expose your master roster
>> via that namespace (also), and use that new namespace to talk to external
>> entities?
> 
> Or we could use jabber:iq:roster as we always have in the past, with
> urn:xmpp:roster for the share groups functionality.

Sure, that would work, as long as the two schemas were fundamentally equal
aside from namespace.  If there was a single namespace with a
backwards-compatibility mode, it would give us a chance to define an
extensibility model, however.

-- 
Joe Hildebrand



Re: [Standards] xep - 144

2009-07-14 Thread Peter Saint-Andre
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 7/14/09 9:45 PM, Joe Hildebrand wrote:
> On 7/14/09 1:15 PM, "Fabio Forno"  wrote:
> 
>> Two small issues:
>> - it won't work until servers route the packets (small fix, but
>> upgrades are needed)
>> - transition will be difficult, since if it can't work while using two
>> different clients of which just one supports it (and the case is very
>> common, since nobody uses the same client for teh desktop or mobiles)
> 
> Could we just do a new urn:xmpp:roster namespace, expose your master roster
> via that namespace (also), and use that new namespace to talk to external
> entities?

Or we could use jabber:iq:roster as we always have in the past, with
urn:xmpp:roster for the share groups functionality.

Peter

- --
Peter Saint-Andre
https://stpeter.im/


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.8 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkpdU8UACgkQNL8k5A2w/vzrGQCgh0Wz1bKvyZ40iBrhpdijydUc
2UQAn3eTGWunXXMjIYYa/IF57cYjwsY0
=88rf
-END PGP SIGNATURE-


Re: [Standards] xep - 144

2009-07-14 Thread Joe Hildebrand
On 7/14/09 1:15 PM, "Fabio Forno"  wrote:

> Two small issues:
> - it won't work until servers route the packets (small fix, but
> upgrades are needed)
> - transition will be difficult, since if it can't work while using two
> different clients of which just one supports it (and the case is very
> common, since nobody uses the same client for teh desktop or mobiles)

Could we just do a new urn:xmpp:roster namespace, expose your master roster
via that namespace (also), and use that new namespace to talk to external
entities?

If we were to do this, of course, it opens the question of what that new
roster protocol should look like, but we could choose be relatively
conservative about changes.

-- 
Joe Hildebrand



Re: [Standards] xep - 144

2009-07-14 Thread Fabio Forno
On Tue, Jul 14, 2009 at 8:11 PM, Peter Saint-Andre wrote:
> We have long resisted this because we saw jabber:iq:roster as all and
> only between you and your server (cf. recent discussion about 3921bis on
> the XMPP WG list). If we remove that restriction, you can have a "roster
> relationship" with any other entity, such as shared groups service.

With the only caveat that clients must pay attention to the from in
roster sets. This puts a bit more complexity in the service and the
client, especially if we want to support roster versioning for all the
components, but the overall advantages are clear. I like it also for
social applications, in that way the service can add/remove special
contacts accordingly to the active feeds of the user, without
cluttering the main roster

>> So yes, let's use standard rosters for transports and shared groups,
>> and let's keep roster item exchange just for sharing contacts.
>
> WFM.

Two small issues:
- it won't work until servers route the packets (small fix, but
upgrades are needed)
- transition will be difficult, since if it can't work while using two
different clients of which just one supports it (and the case is very
common, since nobody uses the same client for teh desktop or mobiles)

-- 
Fabio Forno, Ph.D.
Ooros srl
jabber id: f...@jabber.bluendo.com


Re: [Standards] xep - 144

2009-07-14 Thread Peter Saint-Andre
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 7/14/09 11:04 AM, Kevin Smith wrote:
> On Tue, Jul 14, 2009 at 5:48 PM, Peter Saint-Andre wrote:
>>> - It does a jabber:iq:roster request on gateway.example.com
> 
>> This is not limited to gateways, but also to shared groups services
>> (e.g., you get all the XSF members in a special "Members" group).
> 
> This is so simple and solves the problem so well that I have no idea
> why we haven't been doing it from the start. Good catch.
> It solves a bunch of issues, like levels of trust with the transport
> to edit your roster, of migration between transports or servers,
> groups within the transport, contact naming, and jid escaping.

We have long resisted this because we saw jabber:iq:roster as all and
only between you and your server (cf. recent discussion about 3921bis on
the XMPP WG list). If we remove that restriction, you can have a "roster
relationship" with any other entity, such as shared groups service.

> So yes, let's use standard rosters for transports and shared groups,
> and let's keep roster item exchange just for sharing contacts.

WFM.

Peter

- --
Peter Saint-Andre
https://stpeter.im/


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.8 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkpcymMACgkQNL8k5A2w/vzq1gCgulBtR8U2mhlA+2Y+rYXo0+/u
UO8AoJFeaVlpXBvA9BUpComKYqfDRDyP
=IOCk
-END PGP SIGNATURE-


Re: [Standards] xep - 144

2009-07-14 Thread Kevin Smith
On Tue, Jul 14, 2009 at 5:48 PM, Peter Saint-Andre wrote:
>> - It does a jabber:iq:roster request on gateway.example.com

> This is not limited to gateways, but also to shared groups services
> (e.g., you get all the XSF members in a special "Members" group).

This is so simple and solves the problem so well that I have no idea
why we haven't been doing it from the start. Good catch.
It solves a bunch of issues, like levels of trust with the transport
to edit your roster, of migration between transports or servers,
groups within the transport, contact naming, and jid escaping.

So yes, let's use standard rosters for transports and shared groups,
and let's keep roster item exchange just for sharing contacts.

Yay.

/K


Re: [Standards] xep - 144

2009-07-14 Thread Peter Saint-Andre
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 7/14/09 3:42 AM, Remko Tronçon wrote:
>> Openfire allows this, and the gateways use jabber:iq:roster. It works
>> fine, but in order to use too roster sequencing I'd like to have a
>> centralized repository of the roster, and the best approach, if we
>> don't want to hack into the server, is to directly tell the client
>> what to do.
> 
> Openfire lets the components use jabber:iq:roster on a user's roster,
> but that involves quite a bit of trust on the component (as it has
> access to the full roster).
> 
> I meant something different:
> - The client logs in
> - It gets presence from "gateway.example.com", which includes the
> "shared-roster" capability
> - It does a jabber:iq:roster request on gateway.example.com
> - It adds the resulting items to the *displayed* roster (not the master 
> roster)
> - The gateway acts as a real server from now on: it sends presence,
> subscription requests, and roster pushes for all contacts in its
> roster to the client that requested the roster, and forwards presence
> to all contacts in the reverse direction.

This is not limited to gateways, but also to shared groups services
(e.g., you get all the XSF members in a special "Members" group).

I agree that it would be better to have two different protocols: one for
sharing roster items with friends (preferably also coupled with the
ability to make introductions) and another for shared groups. I've never
liked how XEP-0144 muddied the waters of roster item sharing, which were
much clearer in XEP-0093.

Peter

- --
Peter Saint-Andre
https://stpeter.im/


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.8 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkpctsMACgkQNL8k5A2w/vwzcACeNM7pndb2Uw75ZOLfF0QBqgjp
S8AAn31k3tqgUGhvxEfkgs66G6nmDUPk
=iNw8
-END PGP SIGNATURE-


Re: [Standards] xep - 144

2009-07-14 Thread Remko Tronçon
> Openfire allows this, and the gateways use jabber:iq:roster. It works
> fine, but in order to use too roster sequencing I'd like to have a
> centralized repository of the roster, and the best approach, if we
> don't want to hack into the server, is to directly tell the client
> what to do.

Openfire lets the components use jabber:iq:roster on a user's roster,
but that involves quite a bit of trust on the component (as it has
access to the full roster).

I meant something different:
- The client logs in
- It gets presence from "gateway.example.com", which includes the
"shared-roster" capability
- It does a jabber:iq:roster request on gateway.example.com
- It adds the resulting items to the *displayed* roster (not the master roster)
- The gateway acts as a real server from now on: it sends presence,
subscription requests, and roster pushes for all contacts in its
roster to the client that requested the roster, and forwards presence
to all contacts in the reverse direction.

This will of course only work for clients supporting the protocol, but
I don't think there's a clean other way that doesn't have too much
trust or privacy issues. A component could check at registration time
whether the client supports the protocol, and use the old ways if not.
This would mean that the user needs to re-register if it switches to a
client which does / does not support the protocol and wishes to use
the gateway, but this should phase out eventually.

cheers,
Remko


Re: [Standards] xep - 144

2009-07-14 Thread Fabio Forno
2009/7/14 Remko Tronçon :
>> Right, but I keep wondering if modifying XEP-0093 to include the second
>> use case was wrong...
>
> It wasn't really a good flow, no. Psi implements this XEP too, and it
> helps with the whole auth-storm-on-gateway-registration, but still has
> quite some drawbacks. I think we should try defining a better protocol
> for this.

Indeed psi still has the problem of storms, since after presenting the
addition request it asks to authorize each presence subscription
arriving from the gateway as an answer.  However this is just an
implementation issue easily fixable.

> I liked the thought we had a few years ago where you could use
> jabber:iq:roster on something else than a server JID (which was
> prohibited by the RFC back then, I forgot if we did something about
> that in bis). Remote rosters such as component rosters wouldn't need
> to be mirrored in your real roster any more, which would solve quite a
> bit of problems.

Openfire allows this, and the gateways use jabber:iq:roster. It works
fine, but in order to use too roster sequencing I'd like to have a
centralized repository of the roster, and the best approach, if we
don't want to hack into the server, is to directly tell the client
what to do.

-- 
Fabio Forno, Ph.D.
Bluendo srl http://www.bluendo.com
jabber id: f...@jabber.bluendo.com


Re: [Standards] xep - 144

2009-07-14 Thread Remko Tronçon
> Right, but I keep wondering if modifying XEP-0093 to include the second
> use case was wrong...

It wasn't really a good flow, no. Psi implements this XEP too, and it
helps with the whole auth-storm-on-gateway-registration, but still has
quite some drawbacks. I think we should try defining a better protocol
for this.

I liked the thought we had a few years ago where you could use
jabber:iq:roster on something else than a server JID (which was
prohibited by the RFC back then, I forgot if we did something about
that in bis). Remote rosters such as component rosters wouldn't need
to be mirrored in your real roster any more, which would solve quite a
bit of problems.

cheers,
Remko


Re: [Standards] xep - 144

2009-07-13 Thread Fabio Forno
On Tue, Jul 14, 2009 at 12:59 AM, Peter Saint-Andre wrote:

> Right, but I keep wondering if modifying XEP-0093 to include the second
> use case was wrong...

An approach could be resurrecting xep-0093 for the first case and use
ad hoc commands for the whole second one. We just send an ad hoc
command containing the block of roster "commands" that the client
should apply, ad we wait for the list of accepted commands as result

bye

-- 
Fabio Forno, Ph.D.
Bluendo srl http://www.bluendo.com
jabber id: f...@jabber.bluendo.com


Re: [Standards] xep - 144

2009-07-13 Thread Peter Saint-Andre
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 7/13/09 4:57 PM, Fabio Forno wrote:
> On Mon, Jul 13, 2009 at 11:48 PM, Peter Saint-Andre wrote:
> 
>> I like the idea of being able to share roster items, introduce one
>> person to another over IM, etc. But I'm not convinced that XEP-0144
>> solves compelling use cases. XEP-0093 was simpler and therefore better,
>> IMHO.
>>
> 
> We have two use cases:
> - exchange of business cards, where xep-0093 was good, since we don't
> care if the items are processed
> - roster sync with a component (it may be a transport, but also a
> component hosting different services), and for that we'd like to see
> the result of the operation

Right, but I keep wondering if modifying XEP-0093 to include the second
use case was wrong...

Peter

- --
Peter Saint-Andre
https://stpeter.im/


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.8 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkpbvGQACgkQNL8k5A2w/vwchgCfey+WKPauaUcWSwpM0ZLTl7M6
WeQAoJcfLvPVAnsCpP5BYc6gihdtkzcN
=BMMW
-END PGP SIGNATURE-


Re: [Standards] xep - 144

2009-07-13 Thread Fabio Forno
On Mon, Jul 13, 2009 at 11:48 PM, Peter Saint-Andre wrote:

> I like the idea of being able to share roster items, introduce one
> person to another over IM, etc. But I'm not convinced that XEP-0144
> solves compelling use cases. XEP-0093 was simpler and therefore better,
> IMHO.
>

We have two use cases:
- exchange of business cards, where xep-0093 was good, since we don't
care if the items are processed
- roster sync with a component (it may be a transport, but also a
component hosting different services), and for that we'd like to see
the result of the operation

bye

-- 
Fabio Forno, Ph.D.
Bluendo srl http://www.bluendo.com
jabber id: f...@jabber.bluendo.com


Re: [Standards] xep - 144

2009-07-13 Thread Fabio Forno
On Mon, Jul 13, 2009 at 11:07 PM, Brian Cully wrote:
>        I am using it in-house with an ad-hoc command interface, and it works
> passably. I'm not sure about the points raised here. Regarding lack of
> feedback, this might be considered a feature. My understanding of roster
> push is that it merely advises the client to make changes to its roster and
> is only concerned with the client having accepted the changes (even if it
> didn't employ them). If a client decides not to take a change a future
> request for a roster push probably shouldn't push out that change again (the
> client already reviewed it and said, "no").

Indeed this is the problem we have in absence of feedback: we don't
know if the client reject it or it simply didn't process it, and
therefore we can't resend additions. The result we observed is that
after a while the roster then to be de-synchronized

>        As for re-synchronizing the roster, as I recall the spec there's no
> way to synchronize the roster either. Hence the ad-hoc command interface,
> which can be easily extended to do a full push again, if necessary.

This is one option we have, however there is no easy way to detect
deletions with the present specs (the client can't keep track of who
added the contacts, so missing contacts in the resend can't be
dedected

>        That being said, I'm not the biggest fan of XEP-0144, and would be
> keen to see any proposed changes although I lack any of my own at this time.

Briedly waht we have in mind:
- for the first issue we plan to add an id to the addition







The client therefore sends a result when it receives the stanza, as it
happens now. Then after the user has processed the changes it sends
backcontaining the accepted items








- for the second issue we would like to send an  of type get,
specifying a "query" asking for all the contacts of a given group or
domain, so that we can compare the result with the contacts we have in
the roster and detect deletions too; as you say this can be done with
an ad hoc command too, in that case I'd like to write an example in
the xep in order to document the practice.

bye

-- 
Fabio Forno, Ph.D.
Bluendo srl http://www.bluendo.com
jabber id: f...@jabber.bluendo.com


Re: [Standards] xep - 144

2009-07-13 Thread Peter Saint-Andre
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 7/13/09 3:07 PM, Brian Cully wrote:

> That being said, I'm not the biggest fan of XEP-0144, and would be
> keen to see any proposed changes although I lack any of my own at this
> time.

I like the idea of being able to share roster items, introduce one
person to another over IM, etc. But I'm not convinced that XEP-0144
solves compelling use cases. XEP-0093 was simpler and therefore better,
IMHO.

Peter

- --
Peter Saint-Andre
https://stpeter.im/


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.8 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkpbq8YACgkQNL8k5A2w/vxxNACeKdPBAdTh11kI1eAQBM1Zxs0Y
gooAn02BHq36Igbl4EAqtZHsnPF7FuGm
=F19j
-END PGP SIGNATURE-


Re: [Standards] xep - 144

2009-07-13 Thread Brian Cully

On 13-Jul-2009, at 15:15, Peter Saint-Andre wrote:

On 7/13/09 3:44 AM, Fabio Forno wrote:

we are trying to use XEP 144 for synchronizing the roster of our
mobile client with remote services, but we encountered a number of
issues, mainly:
- lack of feedback from the client to the service of which
modifications of the roster have been accepted
- lack of any mechanism for re-synchronizing the roster if  
something wen wrong


Therefore we are thinking to extend the XEP in order to address these
issues, the only problem is that we could propose some breaking
changes, therefore we'd like to know if anybody is :
-  using the XEP (we know that psi does, but the implementation is  
not

very usable, I think for the lack of testing since no transport is
using it)
- planning to use it, in that case any suggestion?


There were some implementations of XEP-0093 in the old old days  
(Gabber,

Winjab, etc.), but this has never been the most popular feature. If we
want to design yet another approach, that would be fine with me (if it
fixes all the issues).


	I am using it in-house with an ad-hoc command interface, and it works  
passably. I'm not sure about the points raised here. Regarding lack of  
feedback, this might be considered a feature. My understanding of  
roster push is that it merely advises the client to make changes to  
its roster and is only concerned with the client having accepted the  
changes (even if it didn't employ them). If a client decides not to  
take a change a future request for a roster push probably shouldn't  
push out that change again (the client already reviewed it and said,  
"no").


	As for re-synchronizing the roster, as I recall the spec there's no  
way to synchronize the roster either. Hence the ad-hoc command  
interface, which can be easily extended to do a full push again, if  
necessary.


	That being said, I'm not the biggest fan of XEP-0144, and would be  
keen to see any proposed changes although I lack any of my own at this  
time.


-bjc


Re: [Standards] xep - 144

2009-07-13 Thread Peter Saint-Andre
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 7/13/09 3:44 AM, Fabio Forno wrote:
> Hi,
> we are trying to use XEP 144 for synchronizing the roster of our
> mobile client with remote services, but we encountered a number of
> issues, mainly:
> - lack of feedback from the client to the service of which
> modifications of the roster have been accepted
> - lack of any mechanism for re-synchronizing the roster if something wen wrong
> 
> Therefore we are thinking to extend the XEP in order to address these
> issues, the only problem is that we could propose some breaking
> changes, therefore we'd like to know if anybody is :
> -  using the XEP (we know that psi does, but the implementation is not
> very usable, I think for the lack of testing since no transport is
> using it)
> - planning to use it, in that case any suggestion?

There were some implementations of XEP-0093 in the old old days (Gabber,
Winjab, etc.), but this has never been the most popular feature. If we
want to design yet another approach, that would be fine with me (if it
fixes all the issues).

Peter

- --
Peter Saint-Andre
https://stpeter.im/


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.8 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkpbh+YACgkQNL8k5A2w/vwC9ACgzPU0W0GdOfeZYE9BM9rzDD4w
8xoAoN5J8PlUc8dPFnhnoPNTZCxoK6gb
=zFeI
-END PGP SIGNATURE-


[Standards] xep - 144

2009-07-13 Thread Fabio Forno
Hi,
we are trying to use XEP 144 for synchronizing the roster of our
mobile client with remote services, but we encountered a number of
issues, mainly:
- lack of feedback from the client to the service of which
modifications of the roster have been accepted
- lack of any mechanism for re-synchronizing the roster if something wen wrong

Therefore we are thinking to extend the XEP in order to address these
issues, the only problem is that we could propose some breaking
changes, therefore we'd like to know if anybody is :
-  using the XEP (we know that psi does, but the implementation is not
very usable, I think for the lack of testing since no transport is
using it)
- planning to use it, in that case any suggestion?

bye

-- 
Fabio Forno, Ph.D.
Bluendo srl http://www.bluendo.com
jabber id: f...@jabber.bluendo.com