[Feeler] Thoughts on Club/Group Plugin

Hi all,

Just wanted to put this out and get thoughts. I have tried Ozzy's Social Groups plugin and Truonglv's Social Groups plugin, but I have come away from both feeling disappointed. Both have some functional issues that have kept me from being able to use them, whether that's simply lacking required features or something being broken in a way that makes it incompatible with my forum.

I'm not too sure what Nix's workload is like currently, but I'm curious if you guys might be interested in seeing an attempt at this sort of plugin from Nix. He does already have a standalone calendar app, which means that side of things is already done. I'd even suggest this theoretical group plugin to simply integrate with the existing calendar plugin rather than try to roll its own features (though a bundle deal may be nice, like buying groups gets you calendar half off or something). This would also mean that I can create events that aren't necessarily tied to a particular group. For context, I run a server based around a video game and groups are typically created to represent in-game factions/guilds, which use the event system to plan in-game events, whereas I may create a calendar event for things like scheduled server maintenance or times when the game may be offline.

Other features:
  • Group Privacy
    • Public - everyone can see contents
    • Private - only members can see content
  • Group Visibility
    • Listed - group shows up in list of all groups
    • Unlisted - group is only accessible by direct link or through "my groups" page.
  • Group accessibility
    • Invite-only - Members must be invited
    • Public - Anyone can join the group
    • Apply (maybe an integration into the application plugin?)
  • Group Roles
    • Allow group owners to create roles and delegate permissions via those roles.
    • Helpful for those who want to designate moderators and control what those moderators can do.
  • Custom fields on group info page
    • Configured in ACP
    • Made available via group category
      • Certain categories have certain fields.
      • Example use case: an in-game guild needs to have its in-game location listed, but a group for someone selling game assets like skins that doesn't have an in-game shop doesn't need it's in-game location.
    • Can be made required
  • Group categories for sorting groups
  • Groups can create
    • Boards (extra organization is helpful!)
      • Forums
        • Whitelist certain forum types for use by group admins.
          • For instance, let forum admins decide whether they want group admins to be able to use question forums.
    • Discussions (operates like a single thread/PM) - I don't personally use this but the other plugins have this so suggesting for feature parity.
    • Static pages
      • BBCode
      • Optional HTML
        • Integration with Parse HTML plugin?
        • Some sort of configuration to whitelist/blacklist certain HTML?
        • Only allowed with forum staff who have permissions?
    • List Page
      • Useful for rules pages
      • Displays a listing of Key-Value pairs, such as the rule title and rule text.
      • Both the key and value should support BBCode
      • Allow setting a slug for each value, accessible via #slug (for hot linking to a particular entry)
      • Key should render as a title and be a url which links to itself.
      • Value should be a body.
    • Calendar page
      • Shows a filtered calendar view with events only for that group.
        • Maybe some sort of way to show "important" out-of-group events, such as with my scenario where I have server maintenance periods created as an event.
      • Requires Calendar plugin
  • Each page (with the specified content type above) should be able to get its own tab title and a description which shows in a block at the top of the page.
    • This allows an art group, for instance, to create a discussion page and call it Reviews or something.
  • Allow tab sorting (probably as a similar view to ACP listings with hamburger icons on the left side to allow clicking and dragging)
  • Lots of customization for each thing, both with allowing/denying certain features from the ACP or group owners customizing their group to their liking.
I'm sure there is more that can be discussed, and I encourage everyone to leave ideas and thoughts in the comments. I have made this a question thread just so comments with ideas can be upvoted.

If there is enough interest in a plugin like this (and sufficient time on the part of the developer), I may look at sponsoring the development of this plugin.
 
I think before exploring something like this I need to give Calendar and Classifieds some attention since they've been heavily neglected during the course of the XF 2.3 development cycle.

My plan, once XF 2.3 is wrapped up, is to fix up some of the lingering issues in Calendar and Classifieds and then take things from there.

I also have a private groups add-on that was built a couple years ago, but again, I need to fix up my existing range of products first. :)
 
Potentially a custom url slug field.
By default the url would be /groups/my-group.1/
Custom url would allow the url to be /groups/the-avengers/ or whatever the person chooses, provided:
  • Custom slugs MUST be HTML-safe (I recommend just limiting via regex to [a-zA-Z0-9-.]
  • Custom slugs MUST be unique among groups.
Functionally this would operate similarly to route filters.
 
Back
Top