Groups of teachers

Started by Liviu Lalescu, September 02, 2025, 11:23:27 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Liviu Lalescu

We got many suggestions to create groups of teachers. It would be indeed useful.

I am exploring this possibility. It would be complicated.

I am not sure about how this could be implemented: <Teacher> and <TeachersGroup>? And a constraint will have <Teachers> instead of <Teacher>?

I need ideas and encouragement.

Željko Vrabec

What would group of teachers represent? Could you give some example?

Liviu Lalescu

The groups of teachers will be used when adding constraints for more teachers. For instance, if you have 80 teachers and 50 must have max 1 gap per day, create a group of these 50 teachers and constrain only it, not individually.

Željko Vrabec

Great idea! However, watching *.fet file structure I can assume your doubts. As I can see you use object name as some kind of ID (all names of basic objects must be unique). Maybe that could be solution for groups of teachers too. For instance in the fet part below there is a constraint for all groups of students of the 8. grade. How many groups (divisions) are there in 8. grade is defined somewhere up in the same file. Isn't in this case "8." something like a group of groups? Maybe you could apply the same for groups of teachers by forcing users to give every group of teachers unique name.
<ConstraintStudentsSetNotAvailableTimes>
      <Weight_Percentage>100</Weight_Percentage>
      <Students>8.</Students>
      <Number_of_Not_Available_Times>31</Number_of_Not_Available_Times>
      <Not_Available_Time>
        <Day>PON</Day>
        <Hour>1 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>PON</Day>
        <Hour>2 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>PON</Day>
        <Hour>3 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>PON</Day>
        <Hour>4 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>PON</Day>
        <Hour>5 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>PON</Day>
        <Hour>6 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>UTO</Day>
        <Hour>7|0</Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>UTO</Day>
        <Hour>1 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>UTO</Day>
        <Hour>2 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>UTO</Day>
        <Hour>3 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>UTO</Day>
        <Hour>4 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>UTO</Day>
        <Hour>5 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>UTO</Day>
        <Hour>6 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>SRI</Day>
        <Hour>1 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>SRI</Day>
        <Hour>2 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>SRI</Day>
        <Hour>3 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>SRI</Day>
        <Hour>4 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>SRI</Day>
        <Hour>5 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>SRI</Day>
        <Hour>6 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>ČET</Day>
        <Hour>1 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>ČET</Day>
        <Hour>2 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>ČET</Day>
        <Hour>3 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>ČET</Day>
        <Hour>4 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>ČET</Day>
        <Hour>5 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>ČET</Day>
        <Hour>6 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>PET</Day>
        <Hour>1 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>PET</Day>
        <Hour>2 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>PET</Day>
        <Hour>3 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>PET</Day>
        <Hour>4 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>PET</Day>
        <Hour>5 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>PET</Day>
        <Hour>6 </Hour>
      </Not_Available_Time>
      <Active>true</Active>
      <Comments></Comments>
    </ConstraintStudentsSetNotAvailableTimes>

Liviu Lalescu

Yes, exactly! But it is a very complicated change, and I am only thinking of it for now.

k3nt0n

In the interface what do you have in mind?
In the time/space constraints at the Teachers voice
Now "A Teacher" + "All Teachers"
Later "A Teacher" + "A set of Teachers" + "All Teachers"
Or like activities all mixed inside "A Teacher has ..." + "A set of Teachers has ..."

Are you thinking to the activity logic like, a tag system for teachers too?

Liviu Lalescu

I have in mind like the students, but not 3 levels (year, group, subgroup), but rather 2 levels (teachers set, teacher). But it is very complicated and I only contemplated a bit this idea.

k3nt0n

Ah ok, grouped by what every user needs?
Should be subject/building/teaching area ...
I never had more than 30 teachers but in hight school they are 200/250 ...

Liviu Lalescu

Yes, the user adds all the teachers and then could make sets of teachers, so that he adds a single constraint for a set of teachers.