Καλησπέρα αγαπητοί.
Θα ήθελα να μοιραστώ μαζί σας ένα αρχείο .html
με το οποίο μπορείς να κάνεις μικρές χειροκίνητες τροποποιήσεις
και να εκτυπώσεις πρόγραμμα φτιαγμένο με το FET.
FET - edit + print (https://drive.google.com/uc?export=download&id=1fJSvDq9JIz2PIEaVxy38YjFL6mzwf7tb)
Δυνατότητες:
- επιλέγεις αρχείο .fet
- με το ποντίκι (drag and drop) μπορείς να αλλάξεις τις κάρτες (πρόγραμμα)
- δυνατότητα Undo - Redo
- με διπλό κλικ η κάρτα πάει στην αποθήκη (εκτός προγράμματος)
- σημαίνονται οι μη διαθέσιμες ώρες εκπαιδευτικών
- αν μάθημα τοποθετηθεί σε μη διαθέσιμη ώρα εμφανίζεται κόκκινη γραμμή
- με χρώματα σε καθοδηγεί για τις προτεινόμενες τοποθετήσεις - μετακινήσεις καρτών
- επιλέγεις ποιες ημέρες θα τυπωθούν
- αποθηκεύεις το αρχείο fet
Ελπίζω να μας χρησιμεύσει!
------------------------------------------------
(https://drive.google.com/thumbnail?id=1xkc7G7T5UPQtK2pzMaPWRdgWoIAJRAwE&sz=w800)
------------------------------------------------
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 (https://drive.google.com/uc?export=download&id=1fJSvDq9JIz2PIEaVxy38YjFL6mzwf7tb)
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!
Nice. But how to save the file?
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.
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.
Καλησπέρα.
Έκανα κάποιες δοκιμές μικρής έκτασης. Συγχαρητήρια για την ιδέα και την προσπάθεια. Καταγράφω λοιπόν τις πρώτες μου εντυπώσεις.
Προσωπικά βλέπω πολύ θετικά την ιδέα για τους εξής λόγους:
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
Η σκέψη είναι μια μικρή "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
@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?
Καλησπέρα και πάλι.
Στο 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
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
Προστέθηκε λειτουργικότητα "Undo - Redo"
Added functionality "Undo - Redo"
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.
Hello, g.theodoroy,
I just added your link. Thank you! I like your work! :)
Υλοποιήθηκε η δυνατότητα αποθήκευσης (λήψης) του τροποποιημένου αρχείου fet
Implemented ability to save (download) modified fet file
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.
Fixed. I think.
Please give me feedback.
Thank you.
Thank you, g.theodoroy!
You corrected the minor problems which I reported.
I found a possible typo in your source code:
"existingElenents" -> should be Elements, with m instead of n?
Please forgive me for something: I forgot to add your name in the THANKS and Help/About/Thanks. I just released the new version without it :( . I will add your name in the next version.
@g.theodoroy ,
Vangelis just sent me a file saved file by your program and we found a bug: in the constraints activity preferred starting time, you write 1..n instead of hour_name[1],..,hour_name[n]. The fet file cannot be opened by FET.
@g.theodoroy ,
Vangelis gave me the attached file which if you load in your program shows nothing (empty). Is this a bug?
Obviously it needs debugging
Vangelis puts your program to work/test! :)
The problem in Mytest-for-conflicts... is that in one activity there are no teachers.
if i put teachers it works
I will check it.
Of course this "program" cannot fulfill all the abilities of real FET
As for the hours in my fet files i used "numbers" for hour names.
I will check both bugs
Don't worry, even I make a lot of bugs.
Fixed
- Hour names fixed
- If no teacher in Activity a new empty row is added with 'no teacher'
I don't understand something
When i open with FET the modified fet file from html some times the first generation stucks at one Activity ( one of activities that have been moved )
Thank you!
It is normal, because the fixed activities are scheduled first, and they are possible, but the last unscheduled activities will be impossible to place. To be able to schedule all, deactivate all the time and space constraints of type other than the locking time and space constraints: activity preferred starting time and activity preferred room.
Thank you!
I checked and now it behaves correct. I like the program, because it is so short and does so many things! Unfortunately, I don't understand the code, because it is so different from C++ :)
I would recommend you to maybe:
1) Write your name+contact in the source file.
2) Write the license type and conditions in the source file.
3) Write your name+contact in something like Help/About when running the file. This is maybe. See how I did in FET Help/About, but I am not sure you can do this in HTML... As you consider best.
4) Write the license type (short) when running the file. Again this is maybe.
Quote from: Liviu Lalescu on February 25, 2025, 04:54:35 PMThank you!
It is normal, because the fixed activities are scheduled first, and they are possible, but the last unscheduled activities will be impossible to place. To be able to schedule all, deactivate all the time and space constraints of type other than the locking time and space constraints: activity preferred starting time and activity preferred room.
@Liviu Lalescu and
@g.theodoroy,
I think that this html file should have a specific behavior. When the user has modified an existing timetable, they need to save the new timetable as a .fet file in order to generate all the other forms (views) of the timetable. The constraints (for example
teacher - min hours daily) are not needed anymore. So, since
a) the user is sure about the new (modified) timetable, and
b) this timetable is a temporary one (i.e. it is going to be used for the next day), only the locking time and space constraints are needed. All the other constraints could be omitted. I don't know if this easier regarding the coding part, but in my opinion if this possible (this "cleaning-up" of the constraints), it might simplify things...
Vangelis.
P.S. I am going to test the new file in more detail soon...
I really like this idea by @g.theodoroy !!!
@g.theodoroy ,
I had a consultation with Volker and, if you want, we could make a board for your program here on the forum, and make you moderator on this board. It will be similar to Volker's TiTiTo, StElTo, and TSC boards on the FET Tools section.
Please let me know if you would like this.
Let first decide that it is robust enough and deserves to be there.
Thank you very much.
Sure, sorry!
Added
- name+contact is written in the source file.
- license type and conditions is written in the source file.
- "Help/About modal" on button press
- Name, license type, mail to, at bottom of page
- "Error modal" in case of read-load error of fet file to catch program collapse
Thank you Liviu for your advices!
You are welcome, George! :) It is good.
I found maybe a typo: "sourse" - do you mean "source"?
Fixed :)
Great! I hope many will use it :)
Added functionality:
When saving the modified fet file
user confirms if he wants to disable "unnecessary constrains".
If answer is yes, all time and space constrains are set to inactive
except
- ConstraintBasicCompulsoryTime
- ConstraintActivityPreferredStartingTime
- ConstraintBasicCompulsorySpace
Great! I will download your new file soon.
I have two notes:
1) Space constraints ConstraintActivityPreferredRoom are also locking space constraints.
2) Even if you deactivate the "unnecessary constraints", the file might still be impossible. The activities outside the tables in your view might not have an allowed slot. Maybe a solution is to inactivate them, but I am not sure if this is good.
I saw your file, and I was right, the modified timetables might still be unsolvable.
Also, you might want to keep the locking constraints (activity preferred starting time and activity preferred room) only if their weight is 100%.
I
deactivate all time and space constrains
except - ConstraintBasicCompulsoryTime
- ConstraintActivityPreferredStartingTime
- ConstraintBasicCompulsorySpace
This is only to avoid stuck in first generationif user wants,
activates them again with FET or
changes them
Of course user has the original fet file that is
not touched by FET - edit + print
Yes, sorry.
The user can generate and stop highest after some seconds, and he'll have the partial timetable. Correct!
ConstraintActivityPreferredStartingTime "out of table" are removed.
ConstraintActivityPreferredStartingTime not Activities themself.
I first tried to set their Day and Hour to empty string but FET complained with error.
if i save fet file with less ConstraintActivityPreferredStartingTime ( let remove all cards from FRIDAY )
FET puts them again in schedule in first generation
I prefer to manipulate fet file as less is necessary.
Yes, you are right.
I am glad to inform you that FET-edit+print works from now on in all other browsers also!
I tested
- chrome in manjaro linux
- opera in manjaro linux
- chrome in win11
- edge in win11
:)
Great, George! I will modify the entry in Tools/Links later (not at my computer now).
I just modified the description of your program in the Tools/Links. Let me know if you have suggestions for your entry (description or link).
Quote from: g.theodoroy on February 27, 2025, 06:05:30 PMI am glad to inform you that FET-edit+print works from now on in all other browsers also!
Nice. I saw some maybe errors. Please check your file with:
https://validator.w3.org/
Thanks. I checked it.
Added fuctionality:
If we open a fet file without ConstraintActivityPreferredStartingTimes ( not locked file )
all cards are placed in warehouse.
There are two drawbacks i want to solve:
the saved fet (xml) file is not well formatted ( no new lines at nodes i added)session memory runs out if we keep changing table ...
Fixed memory full.
When memory gets full we remove old entries and add new ones
We keep in session only 35 instances of table.
That means we remember only the last 35 moves of cards
Oh, I see... for each Undo/Redo operation you need to keep the whole table. We kind of do this also in FET History - we keep each state archived with zlib (via Qt qCompress), because in FET it was impossible to only remember the operation and then undo it.
It is the same strategy!
Format of downloaded fet file almost fixed !
It's better now ...
Thank you!
Interesting idea to add Undo states until memory full, then remove old states. What size of memory do you consider full?
Added: I saw two typos in your file: ecxeption, and wont -> exception, won't.
According to this site
http://dev-test.nemikor.com/web-storage/support-test/
Same value (Firefox, Chrome, Opera in my Manjaro linux pc) for
- sessionStorage: limited to 5101 k characters
- localStorage: limited to 5101 k characters
I decided not to set a hardcoded number ( for example 35 ) because the size of table instance depends on number of teachers and subjects. So for every case a (e.g. 35) number that is OK for me and my data might be NOT OK for other users.
Finally we sacrifice the exact "table entry" that raises the exception of full memory to set the count limit dynamically.
This exception does not affect the moving of cards but stops saving the latest data. We prefer to keep latest data than the previous.
Oh, I see, interesting.
Format of downloaded fet file fixed.
Made small modifications on how day and hour is displayed in table header.
I have a feeling that it tends to be complete.
Probably it will need modifications for "problems" that will show up from the real use of it.
Good!
I tried it. I have an older question: in the attached screenshot, what are the students sets names in the bottom of the page?
In my school we have 5 Student Groups : A1, B1, B2, ΓΠ, ΓΜ.
In some subjects ΓΠ and ΓΜ combine to one group "ΓΠ ΓΜ"
The "Greek high schools logic" is that all Groups should have activities every day for all hours of schedule. No gaps between them.
So when cards are moved we check every column if all groups have activities. If a group has no activity appears to the table footer as "group with no activity" in the bottom of the page.
In uploaded picture this makes sense. For every card (single or double) in warehouse there is a student group in bottom of table to show the missing place. At the same time cell at the table header with hour names becomes grey and on mouse over displays this data in whiteboard (at top center). This data is used to decide which cell should be green (and say "here is the gap")
I need to mention that in the uploaded picture group Α1 and ΓΠ appear twice because they have two teachers. They move together. Actually they are only one activity.
Now, in your picture, where does not apply the "Greek high schools logic" things become messy.
I think i should hide the footer and use a toggle button to show it when user wishes.
We must have in mind that "FET-edit+print" cannot follow the complexity of FET. It is impossible!!!
I think I understand (I am not sure if I understand everything perfectly).
Note: When I load my file, initially there are no students sets at the bottom. Is this a bug?
Oh, don't worry, you did a good work!
No.
This function triggers after card move.
OK, I see.
If we wish we can trigger it also after table creation
It is you who know best, to decide.
Modified:
Groups with no activities are not visible by default at the bottom of the table.
Added a toggle button so user can toggle them visible or not.
Groups with no activities scan is triggered also in table creation and update (Undo - Redo)
Hello
@Liviu Lalescu and
@g.theodoroy.
I think that displaying the students groups at the bottom of the timetable is a good idea. Since I have tried preparing timetables using spreadsheets, the user needs definitely to check which students sets have activities and which ones not (for every single time slot). For most schools, the timetablers work on the
"teachers time horizontal" view of the timetable in order to make the necessary adjustments. But this view, is insufficient when the user needs to check easily and fast the situation of the students sets for each one of the time slots. So, the user needs a supplementary chart in order to monitor the "status" of each students group (gap or activity) for all time slots. In my opinion a chart at the bottom the timetable with "ones" (1=activity) and "zeros" (0=no activity) for all the respective students sets would be highly useful. This chart should have in the vertical axis the names of all students groups, and in the horizontal axis these "ones" and "zeros". Of course, the timetable and this supplementary chart should be "aligned" in the vertical axis, so that their time slots correspond each other. Another variant of this chart would be even more useful. For example if a group has no activity in a specific time slot, this specific group ad its respective subgroups should appear with "zeros". And vice-versa. For example, if all the groups of a year have no activities on a specific time slot, this year should appear with a "zero" as well. I don't know if this is possible to be implemented, but the user needs definitely a way to "monitor" their data.
Vangelis.
Thank you, Vangelis! I am not the best person to answer, I will wait for others' opinions.
good job
did you add this table of teachers and student
This program does not intend to substitute printing of schedule.
It uses "teachers_time_horizontal" projection in order to be able to
- do minor schedule modifications when a teacher is absent
- print that day's schedule.
If you like to print more reports you should
- download the modified fet file
- open it with FET
- print anything you prefer
Added ability to
set the title to be printed
instead of fet filename
Thank you, George!
Thank you, brother. Please add the ability to change the direction of the table from right to left.
Added functionality.
A button selects direction of table either "right to left" (rtl) or "left to right" (ltr).
Thanks abuayham2016 for suggestion and confirmation that works !!!
Thank you! :)
Added functionality
A button shows/hides subject at cards.
Modified show/hide button.
Click in center shows or hides subject in card.
Default value of font-size of subject is 6px
- Click right enlarges font-size by 1px
- Click left reduces font-size by 1px
Dear Brother
Thank you very much for the modifications and new additions
New suggestions for improvement:
Do not print on teachers
Automatic adjustment of the text of subject names when the font is enlarged or decreased
Improved font size for teachers and names of days and time periods
Please give me more details of your suggestions.
Hello, George,
I just tried your file:
1) By chance, I saw a typo in the source code: "speciphic" - it should be "specific".
2) I cannot increase/decrease the font clicking left/right.
3) If I show subjects, the table cells text is not centered vertically. Is this intended?
Hello Liviu.
1) Fixed typo.
3) Space is limited. I prefer to see the beginning of each word of subject and omit the end. This way user understands ( i think ) the subject. It is intended. Of course i work with my greek .fet files. Maybe subjects in other languages of other users behave differently.
2) Button show/hide subjects has this form [ ... ]. More detailed with parenthesis: [( )(...)( )]
If you click three dots in center of button [ (...) ] means center
If you click left gap inside button [( )... ] means left
If you click right gap inside button [ ...( )] means right
This is the idea of designing.
About vertical align of cards.
Sorry i misunderstood your question!
Cards are vertical aligned at bottom intentionally so that students groups are aligned.
OK, I see now. Thank you!
Quote from: Liviu Lalescu on February 25, 2025, 09:35:06 PM@g.theodoroy ,
I had a consultation with Volker and, if you want, we could make a board for your program here on the forum, and make you moderator on this board. It will be similar to Volker's TiTiTo, StElTo, and TSC boards on the FET Tools section.
Please let me know if you would like this.
If your proposition is still active i think we can do it.
Oh, great! I was hoping for this :)
Please let me know the desired title and description (like the other boards).
The description in FET Tools/Links is grate.
So it could be:
Title: FET - edit + print
Description: A .html file with which you can import a .fet file of schedule made with FET, make small manual modifications when a teacher is absent, print one or more days schedule and finally export .fet file.
Great! I just created it. I will let you have the first post there, if OK?
OK
thanks
You're welcome! Thank you, too!
Added functionalities
- print schedule per Teacher
- print schedule per Student group
Modified code to be able to work either with versions
hi
Improvement Suggestions
Add an option to show or hide colors in tables
Center teacher names in teacher tables
Fix class tables not sorted according to the contents in the fet file
Enable font size in class tables
Add a font size option for teacher names, class names, days, hours, etc.
Add a new table to show years time vertical
Save the output tables from the program as a raw HTML file.
regards