Closed bethlakshmi closed 4 years ago
Questions:
SAMPLE IDEA:
A table with the following columns:
Volunteer: Elizabeth Kelly (ie, profile name) (link to full proposal) Volunteer Event: Registration Lead (link to full event details including current volunteers) Time: 8AM-12PM Number Slots: 1 of 2 (1 is free, out of 2 total)
Next Q: Would we remove anything from the current volunteer info?
We have a times available/not available - do we still want them?
And interests...
And other stuff....
Also - do we let volunteers create overlaps if they are "interested" in something? Should that just be a warnable condition?
OK Stopping.
Would we remove anything from the current volunteer info?
Yes, everything. I don't think we care what people's interests or availability are. They're showing us them by signing up for a particular role at a particular time.
Also - do we let volunteers create overlaps if they are "interested" in something? Should that just be a warnable condition?
Yes, they can create overlaps with "interests". No, we don't need to warn them.
Got it. Starting on this for offline work as I can...
ok, there's a lot here, so I am planning out how to do a series of tickets that optimizes us towards getting the volunteer recruitment part out FAST, and then follows up after with the management parts. Here's my work breakdown, it'll probably evolve:
1 - Ground work - make event schedule items have a approval-needed flag
2 - Set up volunteer signup:
3 - Make it easy (or at least sane) to configure approval on a volunteer event
4 - Make it possible to approve people.
5 - Clean up loose ends?
With this many moving parts, I'll have some.
A thought on How To Display Volunteer Shifts Instead of wrestling with the "I can't deal with dates" bug, how about we display volunteer shifts like we do classes (and other BurlExpo events)? Instead of Locations as column headers we use Staff Area, so you would go to Friday, April 17 and see
I'm trying to code this out and the calendar is subtly different than you're saying. The existing calendar code is organized by start time - so events that start at 6PM are in the 6PM row. If another event starts at the 7PM slot, then that event is on the 7PM row (that's the way classes work).
Our volunteer events are fewer and more far between, but show stuff starts all at the same time.
Looking at GBE 2017 is an example:
https://burlesque-expo.us.aldryn.io/calendar/Volunteer?day=02-11-2017
This is Volunteer events on Saturday in 2017 (I skipped 2018 in case it was weird).
I mapped this page out into a column per track format and came up with this:
That's a LOT of white space. The kicker is really all the one offs - our drop ins each have a volunteer option. And there's many gaps because we only show a option during it's start hour, we don't fill it like a grid (look at registration as an example).
Proposal - it would be easier - pretty easy actually - to use the same format we have, but let people sign up by selecting a cell just like we do for "interested" - and then do the approval needed logic that way.
That would save be the complexity of trying to sort out columns.
It turns out, I also don't sort out columns on classes anymore - they are all just in the given hour.
Proposal - it would be easier - pretty easy actually - to use the same format we have, but let people sign up by selecting a cell just like we do for "interested" - and then do the approval needed logic that way.
Since this is exactly what I suggested, I feel like you might be saying something else -- or are you just confirming we can do it this way?
OK... let's talk. I've got two prototypes worth looking at posted on the test server. To simulate our typical data load, I cloned our GBE 2017 staff areas over to this year. I didn't port drop in classes, figuring we'd talk about them. NOTE - this is only test data.
I also took the liberty of volunteering you for 3 events, so you could see what that looks like:
https://burlesque-expo-stage.us.aldryn.io/volunteer/signup
2 - a calendar based approach that is strikingly similar to "interested" behavior:
https://burlesque-expo-stage.us.aldryn.io/calendar/Volunteer
I chose a little hand, since it looked volunteer-y
Questions:
For either of these, the alerting and email notifications aren't 100% what I have mind. That's about the limit of what I prototyped before pausing to get input.
OK took notes from yesterday... here's attempt 3:
https://burlesque-expo-stage.us.aldryn.io/scheduling/volunteer_signup/?day=04-18-2020 (this is Saturday - so the busiest day)
The shadow events don't line up with the initial event. I know changing the size of the screen will impact on this anyway, but right now because they don't line up, they don't solve the problem we're trying to fix, they're just adding ore confusion
Clicking on one of the shadow events threw an error --
Request Method: | GET |
---|
https://burlesque-expo-stage.us.aldryn.io/scheduling/volunteer_signup/1014/ cms.views.details
Iconography thought -- I understand that the little hand is like "raising your hand" to volunteer but it also comes across as "stop".
How about we use a checkmark?
I don't mean using simplelineicon; I mean using option-v (√)
Checkboxes. I went with yellow for "needs approval" because of the "yellow=caution". If you hate it, I can change the color. They're GIFs, so should have transparent backgrounds. They are 64x64px. There are 5:
Got it. For the record, your "yellow" checkbox is green. Very vibrant, lime green. Which means that (to me) it's hard to see that the grey checkbox is grey. I think the general look works, so I'll get the gifs coded into the site, and then we can replace the files as we like.
Also - they are huge, so I will force scale them down to a typical icon size (typical size ~16X16 px)
NEVERMIND GOT IT = Also - I need the background outside the box to be transparent. If you have the tools for that, it would be helpful... I'm also trying...
https://whentohelp.com/cgi-bin/w2h.dll/emptradeboard?SID=11991582214250&lmi=&Date=06/29/2020
I THINK THIS IS IT
I was going to give you other options, but I think this is what you want.
We could do basically this. I would advocate:
This would mean you can't signup directly on the calendar. With bars this narrow, that feels right to me - we don't want people accidentally withdrawing/adding events!
I'm questioning on - "do we want to show full events?" - the navigation in this site suggests they do NOT - they only show available. I think I agree, it reduces the load.
So... what do we do with this? Embed it in our site? Can we still communicate with volunteers with automatically triggered events and messages? Can we still use our internal email system to contact volunteers?
I know I said I'd just proceed... but since I hit a stopping place for the night:
https://burlesque-expo-stage.us.aldryn.io/scheduling/volunteer_signup/?day=04-17-2020
NOTE: Because this is a very long list, I DID NOT show:
Taking a pause for tonight...
TO DO:
(test site is in sync with all this - volunteer forms can now be kicked off from home page)
Three new icons
AWESOME!!!! Probably getting 'em in tonight!!! .... DONE!
FYI - all changes are up to date on test server:
https://burlesque-expo-stage.us.aldryn.io/gbe
has the new look for volunteers to signup (a button near their schedule)
the signup calendar is still in test, but should be fully functional
emails wil show up in /admin in the Post Office area. The test server goes to great lengths NOT to mail the user, so the email MAY go to me... not you... but a record of it will be in admin, regardless.
the template for staff emails doesn't show up in the Special -> Manage Template page yet, but it's in Post Office (/admin)
the instructions at the top and in the note for pending-admission events is a UserMessage, editable in admin.
same for all the warnings/alerts that show up on the user's page when they do something
you shouldn't need to change static pages in Django CMS - the old link (volunteer/create) should now redirect to the new stuff.
Not too much more code is left but there is a LOT of testing to do here. I took the old way apart a bit, and so I have a lot of tests to update.
Pull request for the volunteer side of this is ready.
Moving on to management side. First things on next effort:
- make sure that the email template for the email to the volunteer coordinator/staff leads is editable in our normal way. - it was so easy, I did it in ~10 min on the original PR (and it's deployed on the test server)
PR will get reviewed and hopefully approved by me on Thursday, ideally with a target go-live of Friday or Saturday.
@burlexpo - Working on the next step - I think we don't need the "volunteer type" anymore. This was a fixed list, that you set for each volunteer event, and then the volunteer can also set it in their bid as an interest - so it helps with match making.
Volunteers now pick based on event title & description, so I figure I can remove it. That means it won't show up here:
https://burlesque-expo.us.aldryn.io/scheduling/manage ("Volunteer Type" filter)
Or here:
https://burlesque-expo.us.aldryn.io/scheduling/show_edit/GBE2020/4605? Under "Manage Volunteer Opportunities"
The latter is what I want to remove most - because it takes up a bunch of space on the table, which is already crowded and getting bigger with a checkmark for "Approval". You'd think a checkmark wouldn't take up much space, but it actually makes a big difference.
I won't pull the old data just yet, but I think I need to cleanup.
OK... now that step 1 & 2 are live!!
The test server has my work on making it easy to manage setting whether an event needs approval. Things to play with:
Special Menu -> Schedule -> All Events
And under the list of volunteer events you'll see that "volunteer type" is gone, but "Approve" is there. Click any checkbox on and off and press the pencil button to save the row.
Duplicate also works - the Approve setting will persist from copied event to target.
Same starting place -- edit any Volunteer Event
Same starting place -- Create button
If you pick a volunteer opportunity to create, and choose to make an opportunity w/out a staff area or parent event - you should see the same screen as the Edit Volunteer Event. If you pick a staff area or show, it will appear the same way as editing a staff area or show does (in a row of events)
The last thing I need to check/fix is whether or not copy works. Obviously copying a volunteer event should result in the same state approve/need to approve.
BONUS:
On the Special -> Schedule -> All Events page, -- any event with approval needed now has current volunteer and max volunteer cells appearing in yellow. Current only shows actual volunteers (not pending). Volunteer type is now gone from this side of the system.
Also - copy is finished and now preserves approval state.
All this is up on test.
And so I'm done with item 3 on my big to do list. Wrapping up testing and will have a PR today. Ready to deploy probably Monday.
Next - item 4 - make a way to approve pending volunteers
Everything from the comment above is now merged and updated on production. No need to use the /admin any more, although I don't have a search set up yet for "needs approval" events in the pages I built.
Now I'm posting the first part of step 4 - approve pending - on the test server. Go to Special -> Review -> Volunteers (same as before) and now you'll see the list of Pending, Waitlisted, and Rejected volunteers. Any of them can be approved, waitlisted or rejected. When you do that:
I want to:
And I need to write tests.
That will likely be the stopping place for this pull request.
After that, I think it's useful to replace the area in the volunteer event edit that lets a staff lead take a bidding volunteer and assign them, to taking a pending/waitlisted volunteer and assign them. But that's a separate piece of work, so deserves a separate ticket.
Approve of pending volunteers as a review list is ready as a pull request. Will review and push to site over the weekend. Starting clean up and dead code removal. - first target is all the Volunteer Bid assignment stuff. Not review list, review, or edit.
The approval code is totally up to date and as it will be published on the test server, so it's available to play with. Go to Special -> Review -> Volunteers and there it is. It has a link to the old review page for old conferences, as well, so the old data is still available.
Review and approve pending volunteers is installed on the live site!!
I have a pull request pending on a bunch of cleanup code. And I want to finish up with sorting out the event management list that we mentioned.
The site should now be 100% functional with the new volunteer signup scheme.
OK, I'm very close to finishing the 4th part of this - making it easy to see and manage the volunteers in all of their states in the volunteer opportunity schedule management pages.
So... I'm thinking out what we need for reporting. We currently have some decent (if I do say so myself) reports hidden away here:
https://burlesque-expo.us.aldryn.io/reports/staff_area
I think they need the following:
1 - put this very link as a menu item under "Reports" in the special menu, to increase it's availability.
2 - put a link to the menu items in the scheduling area, so a person working on a show, or staff area can quickly see what staff is already assigned... I propose an easy way - put a link to the follow on page, ie:
(examples from GBE 2018) and put them as a link on the scheduler pages, such as:
So that the user can see what volunteers are signed up.
I don't want to make the data appear ON this page - not only is it visual overload... but loading these reports is still a bit slow and I don't want to make the user frustrated waiting for the page to load. I can review loading this data in a less horrible way, but that is a BIG refactor and deserves it's own priority
3 - refactor the report so that we are showing the same visual organizaiton but NOT showing users that are Rejected.
QUESTIONS:
4th update is live - all volunteer schduling makes note of the new feature!
Ahhh..... I think I'm done!!!
At least any new work deserves a new ticket, as the spirit my to-do list above is now DONE!
Just introduced the new reporting code on the live server. And I deleted a fair amount of the old code.
I'll open up a later ticket for further cleanup. But I recommend I do it after this expo.
Taking down notes from discussion in the car on the way to rehearsal, so @burlexpo can update later:
All Volunteer events (and only those) for a given Conference will show up as options to volunteer for when a user is proposing to be a volunteer (ie, making a bid).
Volunteer events can be marked (by staff leads/volunteer coordinator) as one of two things:
Assignment is:
A volunteer does not count as "assigned" (and therefore the event remains open) if they are awaiting approval - so an infinite number of volunteers can be awaiting approval, even if there is only 1 open slot.
whenever a volunteer adds/removes opportunity from their selections, the site will send email:
there will need to be a page that lets staff leads approve volunteers...
a user is blocked from causing themselves conflicts: