dhasegan / connect.academy

Educational platform
www.connect.academy
MIT License
2 stars 0 forks source link

Course versioning #28

Open dhasegan opened 10 years ago

dhasegan commented 10 years ago

For different semesters when things(professor/material/syllabus) change

dhasegan commented 10 years ago

is this version 1 or 1.x?

dhasegan commented 9 years ago

This is a thing that is coming to us pretty fast. What are we going to do with the old discussions/course info/ ....

tpllaha commented 9 years ago

I think I agreed to take care of this, since I'm refactoring courses anyways. We haven't completely decided how to handle this though. I think we should keep course info, reviews etc. (almost everything), since the professor can change them anyways and reviews have their dates on them (so people can see if some review was made a long time ago).

The only thing that should change (from what I'm thinking of right now) is that forum discussions should still exist, but be somehow hidden/archived. They should appear in search results, but we can have a filter that allows or disallows archived messages to be shown. Not sure if archived posts should actually be compressed and stored in some dark corner (that would save db space, but it would make it really slow to search for archived messages, unless maybe we cache some of them or do something else about the speed. I'm not sure about this...)

If we do this, should we just keep the same course object? And just archive messages at the end of the semester? How big of a deal is this?

On Mon, Dec 1, 2014 at 7:52 AM, Daniel Hasegan notifications@github.com wrote:

This is a thing that is coming to us pretty fast. What are we going to do with the old discussions/course info/ ....

— Reply to this email directly or view it on GitHub https://github.com/dhasegan/connect.academy/issues/28#issuecomment-65026712 .

tpllaha commented 9 years ago

We should also somehow store the information the people who were once registered for some course

I was thinking of adding a new model:

class CourseHistory: course = ForeignKey(Course) user = ForeignKey(jUser) reg_type = PROFESSOR or TA or STUDENT year = Integer or Date

This way we wouldn't have to keep all the data of every course in every year. We'd just have to remember that this person took that course at that time. Then the course data can change and we can just archive the forum posts/activities. I'm still not sure what's the best way to handle this archiving thing though. so it's open to suggestions.

dhasegan commented 9 years ago

Its not very scalable but I cannot think of any better way for this or any other use for this CourseHistory.