Groups in v5

groups One new key feature of v5 is the generic group. You are encouraged to use groups. They are very versatile.

Roleplay example Say, you want to create a roleplay with African, American and Australian tribes. You need to address each tribe individually, so that by, e.g., shaking a magic spear, all Africans get a message, or certain powers etc.

Cross-parent You may now use the new Group object to achieve that. Say you create three groups, one for each tribe, and maybe a forth group "All tribes" and put these three groups in the supergroup. You don't even have to be a wizard and create new player classes for this roleplay, or game. Groups may contain a heterogenic group of players, and include players, builders, teachers, programmers and wizards. This is not possible with inheritance, i.e., it is not possible to make both teachers and wizards children of a common parent. And once the roleplay is over and not being used any more, groups can easily be deleted, whilst parents (let alone corified parents) shouldn't be deleted that easily.

Creation Creation is conveniently done in the Inventory Manager, TAB create: (NOTE this depends on the local settings; maybe your local platform doesn't offer Groups in the Generics List.)

Note that when players are created from within the Administration Module, the system offers to create a group right away and put these new players in that group, and/or to connect that group (or the individuals) to an existing group. This is recommended.

Populating But say you create a group after the players are created. Once these groups are established, you can use the pencil and put players (or subgroups) into it. The Object Editor offers easy adding/removing with the "drop-down-add and uncheck-to-remove" feature which is found in many places in v5.

This is how a group looks in web frame:

Virtual world behaviour A group is a child of $thing, and can thus be viewed, shared, locked and moved like any other object. Since it is a normal object, co- owners (shared owners) may add and remove players from the list. I made groups children of things (as opposed to non- web-objects) in order to prepare for games, like putting a group inside a magic box will give the group members certain powers etc. But to date, I haven't actually implemented any such code or game.

Metaphor A word about the metaphor: A group is, technically and object-class-wise, an empty object. There is no contents, and it is not a box of any kind. But on the object, there is an information about the the object numbers of players or other groups (the property's name is ".members"). We can say a group "contains" these players and subgroups, though this is not a metaphorical statement.

Nestedness A supergroup may contain several subgroups, along with individuals. Each subgroup may, in turn, contain subgroups and/or individuals. There is no limit to the nestedness. When a group is used (its members compiled in runtime), there is, however, a check for recursiveness. This means that the system won't spin endlessly when Group A contains Group B and Group B contains Group A again. NOTE This recursiveness check might be implemented at savetime, so that the owner gets an alert that this particular group adding is not allowed, but right now, there is no alert.

Deletion When a group is recycled/deleted, its members will NOT be deleted. To delete players, you must be a wizard, and even then, you must do this in the Administration module; players CANNOT be accidently or willingly deleted by group deletion. Similarly, subgroups will NOT be deleted when the supergroup is deleted. Their reference in the supergroup dissappears (together with the supergroup), that's all.

Groups apply here:

* In the Administration Module, wizards and teachers may ask for viewing only the users belonging to a given group:

Note that the members of the group can be marked and deleted in a batch here, or you can send an email to them.

* Groups can be used to send a group mail. The drop down box in the compose section of the Forum Mailer contains individuals, groups and forums.

When choosing a group, the mail message will be sent to all participants (provided they are valid mail recipients). A verbose report shows success and failure for each recipient, like this:

* Groups can be used to send a group SMS. Whenever two or more members of a group are logged in, and you have access to that group (either you own it, you co-own it, you are part of it, or you are a wizard), that group will appear in a list below the Who Browser's main table. Click on the group to pop up an SMS window. The message will be send to all members (including all members of subgroups in the group).

* Groups have bookmarks on them (see bookmarks), so they appear in the Bookmarks section of the Navigator. For each group you are a member of, there is one fieldset with bookmarks. If a group has no bookmarks on it, the fieldset is empty, but still there, in order to show what groups you belong to. For each group, there is a link to show the group in web frame. If you own or co-own the group, an additional link will show to edit the group. This calls the Object Editor's "Pencil" window. In this screenshot, "HotSpots" is not a group section, but a global bookmark category, hence there is no link to view the group.

* Groups may be set as co-owners or readers for objects (notes, HTML documents etc.) and readers/writers for Forums. Note that only the group number is stored then. The group name may be changed, and the members may change: Maybe a student is registered late for a class, or another student drops out early. Those students may be added or removed from that group at any time in ONE place (the Member TAB of the group in the Object Editor). Whenever access permission is checked, this group number is run and all its current members are compiled to find out if a given player is currently a member of the group, and permitted access. This means that you don't need to worry about hardcoded player numbers in shared owners for many objects any more. Use one group, apply it to all your restricted stuff, and then alter the group if needed.

The same goes for Forums and Forum Categories.

* Groups can be used in, e.g., Personal Buddies. You may specifiy a group of individuals, your closest friends, or co-students who you share an assignment with. You probably want to give them reading and/or writing access to your documents, you probably want to page them all at once every now and then, or inform them via mail of your latest insights. Maybe you want to highlight them in Chat as well. The perfect place to do that is in the Buddies-section in Preferences. Now, all members of that group will appear green (or whatever you specified in Preferences => Chat settings) in Chat.

End Of File