Project

General

Profile

Feature #11201

Add "Request to Join this Site" button?

Added by Laurie Hurson 7 months ago. Updated 5 days ago.

Status:
New
Priority name:
Normal
Assignee:
Category name:
WordPress (misc)
Target version:
Start date:
2019-03-07
Due date:
% Done:

0%

Estimated time:

Description

When groups are private there is a button to request membership. Can a similar button be created for private (only users can view) sites? A professor is teaching a course and wants students to be able to search and join her site without necessarily having to make the site public to all commons members.

Would be useful if students are lagging on accepting email invitations and:
A) students want to search the site and join through the Commons Home>Sites interface and/or
B) the professor wants to make the site private to class members at a certain point in the semester because of sensitive reading responses and discussion

current.png (6.2 KB) current.png Raymond Hoh, 2019-09-17 11:52 AM
proposed.png (5.23 KB) proposed.png Raymond Hoh, 2019-09-17 11:52 AM

History

#1 Updated by Boone Gorges 7 months ago

  • Target version set to 1.16

I can imagine this being part of the 'more' dropdown suggested in #10464

#2 Updated by Raymond Hoh 7 months ago

I created a plugin for another site that does something similar.

There are a few admin options for setting the default role, allowing auto-joining without needing confirmation and turning on/off email notification to the site admin. The entry point for regular members requires the use of a widget though, and not the Sites Directory as what Boone mentions for #10464.

The plugin was meant for public sites and having members of the network easily join a site for collaboration though.

The one thing that my plugin will need to add is the ability to add a join button on private sites as requested by Laurie. This button would most likely need to go on the WP login prompt page or whatever prompt is shown on private sites when not authenticated.

Could be an easy win for 1.15? Might need some adaptation for the Commons and UX testing by Sonja.

I should note that there are also some very similar plugins on the wordpress.org repository. Depending on the needs for the Commons, those plugins could also be a consideration.

#3 Updated by Raymond Hoh 6 months ago

  • Category name set to WordPress (misc)
  • Assignee set to Raymond Hoh

Moving this to 1.15 for feedback, but could be moved back to 1.16 if we have enough on our plate for 1.15.

#4 Updated by Sonja Leix 6 months ago

Boone wrote:

I can imagine this being part of the 'more' dropdown suggested in #10464

Yes, if we decide to implement this, I think it should go into the same UI pattern as 'Remove site'.

The bigger question is, if this is a feature a large percentage of site owners (particularly of private sites) would be interested in. Or if this is a feature that only a few site owners have requested. I agree with the concerns mentioned during the call that admins of private sites might not want people to join or that they might feel overwhelmed by requests to join their site.

If this is a feature we want to move ahead with, I would advice to set the default for this feature to what the majority of private site admins is requesting (disable it if the majority won't use it, but give the option to enable it as an option, or the other way around).

Do we have some insight into how many private site owners would want to use such a feature?

#5 Updated by Matt Gold 6 months ago

I think this is much prevalent in teaching situations than in others. Would it be possible, as part of our next release, to make this feature automatically present for people who have chosen "teaching" as the purpose of their site and optional for everyone else?

#6 Updated by Raymond Hoh 6 months ago

Would it be possible, as part of our next release, to make this feature automatically present for people who have chosen "teaching" as the purpose of their site and optional for everyone else?

Yes, this is possible. I would have to look at how we are saving the site meta for "Primary Purpose" in #10987 before I do this though. However, that information would only be available for new sites. We could also use the Plugin Packages marker (#9942) to determine if the Teaching package was activated.

#7 Updated by Raymond Hoh 5 days ago

After re-reading this ticket, the main request is to add a "Request Membership" button to the Sites Directory for private sites.

We currently do not record private sites in the Sites Directory, so this would be hard to achieve.

Also, this is kind of tied to what we were discussing about on the monthly call last week about how a course is a super-structure and doesn't really contain information about membership at the moment.

I think with the new filtering and searching that will happen on the main Courses page (#11298), students can search for their course there and we can add a "Request Membership" button when navigating to a private site of which they are not authorized to view.


Below I have attached what a logged-in user currently sees when attempting to view a private site that they do not have access to:

It's not very friendly and the style doesn't look that great.

I'm proposing we change this page to add a bit more context and to add the "Request Membership" button:


As to what the "Request Membership" button will do technically, we can check to see if there is a pending invite under the Invite Anyone system. If not, we can activate the plugin I already made as mentioned in comment 2 and use its functionality to create the membership request. There is a bit of overlap with the Invite Anyone plugin, but the main difference is my plugin only works for sites, while Invite Anyone works mostly within Groups, but also handles sites connected to a group (Group + Site).

Feedback welcome.

#8 Updated by Boone Gorges 5 days ago

Thanks, Ray! Just to note, we're not really using the Invite Anyone system anymore (I think it's just there as a fallback). Invitations are stored using cac-invitations. If we go with something like what you've described here, we'll need to interface with that system.

#9 Updated by Raymond Hoh 5 days ago

Invitations are stored using cac-invitations. If we go with something like what you've described here, we'll need to interface with that system.

Ah, you're right! Totally forgot about cac-invitations. I'll need to look through that codebase to refresh my memory.

#10 Updated by Raymond Hoh 5 days ago

One thing I forgot to mention is the "Request Membership" button should only be shown if the site admin enables this functionality.

We have three non-public privacy options:

[
    'value' => -1,
    'label' => 'I would like my site to be visible only to registered users of the CUNY Academic Commons',
],
[
    'value' => -2,
    'label' => 'I would like my site to be visible only to users I add to it.',
],
[
    'value' => -3,
    'label' => 'I would like my site to be visible only to its Admins.',
]

It seems like the -2 option would be the only logical place to use the "Request Membership" button. During site creation, if the privacy option is set to -2, we could show a conditional field for the site creator to allow members to request membership. This option can also show up somewhere in the admin dashboard. Perhaps under "Settings > General"?

#11 Updated by Sonja Leix 5 days ago

Raymond Hoh wrote:

One thing I forgot to mention is the "Request Membership" button should only be shown if the site admin enables this functionality.

We have three non-public privacy options:

[...]

It seems like the -2 option would be the only logical place to use the "Request Membership" button. During site creation, if the privacy option is set to -2, we could show a conditional field for the site creator to allow members to request membership. This option can also show up somewhere in the admin dashboard. Perhaps under "Settings > General"?

Ray, I finally had a moment to look at your recommended solution and I like it! (https://redmine.gc.cuny.edu/attachments/12401/proposed.png)
This would, as it sounds, only show up for logged in users. Is there a fallback for public view or would private sites not show in the list at all – that's I think what you described on the call this morning. In that case we should move forward with this.

I also like the option for site admins to turn this feature off.
Thanks!

#12 Updated by Matt Gold 5 days ago

looks good to me, too!

Also available in: Atom PDF