carpentries / amy

A web-based workshop administration application built using Django.
https://amy.carpentries.org
MIT License
113 stars 72 forks source link

Import Training Event Registration and Attendance #1614

Open maneesha opened 4 years ago

maneesha commented 4 years ago

Right now we are manually assigning people to Instructor Training events and checking off their training as complete. Because we are using Eventbrite to register most trainees in our online events, we'd like to be able to export registration data from Eventbrite and import into AMY.

@pbanaszkiewicz If we had a csv with the following fields, would it be possible to set up a function to import into AMY? If not, what else might we need?

  1. Person identifier (personal name, family name, email address)
  2. Member affiliation (i.e. "Starfleet Academy (March 1, 2019 - March 1, 2020) OR numeric ID for membership in database)
  3. Event slug (i.e. 2020-01-31-ttt-gmt)
  4. Registered (True/False)
  5. Completed Training (True/False)
pbanaszkiewicz commented 4 years ago

Hello @maneesha.

  1. The person identifier should be 3 separate columns
  2. Not sure whether we store person <-> member site affiliation. How would that be useful?
  3. Event slug is mandatory.
  4. What would registered=False mean?
  5. Completed training (True/False) is definitely useful.

@maneesha, how do you check off a persons training as complete? Is this a training progress (type=Training) or something else?

The data provided seems to be everything we need to implement such a function, however I'd like you to confirm my question above.

maneesha commented 4 years ago

About point 2 -- The person does not have a member site affiliation but the training seat does. About point 4 -- You're right, there wouldn't be a situation where registered==False.

To check off training as complete, yes, we record that training progress.

maneesha commented 4 years ago

@pbanaszkiewicz A follow up to this - Since we are pulling registration from Eventbrite, each event will have an Eventbrite key which can be stored in AMY. Can we match based on Eventbrite key, rather than slug? We are not currently storing this in AMY but we could if it could be used in this way.

Right now I'm looking at generating a csv file that has the following columns:

Would this suffice to do a bulk import?

pbanaszkiewicz commented 4 years ago

@maneesha we can use the Eventbrite key, but it's not guaranteed to be unique (yet). Database schema would have to be changed for this to work. Changing the schema may result in some data loss since we're forcing uniqueness on non-unique field.

fmichonneau commented 4 years ago

cross linking the PR here: https://github.com/carpentries/systems/pull/66

maneesha commented 3 years ago

This was part of a pre-pandemic project to restructure and streamline the instructor training checkout process. We are tabling this until we discuss more internally.