• All submissions to this site are governed by Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you have read, understood, and agreed to those terms.
Issue Details (XML | Word | Printable)

Key: SVC-1173
Type: New Feature New Feature
Status: Reopened Reopened
Priority: Normal Normal
Assignee: Unassigned
Reporter: Argent Stonecutter
Votes: 10
Watchers: 7
Operations

If you were logged in you would be able to see more operations.
2. Second Life Service - SVC

Allow users to suspend groups or group functionality

Created: 11/Jan/08 07:47 AM   Updated: 16/May/09 03:03 AM
Return to search
Component/s: Groups, Performance
Affects Version/s: None
Fix Version/s: None

Issue Links:
Duplicate
 
Relates
 


 Description  « Hide
As per http://nwn.blogs.com/nwn/2008/01/robin-linden-on.html and comments in MISC-208, group operations cause an excessive load on the database.

This proposal is to allow a user to "suspend" his membership in a group. There are two main variants on this proposal, but they have this in common: suspending group membership would be similar to leaving the group, except that the user would not need to be re-invited or pay a fee to rejoin the group.

In the simplest form, suspending a group would simply record the user's membership (including their roles and title) in a new table, and then remove the user from the group. A user would see the suspended group in their group list, possibly in a separate tab or with a flag indicating that their membership was suspended, and be able to rejoin the group with their roles intact from there. A group owner or other group member with the ability to invite users to the group would be able to view the list of suspended users and unsuspend them, so they could manage their membership.

Restrictions: you would not be able to suspend membership in a group if you were in the Owner role, or if you had donated tier to the group.

The more complex proposal would be to allow suspension, but not all group functions would be suspended. That is, if there is a group function that can be implemented efficiently by looking into the suspended group members table, then that capability would be retained. For example, you might still receive group notices while you were suspended, or you might be able to suspend your membership in a group without removing tier you had donated to it.

These two variants are not in conflict: the Lindens could implement the simple proposal and then incrementally restore functionality to suspended groups to encourage people to suspend membership in more groups.



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Argent Stonecutter added a comment - 11/Jan/08 07:55 AM
Closing, duplicates MISC-388.

Argent Stonecutter added a comment - 11/Jan/08 07:56 AM
Closed wrong issue.

Argent Stonecutter added a comment - 11/Jan/08 07:59 AM
MISC-388 would allow residents to implement this functionality, with the "suspended" membership information stored in the script or in an external database (eg, via HTTP request to a website).

phelan corrimal added a comment - 12/Feb/09 08:51 AM
See "VWR-11988 Group Holding Buffer "

I would disagree with part of the implemented processes as I don't see a need to give up any of the rights of group membership other than the use of Group IM and Group Notices.

I would think it should be possible to simply set a flag as either "Opt-In" or "Opt-Out" and yet still have the ability to manage group land, media, permissions, etc. I suspect that the relationship of the avatar's profile to either a sim, parcel, or object is determined by the server at the point of interaction rather than being a matter of putting excessive load on the database.

That being the case I would assume that for each group there is probably about 7 primary tables that are used to control (I haven't see the source code nor looked at OpenSIm so I'm not 100% positive on this)

Group
Group_Roles
Group_Members
Group_Permissions
Group_Notices
Group_Land, and
Group_Finance

I would think that if you brok the Group_Members table up into two (Group_Members_In / Group_Members_Out) that you could do two things

1) Reduce the load by allowing people to only Opt-In to a maximum of 25 groups, and
2) Automatically migrate users from the Opt-In list to the Opt-Out list who have not logged into Second Life for a period of time, say 120 days or more.

In this way you can not only reduce the load on the database for notices and IMs to only those people who both want IM/Notices and Opt-in to that as one of their groups, but you can further reduce this by moving all non-essential communications into an Opt-Out state which I would think dramatically reduce load on the server just through attrition of accounts alone. That should more than make up for the minimal increase in processing requirements require to manage the Opt-In and Opt-Out Lists.


TigroSpottystripes Katsu added a comment - 12/Feb/09 11:41 AM
isn't the land etc permisions what makes up the most of the load caused by bigger amounts of groups per person?

also, I don't like having msgs stop coming if I don't log in often enough, somtimes RL gets in the way but I would still like to be able to be contacted by people and be informed of things that might make logging in have more priority than other RL stuff


phelan corrimal added a comment - 12/Feb/09 12:19 PM
Its IMs and Group notices as far as I know.

If land permissions are putting a strain on the database server then they've likely badly designed that part of the interface. Essentially what should be happening is that the client is served a unique token (one-way hash to prevent tampering) which stores group permissions on the client's computer. The sim then simply keeps track of the group token for comparison purposes based on role assignment. Since roles are limited there the size of the table on the server should be managable even if we were to get another feature that we really need which is multiple groups being given access to a land parcel (currently this is only available at the sim level). The other alternative is to have a separate database which controls only the group permissions which distributes the load more evenly.

Regardless, if the token has changed then a call to the main database is made to retrieve the new token and new permissions - the information is uploaded to the client and away we go.

As far as the limitation on messages go - it only takes 5-10 minutes to log in and log out. If someone hasn't logged into Second Life for a period of 3-4 months of more - chances are they aren't really keeping up with what is going on in their groups anyways. Maybe there could be like a monthly digest of all notices send to people who are in the Opt-Out list.

I dunno but I do know that I prune our group list on a regular basis using 12 months as the cut off point as two years ago all the groups were fubar'd for close to 6 months due to system not being able to appropriately serve IMs and Group Notices to groups having more than 500 people in them. Today we have groups with 4000 or more. You get even a quarter of that number online at the same time and the number of interactions between members is enormous.


Argent Stonecutter added a comment - 13/Feb/09 05:07 AM
Both permissions and IM/notices have an impact: Robin Linden wrote "Group related queries and operations are currently among the most complex of our database operations that happen 'on the grid.' The more groups Residents can join, the more complex these queries become-- there are more groups, more group-to-agent relationships, and more 'roles.' Because of this, increasing the groups limit could affect the performance of the grid, so it's something we need to consider very carefully before moving ahead."

But there's certainly no reason Linden Labs couldn't allow suspended groups to still count for permissions if that isn't still an issue. In fact that's part of this proposal as well, so VWR-11988 is a duplicate of this proposal (and it's misfiled as well, this isn't a VWR issue).

As an aside, looking at OpenSim wouldn't tell you anything about Linden Labs implementation. There is not a single line of code in common... they're not even in the same language.


imsaho fleury added a comment - 16/May/09 03:03 AM
I must admit that suspending a group seems so obvious that I don't know why it isn't implemented.

A fair number of groups I belong to are those of family and friends and give me various degrees of access to their land.

But .. I may only visit them once a month. So .. I have a group that only needs to be active once a month. Iwould love to have the ability to suspend that group. If I needed to visit my friends I could bring it out of suspension