freegeekchicago / townsquare

FreeGeek Chicago's suite of Drupal-based, KIT-compliant volunteer, knowledge, and conversation management tools.
22 stars 11 forks source link

Import spreadsheet o' doom #17

Closed eads closed 13 years ago

eads commented 13 years ago

We need a script of some variety to suck in data from the current volunteer hour spreadsheet. The script will need to create new users for each volunteer in the database, create new event nodes if they don't exist, then create volunteer sessions for each cell in the spreadsheet. I've proposed that all users have their real names converted to usernames of the form firstname_lastname for now.

There's also a rather scary logistical question hanging around here: What to do to give volunteers access to the site if they have an account created? There could be some annoying gruntwork for administrators here. For now, we can avoid that by simply not giving volunteers access.

This is the key blocker for the alpha-1 release -- we really can't proceed using two systems for very long, and we desperately need to get the spreadsheet deprecated.

eads commented 13 years ago

I've started working on this and there's an interesting problem that was discussed and then forgotten by me. Our current way of storing volunteer hours is as a date range in a "volunteer session" node. But our spreadsheet only includes day and duration. We'll need to tweak our volunteer session data structure to account for this situation.

One option would be to simply fake the hours by creating fake data range that start at 11am. No modification of the data structure is necessary, but this is not a satisfactory solution.

Another option would be to add an additional field to volunteer session with a duration computed from the duration or simply filled in. There's a huge computational / analytical benefit to this approach: By 'caching' the duration with can do simple, cheap summations and sorts, rather than having to calculate a difference of dates at query time to determine duration. However, there's also curveball here: we'll need a special boolean flag (another field) on each volunteer session which indicates that the duration is overridden and should not be computed from the to / from dates when saving a volunteer session.

eads commented 13 years ago

There's also a potential UI tweak: We should consider adding a little magnifying glass icon to each volunteer session row on the event editing page that opens the volunteer session node editing form in a modal frame so the user can override the volunteer's hours / edit other details about the volunteer session.

jimglover commented 13 years ago

Adding Eddie Weaver's "Build-A-Box hours" idea with the import of the spreadsheet. If I hadn't said enough, I think it's a great idea.

eads commented 13 years ago

There's no need for Eddy's system in Townsquare, and I don't really see what it gets us. Townsquare just needs to track hours. Once a person hits 24, they are eligible for their free system or $50 credit (which we need to track in townsquare). But there's no need for Eddy's distinction and I think it is far more brittle than tracking a volunteer's job/role on a given day with a flexible field.

On 6/22/11, glover reply@reply.github.com wrote:

Adding Eddie Weaver's "Build-A-Box hours" idea with the import of the spreadsheet. If I hadn't said enough, I think it's a great idea.

Reply to this email directly or view it on GitHub: https://github.com/freegeekchicago/townsquare/issues/17#issuecomment-1417334

jimglover commented 13 years ago

I see. I was thinking he sees himself as motivated by seeing the Build-A-Box hours logged in. Let's say for instance he has 6 hours, then he's 19 hours away from building a box. This lets him know how close he is to getting a box and gives him a sense of self-satisfaction, now he's glad to be doing more volunteering. I think what he's trying to convey is that he's really happy about earning the hours toward his own computer and is even more happy when he can see it in writing.

Maybe it's a little passerby confusion because in all actuality the Build-A-Box hours are being logged in as "normal" hours. It's a little fancy but to put "Build-A-Box hours listed here" on the spreadsheet or townsquare will be purely to gratify the volunteer or dare I say woo them a little. I think that it's a little psychological incentive for volunteers - for "Build-A-Box" to be listed on the spreadsheet or townsquare. Let's say that the hours are listed as Build-A-Box hours until 25 hours are exceeded then they are simply "regular" hours. That way there is some fun in the motivation to come in and do your hours so you can race yourself to finally building your own box.

I think that's what Eddie is looking for, another tidbit of fun to an already fun process.

On Wed, Jun 22, 2011 at 7:52 AM, eads < reply@reply.github.com>wrote:

There's no need for Eddy's system in Townsquare, and I don't really see what it gets us. Townsquare just needs to track hours. Once a person hits 24, they are eligible for their free system or $50 credit (which we need to track in townsquare). But there's no need for Eddy's distinction and I think it is far more brittle than tracking a volunteer's job/role on a given day with a flexible field.

On 6/22/11, glover reply@reply.github.com wrote:

Adding Eddie Weaver's "Build-A-Box hours" idea with the import of the spreadsheet. If I hadn't said enough, I think it's a great idea.

Reply to this email directly or view it on GitHub:

https://github.com/freegeekchicago/townsquare/issues/17#issuecomment-1417334

Reply to this email directly or view it on GitHub:

https://github.com/freegeekchicago/townsquare/issues/17#issuecomment-1417704

eads commented 13 years ago

Ahhhh, I think I understand Eddy's motivation better. And I think we're ultimately all on the same page. I have no quarrel with changing the sign in sheet itself if it makes folks happier, and it has always been the plan to use townsquare to let people track their progress vis a vis their perks in our program so it is easy to see "hey, I'm two hours from a free computer!" and to even actively (email, txt messaging) notify volunteers who opt-in to receiving them.

On 6/22/11, glover reply@reply.github.com wrote:

I see. I was thinking he sees himself as motivated by seeing the Build-A-Box hours logged in. Let's say for instance he has 6 hours, then he's 19 hours away from building a box. This lets him know how close he is to getting a box and gives him a sense of self-satisfaction, now he's glad to be doing more volunteering. I think what he's trying to convey is that he's really happy about earning the hours toward his own computer and is even more happy when he can see it in writing.

Maybe it's a little passerby confusion because in all actuality the Build-A-Box hours are being logged in as "normal" hours. It's a little fancy but to put "Build-A-Box hours listed here" on the spreadsheet or townsquare will be purely to gratify the volunteer or dare I say woo them a little. I think that it's a little psychological incentive for volunteers - for "Build-A-Box" to be listed on the spreadsheet or townsquare. Let's say that the hours are listed as Build-A-Box hours until 25 hours are exceeded then they are simply "regular" hours. That way there is some fun in the motivation to come in and do your hours so you can race yourself to finally building your own box.

I think that's what Eddie is looking for, another tidbit of fun to an already fun process.

On Wed, Jun 22, 2011 at 7:52 AM, eads < reply@reply.github.com>wrote:

There's no need for Eddy's system in Townsquare, and I don't really see what it gets us. Townsquare just needs to track hours. Once a person hits 24, they are eligible for their free system or $50 credit (which we need to track in townsquare). But there's no need for Eddy's distinction and I think it is far more brittle than tracking a volunteer's job/role on a given day with a flexible field.

On 6/22/11, glover reply@reply.github.com wrote:

Adding Eddie Weaver's "Build-A-Box hours" idea with the import of the spreadsheet. If I hadn't said enough, I think it's a great idea.

Reply to this email directly or view it on GitHub:

https://github.com/freegeekchicago/townsquare/issues/17#issuecomment-1417334

Reply to this email directly or view it on GitHub:

https://github.com/freegeekchicago/townsquare/issues/17#issuecomment-1417704

Reply to this email directly or view it on GitHub: https://github.com/freegeekchicago/townsquare/issues/17#issuecomment-1418293

jimglover commented 13 years ago

Yeah, I think we're all on the same page. Text messages are the ultimate in reminders, I'm sure volunteers will have moments no less than ecstatic when they get the message that states they are merely a few hours away from building their own box.

On Wed, Jun 22, 2011 at 9:36 AM, eads < reply@reply.github.com>wrote:

Ahhhh, I think I understand Eddy's motivation better. And I think we're ultimately all on the same page. I have no quarrel with changing the sign in sheet itself if it makes folks happier, and it has always been the plan to use townsquare to let people track their progress vis a vis their perks in our program so it is easy to see "hey, I'm two hours from a free computer!" and to even actively (email, txt messaging) notify volunteers who opt-in to receiving them.

On 6/22/11, glover reply@reply.github.com wrote:

I see. I was thinking he sees himself as motivated by seeing the Build-A-Box hours logged in. Let's say for instance he has 6 hours, then he's 19 hours away from building a box. This lets him know how close he is to getting a box and gives him a sense of self-satisfaction, now he's glad to be doing more volunteering. I think what he's trying to convey is that he's really happy about earning the hours toward his own computer and is even more happy when he can see it in writing.

Maybe it's a little passerby confusion because in all actuality the Build-A-Box hours are being logged in as "normal" hours. It's a little fancy but to put "Build-A-Box hours listed here" on the spreadsheet or townsquare will be purely to gratify the volunteer or dare I say woo them a little. I think that it's a little psychological incentive for volunteers - for "Build-A-Box" to be listed on the spreadsheet or townsquare. Let's say that the hours are listed as Build-A-Box hours until 25 hours are exceeded then they are simply "regular" hours. That way there is some fun in the motivation to come in and do your hours so you can race yourself to finally building your own box.

I think that's what Eddie is looking for, another tidbit of fun to an already fun process.

On Wed, Jun 22, 2011 at 7:52 AM, eads < reply@reply.github.com>wrote:

There's no need for Eddy's system in Townsquare, and I don't really see what it gets us. Townsquare just needs to track hours. Once a person hits 24, they are eligible for their free system or $50 credit (which we need to track in townsquare). But there's no need for Eddy's distinction and I think it is far more brittle than tracking a volunteer's job/role on a given day with a flexible field.

On 6/22/11, glover reply@reply.github.com wrote:

Adding Eddie Weaver's "Build-A-Box hours" idea with the import of the spreadsheet. If I hadn't said enough, I think it's a great idea.

Reply to this email directly or view it on GitHub:

https://github.com/freegeekchicago/townsquare/issues/17#issuecomment-1417334

Reply to this email directly or view it on GitHub:

https://github.com/freegeekchicago/townsquare/issues/17#issuecomment-1417704

Reply to this email directly or view it on GitHub:

https://github.com/freegeekchicago/townsquare/issues/17#issuecomment-1418293

Reply to this email directly or view it on GitHub:

https://github.com/freegeekchicago/townsquare/issues/17#issuecomment-1418415

eads commented 13 years ago

Two more thoughts on this:

jimglover commented 13 years ago

Can do. It seems like another spreadsheet of sorts or an addition to it, hence the present conversation. This "karma in hours" is all tabulated in hours and rewards based on accumulation. It's almost like the Celsius thermometer, when a certain temperature is reached then you can build a box, when a higher temp is reached you can vote and so on and so on...

eads commented 13 years ago

Fixed in alpha-1! (!!!) -- Import module has not been added to repository. If people want to see it, ask!