Ηλεκτρ. Απουσιολόγος & Προγρ. Διαγωνισμάτων & Καταχώριση Βαθμολογίας

Ξεκίνησε από Γεώργιος Θεοδώρου, 05 Οκτ 2020, 09:30:47 ΜΜ

« προηγούμενο - επόμενο »

Nikosn

Καλημέρα, έχω εγκαταστήσει την εφαρμογή apousiologos  (εκδοση 31-12-21)στο Server του ΠΣΔ εκεί που είναι και η ιστοσελίδα του σχολείου, στο νέο ιστότοπο μέσα στο httdocs σε ένα φάκελο.
   Μέχρι χθες έμπαινα κανονικά, κάτι πρέπει να έγινε όταν μαζικά μπήκαν άλλοι καθηγητές ή κάτι άλλο σχετικά με το ΠΣΔ, γιατί σήμερα είδα HTTP ERROR 500. Τι  μπορεί να έχει συμβεί? Το log είναι άδειο! Επίσης τα αρχεία/φάκελοι έχουν ημερομηνία τροποποίησης την ημέρα που το εγκατέστησα.
  Επίσης αντεγραψα ολο το φακελο τοπικα και στο xammp τωρα παίρνω αυτο που φαίνεται στην επισυναπτόμενη εικόνα! Τέλος σε σχέση με αυτό που είχα ανεβάσει στο Server φαίνεται πως τώρα λείπουν αρχεία: πχ λείπει το .env, .env.example, gitattributes, .htaccess, .styleci.yml

Αν θέλω να σώσω καθηγητές/μαθητες/αποθηκευμένη πληροφορια απο αυτούς τι πρέπει να σώσω ώστε να το ξαναβάλω πάλι καθαρό?
Ευχαριστώ εκ των προτέρων.
Η γνώση κατακτάται μέσα από τα λάθη μας

Γεώργιος Θεοδώρου

Όλες οι πληροφορίες (δεδομένα) βρίσκονται στην ΒΔ

storage/app/apousiologos.sqlite

Αυτό το αρχείο κράτα σαν backup.

Ενέργειες που μπορείς να κάνεις:

  • Μετονομάζεις στον webhost τον υπάρχοντα απουσιολόγο πχ apousiologos-back
  • Ανεβάζεις εκ νέου το zipάκι
  • Αντιγράφεις τη ΒΔ στον καινούριο κατάλογο

cpp

Καλημέρα σε όλους

Το ΠΣΔ έχει βαλθει να μας παιδευει... Μέσα στις γιορτές ολοκλήρωσα την εισαγωγή και έλεγξα ότι είναι όλα οκ.
Όμως μετα από κάποιες αλλαγές που εκανε το ΠΣΔ στο hosting πλέον δεν έχω πρόσβαση στο subdirectory καθώς με επιστρέφει πίσω στο wordpress και εμφανίζοντας το μήνημα ότι δεν υπάρχει η σελίδα.... Κάτι γίνεται με το htaccess αλλά παρόλο τις προσπάθειές μου και το ticket που ανοιξα δεν υπάρχει λύση.

Έτσι ανέβασα το φακελο στον προσωπικό χώρο από το ΠΣΔ.   Tο γραφω καθώς μπορει να συμβεί και σε κάποιον άλλο συνάδελφο

Το προβλημα που έχω (αν είναι πρόβλημα ή δεν καταλαβα κάτι) είναι ότι όταν πάω να κάνω

Ενημέρωση των εξηχθέντων αρχείων 187.xls για κάθε τάξη από το myschool
επιστρεφει  server error 500

Αν δεν κανω λάθος με την λειτουργικότητα αυτή ενημερώνεται το 187 και δεν χρειαζεται copy paste. Σωστά ?

Στο log εμφανίζεται



[2022-01-28 01:56:03] local.ERROR: Attempt to read property "mathima" on null {"userId":1,"exception":"[object] (ErrorException(code: 0): Attempt to read property \"mathima\" on null at /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/app/Http/Controllers/AdminController.php:286)
[stacktrace]
#0 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/app/Http/Controllers/AdminController.php(286): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError()
#1 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\AdminController->populateXls()
#2 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction()
#3 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Routing/Route.php(239): Illuminate\\Routing\\ControllerDispatcher->dispatch()
#4 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Routing/Route.php(196): Illuminate\\Routing\\Route->runController()
#5 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Routing/Router.php(685): Illuminate\\Routing\\Route->run()
#6 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#7 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/app/Http/Middleware/MustBeAdmin.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): App\\Http\\Middleware\\MustBeAdmin->handle()
#9 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#11 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(44): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Auth\\Middleware\\Authenticate->handle()
#13 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#14 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#15 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#16 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#17 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#18 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(62): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#19 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Session\\Middleware\\StartSession->handle()
#20 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#21 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#22 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#23 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#24 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#25 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Routing/Router.php(687): Illuminate\\Pipeline\\Pipeline->then()
#26 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Routing/Router.php(662): Illuminate\\Routing\\Router->runRouteWithinStack()
#27 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Routing/Router.php(628): Illuminate\\Routing\\Router->runRoute()
#28 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Routing/Router.php(617): Illuminate\\Routing\\Router->dispatchToRoute()
#29 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(165): Illuminate\\Routing\\Router->dispatch()
#30 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#31 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#33 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#35 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle()
#37 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(63): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle()
#39 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/fruitcake/laravel-cors/src/HandleCors.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle()
#41 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fideloper\\Proxy\\TrustProxies->handle()
#43 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(140): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(109): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/public/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/vhosts/*******.sites.sch.gr/httpdocs/apousiologos/server.php(21): require_once('...')
#48 {main}
"}

[/size]

Έκδοση PHP 8.0.15
Tέλος αν και δεν είναι σημαντικό το αναφέρω
Παρατηρησα πως κρατάει στην εμφανηση των βαθμών από άλλους καθηγητές (στο ματακι) βαθμούς που πλέον είναι κενό στην βαθμολογία.
Τί εννοώ. Όταν έκανα δοκιμές έβαλα βαθμολογίες σε κάποιο μάθημα. Στη συνέχεια τις έσβησα και πάτησα αποθήκευση. Στο "ματακι" εμφανίζεται η πρώτη βαθμολογία που είχα βάλει (όταν δεν υπαρχει βαθμός).
Δεν ξέρω αν υπάρχει η δυνατότητα reset  στις βαθμολογίες (αν και κατανοώ πως καλό θα ήταν να απουσιάζει....)
Δεν είναι σημαντικό αλλά το αναφέρω μήπως και απασχολήσει κάποιον.

Ευχαριστώ για την όποια απάντηση

Γεώργιος Θεοδώρου

Διορθώθηκε ένα μικρό bug στην Βαθμολογία.

Ευχαριστώ τον cpp για την υπόδειξη

cpp

Εμείς ευχαριστούμε Γιώργο.... 

Και πάνω από όλα για την διάθεση να βοηθάς ...

Δούλεψαν όλα καλά,....  :)

Thanks...  Αναμένουμε την 2η version!

Γιώργος Κολόμβος

#50
Καλημέρα Γιώργο,
   Ήδη έχουν ξεκινήσει οι συνάδελφοι να εισάγουν την βαθμολογία Α' τετραμήνου στην εφαρμογή και γενικά πάει καλά. Όμως με έχουν πάρει τηλέφωνο 2 συνάδελφοι και μου παραπονιούνται ότι που και που τους "πετάει έξω" με error 500. Eγώ δοκίμασα να μπω με τους λογαριασμούς τους από τον δικό μου υπολογιστή αλλά δεν εμφανίστηκε κανένα πρόβλημα. Έχω όμως ακόμη την έκδοση της 31-12-2021 οπότε θα δοκιμάσω τώρα να βάλω την τελευταία έκδοση.
   Ένα άλλο πολύ σημαντικό θέμα είναι το εξής: η οθόνη εισαγωγής βαθμολογίας εμφανίζει μόνο το ονοματεπώνυμο των μαθητών. Πολλές φορές όμως υπάρχουν συνωνυμίες, μάλιστα εμείς μέχρι πέρυσι είχαμε στο ίδιο τμήμα 2 μαθητές με το ίδιο ονοματεπώνυμο και πατρώνυμο οπότε μπορούσαμε να τους διακρίνουμε μόνο από το μητρώνυμο ή τον Α.Μ. τους. Φέτος έχουμε απλή συνωνυμία και για να λύσω το θέμα στην εφαρμογή έβαλα χειροκίνητα στο όνομα των 2 μαθητών και το πατρώνυμό τους ώστε να μπορούν να τους διακρίνουν οι συνάδελφοι. Μια πρότασή μου θα ήταν λοιπόν, όταν μπορέσεις να βάλεις στην οθόνη εισαγωγής βαθμολογίας μαζί με το ονοματεπώνυμο των μαθητών και τον ΑΜ τους ή αν είναι εύκολο, το πατρώνυμο ή και το μητρώνυμο.
  Σε ευχαριστούμε πολύ για το μεγάλο σου κόπο να συντηρείς αυτή την εφαρμογή. Είναι πραγματικά πολύ χρήσιμη.

Γιώργος Κολόμβος
ΓΕΛ Δεμενίκων     

Γεώργιος Θεοδώρου

Προστέθηκε ο Αρ. Μητρώου μαθητή σε στήλη πριν το Επώνυμο Όνομα.

Αν πάμε το ποντίκι πάνω από το Ονοματεπώνυμο εμφανίζεται και το Πατρώνυμο

Κατεβάστε παρακαλώ το apousiologos-30-1-22

Για τα error 500 να ελέγξουμε το laravel.log ( να δεις τι έγραψε την ώρα που μπήκαν οι συνάδελφοι και "χτύπησε")

Γιώργος Κολόμβος

Παράθεση από: Γεώργιος Θεοδώρου στις 30 Ιαν 2022, 06:00:03 ΜΜ
Προστέθηκε ο Αρ. Μητρώου μαθητή σε στήλη πριν το Επώνυμο Όνομα.
Αν πάμε το ποντίκι πάνω από το Ονοματεπώνυμο εμφανίζεται και το Πατρώνυμο
Κατεβάστε παρακαλώ το apousiologos-30-1-22
Συνάδελφε η ταχύτητα απόκρισής σου είναι ασύλληπτη. Σ' ευχαριστώ, πιστεύω ότι ο ΑΜ και το πατρώνυμο είναι ακριβώς αυτό που χρειαζόταν. Δυστυχώς όμως κάτι συμβαίνει στο webhost.sch.gr αυτή τη στιγμή και δεν με αφήνει να ανεβάσω τίποτα οπότε θα δοκιμάσω την νέα έκδοση αργότερα. Μάλιστα πριν λίγο μπήκα στο helpdesk.sch.gr για να καταγράψω ένα αίτημα υποστήριξης για το πρόβλημα με τον webhost.sch.gr και είδα εκεί την ακόλουθη ανακοίνωση:
   "Τις τελευταίες ημέρες υφίσταται πρόβλημα απόδοσης και λειτουργίας πολλών ιστοσελίδων χρηστών και μονάδων, για το οποίο οι τεχνικοί μας εργάζονται για την επίλυσή του. Αν ο ιστότοπός σας επιστρέφει σφάλμα: "Internal Server Error" παρακαλούμε μην υποβάλλετε αίτημα στο πληροφοριακό σύστημα, διότι ήδη συγκαταλλέγεται στο γενικότερο πρόβλημα. Σας ευχαριστούμε  για την κατανόηση σας και τη συνεργασία σας."
   Οπότε το error 500 που εμφανίστηκε μάλλον δεν είναι πρόβλημα της εφαρμογής αλλά του ΠΣΔ.
Καλό βράδυ

Γεώργιος Θεοδώρου

#53
Σέβομαι και βγάζω το καπέλο στους εκλεκτούς συναδέλφους στο ΠΣΔ που κάνουν τα μάλα για να μας υποστηρίξουν.

Προφανώς για να δουλεύει ο Ηλ.Απουσιολόγος "real time" πρέπει να είναι διαθέσιμος ο server.




Μετά από κάποιες τέτοιες ... αστοχίες έστησα πρόχειρα και ΠΡΟΣΩΡΙΝΑ στον υπολογιστή μου (win 10) ένα xampp.

Κάρφωσα σταθερή IP μια από τις τρεις που έχει κάθε σχολείο ( συνήθως xx.xx.xx.10 xx.xx.xx.11 xx.xx.xx.20 )

Ζήτησα και μου γνωστοποίησαν τις αντίστοιχες εξωτερικές IP.

Επίσης ρυθμίσανε το microtik του σχολείου να επιτρέπει την πρόσβαση σε αυτές εσωτερικές και εξωτερικές.

Έτσι αποκτήσαμε πρόσβαση μέσω της IP.


Το πρόβλημα που συνάντησα ήταν ότι δεν μπόρεσα να ρυθμίσω το https:// με το Let'sEncrypt και ότι το απόγευμα καθώς ο Η/Υ έμπαινε σε νάρκη ( hibernate ) χάναμε την πρόσβαση.




Τελικά μετά τις διακοπές των Χριστουγέννων έστησα στο αποσυρμένο BOCOM ( έχει και RAID) ένα Debian server.

Βρήκα οδηγίες στο υπερκείμενο για την εγκατάσταση του Debian σε σύστημα με RAID CONTROLLER.

Επίσης οδηγίες για την εγκατάσταση της php8.

Ζήτησα και καταχώρισαν στον DNS SERVER του ΠΣΔ μια εγγραφή C/NAME (edu.11lyk-patras.mysch.gr) να οδηγεί στην IP.

Με αυτή την εγγραφή (edu.11lyk-patras.mysch.gr) ρυθμίστηκε και το Let'sEncrypt.

Ρύθμισα μέσω crontab και lftp το back_up της ΒΔ στον χώρο του ΠΣΔ, καθώς και το update-upgrade του server και μια επανεκκίνηση την ημέρα.


Προς το παρόν δουλεύει μια χαρά!!! Ίδωμεν...


Κάποιος συνάδελφος για να μην έχει προβλήματα downtime από το ΠΣΔ έχει αγοράσει cloud server.


cpp

Καλημέρα σε όλους...

Γιώργο δεν σε προλαβαίνουμε... Μη βιάζεσαι να απαντήσεις ./.... Μπορει να προκύψει και κάτι άλλο ώστε να το δεις συνολικά... ;D

Το ενδεχόμενο cloud server μου πέρασε από το μυαλό και σε εμένα άλλα λόγω των στοιχείων που αποθηκεύονται το ξανασκέφτηκα 

Να γράψω και κάτι άλλο που παρατήρησα παρεμπιπτόντως..
Κατά την εισαγωγή τις βαθμολογίας η ταξινόμηση  δεν γίνεται  αλφαβητικά. Όταν ο admin βλεπει τους μαθητές υπάρχει η δυνατότητα ταξινόμισης αλλά όχι στην βαθμολογία.
Δεν είναι πρόβλημα για μένα απλά το αναφέρω.

Δεν ξέρω αν άλλαξε κάτι στην τελευταία version  που ανέβασες.

Καλή συνέχεια  και καλή υπομονή με όλους εμας....
 

cpp

Παράθεση από: cpp στις 01 Φεβ 2022, 12:43:37 ΠΜ
Κατά την εισαγωγή τις βαθμολογίας η ταξινόμηση  δεν γίνεται  αλφαβητικά.


Νομίζω ότι κατάλαβα γιατί εμφανίζονται με αυτή την ταξινόμηση οι μαθητές. Στο σχολείο έχω μαθητές που δεν παρακολουθούν μαθήματα γενικής παιδείας  αλλα μόνο ειδικότητας (Εσπερινό ΕΠΑΛ). Έτσι εμφανίζονται πρώτα οι μαθητές που παρακολουθούν όλα τα μαθήματα  και μετα με νέα αλφαβητική κατάταξη οι μαθητές που παρακολουθούν μόνο τα μαθήματα ειδικότητας. Μου κάνει εντύπωση....  δεν το περίμενα...  (αν δεν κάνω λάθος).

Πάντως εξακολουθεί να μην είναι πρόβλημα για εμένα και μάλιστα ίσως είναι και βολικό.
Απλά το αναφέρω μήπως  το έχει απορία και κάποιος άλλος συνάδελφος. (προφανώς προκύπτει από την εξαγωγή από myschool των τμημάτων του μαθητή)

Θα το ελέγξω για σίγουρα πάλι αύριο.

Γεώργιος Θεοδώρου

#56
Για να υπάρχει μια λογική στους απόντες που βλέπει ο Διαχειριστής αν δεν είναι επιλεγμένο ένα τμήμα

γίνεται ταξινόμηση με βάση

  • το τμήμα και μετά
  • το  επώνυμο
  • το όνομα
  • το πατρώνυμο

Αν έχει επιλεγεί ένα τμήμα τότε η πρώτη πρώτη ταξινόμηση  (με το τμήμα) δεν φέρνει καμία αλλαγή.


Για να καταλάβετε γιατί συμβαίνει αυτό που αναφέρει ο Χρήστος θα σας εξηγήσω πως βρίσκουμε - μαντεύουμε το "βασικό" τμήμα ενός μαθητή.

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

Για να βρούμε το "τμήμα" ενός μαθητή παίρνουμε το πρώτο από τα τμήματα του ταξινομημένα

  • κατά το μήκος των χαρακτήρων (πχ:Α1 = 2, Α1ΓΑΛΛΙΚΑ =9)
  • την Αλφαβητική σειρά πχ (Α1ΑΓΓΛΙΚΑ,  Α1ΓΑΛΛΙΚΑ)


Οπότε το βασικό τμήμα ενός που κάνει μόνο μαθήματα ειδικότητας είναι διαφορετικό από μαθητές που έχουν και Γεν Παιδείας εξού και η παρατηρηθείσα ταξινόμηση.


Μπορούμε με μια μικρή τροποποίηση στον κώδικα να κάνουμε ταξινόμηση μόνο με [Επώνυμο],[Ονομα],[Πατρώνυμο] αν κρίνετε ότι πρέπει...






Γεώργιος Θεοδώρου

Διορθώθηκε η ταξινόμηση με βάση

  • το Επώνυμο - Όνομα όταν είναι επιλεγμένο ένα τμήμα (Απουσιολόγος - Βαθμολογία)
  • το Τμήμα - Επώνυμο - Όνομα όταν ο Διαχειριστής βλέπει όλους τους απόντες μαθητές

zip: apousiologos-1-2-22


Ουσιαστικά η αλλαγή αυτή δεν επηρεάζει την λειτουργία της εφαρμογής

αλλά την κάνει ανθρώπινα πιο κατανοητή και φιλική.

spapageor

Συγχαρητήρια για την υπέροχη εφαρμογή!
Μια ερώτηση: Όταν αλλάζουμε password σε καθηγητή χάνονται οι καταχωρημένες βαθμολογίες του;