Solution Joel R Posted January 5 Solution Posted January 5 (edited) On 1/2/2024 at 11:50 PM, Nigel Moore said: However, last week we had a member report to us that they have been seeing posts in their Latest Activity feed from within clubs that they hadn't joined. I'm a heavy user of clubs on one of my Invision communities and wanted to provide some more information / clarification: 1. All members of your greater community are immediately and automatically members of Open & Public clubs. Those club types are, by definition, open and exposed to the entire community by default. It's literally in the name of the club type 🙂 . The difference between them is whether or not you need to join to post, but you will always view the content. Streams, by default, show all available content that members can see. This means they will see club content from Open & Public clubs, by default. 2. I am not a fan of editing the filter for Streams, because if you exclude club content, it will ALWAYS exclude club content even after they join the club. My assumption is that when members join the Microsoft club, they would want to see the Microsoft club in their stream when they return in the future. 3. I personally think your best solution is Closed clubs, which will more than suffice for your use case. By default, users (for example, brand new members to your overall community) will not see any content from any Closed club until they specifically join Closed clubs. Which is what you want. Everyone is happy. Even though Marc is correct that clubs of Private type will always prevent any public content, I want to explain that in order for Closed clubs to expose public content, the club owner would have needed to intentionally define that section to show public content. Don't do that, duh! Slap the hand of your club owner if he tries to define a new section that "anyone can view." If you stay away from the options of letting a section intentionally become public, then the content of your Closed club will stay private. Which is what you want. Members join the club, they see the content. Members who don't join the club, won't see the content. Make content public? appears when you add a new section for Topics in a Closed Club. I am not a fan of Private clubs and want to add a clear warning that Private clubs won't even show on the club list, so you lose all discoverability. It's literally hidden. It's like a private, hidden, secret club that is invite-only, and you will only see the club after you accept an invite. If you stick with Closed clubs, the club name and description will appear on the list of clubs, and members can browse the vendor user group they want. As you identified, the one custom coding you would need is to auto-approve member requests to join the closed clubs. 4. Some additional tips: You can choose to let club content areas co-exist with the normal content areas. For example, club forums that members joined can appear in your community Forums, and will append at the bottom. This allows your community to commingle content and makes it easier for your users to browse and participate, instead of needing to go specifically to the Clubs app. From a behavioral standpoint, this option is great once it's been set up. But users will need to navigate to Clubs app in the beginning. If you want to encourage discoverability, I would recommend you create a new forum of Redirect type, which directs users from the community Forum to the Clubs. If you have that many clubs, you may want to think about defining Extra Fields that can be filterable on the front-end. This could be things like industry vertical, industry application, user groups, etc. 5. Even though I've been talking about Clubs ad nauseum, I think it's important to holistically ask if Clubs is the appropriate solution if the only thing you're needing it for is discussion. Clubs are not another tool, it's an entire kit of tools. Just be aware that from a user's behavioral standpoint, Clubs introduces a layer of user complexity. Edited January 5 by Joel R Nigel Moore 1
Marc Posted January 5 Posted January 5 3 hours ago, Joel R said: Even though Marc is correct that clubs of Private type will always prevent any public content, I want to explain that in order for Closed clubs to expose public content, the club owner would have needed to intentionally define that section to show public content. Yup 😉 On 1/2/2024 at 10:26 AM, Marc Stridgen said: No, it would need to be set to private if you wish to guarantee it to be visible only to its members. Closed clubs 'can' have sections in which the topics are only visible to its members, but it would depend on the owner selecting that option when creating each section in the club
Nigel Moore Posted January 7 Author Posted January 7 Great post @Joel R and you've confirmed everything we were thinking / planning - much appreciated 🙏 On 1/5/2024 at 3:43 PM, Joel R said: I personally think your best solution is Closed clubs Agreed and at this stage, our plan is to change all those OPEN clubs to PRIVATE and our Dev team is scoping up an Auto-Approve process, likely using MariaDB triggers with some filtering in place so members can immediately join the club without having to wait for approval. On 1/5/2024 at 3:43 PM, Joel R said: want to explain that in order for Closed clubs to expose public content, the club owner would have needed to intentionally define that section to show public content. Don't do that, duh! Yes, we definitely won't be doing that - the dev team tested on Friday changing a club from OPEN to PRIVATE and confirmed that this option stays as "Club members can view and participate" so we're all good there 🙃 Thanks for the warning. On 1/5/2024 at 3:43 PM, Joel R said: For example, club forums that members joined can appear in your community Forums, and will append at the bottom. Thanks and yup, we've already got this turned ON so that all the Clubs a member has joined show up down the bottom of their main forum page. It's a great feature 🙂 On 1/5/2024 at 3:43 PM, Joel R said: If you want to encourage discoverability, I would recommend you create a new forum of Redirect type, which directs users from the community Forum to the Clubs. GREAT IDEA - we'll do that ASAP as soon as we change all the Club types. Thanks for the suggestion! On 1/5/2024 at 3:43 PM, Joel R said: If you have that many clubs, you may want to think about defining Extra Fields that can be filterable on the front-end. This could be things like industry vertical, industry application, user groups, etc. Another great idea, we'll have a think about best categories, but even something simple for now as a TYPE one that includes "Vendor User Group" and "Accountability Group" will be a great option to add. We could go deeper into sub-industry classifications as we grow the number of User Groups. Thanks again for the suggestion! On 1/5/2024 at 3:43 PM, Joel R said: I am not a fan of Private clubs and want to add a clear warning that Private clubs won't even show on the club list, so you lose all discoverability. It's literally hidden. It's like a private, hidden, secret club that is invite-only, and you will only see the club after you accept an invite. We actually also have about 300 x PRIVATE Clubs that are used for small accountability groups (we have matched about 1500 of our members into small peer groups). These PRIVATE clubs definitely don't show up in any lists unless someone is Invited to them and they work great for that purpose. But they definitely wouldn't work for our "Vendor User Groups" feature. Thanks for all your input here @Joel R - much appreciated !! Joel R 1
Daniel F Posted January 16 Posted January 16 On 12/29/2023 at 4:02 PM, teraßyte said: Let me ask you a quick question: is your admin account in at least 1 club? I have looked at the code, and unless the member editing the stream is in at least 1 club, the field with the club options won't appear. I consider it a bug since IPS shouldn't check if the specific user is in any clubs from the ACP: /** * Fetch our clubs and cache * * @return array */ protected function _getOurClubs() { if( static::$ourClubs === NULL ) { static::$ourClubs = \IPS\Member\Club::clubs( \IPS\Member::loggedIn(), NULL, 'name', TRUE, array(), \IPS\Settings::i()->clubs_require_approval ? array( 'approved=1' ) : NULL ); static::$ourClubs = static::$ourClubs ? iterator_to_array( static::$ourClubs ) : array(); } return static::$ourClubs; } For the admin dispatcher, they should pass NULL rather than \IPS\Member::loggedIn() as the first parameter. Thx, yea it needs to be NULL, but also the 4th param had to be adjusted.
Marc Posted March 14 Posted March 14 This has now been resolved in the 4.7.16 release. Please update if you are seeing this issue. If you are then still seeing the issue, please let us know.
Recommended Posts