toolness / hive-django

A Django-based Hive website for member organizations, their employees, and other community members.
https://directory.hivelearningnetworks.org
1 stars 10 forks source link

Allow users to "request full access" to the directory. #39

Closed toolness closed 10 years ago

toolness commented 10 years ago

NOTE: The original title of this issue was "add support for membership applications" but that has changed.

As #31 mentions, users who haven't been vouched-for have as little access to the site as anonymous users. The move to a multi-city directory (see #27) further complicates matters: because there's no way to affiliate non-vouched users with a Hive city, staff have no idea how to make sense of them.

This PR adds support for membership applications, whereby users are guided through a basic application process, and relevant staff are notified of new applications.

User Flow

When a user who isn't already vouched-for visits the directory's home page, the following alert will always appear at the top of the page:

alert

Upon clicking the link they will be taken to /accounts/apply/, which looks like this:

apply

Note that if the site is a multi-city install (i.e. the Hive Global Directory), the city field won't be auto-populated, and the user will be forced to choose from a list of all Hive cities.

All fields on this page are required. Once successfully submitted, the user will be redirected to the directory's home page with the following alert at top:

success

At this point, the fact that the user has filled out the application form is recorded in their user session, so they will not be alerted to fill out the application form again unless they log out and log back in (or log in from another device, etc).

Meanwhile, an email will have been sent out to either all staff in the selected Hive city or all superusers (if no staff exists in the Hive city). The email will look something like this:

Subject: johndoe has applied to join Hive NYC!
From: no-reply@directory.hivenyc.org
To: julia@hivenyc.org

Hi!

John Doe has just applied to join Hive New York City.

Here is what the user had to say:

"""
Hi, I met Lainie at the Maker Party at Tuesday and she told me to sign up for the Hive!
"""

To vouch for this user, visit the following URL and associate them with
an organization:

https://directory.hivenyc.org/admin/auth/user/157/

You may also want to email the user at johndoe@example.org to let them
know that they've been vouched for.

- Your Friendly Hive Admin Robot

Out Of Scope

I didn't want to have to bust a database migration, or deal with managing application models, so I just had the application form send out an email. If we really need to store the application in the DB, we can bust a migration for that later, but hopefully we won't need to.

Things Left To Be Done

jvallera commented 10 years ago

Hi Atul, thanks for working on this.

  1. User Flow: I LOVE the alert that notifies someone they are not currently a Hive community member. In Hive nyc we have rethought our membership model so that is open and had different tiers of engagement. So, using the term "apply for membership" may be misleading for how we want to do outreach with new community members (there are no longer applications). We are making changes on our website that reflect this new, open membership mentality and really want our website to be the access point to learning about and joining the Hive NYC community. We are also building a "join" form available through our website. Right now it is a google form that gathers very specific information we need to guide someone through various Hive NYC pathways (form is not live yet). I wonder if there is someway to tie the two forms together...or maybe send folks that choose Hive NYC from your form to our community page to sign up?
  2. Scope: Agree that something is better than nothing. Perhaps we can lessen the load if people who want to join are directed to each Hives welcome page, rather than generating an email?

Of course, happy to chat in more detail.

iamjessklein commented 10 years ago

:+1: nice treatment of the user flow here.

considering what @jvallera said in her comment, I wonder if an easy fix might be to have the button be adjusted to say "request more information" or "request Hive member application".

toolness commented 10 years ago

Thanks for the replies!

In hindsight, I'm now realizing "membership applications" was a very bad way to put it... Basically, it seems like there are two ways users can create accounts on the Hive Directory and then feel a bit lost:

  1. People who are already part of the Hive community, whom we trust, but whose accounts haven't been auto-vouched based on the domain name of their email address.
  2. People who aren't yet part of the Hive community and are trying to learn more about it, and possibly join it.

I guess that this PR is really trying to address group 1. We know of a number of such individuals in NYC in this situation: people who create accounts, aren't auto-vouched, and are then totally confused because they still don't see much on the site even though they're logged in. Eventually these people manually contact a Hive staff member (I suspect a number just give up before doing even this) and they fix it, after a clumsy exchange involving asking for usernames and such.

So, this PR is really meant to smooth out that interaction, rather than introducing brand new individuals to the Hive, for which I agree that just pointing them to the city's Hive website is a good idea.

What if we renamed this action from "apply for membership" to something else, like "request access to the directory", or just "ask for assistance"? We could first divert total newbies to a Hive city's website, ensuring that the only people who fill out the form are ones who we probably already know, but who for one reason or another don't have the access they ought to have.

toolness commented 10 years ago

Ok, in 376ad9d I changed the wording to be about applying for full access to the directory rather than membership. I also ran it by @jvallera and she's cool with it.

I will merge this PR and file a separate bug about directing complete newbies to the Hive organization's website for more information.