beta-nu-theta-chi / ox-dashboard

A chapter dashabord web app in Django for the Beta Nu Chapter of Theta Chi at Case Western Reserve University
MIT License
0 stars 0 forks source link

Integrate the Big Brother Tree with the Dashboard #67

Open jcassarly opened 3 years ago

jcassarly commented 3 years ago
jcassarly commented 3 years ago

@kihashi @DLance96 thoughts on this? The last part is a bit jank, but I think it should work. Not sure if there's any issues with that that I am forgetting. I can make a service account and store the login information for that in environment variables.

kihashi commented 3 years ago

Would it be possible to have some sort of import mechanism for the DOT file? You could fill in missing data and flag discrepancies. The main issue I see is brothers who are not in the database since the DOT file contains data all the way back to the 60s.

I don't think the changes should be manually merged to the other repository- making a PR automatically seems fine, but I think it should be reviewed by a human. This is the ever-living history of the chapter after all.

From there we have access to all the text files we need to update the big brother tree and regenerate it (although I will need to install dot to be able to generate the png).

You may want to consider exporting an SVG for web use. It should be more performant. I don't think that was a feature of GraphViz back when I was handling things.

jcassarly commented 3 years ago

Would it be possible to have some sort of import mechanism for the DOT file? You could fill in missing data and flag discrepancies. The main issue I see is brothers who are not in the database since the DOT file contains data all the way back to the 60s.

I was planning on just writing a script to edit the DOT file and add the necessary fields to get the new people in. So I think we are on the same page here

I don't think the changes should be manually merged to the other repository- making a PR automatically seems fine, but I think it should be reviewed by a human. This is the ever-living history of the chapter after all.

That does in fact make sense. I'll need to install the github cli on the server I think to make the PRs then

From there we have access to all the text files we need to update the big brother tree and regenerate it (although I will need to install dot to be able to generate the png).

You may want to consider exporting an SVG for web use. It should be more performant. I don't think that was a feature of GraphViz back when I was handling things.

Makes sense, Ill use SVG rather than png. Ill probably end up messing around with figuring out which format shows up better. I do think dot allows us to export to PNGs, SVGs, PDFs, etc

kihashi commented 3 years ago

I was planning on just writing a script to edit the DOT file and add the necessary fields to get the new people in. So I think we are on the same page here

Ah. I was more meaning parsing the DOT file into the database (import) and generating a DOT file from the database (export). I think that editing the file will probably end up being rather brittle. How do you decide where to add lines?

Makes sense, Ill use SVG rather than png. Ill probably end up messing around with figuring out which format shows up better. I do think dot allows us to export to PNGs, SVGs, PDFs, etc

Yeah. We used to just do strictly PDFs, but SVGs are probably better optimized for the web and PDF is nice to send to the mailing list.

jcassarly commented 3 years ago

Ah. I was more meaning parsing the DOT file into the database (import) and generating a DOT file from the database (export). I think that editing the file will probably end up being rather brittle. How do you decide where to add lines?

When I've updated the file in the past, I've thought to myself that I could write a script to do this every time. Its pretty straightforward what you have to do. You add a new line after the last semester declaration and add all the names of the new guys. then you find the alphabetical spot in the big/little relationships and add that there (I can just read the whole file line by line and keep track of this information. I can probably even figure out how to do it without loading it all into RAM at once).

Maybe I'm wrong, but if I am I'll probably just take your advice and figure something out for importing to the database. Shouldn't be too hard to add all the brothers going back in time to the database. It's very scriptable to add baseline information. Maybe this would be the best way to do it, but I also feel like adding that much data isn't super helpful. If there's something else having all the alums in the database would help with, I would be more interested in trying to do this.

Yeah. We used to just do strictly PDFs, but SVGs are probably better optimized for the web and PDF is nice to send to the mailing list.

makes sense. I wasn't really sure how to display a PDF on the website anyways so I was gonna try and make an image. this part will probably require a bit of experimentation