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

Reply via email to