Main Menu

Group of groups

Started by math, June 06, 2018, 01:16:36 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

math

Hi!

Is it possible to add a "group of groups" feature to FET?

I'm using FET for creating a timetable for the students of our department. For this I defined the classes "Computer Science, 1st semester", "Computer Science, 3rd semester", etc. In the 1st semester we offer 5 different exercise couses for each lecture, so I divided the class "Computer Science, 1st semester" to 5 groups (CS1a, CS1b, CS1c, ...). For planning an exercise course activity, I simply assign the appropriate group to the activity, which is working quite nicely.

Actually, it's a little bit more complicated, since we do not only have the study course "computer science" but some others as well. And many lectures are attended by multiple study couses, so that I have to assign multiple groups to an activiy, e.g. "CS1a,MD1a,WA1a, WW1a". (this is just an example, in real its a list of 5-10 differnent groups) Still, from the purely functional point of view this is working absolutely fine and results in beautiful timetables for all these study courses.

There are only two drawbacks: first, this approach is pretty error prone. From time to time I forget to add all required groups, so that the activity is not planned for the group I forgot to add. Secondly, this approach lacks clarity since it's just a bunch of groups and it's difficult to keep the overview if all required groups have been assigned (correctly).

Since it's just a couple of different combinations of groups, it would be a huge benefit for me if I could define a "GoG" (group of groups) for each of these combinations. In the activity dialog then I would no longer have to add numbers of groups, but just a single GoG.





Liviu Lalescu

Hello!

This facility is implicit in FET. In fact, you could achieve any students' structure even only with years and groups, or only with groups and subgroups (so, only with two levels. FET has three levels: years, groups and subgroups). Just define the smallest unit of students as subgroups (or groups) and the higher unit as groups (or, respectively, as years). For nicer output/operation, you could also use all the three levels.

You must have the lowest level of students sets independent, but the higher levels of students sets may be overlapping. So you can define for instance students sets A (A1,A2), B (B1,B2), 1 (A1,B1), and 2 (A2,B2).

math

Really?

Please let me get this straigt:

Taking your example of "students sets A (A1,A2), B (B1,B2), 1 (A1,B1), and 2 (A2,B2)":
Here I would define the years A,B,1 and 2, A having groups A1,A2, B having groups B1,B2, etc?

So no matter whether I add "A" or "1" to an activity, the activity would be planned to the timetable of A1?

Liviu Lalescu

Yes (but an activity to A will also propagate to A2). This is a two-level approach. FET allows a three-level approach: Add a year and use the option "Divide year automatically by categories" (it is there in the years dialog). This automatic approach is simpler.

math

Very very helpful feature. Thanks a lot for your support!

Liviu Lalescu

You are welcome! :)

You can also use the years/groups dialogs to make overlapping sets. Just add the same group/subgroup in a different year/group, and FET will issue warning/question.

math

Actually, I'm using all three layers now. Layers "year" and "group" represent the logical level with all existing combinations of students of different study courses. The "subgroup" level then represents the actual "physical" groups of students. I've got about 20 different subgroups, where each of these subgroups is assigned to a list of groups where the respective physical group logically belongs to.

This mapping of logical groups to physical groups makes my life much easiert, because I can assign logical student groups and FET produces timetables for physical student groups. My activities now look much less confusing and it's working absolutely perfect! Thanks!

However, now I have a suggestion for the student timetable dialog (Timetable -> students -> days horizontal). In this dialog I have three listboxes at the top (year, group, subgroup). As I mentioned above, I'm only interested in the subgroups, not in the year and group listbox.

Would it be possible to add checkboxes for "year", "group" and "subgroup" to this timetable dialog, just like the checkboxes in the activity modify dialog? With all three checkboxes enabled, the timetable dialog would look like it does right now.

When disabling the year-checkbox, the leftmost listbox "year" would disappear and the middle listbox "groups" would display a list of all existing groups. The rightmost listbox "subgroups" would display the subgroups of the selected group.

When also disabling the group-checkbox, also the middle listbox "groups" would disappear, so that only the rightmost listbox "subgroups" would remain. This listbox would then display all subgroups in the system.

Since I'm only interested in the timetable of the physical student groups, I would deselect the year and group checkbox, so that I would have an easy access to the timetable of all physical student groups.

Since three checkboxes need quite a lot of space and not all checkbox combinations seem to make sense, you could perhaps use a drop down list ("years+groups+subgroups", "groups+subgroups", "subgroups") instead of checkboxes.

Would it be possible to modify the dialog in this way?

Liviu Lalescu

Did you notice that the students lists are sizable? I would then prefer to implement this: if a list is hidden, the child list will contain all the inferior students sets of that list.

I prefer this, because the dialog is too full and I prefer not to add more items to it.

Volker Dirr

#8
Quote from: math on June 07, 2018, 04:10:03 PMSince three checkboxes need quite a lot of space and not all checkbox combinations seem to make sense, you could perhaps use a drop down list ("years+groups+subgroups", "groups+subgroups", "subgroups") instead of checkboxes.

hmmm... maybe i misunderstood, but you won't save vertical space by that since the (sub-)-groups box still stay the same vertical size.
Do you talk about saving horizontal space? So you think that if those boxes will disappear there is more horizontal space? So maybe your sub-group names are too long at the moment and you can't read the full name since there isn't enough horizontal space?

Volker Dirr

#9
i rechecked the dialog:
there are already splitter between the year, group and subgroup boxes. so you can already shrink the boxes. you can even hide them totaly if you shrink them to 0 width. So your request is in fact already included in FET?! Please press with the mouse on the border and reduce the size of the box.

math

Hi!

Yes, I can shrink the dialogs to zero size so that only the listbox of subgroups remains. However the content of that box is not what I wanted.

Currently I have to select a year, then I can select a group and then I can select a subgroup. Since I'm only interested in the timetables for the subgroups, I cannot scroll through all the existing subgroups, but only through the subgroups of the selected year/group. This makes checking the timetables of my physical student groups quite complicated and time consuming.

It would be much more helpful if I could directly scroll through all existing subgroups, no matter what year or subgroup they belong to.


Would it be possible to change the behaviour of the dialog when shrinking a listbox to zero size?

- if all three listboxes are visible, the behaviour remains the same as it is at the moment: the left listbox lists all years, the middle lists all groups of the selected year and the right listbox lists all subgroups of the selected group
- if the size of the year listbox has been reduced to zero, the group listbox changes its behaviour. It now lists all known groups in the current configuration, no matter which year the groups belong to. The subgroup listbox lists all subgroups of the selected group (just like it does at the moment)
- if the size of both year and group listbox have been reduced to zero (so only the subgroup listbox is visible), the behaviour of the subgroup listbox changes. It now contains a list of all subgroups in the current configuration, no matter which year/group the subgroups belong to.

This would be perfect for me. I would just reduce the size of year listbox and group listbox to zero, then being able to scroll through all the subgroups of the entire configuration. Since each subgroup represents a physical student group, I could easily check the timetables of all my students.

Liviu Lalescu

Indeed, this might be a useful feature. I am not sure if it will be a bit difficult to implement. I think I might give it a try in the next days, if Volker agrees.

Volker Dirr

sounds like a nice idea. i can't see disadvantages in that idea. i didn't thought about how to implement it yet, but hope it won't be too difficult.

math


rodolforg

Quote from: Liviu Lalescu on June 07, 2018, 08:16:42 PM
Indeed, this might be a useful feature. I am not sure if it will be a bit difficult to implement. I think I might give it a try in the next days, if Volker agrees.

May the group label is a checkbox for (de)selecting all?
It could allow year/group multiple selection. The effect would be add their subgroups to Subgroups ListBox