Re: [Standards] MUC rooms on roster.

2007-08-14 Thread Peter Saint-Andre
Joe Hildebrand wrote:
> 
> On Aug 13, 2007, at 7:02 AM, Peter Saint-Andre wrote:
>> So, to summarize, a ghost/outsider:
>>
>> - Can see the presence of group members
>> - Can send messages to the whole group
>> - Is not seen as part of the group (no presence)
>> - Does not receive messages sent to the group
> 
> Yes.
> 
>> A few questions...
>>
>> 1. If an outsider sends a message to the group/room, what is the 'from'
>> address: the outsider's real JID or the outsider's room JID? Does the
>> outsider even get a room JID? If not, that would be different from how
>> all other messages are handled currently.
> 
> Oo.  Good question.  How about a non-anonymous message, from the room's
> bare jid?  Messages from the bare room jid are often treated differently
> by clients, but I bet it ends up being ok.
> 
> 
>   
>jid='[EMAIL PROTECTED]/pda'
>   role='outsider'/>
>   
>   ...
> 

Seems OK to me.

>> 2. Does the list of outsiders need to be configurable by the group/room
>> administrator, or is that more of a service-wide policy? (For example,
>> anyone from a configurable list of domains can be an outsider, service
>> admins can be outsiders, etc.)
> 
> The outsider list needs to be configurable same as the member list. 
> Anything more complicated can be handled by room configuration
> extensions provided by the server implementor.
> 
> If "Modifying the Member List", etc. were just XEP-50 commands, we'd be
> done already... the server implementation could just add a new command
> to modify the outsider list.

Unfortunately, XEP-0045 predates XEP-0050. If we were doing it all over
again, I'm sure we would use ad-hoc commands for all the list-editing
functions in MUC...

Peter

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



smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Standards] MUC rooms on roster.

2007-08-13 Thread Joe Hildebrand


On Aug 13, 2007, at 7:02 AM, Peter Saint-Andre wrote:

So, to summarize, a ghost/outsider:

- Can see the presence of group members
- Can send messages to the whole group
- Is not seen as part of the group (no presence)
- Does not receive messages sent to the group


Yes.


A few questions...

1. If an outsider sends a message to the group/room, what is the  
'from'

address: the outsider's real JID or the outsider's room JID? Does the
outsider even get a room JID? If not, that would be different from how
all other messages are handled currently.


Oo.  Good question.  How about a non-anonymous message, from the  
room's bare jid?  Messages from the bare room jid are often treated  
differently by clients, but I bet it ends up being ok.



  

  
  ...


2. Does the list of outsiders need to be configurable by the group/ 
room

administrator, or is that more of a service-wide policy? (For example,
anyone from a configurable list of domains can be an outsider, service
admins can be outsiders, etc.)


The outsider list needs to be configurable same as the member list.   
Anything more complicated can be handled by room configuration  
extensions provided by the server implementor.


If "Modifying the Member List", etc. were just XEP-50 commands, we'd  
be done already... the server implementation could just add a new  
command to modify the outsider list.


Re: [Standards] MUC rooms on roster.

2007-08-13 Thread Peter Saint-Andre
Joe Hildebrand wrote:
> 
> On Aug 10, 2007, at 1:38 PM, Peter Saint-Andre wrote:
>> Oh, so this is for communities? I need to finish writing up our devcon
>> discussions on that topic. Will try to do that in the next few days.
> 
> Yes.  N birds, one stone.

Soon.

>> But gosh "rotisiv" is such an ugly word. How about "ghost"?
> 
> I don't mind "ghost".  But it would have to be the kind of ghost that
> can't hear what IRL people say, but *can* rattle chains that the humans
> can hear, but not see.

OK, a specialized kind of ghost then. :) At least ghosts can be
friendly. The other potential terms (e.g., lurker, stalker) sound
somewhat threatening. Though another possibility is "outsider".

So, to summarize, a ghost/outsider:

- Can see the presence of group members
- Can send messages to the whole group
- Is not seen as part of the group (no presence)
- Does not receive messages sent to the group

A few questions...

1. If an outsider sends a message to the group/room, what is the 'from'
address: the outsider's real JID or the outsider's room JID? Does the
outsider even get a room JID? If not, that would be different from how
all other messages are handled currently.

2. Does the list of outsiders need to be configurable by the group/room
administrator, or is that more of a service-wide policy? (For example,
anyone from a configurable list of domains can be an outsider, service
admins can be outsiders, etc.)

Peter

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



smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Standards] MUC rooms on roster.

2007-08-11 Thread Joe Hildebrand


On Aug 10, 2007, at 1:38 PM, Peter Saint-Andre wrote:

Oh, so this is for communities? I need to finish writing up our devcon
discussions on that topic. Will try to do that in the next few days.


Yes.  N birds, one stone.


But gosh "rotisiv" is such an ugly word. How about "ghost"?


I don't mind "ghost".  But it would have to be the kind of ghost that  
can't hear what IRL people say, but *can* rattle chains that the  
humans can hear, but not see.


Re: [Standards] MUC rooms on roster.

2007-08-11 Thread Tomasz Sterna
Dnia 10-08-2007, pią o godzinie 13:02 -0600, Joe Hildebrand napisał(a):
> The use case is:
> 
> - I'm not in the marketing group, but I'm rotisiv'ing it to see when  
> any of them arrive at the office
> - I broadcast a message to the marketing group, asking for the new  
> slide deck template, so that whoever is available can help me
> - You rotisiv the marketing group, you shouldn't see my presence  
> through the group, since I'm not a member
> - You broadcast a message to the marketing group; I shouldn't see
> it,  
> because it's none of my business

This is a standard IRC behavior for channel non-members.
If you do not join a channel you may list its participants and send
messages to channel.
You're not listed on channel and do not receive its messages, because
you did not join it yet.

(Yes, most channels today are configured to not allow outside peeking
and outside messages, but the standard behavior is what I described.)


-- 
Tomasz Sterna
Xiaoka Grp.  http://www.xiaoka.com/



Re: [Standards] MUC rooms on roster.

2007-08-10 Thread Peter Saint-Andre
Joe Hildebrand wrote:
> 
> On Aug 10, 2007, at 11:52 AM, Peter Saint-Andre wrote:
> 
>> Joe Hildebrand wrote:
>>> 1) A new MUC role which effectively the opposite of visitor.  Of course,
>>> on the bar napkin, this got written as "rotisiv". :)  A rotisiv can
>>> potentially speak (broadcasting to all of the members of the room), but
>>> can't see any of the messages that are broadcast to the room.  As well,
>>> rotisivs get presence from all of the participants and moderators of the
>>> room, but nobody receives the rotisiv's presence from the room.
>>> Obviously, an implementation might want ACLs to specify who can be a
>>> rotisiv for a given room.
>>
>> I'm not sure why you wouldn't want visitors to receive messages, perhaps
>> I'm missing something. I can understand why the room admins would not
>> want to broadcast presence from visitors in a moderated room, but that's
>> why we have the muc#roomconfig_presencebroadcast option.
> 
> The use case is:
> 
> - I'm not in the marketing group, but I'm rotisiv'ing it to see when any
> of them arrive at the office
> - I broadcast a message to the marketing group, asking for the new slide
> deck template, so that whoever is available can help me
> - You rotisiv the marketing group, you shouldn't see my presence through
> the group, since I'm not a member
> - You broadcast a message to the marketing group; I shouldn't see it,
> because it's none of my business

Oh, so this is for communities? I need to finish writing up our devcon
discussions on that topic. Will try to do that in the next few days.

But gosh "rotisiv" is such an ugly word. How about "ghost"?

Peter

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



smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Standards] MUC rooms on roster.

2007-08-10 Thread Joe Hildebrand


On Aug 10, 2007, at 11:52 AM, Peter Saint-Andre wrote:


Joe Hildebrand wrote:
1) A new MUC role which effectively the opposite of visitor.  Of  
course,

on the bar napkin, this got written as "rotisiv". :)  A rotisiv can
potentially speak (broadcasting to all of the members of the  
room), but
can't see any of the messages that are broadcast to the room.  As  
well,
rotisivs get presence from all of the participants and moderators  
of the

room, but nobody receives the rotisiv's presence from the room.
Obviously, an implementation might want ACLs to specify who can be a
rotisiv for a given room.


I'm not sure why you wouldn't want visitors to receive messages,  
perhaps

I'm missing something. I can understand why the room admins would not
want to broadcast presence from visitors in a moderated room, but  
that's

why we have the muc#roomconfig_presencebroadcast option.


The use case is:

- I'm not in the marketing group, but I'm rotisiv'ing it to see when  
any of them arrive at the office
- I broadcast a message to the marketing group, asking for the new  
slide deck template, so that whoever is available can help me
- You rotisiv the marketing group, you shouldn't see my presence  
through the group, since I'm not a member
- You broadcast a message to the marketing group; I shouldn't see it,  
because it's none of my business


Re: [Standards] MUC rooms on roster.

2007-08-10 Thread Peter Saint-Andre
Joe Hildebrand wrote:
> On Aug 3, 2007, at 3:10 AM, Robin Redeker wrote:
>> Hm, and what is about http://www.xmpp.org/extensions/xep-0048.html ?
>> That would still be useful to store non-autmatically-joined MUCs I guess?
>> Also that XEP offers also a way to auto-join MUCs.
> 
> The more we talked about this around the office, the more we thought we
> only needed two things to make this work for our use cases.
> 
> 1) A new MUC role which effectively the opposite of visitor.  Of course,
> on the bar napkin, this got written as "rotisiv". :)  A rotisiv can
> potentially speak (broadcasting to all of the members of the room), but
> can't see any of the messages that are broadcast to the room.  As well,
> rotisivs get presence from all of the participants and moderators of the
> room, but nobody receives the rotisiv's presence from the room. 
> Obviously, an implementation might want ACLs to specify who can be a
> rotisiv for a given room.

I'm not sure why you wouldn't want visitors to receive messages, perhaps
I'm missing something. I can understand why the room admins would not
want to broadcast presence from visitors in a moderated room, but that's
why we have the muc#roomconfig_presencebroadcast option.

/psa



smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Standards] MUC rooms on roster.

2007-08-09 Thread Joe Hildebrand

On Aug 3, 2007, at 3:10 AM, Robin Redeker wrote:

Hm, and what is about http://www.xmpp.org/extensions/xep-0048.html ?
That would still be useful to store non-autmatically-joined MUCs I  
guess?

Also that XEP offers also a way to auto-join MUCs.


The more we talked about this around the office, the more we thought  
we only needed two things to make this work for our use cases.


1) A new MUC role which effectively the opposite of visitor.  Of  
course, on the bar napkin, this got written as "rotisiv". :)  A  
rotisiv can potentially speak (broadcasting to all of the members of  
the room), but can't see any of the messages that are broadcast to  
the room.  As well, rotisivs get presence from all of the  
participants and moderators of the room, but nobody receives the  
rotisiv's presence from the room.  Obviously, an implementation might  
want ACLs to specify who can be a rotisiv for a given room.


2) An addition to xep-48 that gives a little more meta-data.


  

  



  

  


Just as for normal MUC, the client sends a separate presence stanza  
to each group they are a participant in or moderator of, whenever the  
user changes presence; this allows a client can use its existing MUC  
and bookmarks implementation to do whatever UI they want, manage  
which groups they appear online to, and the like.  In this case,  
pushing a small amount of complexity down to the client (which the  
client probably already has anyway) leads to a vast simplification in  
the server implementation.  It's very apparent which presence is  
group-related for clients that want to do special UIs, and existing  
clients that haven't implemented the new feature get to participate  
in groups.


--
Joe Hildebrand




Re: [Standards] MUC rooms on roster.

2007-08-09 Thread Kevin Smith

On 3 Aug 2007, at 10:10, Robin Redeker wrote:

Hm, and what is about http://www.xmpp.org/extensions/xep-0048.html


Some people don't like 48, but I don't really know why (apart from it  
depending on iq:private, which'll be upgraded one of these days). To  
me muc rooms seem substantially different from single-entity contacts  
which normally live in a roster.


/K


Re: [Standards] MUC rooms on roster.

2007-08-07 Thread Peter Saint-Andre
Mridul Muralidharan wrote:
> Peter Saint-Andre wrote:
>> Tomasz Sterna wrote:
>>> I was talking with Grégoire Menuel (mu-conference developer) about
>>> implementing Peter's idea of MUC rooms as items on the roster.
>>>
>>> Basically the idea is to teach MUC component to answer to subscription
>>> requests.
>>> So when you add [EMAIL PROTECTED]/nick to the roster and send the
>>> subscribe request, MUC server replies subscribed+subscribe to you. When
>>> you accept, you have a room on the roster with subscription "both". Next
>>> time you broadcast your presence, you automatically join the room.
>>>
>>> There is a problem on the client side though.
>>> How would client know, that the presence from [EMAIL PROTECTED]/* are from
>>> room participants, not from many resources of [EMAIL PROTECTED] user (not
>>> on roster, thus ignored).
>>
>> Presumably the [EMAIL PROTECTED] could include entity capabilities so the
>> client knows this is a conference room?
>>
>> /psa
>>
> 
> This will not work in case the conference component or room is not
> 'online' at that time.

So write a more reliable component. :P

/psa




smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Standards] MUC rooms on roster.

2007-08-07 Thread Mridul Muralidharan

Peter Saint-Andre wrote:

Tomasz Sterna wrote:

I was talking with Grégoire Menuel (mu-conference developer) about
implementing Peter's idea of MUC rooms as items on the roster.

Basically the idea is to teach MUC component to answer to subscription
requests.
So when you add [EMAIL PROTECTED]/nick to the roster and send the
subscribe request, MUC server replies subscribed+subscribe to you. When
you accept, you have a room on the roster with subscription "both". Next
time you broadcast your presence, you automatically join the room.

There is a problem on the client side though.
How would client know, that the presence from [EMAIL PROTECTED]/* are from
room participants, not from many resources of [EMAIL PROTECTED] user (not
on roster, thus ignored).


Presumably the [EMAIL PROTECTED] could include entity capabilities so the
client knows this is a conference room?

/psa



This will not work in case the conference component or room is not 
'online' at that time.


Regards,
Mridul


Re: [Standards] MUC rooms on roster.

2007-08-07 Thread Peter Saint-Andre
Tomasz Sterna wrote:
> I was talking with Grégoire Menuel (mu-conference developer) about
> implementing Peter's idea of MUC rooms as items on the roster.
> 
> Basically the idea is to teach MUC component to answer to subscription
> requests.
> So when you add [EMAIL PROTECTED]/nick to the roster and send the
> subscribe request, MUC server replies subscribed+subscribe to you. When
> you accept, you have a room on the roster with subscription "both". Next
> time you broadcast your presence, you automatically join the room.
> 
> There is a problem on the client side though.
> How would client know, that the presence from [EMAIL PROTECTED]/* are from
> room participants, not from many resources of [EMAIL PROTECTED] user (not
> on roster, thus ignored).

Presumably the [EMAIL PROTECTED] could include entity capabilities so the
client knows this is a conference room?

/psa



smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Standards] MUC rooms on roster.

2007-08-04 Thread Robin Redeker
On Fri, Aug 03, 2007 at 11:30:05AM +0200, Tomasz Sterna wrote:
> Dnia 03-08-2007, pią o godzinie 11:10 +0200, Robin Redeker napisał(a):
> > Hm, and what is about http://www.xmpp.org/extensions/xep-0048.html ?
> 
> Hmm... I had always found this JEP awkward.
> We have roster to store these kinds of things.
> Early versions of jabberd/2 allowed storing an  element with the
> roster item, that clients could store the additional item information.
> But it was explicitly forbidden by Standards JIG, thus removing support,
> which in turn resulted in JEP-0048.

Just some random thoughts here...

I also find XEP-0048 a bit awkward, but the limitation of the roster
for presence subscriptions seems to let no room for other informations
stored there. See also http://www.xmpp.org/extensions/xep-0083.html
(Nested Roster Groups) which I find equally awkward!

See also http://www.xmpp.org/extensions/xep-0057.html, which is probably
what you meant with storing additional  elements with the roster.

Also interesting is the way tkabber stores notes for roster items:

   
  
 
test
fwfwefew
 
  
   

Private XML storage is IMO a good solution for that. But I've not seen
any XEP for this kind of note storage (maybe I just couldn't find it).

Applications have to sync the roster with other places where information
for that JID is stored. I also miss a registrar for this kind of usage
of private XML storage.

Also note that the private XML storage will become more and more messy
with the number of different programs storing information there.

Does a way exist to purge all information in the XML storage? Or even
list the stored information? Listing stored information would allow the
removal of unknown elements by clients.

> > That works (see below) but there is a more pressing problem here:
> > [...]
> 
> This is why I asked, to hear others feedback and issues.
> Could we use standard roster for it, or we really have to stick with the
> XEP-0048 defined alternative roster.

Well, back to the issue: I would not like to join every MUC I have on my
list just because I'm available. I would still like some MUCs only
optionally joined and not automatically.

How should that work? By unsubscribing from the MUC and not delete the
roster item? Would work I guess.

The problem here is XEP-0045 which defines the  element for
MUC-ability-signalling. I see no issues in storing many other things
in the roster, but I see issues with making that work with MUC the way
MUC is defined (which I don't really like either, but can't tell yet why
:-)


Robin


Re: [Standards] MUC rooms on roster.

2007-08-03 Thread Tomasz Sterna
Dnia 03-08-2007, pią o godzinie 11:10 +0200, Robin Redeker napisał(a):
> Hm, and what is about http://www.xmpp.org/extensions/xep-0048.html ?

Hmm... I had always found this JEP awkward.
We have roster to store these kinds of things.
Early versions of jabberd/2 allowed storing an  element with the
roster item, that clients could store the additional item information.
But it was explicitly forbidden by Standards JIG, thus removing support,
which in turn resulted in JEP-0048.


> That works (see below) but there is a more pressing problem here:
> [...]

This is why I asked, to hear others feedback and issues.
Could we use standard roster for it, or we really have to stick with the
XEP-0048 defined alternative roster.


-- 
Tomasz Sterna
Xiaoka Grp.  http://www.xiaoka.com/



Re: [Standards] MUC rooms on roster.

2007-08-03 Thread Robin Redeker
On Fri, Aug 03, 2007 at 10:13:20AM +0200, Tomasz Sterna wrote:
> I was talking with Grégoire Menuel (mu-conference developer) about
> implementing Peter's idea of MUC rooms as items on the roster.
> 
> Basically the idea is to teach MUC component to answer to subscription
> requests.
> So when you add [EMAIL PROTECTED]/nick to the roster and send the
> subscribe request, MUC server replies subscribed+subscribe to you. When
> you accept, you have a room on the roster with subscription "both". Next
> time you broadcast your presence, you automatically join the room.

Hm, and what is about http://www.xmpp.org/extensions/xep-0048.html ?
That would still be useful to store non-autmatically-joined MUCs I guess?
Also that XEP offers also a way to auto-join MUCs.

> There is a problem on the client side though.
> How would client know, that the presence from [EMAIL PROTECTED]/* are from
> room participants, not from many resources of [EMAIL PROTECTED] user (not
> on roster, thus ignored).

That works (see below) but there is a more pressing problem here:

   Example 17. Jabber User Seeks to Enter a Room (Multi-User Chat)

   
 
   

How does the client or the server know that he has to include such an
 element in the presence?
If the client does send it's initial presence it of course won't include that
element. So either the client sends directed presence or the server knows
somehow what [EMAIL PROTECTED] is, so it can include the  element.

Exploiting the fact that presences without  also work for joining a MUC
would at least break this SHOULD in XEP-0045:

   MUC clients SHOULD signal their ability to speak the MUC protocol by
   including in the initial presence stanza an empty  element qualified by 
the

Also there is this issue:

   Before attempting to enter the room, a MUC-compliant client SHOULD first
   discover its reserved room nickname (if any) by following the protocol 
defined
   in the Discovering Reserved Room Nickname section of this document.

The client has to do that before sending initial presence, right?

If those issues, and some I don't know yet, are cleared up the client
can easily recognize the presences from occupants by the  element:

Usually a participant presence looks like this:

   
 
   
 
   

Or the update looks like:

   
 xa
 gone where the goblins go
 
   
 
   

With the  element the client can figure out that this
is a presence that comes from a MUC.


Robin


[Standards] MUC rooms on roster.

2007-08-03 Thread Tomasz Sterna
I was talking with Grégoire Menuel (mu-conference developer) about
implementing Peter's idea of MUC rooms as items on the roster.

Basically the idea is to teach MUC component to answer to subscription
requests.
So when you add [EMAIL PROTECTED]/nick to the roster and send the
subscribe request, MUC server replies subscribed+subscribe to you. When
you accept, you have a room on the roster with subscription "both". Next
time you broadcast your presence, you automatically join the room.

There is a problem on the client side though.
How would client know, that the presence from [EMAIL PROTECTED]/* are from
room participants, not from many resources of [EMAIL PROTECTED] user (not
on roster, thus ignored).

-- 
Tomasz Sterna
Xiaoka Grp.  http://www.xiaoka.com/