Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Corfiot

#1
Suggestions / Rule groups
December 11, 2019, 03:43:50 PM
Hello,

Would it be possible to add rule groups that one could enable/disable? This would be a ui-side thing and groups could be stored in the XML file separately from rules, so the rule storage schema is not affected.

This would help a lot with creation of difficult timetables, you could group "easy"/"important" rules together, fiddle to get a schedule, then add more rules, fiddle, and repeat, adding more optional/nice to have restrictions.

The UI would be about creating a group (name it) and then in the filter dialog of any rule display dialog add an option to add these rules to a group. Finally, a small dialog to display/delete rules from a group.

How feasible is this?
#2
I will take your word on how unreliable FET is at finding broken rules in a fully locked timetable. If I get time I'll look at the code and make smarter suggestions.

As for being prepared.... The politics of a university do not place power in the hands of the guys who make the timetables. Instead it's in the hands of the faculty, who are the people being managed. It's inefficient as hell, I know. But if the dean wants that 2-4pm timeslot in room B3 two weeks after the semester started, you'd better get it DONE and screw all the rules...

I usually fight for the students' rights to have breaks at lunch and not have like 8 hours straight but those restrictions make creating a timetable take longer and then I have to explain myself. It's a complicated mess, which is why I try to save as much time when making changes as possible.

#3
Woa I didn't notice that feature. I'll test it next time someone requests a change and let you know how it goes.
#4
Liviu, I think it would kick ass in the official FET because anyone who gets stuck on a timetable generation would get some extra info on what's going on. This would help people who take over a position and are working with files that the previous person created. Also, it would help with moving a single activity in an otherwise fully locked timetable, which is usually what happens: you make a timetable, you show it to everyone and then people request changes one at a time.

If you could find the easiest rule check to implement and send me some code I could see if I can replicate it and do the tedious work for the others.

Finally, I don't mind having a custom version of FET to maintain, although I would prefer not having this extra work.

Best regards,
George
#5
The tag suggestion is interesting but I don't see how I can implement it without tagging every activity except breaks with a tag.
Then I would have this tag in the output and that's no good. I will try it out, however.

Thank you all for your suggestions.
#6
Quote from: Volker Dirr on September 26, 2018, 11:32:44 PM
there is no move funktion in that dialog, only a lock/unlock. There is no advantage in such information if you can't move.
This is irrelevant. I can live with moving an activity by going to another dialog. I'm not looking for a UI upgrade, just some more information so I can decide what to do, why my schedule fails to be built.

Quote from: Volker Dirr on September 26, 2018, 11:32:44 PM
but moving is to difficult in FET because of it's internal structure. it is in the TODO, but very difficult to code.
Again, I don't want FET to move things for me. I can go change the locking constraints myself.

Is it really difficult to code a check on a partially-generated schedule for some of these rules? You have the partial schedule in memory, you have the latest activity that failed to be placed and all you need to do is run a check for all rules that apply to this activity in that context. Blindly, on a STATIC schedule. Then display which rules fail and stop.

I can probably do it myself or try to get some nerds from the CompSci dept next door to do this if we're lucky. I think it would make the 'display last activity that failed to be placed and stop generation" button HEAPS more useful and seriously mitigate FET's main issue: it's great for initial generation but sucks for changes to a locked schedule.

Quote from: Volker Dirr on September 26, 2018, 11:32:44 PM
If you want to move activities it is easier with TiTiTo, but it won't tell you broken constraints, you need to check that yourself.
I will look into TiTiTo soon, again thanks for the heads up.

--George
#7
I am tempted to go with rodolforg's solution, an actual implementation of this. However, it seems it's a bit behind from Liviu's master. Maybe we can collaborate rodolforg? I do some development myself.

I would like this functionality added to FET directly, even though it sounds a bit confusing as a constraint. It only needs some decent documentation. I think a lot of schedules need lunch breaks (I need them for students, not teachers).

Also, the tag variant won't work because I have "max hours daily" and "max hours continuously" for both teachers and students that count the "break" and produce wrong results.

My dataset if a university department where we make schedules according to rules for professors and students with a working 12 hours in the day (9am to 9pm). So we don't just use "day" rules, there's a lot of "hour" rules involved that must be respected. If you want to take a look, the file is attached. I was forced to add rigid "breaks" for students, which makes further changes effectively impossible.


#8
Suggestions / Re: Filtered activity output
September 26, 2018, 09:02:45 PM
I'm not familiar with TiTiTo, can you provide a starting point?
Thanks for your help.
#9
I am happy to consider workarounds.

I don't know the internals about (a) but I would not mind waiting longer to have this convenience.
As for (b), I'm already limiting the lunch activity to the timeslots the restaurant is open. The problem is once placed, the activity counts towards rules such as max hours continuously and "dislodges" other activities, creating gaps where there shouldn't be any, wasting a slot.

If I add an hour to my max hours continuously rules, I get, well, longer continuous days. Our schedule hours are from 9am to 9pm. Max hours continuously is currently 5. If I set it to 6 and add the lunch I can easily get lunch AND 6 hours continuously, which I don't want.
#10
So if you have lets say 3 activities on the same day all locked and you e.g. add another one that breaks a pre-existing max hours daily rule, it would be difficult to let the user know why you failed to place the activity? I don't think so.

I do not want to unlock anything else at this point, I want to know which rule is blocking my change so I can decide how to proceed. I may make the rule more lax instead of moving other activities.

#11
Hello,

I would like to have activities that do not count towards time or space rules. I have breaks that have to be within a specific time range so that students can eat while the restaurant is open.

If I put an activity for that FET finds places for me, which is a great help but then rules like students max hours continuously trigger and my schedule breaks.

What i'm after are "soft" breaks.

Thanks,
George
#12
Suggestions / Filtered activity output
September 26, 2018, 11:48:51 AM
Hi,

I would like to be able to group activities (maybe via tags) and be able to save html only for one or more of those groups.

I generate schedules for undergrads, postgrads and some special course sets and I have to generate them together so the rooms/teachers work out. Then I need to copy FET output to separate tables manually to distribute. I would like to have the ability to just output different schedules.

It would possibly be easier to be able to export a new FET file with only the rules and activities relevant to this group/tag. I could then generate schedule html from those files. Although that would require some extra steps.

Best regards,
George
#13
Hello,

I make schedules and then save them locked in a new FET file. This leaves the general constraints in the file alongside the newly added specific locking rules. If I later make a change to the placement of an activity (time or space) FET only says that it can't be placed.

I would like FET to list me all the rules conflicting with the two locked time/space rules for the activity so I can pinpoint which "general" constraint is the problem. This would save me A LOT of time.

Eg:
Activity #111: Blah blah, teacher blah, students blah
  TIME LOCK (day X - time Y) PLACEMENT  FAILED BECAUSE:
      this rule
      that rule
  SPACE LOCK (room Z) PLACEMENT FAILED BECAUSE:
     this rule
     that rule

For example, it should be obvious that a rule max students hours daily that blocks a set of locked activities on the same day for that student set is easily detectable as the culprit.

Or, a max teachers gaps per week rule when all other relevant activities to a teacher are placed, would also be easy to identify if we're placing a time-locked activity.

Best Regards,
George
#14
Ναι, θα βοηθήσω βεβαίως με την μετάφραση, σε περιορισμένη έκταση όμως, καθώς δεν έχω πραγματικά τον χρόνο να περάσω το αρχείο όπως εσύ.

Για το 'ετικέτα', μπορούμε να το συζητήσουμε στο μέιλ καθώς δεν ελέγχω το φόρουμ συχνά. Ίσως να το πούμε ένδειξη, κατηγορία, πολλές πιθανότητες.

Για το 'advanced', ήταν ίσως κακή επιλογή του Liviu από την αρχή το πώς δόμησε το μενού του. Πάντως, αν και το 'διαχείριση' που έβαλες δεν μου κάθεται καλά, δεν είναι ανάρμοστο, όπως κι εσύ είπες. Δεν συμφωνώ πάντως με την ένστασή σου στο 'για προχωρημένους', μια και βλέπω ότι το μενού λέγεται όντως 'ρυθμίσεις'. Ίσως άλλαξε από τότε που έγραψες το ποστ.

Για το 'υποδραστηριότητες', δεν νομίζω ότι και στα Αγγλικά στέκει το subactivities, επομένως μάλλον απλά ακολουθούμε τη λογική του Liviu αν βάλουμε 'υποδραστηριότητες'. Αυτό βέβαια δε σημαίνει ότι δεν μπορούμε να το αποδώσουμε σωστά στα Ελληνικά, αλλά αλλιώς. Θα ήταν πιο εύκολο αν είχαμε το αντίστροφο πρόβλημα, πχ composite activity και activity αντί για activity και subactivity. Το 'επιμέρους' δεν με ενοχλεί πάντως, τώρα στην δεύτερη ανάγνωση, επομένως ας μείνει.

Για το 'δραστηριότητες', καταλαβαίνω ότι εστιάζεις στην πιο κατανοητή γλώσσα για τον χρήστη αλλά προσωπικά προτιμώ να διατηρήσω το πεδίο εφαρμογής της μετάφρασης πιο ανοιχτό. Γιατί αν το σκεφτείς, εδώ κάνουμε task scheduling, επομένως και ο Liviu μάλλον task έπρεπε να βάλει αντί για Activity. Ίσως αν ξεκινήσουμε από το 'task' να φτάσουμε σε καλύτερο αποτέλεσμα;

Όσο για την δημοσκόπηση νομίζω ότι δεν θα βοηθήσει καθώς δεν νομίζω ότι παρακολουθεί και πολύς κόσμος το φόρουμ εδώ. Θα προτιμούσα να ζητούσαμε από τον Liviu να βάλει ένα feedback form στο FET για να στέλνονται σχόλια ή απλά να βάλει μια νέα επιλογή στο μενού Help με όνομα 'Current translation help' που να στέλνει κατευθείαν ένα mail προς εμάς. Ή μια ένδειξη όταν αλλάζει ο χρήστης τη μετάφραση που να λέει 'μετάφραση από ....., επικοινωνία σχόλια προτάσεις στο .... (κλικ για μειλ)'

#15
Καλησπέρα.

Χρησιμοποιώ το FET στην τριτοβάθμια για προγράμματα εξετάσεων και ωρολόγια εξαμήνου. Εδώ λοιπόν έχουμε ένα θέμα με την προσαρμογή. Το FET δεν είναι μόνο για σχολεία. Μπορεί να προγραμματίσει και συνέδρια ή οποιαδήποτε άλλη δραστηριότητα (ακόμα και βάρδιες εργατών ή περιστροφή backups από servers κλπ...). Επομένως μάλλον πρέπει η προσαρμογή να γίνει commit ως ξεχωριστό αρχείο el_sxoleia.ts και να μην αντικαταστήσει το (ομολογουμένως χειρότερο) γενικότερο fet_el.ts του 5.14.2 καθώς έτσι περιορίζεται το εύρος των χρήσεων του FET.

Για παράδειγμα, στο πανεπιστήμιο χρησιμοποιώ την εξής ωρολογία όταν μιλώ για το FET.

Subjects - Θέματα
Teachers - Διδάσκοντες
Students - Φοιτητές (εδώ ένας γενικός όρος δύσκολα βρίσκεται... συμμετέχοντες; )
Tags - Ετικέτες (ίσως σύγχυση με labels αλλά όχι στην περίπτωσή μας)
Space - Χώρος
Activities - Δραστηριότητες
Subactivities - Υποδραστηριότητες (το «επιμέρους» κάπως δεν νομίζω ότι μας καλύπτει)

Νομίζω ότι ο Liviu επίτηδες χρησιμοποίησε γενικούς όρους. Επομένως θεωρώ ότι είναι καλύτερο να τους κρατήσουμε, τουλάχιστον στο «γενικό» .ts .

Επίσης θέλει προσοχή, η μετάφραση δεν είναι αλλαγή του περιεχομένου! Δεν μπορώ να αποκαλέσω το advanced «διαχείριση» σε καμία εφαρμογή. Ούτε τα tags «διδακτικά αντικείμενα» καθώς δεν είναι αυτή η μόνη χρήση τους (ούτε και στα σχολεία θα περίμενα να είναι) και συγχέονται με τα subjects. Ένα tag σε γυμνάσιο θα μπορούσε να είναι «μονά» κι ένα άλλο «ζυγά», για να μοιράζονται 2 καθηγητές ένα τμήμα  για Βήμα ή όταν δεν έχει χώρους το σχολείο (αυθαίρετο παράδειγμα...). Εγώ πχ τα tags που έχω είναι «διδασκαλία», «εργαστηριακό», «εργαστήριο», «φροντιστήριο», «αναπλήρωση».

Θεωρώ πάντως ότι σίγουρα πρέπει να δώσουμε ώθηση στην συμπλήρωση και βελτίωση της υπάρχουσας Ελληνικής μετάφρασης και σας συγχαίρω για την μεγάλης έκτασης δουλειά που κάνατε στη μετάφραση.

Φιλικά,
Γιώργος