I believe the suggestion was the allow the user to create interest groups like you see on social networking sites. For example if I was interested in scuba diving I could create a scuba diving group that other users could choose to join. Then topics could be posted to that group and members of the group would be notified of new posts and replies.
I think Hamed was thinking about groups like the ones you can find on Facebook or Last FM, which is quite different than what Multi Roles do. It could work the way scubaguy suggested above. A group would be a kind of category created and administrated by a given user, and made public or private. I guess we would have a "general" or "global" group anyone can access by default, the core of the community, plus user-defined groups. Founders and/or members of each group would approve new members (if the group policy isn't open to anyone) and define various rules related to the group's purpose. We would also have something like a group directory (a tweaked version of the categories page?) and the account page would display the groups each member lead and/or joined.
any user can create or delete groups , and he can manage his own groups like adding or deleting a discussion (only if he's the owner of the group) , the admin and all members of the group are able to send group invitations to other members.
there should be also group-lists in profiles, a list of the group(s) you're in. (links to the group mainpage)
the forums or lets call it group categories are hidden for non-group-members , only the description is visible and further.
and just in case you're a bad ass coder, it would be nice to give them the ability to upload or link a group image.
any group needs it's own page (group.php + vanilla's regular header,footer and panel) to show it as a real group page and not really as a dry forum category , because users are not dumb, they see the difference between a wanabe group-alike-forum and a real group)
don't hesitate to let me know if you have any other questions.
the forums or lets call it group categories are hidden for non-group-members , only the description is visible and further.
I think there should be an option for this: - A public group is visible and its content may be read, but users have to join the group if they want to participate. - A private group is listed but only its description is readable, you have to be a member to read its content.
Also, it would be great to have basic join policy features: a group administrator should be able to decide if his group is open to everyone or if the membership requires his exclusive approval, or the approval of any other member. You may want to take a look at Last FM groups system, it works great in my opinion. There are three levels of approval: - Open (to everyone) - Member approval (any member of the group can approve a new member) - Owner approval (only the group founder can approve a new member)
This setting should be displayed with the group description. Also, the number of members and the date of the group's creation would be great (and an group image would be awesome, as fery suggested, but basic features would already be pretty cool for a start). A kick/ban option would also be useful.
I can write a more precise description if timefire (and anyone else) needs it for coding, I think I have a clear idea of how it could work, including both mandatory (but simple) features and pretty cool (but more complex) features. And I'd be really interested by such an extenion, of course :)
Before y'all get too excited, I said I would "try" to write this extension. ;)
Ø, I'm with you. I was already thinking there should be 3 types of groups: - Public: As you said, contents are readable for all general forum members, but users must join to participate. - Private: Again as you said, the group is listed, but the contents are hidden for non-members. - Hidden: Basically a private group, but this type isn't listed with the others.
I was also thinking the same for membership (Open, Member-Approval, and Owner/Moderator-Approval). I'm thinking Owners should also be able to designate certain members "Moderators", which would grant those members the same basic powers as Owners. Banning users should definitely be an option for group Owners/Moderators.
For forum control, I believe admins should be able to decide/set: - What types of groups are allowable (public, private, or hidden) - Which types of memberships are allowable (open, member-approval, or owner-approval) - Optionally, require admin approval for new groups - Designate certain roles as Global Group Members or Global Group Moderators - Optionally, display (public) group discussions on the main discussions list
I think modeling the Group List after the categories page sounds easiest, and would contribute to a cohesive look/design. It shouldn't be too difficult to display: - Type (public or private) - Membership (open, member-approval, owner/moderator-approval) - Number of Discussions - Date Created - Number of Members - General Description
On the group page, it shouldn't be too difficult to allow group owners/moderators to add custom panel links. I'm not going to mess with uploading files, but I could probably include a form for displaying custom html content above the group discussion list.
[edit] Oh yeah, displaying which groups a user is a member of on the account page should be do-able. [/edit] [edit #2] Group Owners should also be able to Close the group (meaning no one can post to it anymore). [/edit #2] _________________
The way I was thinking of making this work technically was: 1) Create a "Group" db table (GroupID, Group, Type, Membership, DateCreated, Description, Owner, CustomLinks, CustomContent, Status) 2) Create a "GroupMember" db table (UserID, GroupID, GroupRole, DateJoined) 3) Add a "GroupID" column to the Discussion table
Then, admins would need to create a "Group" category. If users want to start a group-discussion, they would need to select this category. I would then add some sort of form/select to the post form for choosing the specific group.
I would use the GroupID property to filter out discussions that the user shouldn't see. For viewing group discussions, I would basically just create a filter ala "Discussion Filters", but with an extra script for displaying any custom links/content.
One problem with this approach that I see is that it may not work with the Notify extension (subscribing to the "Group" category would notify you of all group discussions). But I'm not sure if there's a better way.
[edit #3] Starting a group will be permissions-based. [/edit #3] ______________
I think this all is do-able, but it will be alot of work. Are there any other options that are a must?
I think there should also be the option for displaying (public) group discussions on the main discussions list. Sure, very good idea.
allow group owners/moderators to add custom panel links. I'm not going to mess with uploading files, but I could probably include a form for displaying custom html content above the group discussion list. That's even better than image upload in my opinion :)
There's something I'd really like to see (but I don't know if it's hard or not...). Once more in the Last FM style (yeah, I'm currently a Last FM addict...), it would be great to allow users, when they start a new discussion, to publish this discussion not only on the main page but also in the other groups they joined. For example, near the "Start your discussion" button, there would be a checkbox for each group you're a member of (incuding the "All discussions" list, which is kind of a global default group). This would be a great tool for spreading news to groups sharing the same interests. However it would require an additional setting, something like "allow multi-group discussions", and group administrators should be able to decline/approve news coming from other groups (or at least have a setting to accept/refuse everything not directly related to their group).
I'm looking forward to this and I'll be glad to help for testing or anything else if needed.
i think we should let him do now the basics first, if we want more and more he's busy until february 2167. and to upgrade an existing extention afterwards with extra features is always possible :D
Ø, I think to make "multi-group posting" work the extension would have to duplicate the discussion for every group... I'll look into it, but it's going to be low on my to-do list.
oh yeah my fav feature, make sure we can whisper in the group wall or what ever i love the whispers but umm u can put that at the bottom of ur list for now it is all cool
I haven't given up on it, but things keep coming up that demand my attention. At the moment I'm leery and giving a timeline, because as soon as I do I'm sure something else will come up. All I can say is if my schedule stays open, it wouldn't take me too long to finish it up...
oh i see it makes sense now i had just thought it was gonna be done in like 2 or 3 weeks well the beta version anyway but i see now things come up that is all cool no worries
is there anything i can do to help? i would love to help on this one since i started the thread i dunno if i can help but let me know if there is anything you think i can do and if i can do it i would love to help ^_^