Open dhasegan opened 10 years ago
Not just Course groups, I would say groups in general. It needs to have a ManyToMany with users and each group should have it's own page where people who are part of it should at least be able to post and upload files. Then we can also create group appointments for the schedule.
On Tue, Sep 9, 2014 at 3:18 PM, Daniel Hasegan notifications@github.com wrote:
No idea how we can do this, we have to talk about it. Writing it here to draw the attention. It touches the core of our website so we have to be careful about everything.
— Reply to this email directly or view it on GitHub https://github.com/dhasegan/connect.academy/issues/167.
But you're right, this needs a lot of attention. For example groups should have admins, people should be able to "request to join", etc.
On Tue, Sep 9, 2014 at 3:45 PM, Tomas Pllaha tomaspllaha@gmail.com wrote:
Not just Course groups, I would say groups in general. It needs to have a ManyToMany with users and each group should have it's own page where people who are part of it should at least be able to post and upload files. Then we can also create group appointments for the schedule.
On Tue, Sep 9, 2014 at 3:18 PM, Daniel Hasegan notifications@github.com wrote:
No idea how we can do this, we have to talk about it. Writing it here to draw the attention. It touches the core of our website so we have to be careful about everything.
— Reply to this email directly or view it on GitHub https://github.com/dhasegan/connect.academy/issues/167.
I've been thinking about how to properly create the groups. I think the easiest and least intrusive would be to create the group as the subclass of Course with only one extra field : parent course. Students can be easily assigned to courses groups since those are already courses. And it's 100% backwards compatible and no need of migrations, only syncdb. What do you think? I can work on this later, but I think I can finish this today.
oh wait, you're talking about course groups, as in courses that have several groups or modules?
I think this works.
Shit, this doesnt work. Because you have to duplicate a lot of data. Thought it would work. Though the best solution would be to split the Course class into separate classes: Course (this would be the header of the course with id, abbreviation and the most basic items) CourseDetails (description, additional info, wiki, forum, docs) CourseGroup (instructors, registrations, schedule, homework)
This would be ideal but we have no chance of migrating so much shit, we would have to delete and rebuild the database. Also there would be a major refactor in the code. We dont have to do this now, but im throwing this out there. thoughts?
nah fuck that... Well, if you have a derived class you wouldn't have to duplicate a lot, because you could get the description etc from the parent course. Additional info could be the only one that is specific to the group
Since we need this kind of quickly, I would suggest 2 options:
On Mon, Sep 15, 2014 at 11:44 AM, Daniel Hasegan notifications@github.com wrote:
Shit, this doesnt work. Because you have to duplicate a lot of data. Thought it would work. Though the best solution would be to split the Course class into separate classes: Course (this would be the header of the course with id, abbreviation and the most basic items) CourseDetails (description, additional info, wiki, forum, docs) CourseGroup (instructors, registrations, schedule, homework)
This would be ideal but we have no chance of migrating so much shit, we would have to delete and rebuild the database. Also there would be a major refactor in the code. thoughts?
— Reply to this email directly or view it on GitHub https://github.com/dhasegan/connect.academy/issues/167#issuecomment-55570000 .
If we copy the data from the super class to each group of the derived class we will have duplicates. Description + additional description (which can be 5000 chars each) can be copied for each subgroup. If you have 4 subgroups you are using a very ineficient db. Anyway, I will do this some way, and fast.
I meant that we don't have to copy the data from the superclass. The subclass will have a foreign key to the superclass, so when you want the description of coursegroup you will instead get the description of coursegroup.parent_course
you can have a method get_description() that returns self.description if it's a Course, and self.parent.description if it's a coursegroup. or sth like that..
The problem with this is that it might need changes in several places.
On Mon, Sep 15, 2014 at 12:00 PM, Daniel Hasegan notifications@github.com wrote:
If we copy the data from the super class to each group of the derived class we will have duplicates. Description + additional description (which can be 5000 chars each) can be copied for each subgroup. If you have 4 subgroups you are using a very ineficient db. Anyway, I will do this some way, and fast.
— Reply to this email directly or view it on GitHub https://github.com/dhasegan/connect.academy/issues/167#issuecomment-55571377 .
What is the specific functionality that we want to have for groups? besides diving the students. Separate hw, schedule
I am not entirely sure. Definitely schedule. Not sure about hw, but I think Aldo said so... I would also say "Additional info". Also name ofc :p
The rest should be the same I think.
On Mon, Sep 15, 2014 at 12:36 PM, Daniel Hasegan notifications@github.com wrote:
What is the specific functionality that we want to have for groups? besides diving the students. Separate hw, schedule
— Reply to this email directly or view it on GitHub https://github.com/dhasegan/connect.academy/issues/167#issuecomment-55574257 .
name? you mean to specify which group is the student part of. that is not functionally important.
Well the professor and TAs will need to somehow distinguish between the groups, right?
On Mon, Sep 15, 2014 at 1:13 PM, Daniel Hasegan notifications@github.com wrote:
name? you mean to specify which group is the student part of. that is not functionally important.
— Reply to this email directly or view it on GitHub https://github.com/dhasegan/connect.academy/issues/167#issuecomment-55577161 .
ofc, but the students dont care much in terms of what they have to do
Yeah, the students don't, but the model will need a name that the prof will see to go to each course group.
On Mon, Sep 15, 2014 at 1:16 PM, Daniel Hasegan notifications@github.com wrote:
ofc, but the students dont care much in terms of what they have to do
— Reply to this email directly or view it on GitHub https://github.com/dhasegan/connect.academy/issues/167#issuecomment-55577393 .
unless you've thought of another way. I haven't given this a lot of thought.
On Mon, Sep 15, 2014 at 1:18 PM, Tomas Pllaha tomaspllaha@gmail.com wrote:
Yeah, the students don't, but the model will need a name that the prof will see to go to each course group.
On Mon, Sep 15, 2014 at 1:16 PM, Daniel Hasegan notifications@github.com wrote:
ofc, but the students dont care much in terms of what they have to do
— Reply to this email directly or view it on GitHub https://github.com/dhasegan/connect.academy/issues/167#issuecomment-55577393 .
daniel [4:28 PM] man, to be honest, I think we should not do groups this semester its overcomplicating the code in many ways we can do it, of course but it will fuck up the simplicity of the existing code
tpllaha [4:29 PM] I agree... We can think of some more elegant way later.
daniel [4:29 PM] think about appointments and homework
tpllaha [4:30 PM] The thing is that even if some prof needs them, it's not gonna be more than 1 or 2, so for them we can just create a new course
yep
daniel [4:30 PM] break everything into a dynamic number of groups (2-6 lets say) we have only 1 professor that needs this guido mollering
moving this to V-next-semester
No idea how we can do this, we have to talk about it. Writing it here to draw the attention. It touches the core of our website so we have to be careful about everything.