Hello,
thinking about fully-anonymous rooms, I've come to the conclusion that
timed outcasts would be a solution to the problem how to handle outcasts
without revealing the effected JID in the list of outcasts (otherwise
you can't remove an outcast done by using a nick only).
Beeing a long time IRC user, I've often seen that a concept of timed
affiliation could be usefull for other reasons too.
So here are my thoughts about that:
To implement that, a new attribute 'until' is introduced which contains
an absolute time in the format of XEP-0082 using UTC as timezone.
E.g. to set a timed affiliation:
------------------------------------
<iq from='own...@home.test/pda'
id='ban1'
to='ro...@chat.example.com'
type='set'>
<query xmlns='http://jabber.org/protocol/muc#admin'>
<item nick='pistol' affiliation='outcast' until='2011-08-22T23:59:59Z'>
<reason>Avaunt, you cullion!</reason>
</item>
</query>
</iq>
In a list of affiliations the attribute 'until' should appear in 'items'
too.
Rules:
Every new affiliation setting changes the one before, may it be an timed
affiliation or a standard affiliation.
If a timed affiliation reaches it's end of life, the affiliation changes
as in the table below and the role (if the entity is currently an
occupant) will be changed accordingly.
Room Type | Outcast | Member | Admin | Owner
------------------------------------------------------------------
Moderated | None | None | Member | Member
Unmoderated | None | None | None | None
Members-Only | None | None | Member | Member
Open | None | None | None | None
The two changes from admin or owner to member are there so that a
temporary admin (or owner) will afterwards still have membership (to
still have voice or to still stay in the room).
It's discussible if timed affiliations of type owner should be even
allowed, I tend to disallow them completely.
As feature something like muc#timed-affiliations could be used.
Regards,
Alexander Holler