ComputerScienceHouse / schedulemaker

A course database lookup tool and schedule building web application for use at Rochester Institute of Technology.
http://schedule.csh.rit.edu
GNU General Public License v2.0
62 stars 38 forks source link

Provide sample data for contributors external to CSH wishing to contribute #320

Open MoralCode opened 1 year ago

MoralCode commented 1 year ago

Since ScheduleMaker data is mainly powered by daily SIS data dumps that are from RIT ITS (and presumably somewhat private), the ability to maintain CSH is somewhat limited to only CSH members who are trusted with access to this data or the databases created from them (using the tools dir of this repo presumably).

While the S3 dependency (seemingly for storage of generated schedule images based on the code) seems relatively easy to substitute with another S3 installation, and a new database can be created pretty easily, populating that database is much harder, if not impossible to set up independently of CSH.

Since Schedulemaker has had no commits in over a year and has at least one relatively major bug that hasn't been addressed in this time (#310) it seems as though it may be useful to allow the rest of the RIT open source community to run local dev versions of this code to develop their own fixes and improvements.

I propose this be done by:

MoralCode commented 1 year ago

For anyone following in these footsteps, here is a line of sample data that I had laying around (I forget where from). It is from just one of the many different dump files available. This sample data appears to be from the dump file for classes, but it seems like most of the other files are likely to use a similar format for their data as well.

This particular class appears to have been offered in Spring 2019 (semester code 2185) but no longer seems to be available. I was able to use the code in the tools directory, specifically this section to map each of the pipe-delimited fields into table names that are a little more descriptive. These names are copy pasted into a CSV-like header line above the sample data, but I suspect this header row is not present in the data from ITS.

Here is the header row that I made:

crse_id | crse_offer_nbr | strm | session_code | class_section | subject | catalog_nbr | descr | topic | class_nbr | ssr_component | units | enrl_stat | class_stat | class_type | schedule_print | enrl_cap | enrl_tot | institution | acad_org | acad_group | acad_career | instruction_mode | course_descrlong |

and the sample data itself:

202083| 1|2185|1|01|MGMT|  90|Student Accelerator| |57640|SEM| 12.00|O|A|E|Y|  50|  17|RIT01|MGMT|SCB|UGRD|P|This series of non-credit workshops and lectures provides students with the tools needed for successful completion of Saunders College of Business programs. Students will develop and practice essential skills, including critical thinking, how to analyze a problem, oral and written communications, working in a team environment, and ethics.   Students become familiar with value creation management strategies and tools.|

Hope this is useful to anyone wishing to create a longer sample course dump file using generated or real course data to aid future schedulemaker contributors

MoralCode commented 1 year ago

This may be part of #56

jabbate19 commented 12 months ago

327 could be used to do this. Will research during rewrite

MoralCode commented 10 months ago

even if this goes through, id probably caution against intentionally giving up CSH's private, grandfathered data feed from the registrar - i bet it'll be helpful for validating the data from the API, or potentially getting data faster/without as many rate limits or something, even if it can't be made available to any student with an RIT login