sc0v / binder

The Spring Carnival managment application built for Carnegie Mellon Spring Carnival.
16 stars 19 forks source link

Better data integration, migration, and preservation strategy #92

Open ChaseBro opened 8 years ago

ChaseBro commented 8 years ago

Currently we populate the db by having all of SCC's and all the booth chair's info in the populate file which is super not nice to have all these phone numbers in the repo. This would be much better if it could populate from an external file or db such as a google doc or something which is easier to build in the first place rather than an actual rails code file.

arakla commented 8 years ago

Another alternative is if we could see if we could get permissions for the student data warehouse. http://www.cmu.edu/es/sdw/ However, we would probably need to work with DOSA IT on that.

Or have it submitted by the previous years booth chairs.

pkoenig10 commented 8 years ago

The problem with SDW is that we only want info for booth participants. We also need other info like their organization, phone number, etc. Some of this may be filled in when waivers are submitted.

pkoenig10 commented 8 years ago

We may want to stop checking in other unnecessary info in db/seeds.rb. However keeping certain items updated, like tools, give us a snapshot of what the DB should if something goes bad and we need to reseed. We should stick to removing info that will completely change every single year (like people's info).

arakla commented 8 years ago

For student/people info, I was thinking we query the SDW or HRIS/Workday for staff when the participant is created. Then we query the appropriate db on a scheduled basis (nightly?) and just keep a cached copy of the data as we already do with LDAP info.

As for orgs a member is part of, we should have a way for booth chairs to submit the Andrew IDs for their members, either through a CSV or dashboard, as well as marking if another member is a booth chair (and notifying Becca when there are changes as well as having the new chair digitally sign the terms and conditions).

Personally, I think in an ideal world, we wouldn't need to reseed binder every year (except maybe for bulk tool and hard hat updates). Instead participants, shifts/scheduling, etc... could be handled by binder, as well as closing out previous years data and keeping an archive of it (even if that's only accessible by Exec). On Jan 25, 2016 3:16 PM, "Patrick Koenig" notifications@github.com wrote:

We may want to stop checking in other unnecessary info in db/seeds.rb. However keeping certain items updated, like tools, give us a snapshot of what the DB should if something goes bad and we need to reseed. We should stick to removing info that will completely change every single year (like people's info).

— Reply to this email directly or view it on GitHub https://github.com/sc0v/binder-app/issues/92#issuecomment-174647893.

sclark commented 7 years ago

@arakla @pkoenig10 I agree that there could be improvements made in how we populate the database and how participants join organizations, but

@ChaseBro is the original issue here still an issue since we only populate the db with AndrewID's that are publicly available on the directory anyways?

ChaseBro commented 7 years ago

The real issue I think is that it takes too much technical know-how to populate Binder each year. Ideally this would all be productized and wouldn't A) require a full DB wipe every year and B) would make it easier to add people with their phone numbers and everything (especially Booth Chairs and SCC)

sclark commented 7 years ago

@ChaseBro fair point. We probably can't finish this before Carnival this year, but should be considered going forward.