Ηλεκτρονικό Πρωτόκολλο Σχολείου

Ξεκίνησε από Γεώργιος Θεοδώρου, 27 Ιαν 2017, 08:02:03 ΜΜ

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

Γιάννης Γαϊδαρτζής

Καλημέρα ομάδα,
Σήμερα αντιμετωπίζω κάποιο θέμα. Όταν επιλέγω τα email μου πετάει:

   
Πρώην ΚΕΠΛΗΝΕΤ

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

#226
Έχει παρατηρηθεί πάλι

και έχει διορθωθεί στο ακόλουθο commit (κοίτα στο τέλος )

https://github.com/g-theodoroy/electronic_protocol/commit/44e570c51c5fa493c73d05d8007697dab5790aae


resources/views/viewEmails.blade.php


                      @php 
                          $num++; 
                         if($oMessage->getSubject()){
                            $subject = implode('', array_column(json_decode(json_encode(imap_mime_header_decode($oMessage->getSubject())), true), 'text'));
                          }
                          if(! $subject) $subject = $oMessage->getSubject();
                      @endphp



Επανέρχομαι


Τώρα που το ξανακοιτάζω

ας προσπαθήσουμε να ελέγξουμε αυτό που χτυπάει ( array_column() )

ως εξής:

αλλαγή

if($oMessage->getSubject()){

σε

if( $oMessage->getSubject() && json_decode(json_encode(imap_mime_header_decode($oMessage->getSubject())), true) ){

                      @php 
                          $num++; 
                         if( $oMessage->getSubject() && json_decode(json_encode(imap_mime_header_decode($oMessage->getSubject())), true) ){
                            $subject = implode('', array_column(json_decode(json_encode(imap_mime_header_decode($oMessage->getSubject())), true), 'text'));
                          }
                          if(! $subject) $subject = $oMessage->getSubject();
                      @endphp



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

Σε μια παρόμοια περίπτωση πριν κάνουμε την αλλαγή με το commit

οι συνάδελφοι ακολούθησαν την εξής διαδικασία:


  • Ρύθμισαν το  Πρωτόκολλο να διαβάζει ένα (1) email κάθε φορά. Έτσι εντόπισαν ποιο ακριβώς email δημιουργεί το πρόβλημα
  • Το πέρασαν χειροκίνητα στο Πρωτόκολλο
  • Επανέφεραν τις ρυθμίσεις

Δυστυχώς το Ηλ. Πρωτόκολλο δεν είναι "εφαρμογή ανάγνωσης Ηλεκτρονικής αλληλογραφίας".

Προσπαθούμε όμως να ανταποκρίνεται όσο καλύτερα γίνεται σε αυτά που του ζητάμε να κάνει...

Ζητώ συγνώμη για τη βεβιασμένη και λανθασμένη πρωινή απάντηση. Η προσοχή μου ήταν στραμμένη στους "Πίνακες Α"

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

Τροποποιήθηκε ο κώδικας και πλέον είναι δυνατόν να αλλάξει ο φάκελος Φ
σε καταχωρισμένο πρωτόκολλο με συνημμένα αρχεία.

Τα αρχεία μετακινούνται στο νέο φάκελο.

Φυσικά δεν μπορεί ο φάκελος στο συγκεκριμένο πρωτόκολλο να μείνει κενός.

Δημήτρης Γκίνης

Γιώργο οι αλλαγές είναι ΟΚ.
Μία ερώτηση:
Τι εννοείς με το ""Ο Φάκελλος πρωτοκόλλου με συνημμένα αρχεία δεν μπορεί να είναι κενός.<br>Για να επιτευχθεί αυτό πρέπει πρώτα να διαγράψετε τα συνημμένα αρχεία.",
Σε δοκιμές που έκανα άλλαξα φάκελο πρωτοκόλλου, ο οποίος μετά την αλλαγή έμεινε κενός (το συνημμένο ήταν το μοναδικό αρχείο)


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

#230
Παράθεση από: Δημήτρης Γκίνης στις 03 Απρ 2021, 08:06:20 ΜΜ
Γιώργο οι αλλαγές είναι ΟΚ.
Μία ερώτηση:
Τι εννοείς με το ""Ο Φάκελλος πρωτοκόλλου με συνημμένα αρχεία δεν μπορεί να είναι κενός.<br>Για να επιτευχθεί αυτό πρέπει πρώτα να διαγράψετε τα συνημμένα αρχεία.",
Σε δοκιμές που έκανα άλλαξα φάκελο πρωτοκόλλου, ο οποίος μετά την αλλαγή έμεινε κενός (το συνημμένο ήταν το μοναδικό αρχείο)


Ξεκινάμε με την παραδοχή ότι:
Ένα συνημμένο αρχείο πρέπει πάντα να έχει φάκελο Φ


Σύμφωνα με τη σκέψη και την υλοποίηση της αλλαγής

αν το πρωτόκολλο έχει συνημμένα

  • το select fakelos δεν εμφανίζει κενή επιλογή
  • κατά την καταχώριση ελέγχεται ότι ο φάκελος δεν μπορεί να είναι κενός

Δημήτρης Γκίνης

Οκ, υπήρξε παρανόηση. Ο γιώργος εννοούσε το πεδίο (field) Φάκελος και εγώ το φάκελο (folder) στον σκληρό δίσκο.

Απόστολος Καραφυλλίδης

#232
Γεια σου Συνάδελφε
καταρχήν συγχαρητήρια για το Ηλεκτρονικό πρωτόκολλο. το εγκατέστησα και κατάφερα να το βάλω σε λειτουργία σε Windows 10. Σκοπεύω να το χρησιμοποιήσω πλέον στο Σχολείο, ένα Γενικό Λύκειο και συγκεκριμένα το 1ο ΓΕΛ Κοζάνης. Όλα λειτουργούν, το μόνο που δεν κατάφερα να κάνει είναι να διαβάζει τα e-mail απο το gmail. Από το ΠΣΔ τα διαβάζει κανονικά. Τις ρυθμίσεις στο .env τις παραθέτω παρακάτω.

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=1gelkozaniprot@gmail.com
MAIL_PASSWORD=pass
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=1gelkozaniprot@gmail.com
MAIL_FROM_NAME="Ηλ. Πρωτόκολλο"


IMAP_HOST=imap.gmail.com
IMAP_PORT=993
IMAP_ENCRYPTION=ssl
IMAP_VALIDATE_CERT=true
IMAP_USERNAME=1gelkozaniprot@gmail.com
IMAP_PASSWORD=pass
IMAP_DEFAULT_ACCOUNT=default
IMAP_PROTOCOL=imap

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

Απόστολος Καραφυλλίδης


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

#234
Καλησπέρα κι από μένα


Έχουν γραφεί μηνύματα που αφορούν στη ρύθμιση email:

https://alkisg.mysch.gr/steki/index.php?topic=6958.msg93351#msg93351
https://alkisg.mysch.gr/steki/index.php?topic=6958.msg93369#msg93369

Από μια πρόχειρη σύγκριση για το gmail κάνε
IMAP_VALIDATE_CERT= false

Επίσης ρύθμισε αυτό που προτείνει ο Δημήτρης ο Γκίνης



Ρυθμίσεις του email γίνονται στα αρχεία

.env
Προσοχή στους special χαρακτήρες. Πρέπει να κλειστούν σε εισαγωγικά.

Από το .env διαβάζουν τα παρακάτω αρχεία χρησιμοποιώντας την helper env('MAIL_USERNAME')

config/mail.php
Το βασικό email της εφαρμογής

config/intra-mail.php
Το 2ο εσωτερικό email ( Είναι προρυθμισμένο όπως και το βασικό. Μπορείς να το αλλαξεις )

και

config/imap.php
Εδώ μπορούν να ρυθμιστούν πολλαπλά email
πχ gmail, sch, ....
Ο διαχειριστής επιλέγει ποιο θα "διαβάζει" η εφαρμογή



Απόστολος Καραφυλλίδης

Ευχαριστώ και πάλι για την πολύτιμη βοήθεια. Το πρόγραμμα λειτουργεί κανονικά

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

Τροποποίηση της πρωτοκόλλησης email

Ενεργοποιήθηκε σελιδοποίηση ( pagination )

Τα email διαβάζονται μέχρι τον αριθμό ημερών πίσω που ορίστηκε και αν είναι
πολλά ( πχ 60 ), έρχονται σε σελίδες ανά 5 ή όσα έχει οριστεί.

Υπάρχει πλέον δυνατότητα πλοήγησης και πρωτοκόλλησης σε email στις επόμενες σελίδες.

Αποτέλεσμα:
Επισκόπηση περισσοτέρων emails αλλά κατέβασμα ανά 5 με συνέπεια λιγότερος χρόνος κατεβάσματος.




ΠΡΟΣΟΧΗ

Έγινε αναβάθμιση στη βιβλιοθήκη PHP που διαβάζει τα email σε νεότερη έκδοση.
Επίσης έγινε γενικότερη αναβάθμιση στις βιβλιοθήκες της PHP.



ΠΡΕΠΕΙ

μετά τις αλλαγές να τρέξουμε την εντολή

composer install --no-dev
ή
composer update --no-dev

για να ενημερωθούν οι βιβιλοθήκες



ΠΡΟΤΕΙΝΩ

ΝΕΑ ΕΓΚΑΤΑΣΤΑΣΗ σε νέο φάκελο
ΚΡΑΤΑΜΕ το "ΠΑΛΙΟ" πρωτόκολλο σε εφεδρεία
Αφού βεβαιωθούμε ότι δουλεύει ΜΕΤΑΠΤΩΣΗ  :)


Φυσικά αν βρείτε κάποιο bug σφυρίξτε  :angel:
Σε κάθε αναβάθμιση βιβλιοθήκης με νεότερη έκδοση ( ενδέχεται να, ή )  υπάρχουν αλλαγές σε κάποιες συναρτήσεις ...
Στις δοκιμές που κάνω δεν μπορώ να εξαντλήσω όλες τις λειτουργίες ...

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

#237
Μετά την τελευταία αναβάθμιση
τα email δεν συμπεριφέρονται "καλά".
Επιστρατεύτηκε νέα βιβλιοθήκη για το διάβασμα των email.
Λίγο υπομονή ....



ΥΛΟΠΟΙΗΘΗΚΕ


Βελτιώθηκε η πρωτοκόλληση email

Τα email πλέον αφού ληφθούν στον server επεξεργάζονται
με νέα βιβλιοθήκη mail-mime-parser η οποία ανταποκρίνεται
πολύ καλύτερα στους Ελληνικούς χαρακτήρες  ;)

Πρέπει να ενημερώσουμε τις βιβλιοθήκες:

composer install --no-dev
ή
composer update --no-dev

ΙΣΧΥΟΥΝ ΤΑ ΠΡΟΗΓΟΥΜΕΝΑ ΓΙΑ ΤΗΝ ΠΡΟΣΕΚΤΙΚΗ ΑΝΑΒΑΘΜΙΣΗ

το νου σας για τυχόν BUG ....

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

Διορθώθηκε η Aναζήτηση γιατί δεν εμφάνιζε σωστά τον αριθμό των Πρωτοκόλλων που βρέθηκαν.

Αν η ρύθμιση για τις γραμμές που επιστρέφει η Αναζήτηση μείνει κενή εμφανίζονται όλα τα Πρωτόκολλα που ταιριάζουν με τα κριτήρια.
Προσοχή σε μεγάλες ΒΔ με πολλές καταχωρίσεις πρέπει να υπάρχει αριθμός εγγραφών (πχ: 30 ή 50 ή ...) που επιστρέφει η Αναζήτηση
γιατί εξαντλείται η μνήμη ή ο χρόνος και καταρρέει η php.

Τροποποιήθηκε η αποθήκευση των σχετικών Πρωτοκόλλων

Έστω ότι καταχωρίζουμε πρωτόκολλο με αριθμό/έτος
"100/2021" και έχει σχετικά Πρωτόκολλα τα "98/2021, 99/2021".

Εφόσον η ρύθμιση το επιτρέπει τότε:

στο 98/2021 καταχωρίζονται σχετικά τα "99/2021, 100/2021"
στο 99/2021 καταχωρίζονται σχετικά τα "98/2021, 100/2021".


Βελτιστοποίηση της απόδοσης του Ηλ. Πρωτοκόλλου

Άρχισα σιγά σιγά και εξετάζω το project με ένα εργαλείο το laravel-debugbar.

Κάνω τροποποιήσεις ώστε

  • να ελαχιστοποιούνται οι κλήσεις στη ΒΔ στις απαραίτητες
  • να καταναλώνονται λιγότεροι πόροι ( μνήμη )

Το αποτέλεσμα θα περιέχεται σε μεταγενέστερο commit


ΠΡΟΣΟΧΗ ΟΤΑΝ ΕΦΑΡΜΟΖΕΤΕ ΤΙΣ ΕΝΗΜΕΡΩΣΕΙΣ ΜΗ ΕΧΟΥΝ ΚΑΝΑ ΖΩΥΦΙΟ (BUG)

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

Βελτίωση της Αναζήτησης Πρωτοκόλλου

Η Αναζήτηση επιστρέφει τα δεδομένα σε σελίδες ( pagination )

και έχει κουμπάκια για πλοήγηση.  ;)