FET - edit & print

Started by g.theodoroy, February 22, 2025, 09:56:17 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

g.theodoroy

Καλησπέρα αγαπητοί.

Θα ήθελα να μοιραστώ μαζί σας ένα αρχείο .html

με το οποίο μπορείς να κάνεις μικρές χειροκίνητες τροποποιήσεις

και να εκτυπώσεις πρόγραμμα φτιαγμένο με το FET.

FET - edit + print







Δυνατότητες:
  • επιλέγεις αρχείο .fet
  • με το ποντίκι (drag and drop) μπορείς να αλλάξεις τις κάρτες (πρόγραμμα)
  • δυνατότητα Undo - Redo
  • με διπλό κλικ η κάρτα πάει στην αποθήκη (εκτός προγράμματος)
  • σημαίνονται οι μη διαθέσιμες ώρες εκπαιδευτικών
  • αν μάθημα τοποθετηθεί σε μη διαθέσιμη ώρα εμφανίζεται κόκκινη γραμμή
  • με χρώματα σε καθοδηγεί για τις προτεινόμενες τοποθετήσεις - μετακινήσεις καρτών
  • επιλέγεις ποιες ημέρες θα τυπωθούν
  • αποθηκεύεις το αρχείο fet


Ελπίζω να μας χρησιμεύσει!


------------------------------------------------





------------------------------------------------

Good evening friends.


I would like to share with you a .html file

with which you can make small manual modifications

and print a schedule made with FET.


FET - edit + print







Features:

  • select a .fet file
  • with mouse (drag and drop) you can change the cards (schedule)
  • capability to Undo Redo
  • with double click the card goes to warehouse (outside the schedule)
  • unavailable teacher hours are marked
  • if a card is placed in an unavailable place a red line appears
  • colors marks suggested card placements - movements
  • choose days to be printed
  • save fet file



I hope it will be useful!

Volker Dirr

Nice. But how to save the file?

Liviu Lalescu

Thank you, g.theodoroy! It looks nice.

I opened the file_data_and_timetable.fet, I think this is what you mean, not the initial unlocked file. So a suggestion for you is to write there "Please input a locked (data_and_timetable) fet file" or something like that.

g.theodoroy

Thank you for your suggestions.


Truly, this effort does not mean to create from scratch a real schedule, nor to manipulate fet files.
 

It reads necessary data form already generated (locked)  "_data_and_timetable.fet" file.



It tries to provide an opportunity of manual, "on the fly", changing a schedule for one day when teacher is absent and finally print that day.


Of course FET can do all this more efficiently but also complicated

Quote from: Vangelis Karafillidis on November 20, 2023, 11:49:08 PMGenerally speaking and in most cases, FET can handle these situations. But, it depends on your dataset.

1) If you need a completely manual approach, you can try the FET-read tool by Petros Nouvakis. But, I think that FET-read works correctly only with activities involving groups or subgroups. If your activities involve years, I think it's a good idea to use other approaches.
2) If a teacher is absent for one or two days (not the whole week). If you need an automated approach, you can use FET for most cases. Open the .fet file from the fet-results, change its name (if you care about keeping your older timetables) and generate again. Then go for example to Teachers -> Time Horizontal. Click on each one of the activities of the absent teacher for the specific days that he/she is going to be absent (for example Wednesday). On the upper right part of the window the information of each activity is going to be displayed. Write down the id of each one of these activities. Then, select all the activities (and not just the activities of this teacher) of the specific day and unlock them all. Then select all the activities (and not just the activities of this teacher) of this specific day and lock them to days (100%). Then go to Data -> Subactivities, filter the activities of the specific teacher and deactivate the ones with the id you wrote down. Then use the constraints "students not available times" and abstract (make not available) the latest hours of each one of the groups that are affected by the teacher's absence. Most of the time, you should take care of constraints of the type "Min days per week" for this teacher. If "min days" = 5 (for most schools) and the teacher is absent for one day, you should modify the respective constraint for this teacher and make "min days" = 4. Then generate again.
3) If a teacher is absent for the whole week. Again you open the file from the fet-results, you change its name (in order to keep your old timetables), you generate, you go for example to Teachers -> Time horizontal, you unlock all the activities of the timetable (and not just the activities of this teacher). Then select again all the activities of the timetable and lock them to days (100%). Then go to Data -> Activities (or Subactivities) and filter the activities of this specific teacher. Select them all and deactivate them. Use the constraints "students not available times" and abstract the latest hours for each one of the student groups that are affected by the teacher's absence. You should also take care of the constraints of the type "min days per week" for this teacher, and deactivate (or delete) it. Then generate again.

In most cases the above approaches should work. By locking the activities to their respective days, you don't change drastically the timetable of your school.
You should be very careful if (for example) the absent teacher has common activities (teachings) with other teachers (multiple teachers on a single activity), so deactivating these activities is wrong. Also, if you have some types of constraints for teachers/students, it might be impossible to use this approach, unless you modify and/or deactivate these constraints.

Vangelis.

 

Vangelis Karafillidis

Καλησπέρα.

Έκανα κάποιες δοκιμές μικρής έκτασης. Συγχαρητήρια για την ιδέα και την προσπάθεια. Καταγράφω λοιπόν τις πρώτες μου εντυπώσεις.
Προσωπικά βλέπω πολύ θετικά την ιδέα για τους εξής λόγους:
1) Σε κάποιες περιπτώσεις οι αλλαγές που πρέπει να γίνουν στο ωρολόγιο είναι οφθαλμοφανείς ακόμη και με μία πρώτη ματιά. Μία χειροκίνητη λειτουργία τροποποίησης βοηθά πάρα πολύ στις περιπτώσεις αυτές. Με το FET (όπως σωστά επισημάνθηκε) είναι εφικτή η αυτοματοποιημένη τροποποίηση, αλλά όταν πρόκειται για απλές αλλαγές, οι απαιτούμενοι χειρισμοί στο FET, δεν είναι η απλούστερη και γρηγορότερη οδός.
2) Η ιδέα έχει υλοποιηθεί με τέτοιον τρόπο που μπορεί να αξιοποιηθεί σε οποιαδήποτε πλατφόρμα με μόνη απαίτηση την εφαρμογή Firefox.

Παρατηρήσεις:
1) Με μία μικρή δοκιμή που έκανα, δεν κατάφερα να κάνω undo. Εάν δεν έχει υλοποιηθεί κάτι τέτοιο, ενδεχομένως να ήταν πολύ χρήσιμο, ειδικά για τις περιπτώσεις που κάποιοι χρήστες δοκιμάσουν να κάνουν αλλαγές μέτριας έως μεγάλης έκτασης τροποποιήσεις στο ωρολόγιο.
2) Δεν έχω καταλάβει εάν είναι εφικτό να αποθηκευτεί σε νέο αρχείο η τροποποιημένη μορφή του ωρολογίου. Νομίζω πως κάτι τέτοιο θα ήταν πολύ χρήσιμο.

Βαγγέλης Καραφυλλίδης.

======



Good evening.

I did some small-scale tests. Congratulations for the idea and your efforts. Here are my first impressions.
Personally, I see the idea very positively for the following reasons:
1) In some cases, the changes that need to be made on the timetable are obvious even at first glance. A manual modification functionality helps a lot in these cases. With FET (as rightly pointed out) automated modification is possible, but when it comes to simple changes, the required manipulations in FET are not the simplest and fastest way.
2) The way the idea is implemented makes it usable on any platform with the only requirement being the Firefox application.

Notes:
1) With a small test that I did, I didn't find a some kind of "undo". If this has not been implemented, it could be very useful, especially in cases where some users try to make moderate to large-scale modifications on the timetable.
2) I have not understood if it is possible to save the modified form of the timetable in a new file. I think it would be very useful.

Vangelis Karafillidis


g.theodoroy

#5
Η σκέψη είναι μια μικρή "on the fly" αλλαγή και εκτύπωση.

Δεν υπάρχει "undo". Κάθε φορά που κάτι "δεν βγαίνει" ξεκινάμε από την αρχή φορτώνοντας πάλι τα δεδομένα από την αρχή.

Δεν γίνεται προσπάθεια αποθήκευσης του αρχείου fet (xml).

---------------------------------------------------

The thought is a small "on the fly" edit and print

There is no "undo" capability. Every time manual edit is not successful we must start from the beginning loading the fet file again.

There is no intention to save fet file



Liviu Lalescu

#6
@g.theodoroy ,

I had a second try and a quick look through the code. I did not know that you could do so much with just a bit of HTML code. I appreciate your work, and it is amazing. You sure know much in HTML and programming.

I report this: "availiable" is a typo, it should be "available", without the second "i".

Also, I would recommend you to write everything in English, including source code comments; after that, if you want, you can internationalize the interactive strings (I am not sure it is possible easily in HTML).

Also, I would recommend a GNU/Linux-style line end, only LF, not CR+LF. But you might prefer the Windows CR+LF.

Would you like me to offer your file in the Tools/Links section of FET? Or link to your homepage?

Vangelis Karafillidis

Καλησπέρα και πάλι.

Στο facebook έχω δημιουργήσει μία ομάδα με τίτλο «Κατάρτιση Ωρολογίων Προγραμμάτων». Εάν θέλεις μπορείς να αναρτήσεις το αρχείο σου και εκεί. Εάν δεν έχεις λογαριασμό στο facebook, μπορώ να αναρτήσω το αρχείο εγώ, εφόσον μου υποδείξεις τι ακριβώς θέλεις να γράψω στην ανάρτηση.
Πιστεύω πως η προσπάθειά σου είναι προς την κατεύθυνση που θέλουν πολλοί χρήστες του FET, γιατί με το αρχείο που δημιούργησες (και σε περιπτώσεις εύκολων τροποποιήσεων) ο χρήστης μπορεί να κάνει γρήγορα τις αλλαγές που απαιτούνται στο ωρολόγιο, αφού σχεδόν καθημερινά θα τύχει κάποιοι εκπαιδευτικοί να απουσιάζουν. Ωστόσο, εάν είναι εύκολο, καλό θα ήταν να μπορεί να αποθηκευτεί το καινούργιο ωρολόγιο, καθώς και να υλοποιηθεί κάποια μορφή undo/redo.

Βαγγέλης Καραφυλλίδης.



========


Good evening again.

I have created a group on Facebook entitled "Κατάρτιση Ωρολογίων Προγραμμάτων". If you want, you can post your file there too. If you don't have a Facebook account, I can post the file myself, as long as you tell me exactly what you want me to write in the post.
I believe that your effort is in the direction that many FET users want, because with the file you created (and in cases of easy modifications) the user can quickly make the changes required in the timetable, since almost every day some teachers will be absent. However, if it is easy, it would be good to be able to save the new timetable, as well as to implement some form of undo/redo.

Vangelis Karafillidis

g.theodoroy

Thank you Mr Lalescu.

Your work is amazing !!!

  • I changed Eol to LF as you suggested.
  • I will write comments in English in Time.
  • I will try to internationalize lang.

  • I also implemented an Undo - Redo functionality.


It will be grate honor for me if you offer to my file a place in the Tools/Links section of FET

g.theodoroy


Προστέθηκε λειτουργικότητα "Undo - Redo"


Added functionality "Undo - Redo"

Liviu Lalescu

Thank you! :) You can call me Liviu, if you want :)

I am working on some (FET) things right now. I will link your file after I hopefully finish. If you want, I can link to your site, or I can host your file on my server (but in this last case you need to inform me of any updates and you depend on me updating the file on my server). Please tell me your option.

Liviu Lalescu

Hello, g.theodoroy,

I just added your link. Thank you! I like your work! :)

g.theodoroy


Υλοποιήθηκε η δυνατότητα αποθήκευσης (λήψης) του τροποποιημένου αρχείου fet

Implemented ability to save (download) modified fet file

Liviu Lalescu

Nice!

I have these observations:

1) You write "Download fet" as a tool tip for saving. Maybe "Download fet file"?

2) The output fet file does not contain at the beginning the BOM (byte order mark). The FET saved file contains this BOM (0xFEFF). Might be a problem, but I am not sure.

3) The HTML code file and the output fet file do not end with a newline. I always prefer to add an endl at the end of the file, but you might know better than me about HTML.

g.theodoroy

Fixed. I think.

Please give me feedback.

Thank you.