The underlying problem, I believe, is one that's come up before - resources
that have semantic meaning are very limiting.
I think the IDEAL option is MEP:
- The MUC room defines a PubSub Node of the same ID. Everyone in the room is
listed as a subscriber. Everyone visible in the room is defined as a publisher.
- You nickname is stored in the PubSub Node. When you change it, it gets pushed
to everyone.
The actual push format would probably conform to User Location (XEP-0080) or to
User NickName (XEP-0172).
I wouldn't be opposed to creating a new RoomNamePrep profile that (on the
server) checked for duplicate names. The visible portion of the names would
be left alone for user display, but the server would be normalizing them, and
checking for (and forbidding) dupes. This profile would probably do: Case
Folding, KC Normalization, and RLCat checking, and very minimal prohibited
character checking. I know for us, creating a new stringprep profile is
trivial, so long as it uses a subset of the StringPrep tables that already
exist.
To go one step further, I would like to see room names defined this way as
well. This means the actual room name ([EMAIL PROTECTED]) would be a GUID, and
the PubsubNode name would also be that same guid. On that node is the room name
- complete with spaces, and visible in many language (New User Room,
Nouvelle Pièce D'Utilisateur, 新しいユ�`ザ�`部屋, etc).
One of the things I see that frustrates users is creating new rooms - they
don't know what to name it. I would really like to default to a GUId for the
room name (guaranteed unique), and a friendly name of Chris's Room or
Chris's Room 958, but can't due to stringprep considerations.
I do realize these are breaking changes, and MUC has been awfully stable for a
long time now. The limitations we're starting to see with MUC could be largely
solved by tying a PubSub node to it, and moving forward from there.
--
Chris Mullins
-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Peter Saint-Andre
Sent: Thursday, July 19, 2007 1:36 PM
To: standards@xmpp.org
Subject: [Standards] XEP-0045: roomnick case
Currently in XEP-0045, roomnicks are case-sensitive. To be precise
roomnicks are handled according to the Resourceprep profile of stringprep:
http://www.xmpp.org/extensions/xep-0045.html#bizrules-jids
This means that the following roomnicks are all different:
StPeter
stpeter
STPETER
Some people have pointed out that this can be confusing to end users.
We could solve it by applying the Nodeprep profile of stringprep, but
that would forbid things like whitespace and the ' and : characters.
(Naturally, those characters could be escaped using XEP-0106 if desired.)
Thoughts?
/psa