Αποστολέας Θέμα: Ηλεκτρονικό Πρωτόκολλο Σχολείου  (Αναγνώστηκε 36764 φορές)

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

  • ΠΛΗΝΕΤ
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 565
Απ: Ηλεκτρονικό Πρωτόκολλο Σχολείου
« Απάντηση #180 στις: 22 Νοε 2020, 03:17:36 μμ »
Περιεχόμενα .env:
Κώδικας: [Επιλογή]
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=protocol
DB_USERNAME=pr0t0c0l_us3r
DB_PASSWORD=s3r5v7m@#

database.php:
Κώδικας: [Επιλογή]
'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'prοtocol'),
            'username' => env('DB_USERNAME', 'pr0t0c0l_us3r'),
            'password' => env('DB_PASSWORD', 's3r5v7m@#'),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8',
            'collation' => 'utf8_general_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => true,
            'engine' => 'InnoDB',
            'options' => extension_loaded('pdo_mysql') ? array_filter([
                PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
            ]) : [],
        ],

.htaccess:
Κώδικας: [Επιλογή]
<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On
RewriteBase /protocol
....

Σημείωση: όταν δώσες:
Κώδικας: [Επιλογή]
composer install"γκρινιάζει" ότι δεν είναι ενεργοποιημένο το imap στο c:/xampp/php/php.ini και σου ζητάει μετά να τρέξεις:
Κώδικας: [Επιλογή]
composer update . Μετά από αυτό το
Κώδικας: [Επιλογή]
composer install ολοκληρώνεται με κάποια warnings για κάποια πρόσθετα που καλό ειναι να μην χρησιμοποιούνται (non critical πιστεύω)

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

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 143
    • Διαχείριση απουσιών
Απ: Ηλεκτρονικό Πρωτόκολλο Σχολείου
« Απάντηση #181 στις: 22 Νοε 2020, 10:00:09 μμ »
Γηράσκω αεί διδασκόμενος!!!

Αφου μας παίδεψε όλη την ημέρα βρήκαμε ότι ο χαρακτήρας #
είναι ειδικός χαρακτήρας για το αρχείο .env ( μετατρέπει ότι είναι μετά από αυτό σε σχόλιο).

Για να υπάρξει το # στο password πρέπει να κλειστεί σε εισαγωγικά:

ΛΑΘΟΣ: aswe#126!
ΣΩΣΤΟ: "aswe#126!"


Πηγή:

https://stackoverflow.com/questions/60522667/storing-as-password-in-env-file

Παράθεση
As per Laravel Documenation

"Laravel" treats # as comment. So if there is space or # in your password then you have to enclosed it in double quotes("")


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

  • ΠΛΗΝΕΤ
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 565
Απ: Ηλεκτρονικό Πρωτόκολλο Σχολείου
« Απάντηση #182 στις: 25 Νοε 2020, 11:14:38 πμ »
Πρωτοκόλληση εισερχόμενων email, μερικές παρατηρήσεις:

1. Όταν το επιλέξεις για πρώτη φορά, φέρνει όλα τα μηνύματα που βρίσκει ταξινομημένα κατά ημερομηνία (παλιότερα προς νεότερα). Δεδομένου ότι ο οργανισμός που θα εγκαταστήσει την εφορμογή θα έχει στο mailbox πιθανόν αρκετές εκατοντάδες μηνύματα για τα οποία θα πρέπει να επιλέξει χειροκίνητα για το καθένα σήμανση ως αναγνωσμένα, θα ήταν προτιμότερο να ορίζεται μια ημερομηνια από την οπία και ύστερα να φέρνει μηνύματα (πχ από την ημερομηνία εγκατάστασης,  την ημερομηνία κανονικής λειτουργίας ή όποια τέλως πάντων ορίσει ο διαχειριστής), πχ ορίζοντας την ημερομηνία στην imap_search (αν υποθέσουμε ότι χρησιμοποιείς αυτή)

2. Κάθε φορά που πατάς "Σήμανση ως αναγνωσμένο" ή "καταχώρηση email" σε κάποιο μήνυμα, εξαφανίζονατι από τη σελίδα τα προηγούμενα από αυτό μηνύματα (για τα οποία φυσικά έχει επιλεγεί κάτι από τα 2), το ίδιο το μήνυμα παραμένει μέχρι να πατήσεις "Σήμανση ως αναγνωσμένο" ή "καταχώρηση email"  σε επόμενο μήνυμα (εκτός αν κάνεις refresh της σελίδας)

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

  • ΠΛΗΝΕΤ
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 565
Απ: Ηλεκτρονικό Πρωτόκολλο Σχολείου
« Απάντηση #183 στις: 25 Νοε 2020, 11:57:30 πμ »
Αναζήτηση πρωτικόλλου:

Στο πεδίο Διεκπεραίωση γίνεται αναζήτηση με το userid, πιο βολικό θα ήταν με το όνομα του χρήστη (όχι με το username πχ αναζήτηση με το Δημήτρης Γκίνης, όχι με το username=dimginis ή userid=4).


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

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 143
    • Διαχείριση απουσιών
Νέες δυνατότητες και κάποιες διορθώσεις
« Απάντηση #184 στις: 28 Νοε 2020, 09:46:28 πμ »
Σας ενημερώνω για κάποιες τροποποιήσεις και προσθήκες:
  • Τροποποίηση του slug των ρυθμίσεων από /config σε /settings γιατί χτύπαγε στον webhost.sch.gr
  • Η αναζήτηση στο πεδίο "Διεκπεραίωση" γίνεται πλέον με το όνομα χρήστη (πριν με τον κωδ.χρήστη)
  • Ορίστηκε και περιορίστηκε ο αριθμός ημερών που ελέγχονται τα εισερχόμενα imap-emails σε 7. Ο αριθμός ημερών μπορεί να αλλάξει από τις ρυθμίσεις.
  • Προστέθηκε δυνατότητα ειδοποίησης με email του Διεκπεραιωτή όταν του ανατίθεται ένα Πρωτόκολλο.
  • Το παραπάνω (ειδοποίηση Διεκπεραιωτή) μπορεί να γίνει με τη χρήση άλλου "εσωτερικού" email εφόσον ρυθμιστεί στο config/intra-mail.php.

ΠΑΡΑΚΑΛΩ ΟΣΟΙ ΕΧΕΤΕ ΠΡΩΤΟΚΟΛΛΑ ΣΕ ΧΡΗΣΗ ΑΝΑΒΑΘΜΙΣΤΕ ΠΡΟΣΕΚΤΙΚΑ ΚΑΙ BACKUP, BACKUP, BACKUP ...
Αν εντοπίσετε κάποιο bugάκι ρίξτε μια φωνή  :angel:

Ευχαριστώ τον Δημήτρη Γκίνη για τις υποδείξεις




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

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 143
    • Διαχείριση απουσιών
ΑΝΑΒΑΘΜΙΣΗ στο Ηλεκτρονικό Πρωτόκολλο Σχολείου
« Απάντηση #185 στις: 05 Δεκ 2020, 09:38:26 πμ »
Το Ηλ. Πρωτοκολλο ΑΝΑΒΑΘΜΙΣΤΗΚΕ

Πέρασε στην Laravel 7

ΣΣ: Η τρέχουσα Laravel είναι η 8

Όσοι έχετε Πρωτόκολλο σε χρήση αναβαθμίστε με προσοχή ...

https://github.com/g-theodoroy/electronic_protocol/commits/master
Commits: 9053610 & f8e9e4e

Οι αναβαθμίσεις είναι απαραίτητες καθώς οι βιβλιοθήκες στις οποίες στηρίζεται και χρησιμοποιεί το Ηλ.Πρ. (php, laravel, ...) αναβαθμίζονται.

Προσεχώς και αναβάθμιση στην Laravel 8



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

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 143
    • Διαχείριση απουσιών
Αποστολή Αποδείξεων παραλαβής με Email
« Απάντηση #186 στις: 13 Δεκ 2020, 11:59:28 μμ »
Τροποποιήθηκε η δυνατότητα αποστολής Αποδείξεων παραλαβής με email

Πλεον υπάρχουν οι ακόλουθες δυνατότητες:
  • Αποστολή αποδ.παρ. όταν καταχωρίζουμε πρωτόκολλα από εισερχόμενα email.
    • σε email που πληκτρολογούμε σε textbox
    • αν δεν πληκτρολογήσουμε στο Reply-to του email
    • αν δεν υφίσταται Reply-to στον αποστολέα From του email
  • Όταν καταχωρίζουμε Νέο Πρωτόκολλο αυτόματα με την αποθήκευση εφόσον συμπληρωθεί το email και το επιτρέπουν οι ρυθμίσεις
  • Στην Επεξεργασία πρωτοκόλλου συμπληρώνοντας το email και πατώντας το κουμπί Απόδειξη με Email

Η Απόδειξη Παραλαβής περιέχει όλα τα πεδία του Πρωτοκόλλου που έχουν δεδομένα (όχι κενά).

Έτσι μπορεί να σταλεί και εξερχόμενο Πρωτόκολλο όπως είχε ζητήσει ο kostas123 ή να ξανασταλεί κλπ κλπ

καλησπερα σας
δεν θελω να δημιουργω πρωτοκολλο μεσω email .
Θελω απλα να εχω επιλογη να στελνει e-μαιλ ενα εξερχομενο πρωτοκολλο που εχει δημιουργηθει ..

Κάθε φορά που στέλνεται email προστίθεται σχόλιο στις Παρατηρήσεις (μέχρι οι παρατηρήσεις να γίνουν μεγάλες πάνω από 250 χαρακτήρες οπότε σταματάμε γιατι δεν χωράει το πεδίο στη ΒΔ)

Με λίγο χέρι στον κώδικα σε 2 αρχεία μπορεί να αποεπιλεγούν ή να ξαναεπιλεγούν πεδία ή να αλλάξει το κείμενο του email ...

Τροποποιήθηκε επίσης η εμφάνιση των εισερχομένων email και κάποιες μικροβελτιώσεις

Ευχαριστώ τον Δημήτρη Γκίνη για τις προτάσεις...

Μπορεί να γίνομαι γραφικός αλλά BACKUP, BACKUP, BACKUP και ΕΝΗΜΕΡΩΣΗ και πάλι BACKUP, ..., ...

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

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 143
    • Διαχείριση απουσιών
Βελτίωση ανάκτησης εισερχομένων email
« Απάντηση #187 στις: 17 Δεκ 2020, 12:19:45 πμ »
Προστέθηκαν οι παρακάτω ρυθμίσεις

  • Πως θα διαβάζονται τα email τα παλιά πρώτα και μετά τα νεότερα ή αντίθετα τα νεότερα πρώτα και μετά τα παλαιότερα
  • Πως θα ταξινομούνται αυτά που διαβάζονται με ΑΥΞΟΥΣΑ ή ΦΘΙΝΟΥΣΑ ημερομηνία

Γεγονός είναι ότι η ανάγνωση των email είναι χρονοβόρα διαδικασία (επικοινωνία με server και αρκετά δεδομένα).

Ρυθμίζοντας το πρόγραμμα να διαβάζει και να εμφανίζει λιγότερα μηνύματα (πχ 3 ) αποφεύγουμε καθυστερήσεις.


Θα μπορούσαμε να κερδίσουμε χρόνο αν προηγουμένως με ένα πρόγραμμα ανάγνωσης email "μεταφέραμε" τα email που δεν χρειάζεται να πρωτοκολληθούν στον φάκελο INBOX.beenRead


Διαβάζουμε λοιπόν τα 3 πρώτα μηνύματα από 57 μηνύματα που λάβαμε τις τελευταίες 7 ημέρες.

Αν δεν θέλουμε να "χάσουμε" μηνύματα θα πρέπει να διαβάζουμε πρώτα τα παλαιότερα. Ούτως ή άλλως η πρωτοκόλληση με βάση τη χρονολογική σειρά που λήφθηκαν τα email μου φαίνεται πιο λογική.

Προστέθηκε όμως και η δυνατότητα να λαμβάνουμε τα μηνύματα με αντίστροφη σειρά δηλ τα 3 τελευταία μηνύματα από 57.

Τέλος επιλέγουμε αν αυτά τα 3 μηνύματα θα εμφανίζονται με αύξουσα ή φθίνουσα χρονολογική σειρά.

ΠΑΡΑΤΗΡΗΣΗ
Όσοι έχουν λειτουργικό Ηλ. Πρωτόκολλο σε παραγωγή καλό θα είναι να κρατούν ένα αντίγραφο των αρχείων (BACKUP) πριν προχωρήσουν σε ενημέρωση.
Αν κατά τη διάρκεια της ενημέρωσης κάτι πάει στραβά ή ακόμη η τελευταία ενημέρωση  έχει κάποιο λαθάκι (BUG) θα επαναφέρουν τα λειτουργικά αρχεία.
Το ίδιο θα ήταν προτιμητέο και με τη ΒΔ.
Ο κώδικας είναι μεγάλος!!! Και όλο και κάτι προστίθεται !!! Επίσης γίνονται κάποιες αλλάγες που μπορεί τελικά να μη μας αρέσουν ή να μη δουλεύουν όπως αναμένεται και θα πρέπει να υπαναχωρήσουμε σε προηγούμενη αλλά πιο βελτιωμένη λύση.
Κρατάμε λοιπόν τα παλιά αρχεία μέχρι να βεβαιωθούμε ότι όλα είναι εντάξει.
Αν η αναβάθμιση δεν έχει αλλαγές στη ΒΔ με μια απλή μετονομασία των φακέλων (protocol - protocol-old, protocol-new, ...) περνάμε από τη μία έκδοση στην άλλη χωρίς κόστος.

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

Δημήτρης Κανάς

  • Εκπαιδευτικός
  • Δεινόσαυρος
  • *****
  • Μηνύματα: 218
    • Εργαστήρι Δημοτικού Σχολείου
Απ: Ηλεκτρονικό Πρωτόκολλο Σχολείου
« Απάντηση #188 στις: 17 Δεκ 2020, 10:44:55 πμ »
Γεια σου Γιώργο,

Πάλι "ζωγραφίζεις".... :-)

Συγχαρητήρια για την δουλειά σου!!!!

Σκέφτεσαι να κάνεις αναβάθμιση στην Laravel 8;




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

  • ΠΛΗΝΕΤ
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 565
Απ: Ηλεκτρονικό Πρωτόκολλο Σχολείου
« Απάντηση #189 στις: 17 Δεκ 2020, 10:56:36 πμ »
Γιώργο, πώς είπαμε ότι κατεβάζεις νέα ενημέρωση από το git κρατώντας τις αλλαγές που έχεις κάνει πχ σε αρχεία ρυθμίσεων;
Έτσι;;
Κώδικας: [Επιλογή]
git fetch https://github.com/laravel/laravel.git[/s]

Άκυρο, το βρήκα
« Τελευταία τροποποίηση: 17 Δεκ 2020, 11:36:41 πμ από Δημήτρης Γκίνης »

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

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 143
    • Διαχείριση απουσιών
Απ: Ηλεκτρονικό Πρωτόκολλο Σχολείου
« Απάντηση #190 στις: 17 Δεκ 2020, 11:41:44 πμ »
Καλημέρα Δημήτρη

χαίρομαι που σε ακούω.


Θα προσπαθήσω το project να παραμένει λειτουργικό.

Σκέφτομαι όμως καθώς ανακαλύπτω τι "αγίους φτιάχνουν οι άνθρωποι !!!" ότι κάποια στιγμή πρέπει να ξαναγραφτεί όλο από την αρχή

Έχουν ήδη περάσει 5 χρόνια από την πρώτη απόδοση του Ηλ.Πρ. προς χρήση.

Έχουν γίνει και ακόμη συνεχίζονται βελτιώσεις με τη βοήθεια όλων σας.

Ανακαλύπτω πως πράγματα που έγιναν χειροκίνητα μπορούν να αυτοματοποιηθούν και να δουλεύουν καλύτερα.

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

Επίσης με τιμά ιδιαίτερα η προτίμηση του project όλο και από πιο πολλούς χρήστες.



Γεια σου Γιώργο,

Πάλι "ζωγραφίζεις".... :-)

Συγχαρητήρια για την δουλειά σου!!!!

Σκέφτεσαι να κάνεις αναβάθμιση στην Laravel 8;

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

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 143
    • Διαχείριση απουσιών
Ενημέρωση Ηλεκτρονικού Πρωτοκόλλου Σχολείου
« Απάντηση #191 στις: 17 Δεκ 2020, 11:48:06 πμ »
Δημήτρη ας το κοινοποιήσουμε και στους άλλους:

3 εντολές

Κώδικας: [Επιλογή]
git stash
git pull
git stash pop

Περισσότερα εδώ




Γιώργο, πώς είπαμε ότι κατεβάζεις νέα ενημέρωση από το git κρατώντας τις αλλαγές που έχεις κάνει πχ σε αρχεία ρυθμίσεων;
Έτσι;;
Κώδικας: [Επιλογή]
git fetch https://github.com/laravel/laravel.git[/s]

Άκυρο, το βρήκα

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

  • ΠΛΗΝΕΤ
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 565
Απ: Ηλεκτρονικό Πρωτόκολλο Σχολείου
« Απάντηση #192 στις: 17 Δεκ 2020, 07:34:45 μμ »
Η εφαρμογή του Γιώργου εξελίσσεται σε ηλεκτρονική πλατφόρμα διαχείρισης εγγράφων.

Έχει εγκατασταθεί και με το νέο έτος θα χρησιμοποιηθεί στη ΔΠΕ Αχαϊας.

Στην εγκατάσταση αυτή, όλοι οι υπάλληλοι της Δ/νσης θα αποκτήσουν λογαριασμό και σε κάθε πρωτοκόλληση όταν τους ανατίθεται η διεκπεραίωσή του, θα λαμβάνει μήνυμα στο εσωτερικό email του της Δ/νσης (το πρωτόκολλο θα "κοιτάει" το κεντρικό email, θα χρησιμοποιεί τον εσωτερικό email server για αποστολή ειδοποιήσεων στους υπαλλήλους και το κανονικό email της Δνσης για την αποστολή αποδεικτικών πρωτοκόλλησης).
Ο μάστορας (Γιώργος) έχει πολύ όρεξη και έχει ενσωματώσει ότι αλλαγές του έχω ζητήσει (σε βαθμό που με κάνει να αισθάνομαι άσχημα...).

Γιώργο ευχαριστούμε,
Keep up the good work

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

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 143
    • Διαχείριση απουσιών
Προσθήκες
« Απάντηση #193 στις: 18 Δεκ 2020, 09:01:58 μμ »
Προστέθηκαν δυνατότητες
  • ο Αναγνώστης μπορεί όταν του ανατεθεί πρωτόκολλο να το Διεκπεραιώσει ενημερώνοντας την ημνια διεκπεραίωσης
  • Περιορισμοί στους χρήστες που μπορούν να πρωτοκολλήσουν εισερχόμενα email. Μόνο όσοι δηλωθούν στις ρυθμίσεις

ΓΙΑ ΤΗΝ ΙΣΤΟΡΙΑ:
Παιδευτήκαμε με τον Δημήτρη τον Γκίνη 2 ολόκληρες ημέρες για να βρούμε γιατί
όταν σημαίνονταν ένα email ως διαβασμένο ( οπότε έπρεπε να μεταφερθεί στον φάκελο INBOX.beenRead ) ή
καταχωριζόταν στο Πρωτόκολλο ( οπότε έπρεπε να μεταφερθεί στον φάκελο INBOX.inProtocol )
συνέχιζε να εμφανίζεται στα μή Αναγνωσμένα.
Όταν όμως γινόταν refresh στη σελίδα δεν εμφανιζόταν πάλι ( όπως θα έπρεπε να γίνει ).

Σκέψεις για διπλό refresh της σελίδας, διορθώσεις στον κώδικα, κλπ. κλπ.

Η λύση; Απλά μια flag true στην function moveToFolder.
Συμπέρασμα; Υπάρχει πολλή πληροφορία θέλει όμως τρόπο, επιμονή και λιγο κόπο ... για να τη ανακαλύψεις.

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

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 143
    • Διαχείριση απουσιών
Προσθήκη κι άλλη
« Απάντηση #194 στις: 22 Δεκ 2020, 08:05:46 μμ »
Προστέθηκε η δυνατότητα οι χρήστες να πλοηγούνται σε σχετικό Πρωτόκολλο που έχει καταχωριστεί στο πεδίο "Σχετικοί αριθμοί"

εφόσον αυτό έχει τη μορφή "ΑρΠρ/εεεε". Αν είναι καταχωρισμένα περισσότερα σχετικά έγγραφα τότε εμφανίζεται λίστα για επιλογή.


Έγινε ένα μικρό συμμάζεμα στον κώδικα.


Αποκαταστάθηκε η λειτουργικότητα "Ξέχασα το password" που είχε διαταραχθεί από τις αναβαθμίσεις.



Παρακαλώ αν υπάρχει κάποιο bug ρίξτε μια φωνή...