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

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

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

Πείτε μας που έχετε στήσει το Ηλεκτρονικό πρωτόκολλο

webhost.sch.gr
2 (11.8%)
cloud άλλο
0 (0%)
Η/Υ με win+xampp
7 (41.2%)
Η/Υ με win+wamp
0 (0%)
Η/Υ με Linux+xampp
0 (0%)
Η/Υ με Linux+lamp
7 (41.2%)
χωρίς RAID
2 (11.8%)
RAID1
1 (5.9%)
NAS
2 (11.8%)

Σύνολο ψηφοφόρων: 17

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

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

  •     Πρωτοκόλληση Εισερχομένων και Εξερχομένων εγγράφων
  •     Επισύναψη Αρχείων και καθορισμός Ημερομηνίας Διατήρησης - Καταστροφής ανάλογα με το Φάκελο Αρχειοθέτησης Φ.
  •     Φάκελοι Αρχειοθέτησης και Χρόνος Διατήρησης Εγγράφων. Δυνατότητα τροποποίησης ανάλογα με τις εκάστοτε εγκυκλίους
  •     Αναζήτηση Πρωτοκόλλου, Ανάκτηση - Διαγραφή συνημμένων αρχείων
  •     Εκτύπωση Απόδειξης Κατάθεσης Πρωτοκόλλου
  •     Εκτύπωση Ηλεκτρονικού Πρωτοκόλλου για βιβλιοδέτηση
  •     Εκτύπωση λίστας εγγράφων για Εκκαθάριση Αρχείου μετά τη λήξη Διατήρησης αυτών
  •     Backup βάσης δεδομένων, εύκολο κατέβασμα για φύλαξη αυτών
  •     Διαχείριση Χρηστών με ρόλους "Διαχειριστής", "Αναθέτων", "Συγγραφέας", "Αναγνώστης" και ανάλογη πρόσβαση
  •     Απλό σύστημα αναθέσεων της Διεκπεραίωσης Πρωτοκόλλων και παρακολούθησης αυτών
  •     Πρωτοκόλληση email: Σύνδεση με λογαριασμό email. Επισκόπηση εισερχομένων μηνυμάτων και των συνημμένων αρχείων και Πρωτοκόλληση με αποθήκευση των επιλεγμένων




Δείτε βίντεο με τη χρήση του Ηλ.Πρωτ.



Δοκιμή Demo  (username  password) (admin 12345678) (writer 123456) (reader 123456)

Οδηγίες χρήσης

Πληροφορίες - εγκατάσταση




Γνωστά "προβλήματα" (bugs)  :o
  • Στα Windows αν πλοηγηθούμε με τον file-explorer στο Φάκελο storage/app/arxeio  όπου αποθηκεύονται τα επισυναπτόμενα αρχεία, τα ελληνικά ονόματα των φακέλων και αρχείων εμφανίζονται με παράξενους χαρακτήρες. Αυτό οφείλεται στο ότι τα Windows δεν υποστηρίζουν πλήρως την κωδικοποίηση utf-8. Δεν υφίσταται καμιά επίπτωση στη λειτουργία του προγράμματος.



ΕΓΚΑΤΑΣΤΑΣΗ ΗΛ. ΠΡΩΤΟΚΟΛΛΟΥ

Παράθεση από: Γεώργιος Θεοδώρου στις 07 Απρ 2019, 08:30:52 ΜΜΟδηγός εγκατάστασης του Ηλ. Πρωτοκόλλου σε Ubuntu 18.04:

Οδηγίες εγκατάστασης

Σχετικό βίντεο: https://youtu.be/7x3zE0tEaLI

Παράθεση από: Γεώργιος Θεοδώρου στις 08 Απρ 2019, 10:51:51 ΠΜΤο Ηλ. Πρωτόκολλο σε win7 και νεότερα

Οδηγίες εγκατάστασης

Σχετικό βίντεο: https://youtu.be/e79OPKagz9A

Παράθεση από: Γεώργιος Θεοδώρου στις 23 Μαΐου 2020, 01:49:27 ΜΜΒίντεο εγκατάστασης του Ηλ. Πρωτοκόλλου σε windows 10

https://youtu.be/xvDHwjHb7wc




zip για εγκατάσταση στον webhost

https://www.dropbox.com/sh/sd00ikjn311g5hu/AABduqTihxHQH0StOs5HEI4wa?dl=0

Το protocolRoot στον κεντρικό κατάλογο
Το protocol στον κατάλογο httpdocs


Θοδωρής Καρτσιώτης

Εξαιρετική εφαρμογή.... Τη χρησιμοποιώ δοκιμαστικά αυτές τις μέρες και παρατηρώ ότι είναι ό,τι ακριβώς χρειάζεται η γραμματεία ενός σχολείου για ν' απαλλαγεί από την υπερβολική χαρτούρα.

Μπράβο στον κ. Θεοδώρου...
ΥΠΛΗΝΕΤ Πιερίας | https://plinetpierias.gr

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

#2
Τροποποιήθηκε το select box (λίστα επιλογής) όπου επιλέγεται ο φάκελος του Πρωτοκόλλου και πλέον έμφανίζει και την περιγραφή.
Το select box έχει πλάτος 500px και ένα πλαίσιο κειμένου όπου πληκτρολογώντας χαρακτήρες φιλτράρονται οι εγγραφές



Ευχαριστώ τον teokarts για τις υποδείξεις και τα καλά του λόγια.

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

#3
Μπράβο σας! Πολύ καλή εφαρμογή.

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

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

Επίσης μπορεί να υπάρχει πεδίο στις εγγραφές για τον τρόπο παραλαβής ενός εγγράφου. Δηλαδή με κατάθεση ή αλληλογραφία ή fax ή e-mail

Και πάλι μπράβο!
Powered by Elxis : LabSchool.mysch.gr

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

#4
Προστέθηκε και ορίστηκε ως αρχική σελίδα μια λίστα με τα καταχωρισμένα Πρωτόκολλα σε φθίνουσα σειρά η οποία ανανεώνεται αυτόματα σε χρονικό διάστημα που ορίζεται στις ρυθμίσεις (αρχική τιμή με την εγκατάσταση 5 λεπτά)




Προστέθηκε η επιλογή "Ασφαλής, όχι διπλότυπος Νέος Αρ.Πρωτοκόλλου" -> ΝΑΙ, ΟΧΙ
Αν ΝΑΙ τότε ο Αρ.Πρωτοκόλλου υπολογίζεται την ώρα της Αποθήκευσης και έτσι σε συνθήκες πολλών χρηστών και ταυτόχρονης καταχώρισης δεν υπάρχουν διενέξεις.
Το Νέο πρωτόκολλο παίρνει τον επόμενο διαθέσιμο Αρ.Πρωτοκόλλου ο οποίος υπάρχει περιπτωση να διαφέρει από αυτόν που βλέπουμε την ώρα της πληκτρολόγησης των δεδομένων.




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

Όσο αφορά την προσθήκη πεδίου για τον τρόπο παραλαβής ενός εγγράφου προτείνω προς το παρόν τη χρήση ενός υπάρχοντος πεδίου πχ: Παρατηρήσεις, Λέξεις Κλειδιά, ...



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

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

Έχω κάνει εκ νέου εγκατάσταση σε XAMPP αλλά υπάρχει πρόβλημα με τη λίστα εμφανίζοντας το μήνυμα "Whoops, looks like something went wrong". Όλα τα υπόλοιπα φαίνεται πως δουλεύουν άψογα.
Powered by Elxis : LabSchool.mysch.gr

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

Ξανακατέβασέ το πάλι σε παρακαλώ. Μόλις πριν από λίγο το εκσφαλμάτωσα. Ας όψεται η επιτήρηση στις Πανελλήνιες.
Σου λέιπει ένα αρχείο το /resources/views/protocolList.blade.php
Αν θές κατέβασε εναλλακτικά μόνο το παραπάνω αρχείο.
Ήταν δικό μου σφάλμα όταν ενημέρωσα το github
Ευχαριστώ

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

Το πρόβλημα διορθώθηκε. Και πάλι ευχαριστούμε. Να στε καλά!

Θα το δουλέψω σε κανονικές συνθήκες και αν κάτι χρειαστεί θα επικοινωνήσω εκ νέου μαζί σας.
Powered by Elxis : LabSchool.mysch.gr

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

#8
Προστέθηκε η δυνατότητα ελέγχου για ενημερώσεις.

Έλεγχος για ενημερώσεις -> ΝΑΙ,ΟΧΙ


Αν ΝΑΙ τότε στην είσοδο χρήστη ελέγχεται εάν έχουν υπάρξει αλλαγές στο Github (προσθήκη ή τροποποίηση αρχείων) και απλά ενημερώνεται ο χρήστης.






Αν ο Διαχειριστής επιθυμεί πρέπει  ΧΕΙΡΟΚΙΝΗΤΑ να κατεβάσει τον κώδικα και να ενημερώσει την εγκατάσταση αφού πρώτα κρατήσει backup από τα υπάρχοντα αρχεία και ΒΔ.

Επισκεφτείτε την ιστοσελίδα:  https://github.com/g-theodoroy/electronic_protocol/commits/master

Εκεί θα δείτε όλες τις αλλαγές (commits) που έχουν ανέβει ταξινομημένες από τις πρόσφατες στις παλαιότερες.

Αν κάνετε κλικ σε κάποια από αυτές θα δείτε τις διαφορές στον κώδικα και θα αποφασίσετε τι πρέπει να αλλάξετε:

  • θα κατεβάσετε πάλι όλο το project,
  • θα αντικαταστήσετε ένα αρχείο με την νέα του εκδοχή ή
  • θα τροποποιήσετε μόνο στο σημείο που χρειάζεται


Τέλος είτε ενημερώσετε την εγκατάσταση είτε όχι για να μην εμφανίζεται το μήνυμα που ειδοποιεί για ενημέρωση κάντε κλικ στο menu: Διαχείριση->Ενημερώθηκε



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

Θα το έγραφα... Ενημέρωση για αλλαγές στον κώδικα έπρεπε να υπάρχει. Και για μια ακόμη φορά κάνατε καταπληκτική δουλειά.

Επίσης πείραξα στην εγκατάστασή μου τον κώδικα για την εμφάνιση στη λίστα αφού Θέμα - περιγραφή - παραλήπτης δε ξεχωρίζουν ιδιαίτερα (αφού συνήθως το θέμα ενός εγγράφου περιλαμβάνει παραπάνω από 3-4 λέξεις). Στο θέμα έβαλα bold και μεγαλύτερη απόσταση μεταξύ των γραμμάτων. Θα πρότεινα, εκτός από το προηγούμενο, αν θες να βάλεις μικρές αποστάσεις μεταξύ των πεδίων και μεταξύ των εγγραφών για να είναι ευδιάκριτα τα μέρη και όπου κρίνετε έντονα ή ακόμα και μέσα σε πλαίσιο ορισμένα άλλα πεδία στη λίστα. Η λίστα και η δυνατότητα εκτύπωσης σε μορφή βιβλίου είναι από τα πιο δυνατά χαρτιά της εφαρμογής.
Powered by Elxis : LabSchool.mysch.gr

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

#10
Συνεχίζουμε ακάθεκτοι ...

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

  • γεμίζει όλη τη σελίδα
  • είναι πιο ευανάγνωστη
  • Τα ονόματα αρχείων αν έχουν πάνω από 12 χαρακτήρες μήκος κόβονται
  • προστέθηκε ένα ρολόι αντίστροφης μέτρησης του χρόνου που απομένει για ανανέωση της σελίδας
  • εμφανίζεται στα συνημμένα αρχεία ο χρόνος διατήρησης και η ημερομηνία διατήρησης έως



Όλα αυτά με την πολύτιμη βοήθεια του Δημήτρη Κανά.
Ευχαριστώ πολύ.



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

Γίνεται όλο και καλύτερο...

Συνεχίζουμε τη δοκιμή μας και εδώ είμαστε....

Σας ευχαριστούμε και για την άμεση επικοινωνία.
Powered by Elxis : LabSchool.mysch.gr

Λάμπρος Μπουκουβάλας

Εξαιρετική προσπάθεια. Ευχαριστούμε πολύ.
Λάμπρος Μπουκουβάλας
MSc - MRes

http://blogs.sch.gr/lambrosbouk

Ο Θουκυδίδης  (που τον διαβάζουν οι ξένοι, αλλά όχι εμείς)  έγραφε: «Αταλαίπωρος τοις πολλοίς η ζήτησις της αληθείας, και επί τα ετοίμα μάλλον τρέπονται» (Ι, 20, 3). Οι περισσότεροι δηλαδή αναζητούν αβασάνιστα την αλήθεια και στρέφονται σε ό,τι βρίσκουν έτοιμο. Δεν προβληματίζονται...

mitsospap

Μπραβο για την προσπαθεια απαλαγης απ την χαρτουρα και το ωραιο λογισμικο που φτιαξατε.

Οταν ημουν αποσπασμενος σε Διευθυνση εκπαιδευσης, δεν αφηναν καταργηση του παλιου πρωτοκολλου και θελαν ενημερωση ηλεκτρονικου και βιβλιου ταυτοχρονα. Εχετε ψαξει τον νομο,επιτρεπεται η καταργηση του βιβλιου πρωτοκολλου και να εχει καποιο σχολειο ΜΟΝΟ ηλεκτρονικο;
Η νομοθεσια τι λεει;

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

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

Τα σχετικά της απόφασης του ΥΠΕΠΘ για το ηλεκτρονικό πρωτόκολλο μπορούν να βοηθήσουν για την νομική κάλυψη της χρήσης του.

http://www.minedu.gov.gr/publications/docs2015/050116_apofasi_protokolo.pdf
Powered by Elxis : LabSchool.mysch.gr

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

Καλημέρα Συνάδελφε,

Εγκατέστησα την εφαρμογή σε ubuntu server 18.04 και μετά την δοκιμή μου εμφάνισε τα παρακάτω. Το μόνο που άλλαξα είναι τα ports του apache (8081, 444).
Στην εγκατάσταση μου έβγαλε κάποια μηνύματα(βλέπε συνημμένο).



*/ /* |-------------------------------------------------------------------------- | Register The Auto Loader |-------------------------------------------------------------------------- | | Composer provides a convenient, automatically generated class loader for | our application. We just need to utilize it! We'll simply require it | into the script here so that we don't have to worry about manual | loading any of our classes later on. It feels nice to relax. | */ require __DIR__.'/../bootstrap/autoload.php'; /* |-------------------------------------------------------------------------- | Turn On The Lights |-------------------------------------------------------------------------- | | We need to illuminate PHP development, so let us turn on the lights. | This bootstraps the framework and gets it ready for use, then it | will load up this application so that we can run it and send | the responses back to the browser and delight our users. | */ $app = require_once __DIR__.'/../bootstrap/app.php'; /* |-------------------------------------------------------------------------- | Run The Application |-------------------------------------------------------------------------- | | Once we have the application, we can handle the incoming request | through the kernel, and send the associated response back to | the client's browser allowing them to enjoy the creative | and wonderful application we have prepared for them. | */ $kernel = $app->make(Illuminate\Contracts\Http\Kernel::class); $response = $kernel->handle( $request = Illuminate\Http\Request::capture() ); $response->send(); $kernel->terminate($request, $response);
Πρώην ΚΕΠΛΗΝΕΤ

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

#16
Στις πρόσφατες διανομές άλλαξε ο εξ ορισμού τρόπος σύνδεσης στη mysql - mariadb

Υπάρχουν δύο εναλλακτικές λύσεις:

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

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

στο αρχείο .env
DB_USERNAME=root protocoluser
DB_PASSWORD=p@ssw@rd νεο pass

config/database.php
'database' => env('DB_DATABASE', 'd@t@b@seprotocoldb'),
'username' => env('DB_USERNAME', 'rootprotocoluser'),
'password' => env('DB_PASSWORD', 'p@ssw@rdνεο pass'),

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

H άλλη λύση που συνήθως υλοποιώ (μέχρι τώρα) είναι να ρυθμιστεί η  mysql να δέχεται είσοδο από το χρήστη root

# sudo mysql -u root

>USE mysql;
>UPDATE user SET plugin='mysql_native_password' WHERE User='root';
>FLUSH PRIVILEGES;
>exit;

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

Το script για εγκατάσταση σε ubuntu ενημερώθηκε

Ευχαριστώ πολύ
Στη διάθεσή σας




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

Ευχαριστώ για τη γρήγορη ανταπόκριση. Με το νέο script λειτουργεί κανονικά.
Πρώην ΚΕΠΛΗΝΕΤ

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

#18
Δείτε ένα βίντεο για τη χρήση του Ηλεκτρονικού Πρωτοκόλλου

https://youtu.be/Xl6qhbJWTGs





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

Γιώργο για να προσθέσω μια απλή σελίδα στο home θα πρέπει (όπως home/list)...

-------------------------
web.php (routes)

Route::get('/home/neaselida','neocontroller@neafunction')->name('neaselida');

-----------------------
Http\Controllers και neocontroller

class neocontroller extends Controller
{
    public function neafunction()
   {
      return view('neaselida');
    }
}

με ονομασία neaselida.blade.php στο φάκελο views..

Γιατί εμένα μου εμφανίζει πάντα...

Sorry, the page you are looking for could not be found.

NotFoundHttpException in Handler.php line 113
ModelNotFoundException in Builder.php line 314

Βέβαια όποιος άλλος μπορεί... ας βοηθήσει...
Powered by Elxis : LabSchool.mysch.gr

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

Αγαπητέ Δημήτρη

Το ηλεκτρονικό πρωτόκολλο φτιάχτηκε με το framework laravel

https://laravel.com/docs/5.6


Υπάρχει αρκετή τεκμηρίωση (θέλει όμως λίγο διάβασμα!)


Ακολουθώντας τις οδηγίες της τεκμηρίωσης η πιό απλή route έχει τη μορφή:

Route::get('/home/neaselida', function () {
    return 'Hello World home - neaselida';
});


ή

Route::get('/neaselida', function () {
    return 'Hello World neaselida';
});



Θα τυπώσουν αντίστοιχα:

Hello World home - neaselidα
Hello World neaselida




Για καλύτερη οργάνωση η function() μπορεί να περιέχεται σε ένα Controller.

Το Ηλ Πρωτόκολλο έχει τους ακόλουθους Controllers:

Auth\LoginController
Auth\RegisterController
Auth\ForgotPasswordController
Auth\ResetPasswordController

και

UserController
KeepvalueController
ProtocolController
ConfigController






Αν θέλεις να έχεις μια νέα σελίδα φτιάξε σε ένα υπάρχοντα controller πχ Protocolcontroller μια νέα function πχ

public function neaselida(){
     return 'Hello World home - neaselida from ProtocolController';
}



Η route που θα οδηγεί σε αυτή θα πάρει τη μορφή:

Route::get('/neaselida','ProtocolController@neaselida');
ή αν θέλεις
Route::get('/home/neaselida','ProtocolController@neaselida');

στο web.php




Ακολούθως πρέπει να ρυθμιστεί η πρόσβαση από τους χρήστες:

Στη γραμμή 74 του ProtocolController προσθέτεις στον πίνακα except τη neaselida για πρόσβαση από όλους (Middleware)

$this->middleware('writer:home/list', ['except' => ['index', 'indexList', 'getFileInputs', 'gotonum', 'download', 'find', 'getFindData', 'printprotocols', 'printed', 'about',  'neaselida']]);



Τελικά το περιεχόμενο της σελίδας θα πρέπει να διαμορφωθεί:

παίρνοντας δεδομένα από τη ΒΔ με το εργαλείο Eloquent
παρουσιάζοντάς τα με το εργαλείο blade



θέλει (λίγο?) διάβασμα!

Τις καλησπέρες μου
Γεώργιος Θεοδώρου

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

Γεια σου Γιώργο. Σ` ευχαριστώ για την άμεση απάντηση. Εδώ και λίγες ημέρες μελετάω το framework laravel και μου κάνει εντύπωση που δεν μπορώ να εφαρμόσω κάτι τόσο απλό στο πρωτόκολλο.

1. Δημιουργία mylist.blabe.php στο views με π.χ.

@extends('layouts.app')

@section('content')

<h2>Welcome To Laravel</h2>

@endsection


2. web.php στο rootes

Route::get('/home/mylist','ProtocolController@mylist');


3.ProtocolController.php

public function mylist(){
		
        return view('mylist');
		
    }


και

$this->middleware('writer:home/list', ['except' => ['index', 'indexList', 'getFileInputs', 'gotonum', 'download', 'find', 'getFindData', 'printprotocols', 'printed', 'about', 'mylist']]);


κι όμως...

http://localhost/e-protocol/home/mylist

Sorry, the page you are looking for could not be found.

Έκανα και php artisan route:clear αλλά το ίδιο...

Τι ξέχασα να κάνω;
Powered by Elxis : LabSchool.mysch.gr

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

Στο web.php

βάλε τη route

Route::get('/home/mylist','ProtocolController@mylist');

στη γραμμή 59 πριν από το

Route::get('/home/{protocol}','ProtocolController@index');


Ο μηχανισμός routing εκτελεί την πρώτη route που θα ταιριάξει ... ξεκινώντας από πάνω προς τα κάτω.

Αν η /home/list ή /home/mylist μπούν μετά από το /home/{protocol}

τότε εκτελείται η /home/{protocol} και ψάχνει να βρεί πρωτόκολλο με κωδικό mylist (που όντως δεν υπάρχει !!!)


Φίλε Δημήτρη τα χαζοκούτια δεν καταλαβαίνουν ... και πολλά !!!


Με εκτίμηση ...



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

Γιώργο θα μας  :D τα χαζοκούτια... αν και λογικό δεν πήγε το μυαλό μου... και είχα πραγματικά  :D γιατί το σωστό δε μπορούσε να δουλέψει...

Αρχή είναι ακόμα!!! Θα σε ξανα-ενοχλήσω αν κολλήσω ξανά κι αν έχεις χρόνο θα περιμένω τα φώτα σου. Αλλά για κώδικα μήπως να στείλω pm... για να μη χαλάσω το περιεχόμενο του θέματος...

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

Καλό βράδυ!
Powered by Elxis : LabSchool.mysch.gr

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

Γιώργο, στο XAMPP, αν ορίσουμε το Εκτελέσιμο αρχείο της mysqldump στον server τη διαδρομή "c:\xampp\mysql\bin\mysqldump.exe" δε δουλεύει το backup. Είναι κάτι άλλο που πρέπει να κάνουμε;
Powered by Elxis : LabSchool.mysch.gr

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

Ο χαρακτήρας "\" χρησιμοποιείται από την php σαν χαρακτήρας "escape".

Αν θέλουμε να τον συμπεριλάβουμε σε ένα string πρέπει να τον κάνουμε escape.

Δοκίμασε τα παρακάτω:

"c:\\xampp\\mysql\\bin\\mysqldump.exe"
"c:/xampp/mysql/bin/mysqldump.exe"

Στο πρώτο κάνω escape τον χαρακτήρα "\" slash των windows με "\\".
Στο δεύτερο χρησιμοποιώ το  "/", χαρακτήρα slash των linux και περιμένω να λύσει το πρόβλημα το laravel.

Δεν είχα χρόνο να τα δοκιμάσω!!!



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

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

Αν πειράξουμε λίγο το ConfigController μήπως δούμε την αιτία;
Powered by Elxis : LabSchool.mysch.gr

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


Η δημιουργία backup στα windows διορθώθηκε 

:angel: Ομολογώ ότι σαν χρήστης  linux δεν έδωσα τη δέουσα σημασία για τα windows-xampp!!!  :angel:


Ευτυχώς ο κ. Κανάς Δημήτρης επίμονα με υπομονή τεστάρει το Ηλ.Πρωτόκολλο.

Ευχαριστώ πολύ Δημήτρη

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

Γιώργο είναι από τα καλύτερα εργαλεία για το σχολείο. Νομίζω πως όποιος δε το δοκιμάσει... χάνει.

Ακόμα και σε xampp δουλεύει άψογα και σε τοπικό δίκτυο. Backup τη βάση με μια κίνηση και γενικότερο καθημερινό προγραμματισμένο backup σε άλλο δίσκο με μια απλή εφαρμογή windows για αντίγραφα ασφαλείας.

Με λίγη γνώση laravel έκανα "αυτοσχέδιες" λειτουργικές λίστες 1) Για τα ημερήσια πρωτόκολλα 2) Με πρωτόκολλα που ανατέθηκαν στον τρέχοντα χρήστη 3) Με πρωτόκολλα που ανατέθηκαν στον τρέχοντα χρήστη και έχουν διεκπεραιωθεί. Ένα μικρο-σύστημα αναθέσεων που χρησιμοποιούμε. Αλλά θέλει ακόμα πολύ διάβασμα και πειραματισμό!

Θα είμαστε σε επαφή!
Powered by Elxis : LabSchool.mysch.gr

Θοδωρής Καρτσιώτης

Ναι, είναι το καλύτερο εργαλείο....

Το χρησιμοποίησα περσι όλη τη χρόνια και το άφησα "κληρονομιά" στο σχολείο που ήμουν.

Φέτος το εγκατέστησα, μέσω XAMPP, στο Μουσικό Σχολείο Κατερίνης όπου υπηρετώ και είμαστε όλοι ενθουσιασμένοι με τη λειτουργικότητά του. Η... χαρτούρα μειώθηκε σε εντυπωσιακό βαθμό.

Απλά, μια στατική ip στον υπολογιστή που βρίσκεται η βάση και ο πυρήνας του προγράμματος και πρόσβαση από τους άλλους υπολογιστές του τοπικού δικτύου μέσω της IP.

Φυσικά, σημειώνω και εφιστώ την προσοχή, για τα τακτικά backup του υπολογιστή που βρίσκεται το Ηλ. Πρωτόκολλο.

Γενικά μιλώντας, θεωρώ πως είναι μια εφαρμογή που πρέπει να την χρησιμοποιήσουν όλα τα σχολεία.
ΥΠΛΗΝΕΤ Πιερίας | https://plinetpierias.gr

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

Παράθεση από: teokarts στις 31 Οκτ 2018, 10:57:52 ΠΜ

Απλά, μια στατική ip στον υπολογιστή που βρίσκεται η βάση και ο πυρήνας του προγράμματος και πρόσβαση από τους άλλους υπολογιστές του τοπικού δικτύου μέσω της IP.


Κι αυτό από τα SOS της εγκατάστασης.
Powered by Elxis : LabSchool.mysch.gr

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

#31
Γιώργο αν έχεις χρόνο θα πρότεινα να βάλεις και να δουλέψεις (καλύτερα από εμένα) τις αναθέσεις. Στην εικόνα σου δείχνω κάποιους πειραματισμούς μου όπως σου έγραψα (δε ξέρω αν και κανένας άλλος έχει προτάσεις).

1. Νέα εγγραφή, Λίστα πρωτοκόλλου, Σημερινά πρωτόκολλα, Προσωπική λίστα, Προσωπική λίστα με διεκπεραιωμένα.

2. Μια αρίθμηση για το πλήθος των π.χ. σημερινών εισερχομένων (είχαμε σήμερα 30 εισερχόμενα, έχω να διεκπεραιώσω 10 κ.α.).

3. Εμφάνιση του συγγραφέα που παίρνει ή τροποποιεί τελευταίος την εγγραφή.

4. Αν γράψει κάποιος την ΑΔΑ στο πεδίο τότε αυτόματα γίνεται σύνδεσμος προς προβολή του αρχείου σε νέο παράθυρο.
Powered by Elxis : LabSchool.mysch.gr

Μανόλης Μεταξάκης

Καλησπέρα!
Το ηλεκτρονικό πρωτόσκολο φαίνεται μία πολύ ενδιαφέρουσα εφαρμογή την οποία θα ήθελα να δοκιμάσω!
Θέλω όμως να ρωτήσω πού και πώς τροποποιώ τις παραμέτρους της mysql όταν για κάποιο λόγο τις αλλάξω στον server. (πχ database name, user name, user password ΚΑΙ ΚΥΡΙΩΣ το port 3306 σε κάτι άλλο)
Αλλάζοντας απλώς ας πούμε στο Port στο  .env και στο config/database.php δεν ανταποκρίνεται.
Μάλιστα  παρατήρησα ότι αν μετονομάσω το .env και τον κατάλογο config το πρόγραμμα τρέχει κανονικά σαν να μην συμβαίνει τίποτα!
Θα πρέπει επι πλέον να κάνω κάτι;

Ευχαριστώ για την προσοχή σας!
Μανόλης Μεταξάκης 


 

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

Παράθεση από: Μανόλης Μεταξάκης στις 31 Οκτ 2018, 08:00:54 ΜΜ
Καλησπέρα!
Το ηλεκτρονικό πρωτόσκολο φαίνεται μία πολύ ενδιαφέρουσα εφαρμογή την οποία θα ήθελα να δοκιμάσω!
Θέλω όμως να ρωτήσω πού και πώς τροποποιώ τις παραμέτρους της mysql όταν για κάποιο λόγο τις αλλάξω στον server. (πχ database name, user name, user password ΚΑΙ ΚΥΡΙΩΣ το port 3306 σε κάτι άλλο)
Αλλάζοντας απλώς ας πούμε στο Port στο  .env και στο config/database.php δεν ανταποκρίνεται.
Μάλιστα  παρατήρησα ότι αν μετονομάσω το .env και τον κατάλογο config το πρόγραμμα τρέχει κανονικά σαν να μην συμβαίνει τίποτα!
Θα πρέπει επι πλέον να κάνω κάτι;

Ευχαριστώ για την προσοχή σας!
Μανόλης Μεταξάκης 


Μανόλη ακολούθησε πιστά τις οδηγίες για την εγκατάσταση της εφαρμογής και δε χρειάζεται να κάνεις κάτι άλλο για να λειτουργήσει.
Powered by Elxis : LabSchool.mysch.gr

Μανόλης Μεταξάκης

Ευχαριστώ πολύ για την άμεση ανταπόκριση!

Να αναφέρω μόνο οτι τελικά βρήκα οτι αφού αλλαχτεί το port στα παραπάνω αρχεία χρειάζεται να μετονομάσει κανείς το  bootstrap/cache/config.php σε οτιδήποτε και ΔΟΥΛΕΨΕ!!!!!!


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

#35
Καλώς ήρθες Μανόλη

Συνήθως για να λάβουν χώρα οι αλλαγές σε ρυθμίσεις του .env πρέπει να τρέξεις από cmd τις εντολές

        php artisan config:clear
        php artisan config:cache


στον φάκελο του Ηλ.Πρωτοκόλλου. Αυτό αναδημιουργεί όπως σωστά ανακάλυψες το bootstrap/cache/config.php.



Τώρα για την αλλαγή port της mysql κοίτα εδώ:

https://laracasts.com/discuss/channels/servers/correct-method-to-specify-a-port-number

Συνιστούν στο .env

DB_HOST=127.0.0.1
DB_PORT=8889(την πόρτα που θέλεις)

Προσωπικά δεν έχω δοκιμάσει κάτι τέτοιο.

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

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

Υπάρχει αρκετή τεκμηρίωση αν ψάξουμε στο διαδίκτυο.

ΔΕΝ ΕΙΜΑΙ ΕΙΔΙΚΟΣ !!!

Ας μην αυτοσχεδιάζουμε !!!

Μανόλης Μεταξάκης

Γιώργο και Δημήτρη ευχαριστώ πολύ για την ΑΜΕΣΗ ανταπόκριση!!! :)

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

#38
Προστέθηκε η δυνατότητα καταχώρισης ΑΔΑ αντί του αρχείου

Έτσι όταν ζητήσουμε το αρχείο κατεβάινει από τη "Διαύγεια".


Υπάρχουν 3 δυνατότητες:

1. το αρχείο τοπικά
2. ΑΔΑ
3. και Αρχείο και ΑΔΑ.




ΠΡΟΣΟΧΗ

Όσοι έχουν Ηλ.Πρωτόκολλο σε χρήση πρέπει να αλλάξουν χειροκίνητα τον πίνακα Attachments με το PhpAdmin
ως εξής:

Δημιουργήσετε ένα field με
όνομα  ada    
τύπο    varchar(255)
και τροποποιήστε τα πεδία
ada, name, savedPath, mimeType, keep, expires, created_at, updated_at, deleted_at
ώστε να μπορούν να είναι κενά (NULL).
ΒΛΕΠΕ ΣΥΝΗΜΜΕΝΗ ΕΙΚΟΝΑ

ΠΡΙΝ ΟΠΟΙΑΔΗΠΟΤΕ ΑΛΛΑΓΗ BACKUP ΒΔ ΚΑΙ ΑΡΧΕΙΩΝ ΩΣΤΕ ΝΑ ΥΠΟΧΩΡΗΣΕΤΕ ΑΝ ΚΑΤΙ ΔΕΝ ΠΑΕΙ ΚΑΛΑ

Δεν μπορώ παρά να ευχαριστήσω ακόμη μια φορά
τον Δημήτρη Κανά για την πρότασή του  ;)

ΥΣΤΕΡΟΓΡΑΦΟ:
Δεν θα πάψω να ενδιαφέρομαι για το Ηλ.Πρωτόκολλο. Απλά τη δεδομένη χρονική στιγμή μου στερεί πολύτιμο χρόνο από άλλες ανειλημμένες υποχρεώσεις...


Επανέρχομαι ... (6/11/18, 21:37)
ΑΦΟΡΑ ΟΣΟΥΣ ΕΧΟΥΝ ΕΝΕΡΓΟ ΠΡΩΤΟΚΟΛΛΟ ΣΕ ΧΡΗΣΗ

Για να γίνει σωστά η αλλαγή στην χρήση ΑΔΑ
θα πρέπει να λάβετε υπόψη και  τις 3 τελευταίες τροποποιήσεις (commits) στο github.

Η μεσαία κάνει μια μικρή διόρθωση.
Για την 3η και τελευταία πρέπει να προσθέσετε στον πίνακα configs
τις τιμες:
key:      diavgeiaUrl
value:  http://static.diavgeia.gov.gr/doc/

BACKUP, BACKUP, BACKUP, ...

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

Γιώργο όλα φαίνονται να δουλεύουν καλά και με τις νέες προσθήκες.

Θα μπορούσε να μπει και η ΑΔΑ στα πεδία της αναζήτησης αν και είναι στον πίνακα με τα συνημμένα. Δε ξέρω αν είναι εύκολο να μπει...
Powered by Elxis : LabSchool.mysch.gr

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

#40
Προστέθηκαν στα πεδία αναζήτησης

1. το όνομα συνημμένου αρχείου
2. ο ΑΔΑ (Αριθμός Διαδικτυακής Ανάρτησης)

Ευχαριστώ πολύ

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

Δοκιμάστηκε και η νέα προσθήκη στην αναζήτηση κι όλα δουλεύουν ρολόι.
Powered by Elxis : LabSchool.mysch.gr

Stavros Dimakis

καλησπέρα στην παρέα
Εγκατέστησα το λογισμικό δοκιμαστικά σε έναν τοπικό server με χρήση xamp. Θα ήθελα  την βοήθεια σας.
Καταρχήν το extension=php_curl.dll δεν υπάρχει στην γραμμή 878 που αναφέρεται και επομένως το πρόσθεσα χειροκίνητα.
Στη συνέχεια ακολούθησα τις λοιπές εντολές. Μου βγάζει την αρχική σελίδα αλλά από εκεί και πέρα όταν πατάω Σύνδεση ή Εγγραφή μου βγάζει The requested URL was not found on this server Error 404. Tί μπορεί να πήγε στραβά? Ελπίζω όχι όλα.
Ευχαριστώ

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

Γεια σου...

Δημιούργησες το...
C:\xampp\apache\conf\alias\protocol.conf

και έβαλες τη ρύθμιση στο...
C:\xampp\apache\conf\httpd.conf

Επίσης όλα ok...
.env
με APP_URL=http://localhost

.htaccess
με RewriteBase /e-protocol
Powered by Elxis : LabSchool.mysch.gr

Stavros Dimakis

Ευχαριστώ
Ναι υπάρχουν όλα αυτά αλλά δυστυχώς τίποτα.

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

Όλα τα αρχεία είναι στο φάκελο:

C:\xampp\htdocs\e-protocol

και η διεύθυνση...

http://localhost/e-protocol/login δε σε πάει στη σύνδεση;
Powered by Elxis : LabSchool.mysch.gr

mitsospap

Το συγκεκριμενο προγραμμα ηλεκτρονικου προτοκολλου ειναι δωρεαν; Να το εγκαταστησω στο σχολειο; Ρωταω γιατι κατι γραφει για demo στην πρωτη σελιδα.

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

Το Demo (επίδειξη) του Ηλεκτρονικού Πρωτοκόλλου επιτρέπει σε κάποιον που ενδιαφέρεται να το δει ζωντανά πως δουλεύει. Τρέχει στον προσωπικό μου υπολογιστή (όταν είναι ανοιχτός).

Φτιάχτηκε από εμένα (Γεώργιος Θεοδώρου) σε συνεργασία με τον Ζώτο Παναγιώτη. Είναι δωρεάν. Αν κάποιος επιθυμεί μπορεί να διαβάσει περισσότερα στο μενού [Περί...].

Αν σας κάνει καλό θα ήταν να το εγκαταστήσετε σε ένα server (lamp ή wamp). Εκεί θα ρυθμίσετε την πρόσβαση και την διατήρηση των πολύτιμων αρχείων σας.

mitsospap

Feature με αντιγραφο ασφαλειας σε usb stick εχετε βαλει;

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

#49
Τι εννοείτε;

Η διατήρηση των δεδομένων έχει διάφορα επίπεδα.


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


1. Backup της Βάσης δςδομένων.

Αυτό γίνεται μέσα από το Μενού [Διαχείριση->Backup]. Δημιουργείται αντίγραφο ασφαλείας της μορφής ".sql.gz" στον φάκελο storage/app/arxeio/backups. Η ίδια δουλειά μπορεί να γίνει και μέσω PhpMyAdmin.

Αυτό το αρχείο μπορείς εύκολα να το κατεβάσεις και να το αποθηκεύσεις οπουδήποτε (και σε usb stick).



2. Backup των συνημμένων αρχείων.

Τα συνημμένα αρχεία αποθηκεύονται στον φάκελο storage/app/arxeio/[Φάκελος Φ.]/ .

Μπορεί με τον καιρό αυτά να αποκτήσουν σοβαρό μέγεθος!

Θα πρέπέι με ένα πρόσφορο τρόπο να δημιουργούνται αντίγραφα ασφαλείας του storage/app/arxeio/.



3. Backup όλου του συστήματος.

Τι θα γίνει αν αστοχήσει ο σκληρός δίσκος; Θα πρέπει να στηθούν όλα από την αρχή!!!

Σ αυτό το επίπεδο ο διαχειριστης σκέφτεται μια συστοιχία δίσκων RAID

mitsospap

#50
Στο βιντεο σας μιλατε για το 1. Σωστα;
Κατα την αποψη μου θα επρεπε να υπαρχουν ρυθμισεις που θα ρυθμιζεται το μεσο αποθηκευσης του αντιγραφου ασφαλειας.
Γιατι ετσι πρεπει να παω εγω μεσα στο φακελο backups και να το παρω.
Με ενα click θα πρεπει να αποθηκευεται κατευθειαν εκει που θελω.

Τα συνημενα δεν ειναι μεσα σε αυτη την διαδικασια;

2) πως γινεται η επαναφορα του αντιγραφου; Γινεται μια ζημια ας πουμε. Υπαρχει καπου η διαδικασια; Γινεται να απλοποιηθει;

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

Παράθεση από: mitsospap στις 16 Ιαν 2019, 07:38:59 ΜΜ
Στο βιντεο σας μιλατε για το 1. Σωστα;
Κατα την αποψη μου θα επρεπε να υπαρχουν ρυθμισεις που θα ρυθμιζεται το μεσο αποθηκευσης του αντιγραφου ασφαλειας.
Γιατι ετσι πρεπει να παω εγω μεσα στο φακελο backups και να το παρω.
Με ενα click θα πρεπει να αποθηκευεται κατευθειαν εκει που θελω.

Τα συνημενα δεν ειναι μεσα σε αυτη την διαδικασια;

2) πως γινεται η επαναφορα του αντιγραφου; Γινεται μια ζημια ας πουμε. Υπαρχει καπου η διαδικασια; Γινεται να απλοποιηθει;

Γεια σας,

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

Εγώ το έχω στήσει (πραγματικά σε λίγα λεπτά μιας και το έμαθα αρκετά καλά) σε 2 υπολογιστές όπου αν κάτι πάει στραβά στον έναν σε λίγα λεπτά να λειτουργήσει η βάση στο δεύτερο του δικτύου. Το backup των αρχείων και της βάσης γίνεται αυτόματα κάθε μέρα σε NAS σε συγκεκριμένη ώρα με βάθος χρόνου 5 ημερών και τα αρχεία είναι άμεσα διαθέσιμα όπου μπορείς να τα αντιγράψεις ακόμα και σε usb.
Powered by Elxis : LabSchool.mysch.gr

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

#52
Το Ηλεκτρονικό Πρωτόκολλο είναι διαδικτυακή εφαρμογή (server side webapp) φτιαγμένη να τρέχει σε ένα server και να προσεγγίζεται από φυλομετρητές.

Οι εφαρμογές τέτοιου είδους δεν μπορούν για λόγους ασφαλείας να έχουν πρόσβαση στον υπολογιστή του χρήστη (client) για αποθήκευση - διάβασμα αρχείων.

Υπάρχει δυνατότητα μέσω του φυλομετρητή να λαμβάνονται ή να διαμοιράζονται αρχεία. Επίσης μπορούν να προσεγγίσουν μέσω ftp κάποιον άλλο server.

Δεν μπορούμε να τις αντιμετωπίζουμε σαν desktop εφαρμογές που έχουν περισσότερες δυνατότητες προσέγγισης του τοπικού συστήματος αρχείων.

Είναι φτιαγμένες να τρέχουν σε οποιοδήποτε σύστημα win, linux, mac παρέχει server.

Τώρα για να τρέξει το Ηλ.Πρ. στα WINDOWS χρησιμοποιείται μια εφαρμογή server (xampp, wampp).

Το framework laravel παρέχει δυνατότητες πρόσβασης αρχείων (με τους προηγούμενους περιορισμούς) στο Ηλ.Πρ. (δεν ανακαλύπτεις εκ νέου τον τροχό).

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

Αν η ΒΔ έχει υποστεί βλάβη τότε υποθέτω δεν θα υπάρχει πρόσβαση και στο Ηλ.Πρ. με ένα ωραίο "database error".

Εκ των πραγμάτων τα πραγματικά σφάλματα θέλουν "χέρι" από ένα "διαχειριστή".
 

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

Κατά τη διαδικασία πρωτοκόλλησης υπήρχαν συνάδελφοι που έγραφαν/σημείωναν τον αριθμό πρωτοκόλλου πριν κάνουν αποθήκευση με αποτέλεσμα, αν κάποιος άλλος πρώτος το έπαιρνε, να το σημείωναν λανθασμένα. Η εναλλαγή του χρώματος του πλαισίου στην αποθήκευση δε βοηθούσε αρκετά. Σκέφτηκα να το γράψω σε μήνυμα για το πότε καταχωρείται ο αριθμός πρωτοκόλλου και μαζί με αυτό και ποιος από τους συγγραφείς το πήρε πρώτος ή έκανε τελευταίος αλλαγές μαζί με ημερομηνία και ώρα. Σχετικές εικόνες βρίσκονται επισυναπτόμενες στο μήνυμα...

Μια ιδέα που μπορεί να ενσωματωθεί στην επόμενη αναβάθμιση...  ;) τι λέτε;
Powered by Elxis : LabSchool.mysch.gr

bugman

Μήπως να υπάρχει μια διπλή αρίθμηση. Πχ αρίθμηση issue#10 (ή αντί για το issue βάλε το αίτημα) για το άνοιγμα εγγραφής και μετά να υπάρχει μια εμφάνιση από μια λίστα "αιτημάτων εγγραφής πρωτοκόλλου" σε μια γραμμή: αίτημα#10->α/π 1001
Τα αιτήματα μπορεί να παραμένουν όση ώρα θέλουν ανοικτά ή και να διαγράφονται, αλλά δεν θα πιάνουν αριθμούς πρωτοκόλλου, ούτε θα δείχνουν πχ τον τελευταίο αριθμό αυτού. Προφανώς κάποιο mutex θα χρειαστεί για να προχωράει στον επόμενο ο αριθμός πρωτοκόλλου, όπως και ο αριθμός αιτημάτων. Τα αιτήματα μπορούν να έχουν αριθμό ημέρας δημιουργίας. Έτσι το αίτημα#10.25.2.19 θα είναι το 10ο της ημέρας. Ο χρήστης δεν χρειάζεται να βλέπει όλο το νούμερο. Αρκεί να παίρνει στη λίστα τα "τοπικά αιτήματα" που έχουν αποσταλεί και έχουν πάρει αρ. πρ.



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

bugman θα πάρει πολύπλοκη μορφή. Αυτό όμως που σκέφτηκες, το να μην εμφανίζεται ο αριθμός πρωτοκόλλου (πριν την αποθήκευση) το σκέφτηκα κι εγώ και γίνεται πολύ εύκολα.
Powered by Elxis : LabSchool.mysch.gr

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

Μια ερώτηση που έμμεσα αφορά την εφαρμογή: Ορισμένες χαρακτήρες Unicode symbol που χρησιμοποίησα στην εφαρμογή (εικονίτσες όπως φαίνεται και στις επισυναπτόμενες εικόνες) δεν εμφανίζονται κανονικά στο Google Chrome των Windows 7.

Βλέπετε κανονικά το εικονίδιο: 🦄 ή τετραγωνάκι;

Υπάρχει κάποια έκδοση από γραμματοσειρά που πρέπει να εγκαταστήσω στα windows 7 για να εμφανίζονται όλα αυτά τα εικονίδια;
Powered by Elxis : LabSchool.mysch.gr

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

#57
Καλησπέρα κι από εμένα...

Δημήτρη χαίρομαι για την επίμονη συνεισφορά σου στο project.

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

https://github.com/thomastkim/laravel-online-users
https://stackoverflow.com/questions/32666052/get-all-connected-users-laravel-5
https://github.com/joshrainwater/active-users

Ίσως με λίγο περισσότερο ψάξιμο βρεθούν και πιο πρόσφατες λύσεις.

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


Θα το δούμε εν καιρώ...

Μέχρι τότε πρώτα καταχωρώ το Πρωτόκολλο και μετά το σημειώνω



Επίσης θα ήθελα να θέσω κάτι ακόμα:

Το laravel εξελίσσεται και προοδεύει (παρούσα έκδοση 5.8 )
Το Ηλ.Πρωτόκολλο φτιάχτηκε με την έκδοση 5.3
Το ίδιο και η PHP έχει πάει στην έκδοση 7.2

Αυτά δεν θα τα καταλάβει ένας χρήστης των windows
όμως σε ένα linux server θα πρέπει να γίνουν προσαρμογές...
Πιθανόν να πάμε σε εκδόσεις δηλ

Ηλ. Πρωτόκολλο με laravel 5.3 - php 5.6
Ηλ. Πρωτόκολλο με laravel 5.3 - php 7
Ηλ. Πρωτόκολλο με laravel 5.7 - php 7.2
...

Ήδη στον προσωπικό μου server έχω προβεί σε αλλαγές γιατί με την ενημέρωση της php δεν δούλευαν κάποια παραγματάκια. Δεν έχω ανεβάσει ακόμη τίποτα στο github.

Όσο περισσότερα Ηλ.Πρωτόκολλα "δουλεύουν" στην παραγωγή τόσο μεγαλύτερη η ευθύνη των αλλαγών.

Επίσης κοιτάζω αν και πως μπορεί να τρέξει σαν τοπική εφαρμογή με το phpdesktop και sqlite


Τα σέβη μου στην ομάδα.
Διαθέσιμος μετά το Σεπ 2019.

bugman

Υπάρχει mutex class στην php
http://php.net/manual/en/class.mutex.php

Δουλεύει με το να προσπαθεί κάποιος να το κλειδώσει. Αυτός που θα τα καταφέρει, θα κάνει τους άλλους να περιμένουν.

http://php.net/manual/en/mutex.lock.php

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

Δουλεύοντας με ένα framework όπως το laravel προσπαθείς να "προγραμματίζεις" με τον τρόπο του framework και αφήνεις αυτό να συνδιαλέγεται με την php.

Φυσικά και δεν απαγορεύεται να γράψεις καθαρό php κώδικα. Ούτως ή άλλως όλο το πράγμα είναι php.

Ακολουθώντας όμως τον τρόπο του framework έχεις περισσότερες πιθανότητες να είναι το project διαχρονικό με τις λιγότερες ανάγκες προσαρμογής.

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

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

Σημείωση: Κάποια βοήθεια με το ερώτημά μου για χαρακτήρες Unicode symbol στα windows 7;
Powered by Elxis : LabSchool.mysch.gr

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

#61
Από την αρχή της σχεδίασης του project τέθηκε από τον κ. Ζώτο η επιθυμία να μπορείς να καταχωρείς "κενό" Πρωτόκολλο και να το συμπληρώνεις μετά.
Παρότι αυτό στην αρχή δεν το θεωρούσα "πρέπον", είναι βολικό να μπορείς να κάνεις κάτι τέτοιο... όταν υπάρχει φόρτος εργασίας.  >:D

Μπορούμε αν θέλουμε να τροποποιήσουμε τον validator της φόρμας εισαγωγής ώστε να μην επιτρέπεται κάτι τέτοιο. Το ερώτημα που εγείρεται είναι: Το θέλουμε;

Ουδέν καλόν αμιγές κακού (το παρέφρασα λίγο)  :angel:

Οι περισσότεροι έλεγχοι από τον κώδικα κάνουν ένα εργαλείο πιο "άκαμπτο". Το "ευέλικτο" εργαλείο θέλει πιο επισταμένη χρήση και έλεγχο. Κάπου πρέπει να βρούμε τη χρυσή τομή των δύο!

Δεν γίνεται να προβλέψουμε κάθε τί !!!

Ο έλεγχος των πρωτοκόλλων της ημέρας μπορεί να γίνει από τη λίστα Πρωτοκόλλου

Υπάρχουν και άλλα "μυστικά":
πχ. όταν στις ρυθμίσεις στα Δικαιώματα Χρηστών η ρύθμιση "Έλεγχοι & περιορισμοί κατά την καταχώριση" τεθεί σε ΟΧΙ
ο Διαχειριστής μπορεί να Τροποποιήσει και τον Αριθμό Πρωτοκόλλου ή ακόμη και να Διαγράψει ένα Πρωτόκολλο!!!

Κάποιες επιλογές θέλουν ΠΡΟΣΟΧΗ και backup, backup, backup, ...

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

#62
Χάρη στη εξαιρετική δουλειά του cztomczak με το phpdesktop μπορεί στα windows να τρέξει η php σαν desktop εφαρμογή χρησιμοποιώντας τον chrome.

https://github.com/cztomczak/phpdesktop

Το Ηλεκτρονικό Πρωτόκολλο προσαρμόστηκε και ρυθμίστηκε. Χρησιμοποιείται σαν ΒΔ η sqlite.

Κατεβάστε το συμπιεσμένο αρχείο 7z από τον παρακάτω σύνδεσμο:

https://github.com/g-theodoroy/electronic_protocol/releases/download/win.0.0/electronic_protocol-win.zip

Τρέξτε το αρχείο electronic_protocol.exe

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

Το δοκίμασα και δουλεύει άψογα! :-)
Powered by Elxis : LabSchool.mysch.gr

kokkonos

Καταρχήν το ηλεκτρονικό πρωτόκολλο φαίνεται εξαιρετικά λειτουργικό ως εφαρμογή.
Θα ήθελα όμως να ρωτήσω το εξής:
γιατί όταν καταχωρίζεται μια εγγραφή στο πρωτόκολλο δεν κλειδώνει, ώστε να μη μπορούν οι συγγραφείς να την αλλάξουν (αυτή τη λειτουργικότητα θα μπορούσε να την έχει ο διαχειριστής);
Μας ενδιαφέρει να μη μπορεί να αλλάζει (έτσι απλά) το περιεχόμενο του βιβλίου πρωτοκόλλου.

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

Προγραμματιστικά είναι θέμα κάποιων γραμμών κώδικα!!!

Όπως δεν αφήνεις ένα χρήστη "Αναγνώστη" να εισάγει ή να τροποποιήσει ένα Πρωτόκολλο έτσι μπορείς να κάνεις και ένα χρήστη "Συγγραφέα" να μη μπορεί να τροποποιήσει ένα Πρωτόκολλο.


Εισάγει λοιπόν ο Συγγραφέας ένα Νέο Πρωτόκολλο και ανακαλύπτει ότι έκανε ένα μικρό λάθος!  Πως θα το διορθώσει;

Θα μπορούσαμε να επιτρέπουμε την τροποποίηση Πρωτοκόλλου στον Συγγραφέα (και μόνο σε αυτόν) για περιορισμένο χρόνο μετά την καταχώριση του Νέου Πρωτοκόλλου (πχ: 5 ή 10 λεπτά).


Το κενό Πρωτόκολλο που θέλουμε σε περίπτωση φόρτου εργασίας ;;;

Θα μπορούσαμε να ελέγξουμε αν το Θέμα ή όλα τα πεδία είναι κενά και τότε να επιτρέπουμε την τροποποίηση!


Όλα είναι θέμα προδιαγραφων... Τί θέλουμε να μπορεί να γίνεται και από ποιόν!!!


Όπως έγραψα σε προηγούμενη απάντηση:

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


Θα μπορούσαν να προστεθούν κάποιες ρυθμιστικές μεταβλητές:

πχ "επιτρέπεται_στον_συγγραφέα_να_ενημερώνει_πρωτόκολλο" = true ή false

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


Μήπως όμως όλα γίνονται πιο περίπλοκα στις ρυθμισεις;;;


Δεν γνωρίζω τα πάντα ούτε έχω άποψη για τα πάντα!!!

Προέβην στο εγχείρημα γιατί τα Ηλ.Πρωτόκολλα που έβρισκα ήταν επί πληρωμή!!!

Απλά το υλοποίησα και με τη βοήθεια μελών της λίστας συνεχώς προοδεύει.

Ο κώδικας είναι ανοιχτός και μπορεί όποιος θέλει και έχει μεράκι να τον τροποιήσει και να τον προχωρήσει.

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

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

Θα μπορούσε να μπει ως επιλογή στις ρυθμίσεις. Δηλαδή Τροποποίηση ενημέρωση εγγραφών από τον κάτοχο της εγγραφής ή απ όλους τους συγγραφείς. Με εξαίρεση πάντα των διαχειριστών. Νομίζω γίνεται με λίγες γραμμές κώδικα...

Και όλοι οι συγγραφείς να μπορούν να ενημερώνουν δε νομίζω να υπάρχει πρόβλημα αρκεί να γνωρίζουμε ποιος ενημέρωσε τελευταίος τις εγγραφές κάτι που με το ID του χρήστη φαίνεται.
Powered by Elxis : LabSchool.mysch.gr

bugman

Πού είναι ο κώδικας; Κατέβασα το PHP Desktop v72.1 for Linux (γιατί το βασικό μου λειτουργικό είναι το ubuntu studio, οπότε με βολεύει εκεί καλύτερα, δεν ξέρω αν κάποιος άλλος το τρέχει σε linux).

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

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

Απ την άλλη στο phpdesktop for windows έτρεξε με μόλις μια μικρή αλλαγή.


Το Ηλεκτρονικό πρωτόκολλο είναι προσβάσιμο στο:

https://github.com/g-theodoroy/electronic_protocol


Προσωπικά το τρέχω σε Arch linux. http://okiroi.no-ip.org/protocol


Στα linux δεν χρειάζεσαι το phpdesktop (αυτό είναι προσωπική μου γνώμη).

Μπορείς να στήσεις ένα server με apache, php και mariadb ή sqlite και να το τρέξεις από κει.

Εναλακτικά μπορείς να κατεβάσεις xampp για linux.


ΠΡΟΣΟΧΗ

Στις οδηγίες που θα δεις στο github θα διαβάσεις για κάποια script εγκατάστασης. Το script για ubuntu ενημερώθηκε από εμένα τελευταία φορά τον Μάιο του 2018. Δες την σχετική απάντηση από τον igaid:

Απ: Ηλεκτρονικό Πρωτόκολλο Σχολείου
« Απάντηση #15 στις: 23 Μάι 2018, 11:56:04 πμ »

Τα script θέλουν επικαιροποίηση καθώς κάθε διανομή έχει τον κύκλο της (πχ ubuntu κάθε 6 μήνες).

Δεν ξέρω ποια διανομή έχεις.  Ίσως δουλέψει κατευθείαν και σε σένα. Ίσως θα ήταν καλό να κατεβάσεις το script και να τρέξεις τις εντολές μία μία. Μπορεί να πρέπει να αντικαταστήσεις κάποια προγράμματα με την νεότερη έκδοση

Αν πάλι θέλεις σαν ΒΔ την sqlite θα πρέπει να παντρέψεις τις ρυθμίσεις και τον κώδικα του phpdesktop Ηλ.Πρωτοκόλλου από το 7z με το github.

Το τρέχον Ηλ. Πρωτόκολλο χρησιμοποιεί το laravel 5.8 και php 7.

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

Σχετικά με το κλείδωμα της εγγραφής θα μπορούσε να υπάρχει μια επιλογή για κάθε μία εγγραφή ώστε να δίνεται η δυνατότητα να κλειδώνεις την εγγραφή στον χρήστη (να το τροποποιεί και να το ενημερώνει μόνο ο ίδιος) ή και στους υπόλοιπους.
Powered by Elxis : LabSchool.mysch.gr

bugman

κ. Θεοδώρου,
Για πoιο λόγο επιλέχθηκε η php για το πρωτόκολλο;
Λογικά δεν πρέπει να είναι σε μία και μόνο θέση εργασίας; Μια desktop εφαρμογή δεν θα ήταν καλύτερη;
Με αυτό το σκεπτικό θα είναι ένας ο χρήστης, οπότε δεν θα υπάρχει θέμα ανοικτής ή διπλής εγγραφής.
Επίσης στο θέμα της εκτύπωσης, βλέπω ότι απαιτείται εκτυπωτής Α3. Υποτίθεται ότι το έντυπο είναι ένα τύπος για αντίγραφο ασφαλείας. Με το σκεπτικό αυτό ακόμα και Α4 θα μπορούσε να χρησιμοποιηθεί, επειδή μπαίνει εύκολα σε φακέλους, με την διαφοροποίηση ότι αντί να εμφανίζει τις στήλες τη μια δίπλα στην άλλη, να εμφανίζει τις εγγραφές την μία μετά την άλλη. Αυτό σημαίνει ότι κάθε εγγραφή θα είναι μια ομαδοποίηση δυο ή περισσότερων γραμμών.

Δοκίμασα με το phpdesktop, σε ubuntu 18.04.2 LTS, δουλεύει ως έχει, αλλά όταν του βάλω στο www το πρωτόκολλο, και αφήσω το index.php του phpdesktop, για να μπορώ να καλέσω από το public το index.php, βγάζει πρόβλημα, με τα modules του boostrap που λείπουν, και θα έπρεπε να είναι στο  φάκελο vendor (το οποίο δεν υπάρχει στο zip που κατέβασα), όπου υποτίθεται θα υπήρχε το autoload.php. Βρήκα ένα τρόπο να φτιάξω τον φάκελο, αλλά ξαναφτιάχνει τα composer json και lock, με συνέπεια να μην προχωράει το πρόγραμμα (server error 500).

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

#71
phpdesktop for linux

Παράθεση από: Γεώργιος Θεοδώρου στις 27 Μαρ 2019, 07:19:14 ΠΜ
Το phpdesktop for linux είναι σε αρχικό στάδιο. Προσπάθησα να στήσω το Ηλ.Πρωτόκολλο πρώτα εκεί αλλά συνάντησα δυσκολίες... Αν κάποια στιγμή κάποιος (συμπεριλαμβανομένου και εμού) καταφέρει να το στήσει ας μας το κοινοποιήσει.

Απ την άλλη στο phpdesktop for windows έτρεξε με μόλις μια μικρή αλλαγή.


Το Ηλεκτρονικό πρωτόκολλο είναι προσβάσιμο στο:

https://github.com/g-theodoroy/electronic_protocol


Προσωπικά το τρέχω σε Arch linux. http://okiroi.no-ip.org/protocol


Στα linux δεν χρειάζεσαι το phpdesktop (αυτό είναι προσωπική μου γνώμη).

Μπορείς να στήσεις ένα server με apache, php και mariadb ή sqlite και να το τρέξεις από κει.

Εναλακτικά μπορείς να κατεβάσεις xampp για linux.


ΠΡΟΣΟΧΗ

Στις οδηγίες που θα δεις στο github θα διαβάσεις για κάποια script εγκατάστασης. Το script για ubuntu ενημερώθηκε από εμένα τελευταία φορά τον Μάιο του 2018. Δες την σχετική απάντηση από τον igaid:

Απ: Ηλεκτρονικό Πρωτόκολλο Σχολείου
« Απάντηση #15 στις: 23 Μάι 2018, 11:56:04 πμ »

Τα script θέλουν επικαιροποίηση καθώς κάθε διανομή έχει τον κύκλο της (πχ ubuntu κάθε 6 μήνες).

Δεν ξέρω ποια διανομή έχεις.  Ίσως δουλέψει κατευθείαν και σε σένα. Ίσως θα ήταν καλό να κατεβάσεις το script και να τρέξεις τις εντολές μία μία. Μπορεί να πρέπει να αντικαταστήσεις κάποια προγράμματα με την νεότερη έκδοση

Αν πάλι θέλεις σαν ΒΔ την sqlite θα πρέπει να παντρέψεις τις ρυθμίσεις και τον κώδικα του phpdesktop Ηλ.Πρωτοκόλλου από το 7z με το github.

Το τρέχον Ηλ. Πρωτόκολλο χρησιμοποιεί το laravel 5.8 και php 7.



Εκτυπώσεις

Στις οδηγίες χρήσης γράφει: Συνίσταται εκτύπωση σε Α3.

Οι προτιμήσεις εκτύπωσης δεν καθορίζονται από το Ηλ.Πρωτόκολλο. Αν δώσεις για "εκτύπωση" πολλά Πρωτόκολλα θα πάρεις μια μεγάλη... ιστοσελίδα.
Οι προτιμήσεις εκτύπωσης ορίζονται στον Φυλλομετρητή. Μπορείς αν θέλεις να τυπώσεις σε Α4.


webbased vs desktop app

Δεν έχω σχόλια...


php

Ίσως αν ξεκίναγα τώρα το project να επέλεγα javascript και electron

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

Επανέρχομαι αγαπητέ bugman



Για να δημιουργηθεί ο φάκελος vendor πρέπει να τρέξουμε την εντολή composer install από terminal καθώς και κάποιες άλλες όπως περιγράφεται εδώ:

https://github.com/g-theodoroy/electronic_protocol#%CF%81%CF%8D%CE%B8%CE%BC%CE%B9%CF%83%CE%B7-php



Ο composer είναι ένας διαχειριστής εξαρτήσεων της php για να μειώνεται ο όγκος των αρχείων σε κάθε project. Με αυτόν τραβάμε τις εξαρτήσεις και δημιουργείται ο φάκελος vendor με τα απαραίτητα προγράμματα. Για περισσότερα:

https://getcomposer.org/




Για τη ρύθμιση του laravel στο phpdesktop έχει οδηγίες εδώ:

https://github.com/cztomczak/phpdesktop/wiki/PHP-frameworks-support#laravel



Για εγκατάσταση του  laravel εδώ: https://laravel.com/docs/5.8/installation



Δυστυχώς κι εγώ έπεσα σε "server error 500". Γι αυτό και εγκατέλειψα.

Το phpdesktop για linux είναι πολύ άγουρο ακόμη...


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

#73
Τροποποιήθηκαν

ρυθμίσεις πρόσβασης των Χρηστών


Ο "Αναγνώστης" παραμένει ώς έχει (μπορεί μόνο να δεί, δεν εισάγει, δεν τροποποιεί)


Ο "Συγγραφέας" ανάλογα με τις Ρυθμίσεις στο πεδίο "Δυνατότητα Επεξεργασίας Πρωτοκόλλου από Συγγραφέα"

  • ΟΧΙ => Δεν μπορεί κανείς να τροποποιήσει Πρωτόκολλο
  • ΕΝΑΣ => Μόνο ο χρήστης που καταχώρισε το Πρωτόκολλο μπορεί να το τροποποιήσει
  • ΟΛΟΙ => Όλοι οι συγγραφείς μπορούν να τροποποιήσουν

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

Χρονόμετρο μετρά αντίστροφα τον χρόνο για τον οποίο μένει ανοιχτό το Πρωτόκολλο για επεξεργασία

ΕΞΑΙΡΕΣΗ αποτελεί Πρωτόκολλο δίχως Θέμα (κενό Πρωτόκολλο)


Ο "Διαχειριστής" δεν υπόκειται στους παραπάνω περιορισμούς



Εμφάνιση Πληροφοριών Χρηστών

Υπάρχει δυνατότητα να εμφανίζεται  ή όχι το username ή το όνομα

  • των ενεργών χρηστών εφόσον είναι πάνω από 2
  • του χρήστη που καταχώρισε ή ενημέρωσε ένα Πρωτόκολλο και πότε

Ευχαριστώ για τις υποδείξεις

ΠΑΡΑΚΑΛΩ ΔΟΚΙΜΑΣΤΕ ΚΑΙ ΕΠΙΒΕΒΑΙΩΣΤΕ ΟΤΙ ΟΛΑ ΔΟΥΛΕΥΟΥΝ ΠΡΙΝ ΤΑ ΒΑΛΕΤΕ ΣΕ ΠΑΡΑΓΩΓΗ
ΑΝΘΡΩΠΟΙ ΕΙΜΑΣΤΕ...

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

#74
Είμαι σε φάση δοκιμασίας... Οι πληροφορίες (χρήστη και ημερομηνία πρωτοκόλλησης - ενημέρωσης) εμφανίζονται κανονικά με την πρωτοκόλληση του εγγράφου αλλά δε βλέπω να γίνονται εγγραφές στο sessions της βάσης με αποτέλεσμα να μη λειτουργούν (μάλλον) οι περιορισμοί για 2 συγγραφείς να θέλουν να πάρουν ταυτόχρονα ένα πρωτόκολλο ή να εμφανίζονται και τα 2 ονόματά (ενεργοί χρήστες) στη διαδικασία αποθήκευσης του πρωτοκόλλου ή να μην εμφανίζεται το πρωτόκολλο μέχρι την αποθήκευση. Πάντως λειτουργεί χωρίς σφάλματα... άψογα. Μόνο μένει ένα απλό σύστημα αναθέσεων για να θεωρηθεί ολοκληρωμένη πλατφόρμα πρωτοκόλλησης και ανάθεσης αντικειμένων σε έναν εκπαιδευτικό οργανισμό. Η δοκιμή γίνεται με εκνέου εγκατάσταση σε xampp και Windows.

Συγκεκριμένα αυτοί οι περιορισμοί:

https://github.com/g-theodoroy/electronic_protocol/commit/01505fb588f1fe867a38c3bc1bfde9a83f475f04
Powered by Elxis : LabSchool.mysch.gr

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

Η νέα αναβαθμισμένη έκδοση του πρωτοκόλλου δουλεύει άψογα. Η εκ νέου σημερινή εγκατάσταση λειτούργησε κανονικότατα με όλους τους νέους περιορισμούς.

Το τελευταίο στάδιο Γιώργο νομίζω πως θα είναι οι αναθέσεις που σου έλεγα (νομίζω πως αυτό δεν είναι τίποτα μπροστά στα σύνθετα που ήδη έχεις κάνει). Εκείνος ο χρήστης που θα ορίζεται ως διεκπεραιωτής ενός εγγράφου (υπάρχει πεδίο τέτοιο στο πρωτόκολλο -γιατί να είναι ελεύθερο κείμενο αφού οι διεκπεραιωτές είναι στην ουσία χρήστες- μαζί με ημερομηνία διεκπεραίωσης) να του εμφανίζεται η εγγραφή σε ξεχωριστή προσωπική λίστα (να ξέρει γενικά τι πρέπει να διεκπεραιώσει από το σύνολο των εγγραφών και αν το διεκπεραίωσε πότε). Αυτό είναι χρήσιμο ακόμα και στο Διευθυντή για να απομονώνει πρωτόκολλα που απαιτούν άμεσες ενέργειες. Στην ουσία... μια λίστα (με προς διεκπεραίωση έγγραφα και διεκπεραιωμένα ανά χρήστη) που φυσικά αν έχεις χρόνο και διάθεση μπορείς να το κάνεις και επίσημα. Εγώ με αυτό θεωρώ πως δε χρειάζεται κάτι άλλο η εφαρμογή σου ως λειτουργία...

Υ: Κάτι που συνάντησα κατά την εγκατάσταση: Ένα σφάλμα με την εντολή php artisan optimize
Powered by Elxis : LabSchool.mysch.gr

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

Το σφάλμα στο php artisan optimize οφείλεται σε αυτόματο κώδικα route που γράφει το laravel όταν χρησιμοποείς την εντολή php artisan make:auth για να φτιάξει
αυτόματα τις route του auth. Με την php 7 χτυπάει...

Με ένα γρήγορο γκουγκλάρισμα είδα ότι παραπονιούνται διάφοροι για το bug

https://github.com/laravel/framework/issues/22034

Δεν επηρεάζεται η εφαρμογή.


ΕΡΩΤΗΣΗ

Θα μπορούσες Δημήτρη μιας και έχεις ευχέρεια και προπάντων εμπειρία στο στήσιμο σε Xampp σε Windows να μας φτιάξεις ένα οδηγό - μνημόνιο (ίσως και με κάποιες φωτογραφίες) για τα στάδια του σεταρίσματος;

Πιστεύω ότι θα βοηθήσει τους συναδέλφους.


Ευχαριστώ πολύ για την προσφορά σου στο project


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

Το έχω ήδη προγραμματίσει... θα ετοιμάσω τον οδηγό εντός των ημερών! Θα μιλήσουμε και τηλεφωνικά...
Powered by Elxis : LabSchool.mysch.gr

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

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

Προστέθηκε ο ρόλος "Αναθέτων" (Συγγραφέας που μπορεί να Αναθέτει σε άλλους την Διεκπεραίωση των Πρωτοκόλλων).

Κάθε χρήστης μπορεί να περιηγηθεί σε λίστα Πρωτοκόλλου με

  • προς Διεκπεραίωση Πρωτόκολλα
  • Διεκπεραιώμένα
Οι "Αναθέτες" και "Διαχειριστές" μπορούν να δούν τα "προς Διεκπεραίωση" και "Διεκπεραιωμένα" για όποιο χρήστη επιλέξουν.

Προστέθηκε πεδίο όπου ο χρήστης χαρακτηρίζεται "ενεργός" ή όχι. (πχ κάποιος πρώην χρήστης έφυγε με μετάθεση)

Χρησιμοποιείται σαν Βάση Δεδομένων η sqlite. Η βάση δεδομένων protocol.sqlite βρίσκεται στον φάκελο arxeio έτοιμη προς χρήση. Φυσικά αν κάποιος επιθυμεί να χρησιμοποιήσει την mysql μπορεί να το κάνει τροποποιώντας τις ρυθμίσεις.

To Ηλ. Πρωτόκολλο ολοκλήρωσε την μετάβαση στην έκδοαη laravel 5.8.

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


ΠΡΟΣΟΧΗ Είναι μια αλλαγή μεγάλης έκτασης

Όσοι έχουν ενεργά Πρωτόκολλα πρέπει να στήσουν Νέα και μετά να μεταφέρουν τα δεδομένα (χμ... αυτό χρειάζεται κάποιες γνώσεις SQL!!!)

Ευχαριστώ και πάλι τον Δημήτρη Κανά για την καθοδήγηση.

Καλές δοκιμές και backup, backup, backup.

ΥΓ: Η μεγάλη αλλαγή του κώδικα στο github οδήγησε σε αρκετές τροποποιήσεις ώστε να διορθωθούν μικρολαθάκια. Μένει μόνο να βεβαιωθούμε ότι δεν υπάρχει κάποιο bug!!!

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

#79
Οδηγός εγκατάστασης του Ηλ. Πρωτοκόλλου σε Ubuntu 18.04:

Οδηγίες εγκατάστασης

Σχετικό βίντεο: https://youtu.be/7x3zE0tEaLI


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


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

#81
linux, phpdesktop, Ηλ. Πρωτόκολλο


Τελικά ακολουθώντας τις οδηγίες του cztomczak:

https://github.com/cztomczak/phpdesktop/wiki/Build-on-Linux#build-php-from-sources

έχτισα από τις πηγές (build) την php με τις απαραίτητες βιβλιοθήκες.


Οδηγίες εγκατάστασης



ΠΡΟΣΟΧΗ:

Φροντίστε ο φάκελος storage να είναι προσβάσιμος και εγγράψιμος από όλους.


Κάντε το php-cgi εκτελέσιμο πηγαίνοντας στον φάκελο του Ηλ.Πρωτοκόλλου και δίνοντας την εντολή

chmod +x php-cgi

Παρατήρησα ότι το build στο Archlinux δεν δουλεύει σε Debian - Ubuntu. Στην αρχειοθήκη υπάρχει php-cgi για Debian - Ubuntu. Αν στη διανομή σας δεν δουλεύει αφού κάνετε τα παραπάνω τότε θα πρέπει να "χτίσετε" την php-cgi για τη διανομή σας.

tsipiripo

Κατ'αρχάς συγχαρητήρια για την πολύ καλή δουλιά.

Μία ερώτηση: για να αλλαχτούν/τροποποιηθούν οι φάκελοι Φ στους οποίους γίνεται η πρωτοκόλληση, πρέπει να αλλαχτούν από τη βάση δεδομένων (σε ubutnu 18.04, έχω εγκαταστήσει το sqlitebrowser, η βάση που είναι;;) ή μπορεί να γίνει και από τις ρυθμίσεις της εφαρμογής (δεν το βρήκα κάπου);

Ευχαριστώ

Edit: Οκ, βρήκα τη βάση. Ο πίνακας keepvalues είναι αυτός που ψάχνω;

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

Σωστά. keepvalues.

Ο Διαχειριστής μπορεί να τροποποιήσει αυτόν τον πίνακα από το Μενού

[Πρωτόκολλο] => [Διατήρηση]

στη σελίδα Διατήρηση αρχείων

tsipiripo

Μερικές ιδέες:
1. Στην αναζήτηση πρωτοκόλλου, για τα εισερχόμενα να μπορείς να κάνεις αναζήτηση και με τον αριθμό πρωτοκόλλου του εισερχομένου εγγράφου (τον δικό του, αυτόν δηλαδή που έδωσε η εκδούσα αρχή). Χρήσιμο αν θέλεις πχ να επιβεβαιώσεις αν πχ το τάδε έγγραφο του Υπουργείου έχει πρωτοκολληθεί στο σχολείο/το έχουμε λάβει.
2. Σχετικά με τα ονόματα των συνημμένων εγγράφων: θα μπορούσε κατά την αποθήκευση του εγγράφου Αίτηση.pdf που πρωτοκολλήθηκε στις 8/5/2019 με αριθμό 152 στον φάκελο Φ1, το όνομά του να αλλάζει σε F1_152_08052019.pdf (διατηρείς δηλαδή την κατάληξη  και για όνομα του δίνεις το Φ (με τον Αγγλικό χαρακτήρα F ώστε να μην έχεις και πρόβλημα στα Windows) ακολουθούμενο από τον αριθμό πρωτοκόλλου που παίρνει και την ημερομηνία. Με αυτό τον τρόπο: α) λύνεις το πρόβλημα της εμφάνισης των ονομάτων αρχείων στα windows β)αν υποθέσουμε ότι έχεις πάρει backup των αρχείων σε κάποιο άλλο αποθηκευτικό μέσο -για οικονομία χώρου, καθώς ο συνολικός χώρος που καταλαμβάνουν τα αρχεία μπορεί να γίνει πολύ μεγάλος - θα μπορείς πολύ εύκολα να εντοπίσεις το αρχείο που θέλεις ακόμη και χωρίς να έχεις πρόσβαση στη βάση/εφαρμογή

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

Παιδιά συγχαρητήρια πολύ καλή δουλειά.  Το έχω εγκαταστήσει στη ΔΔΕ Ρεθύμνου και λειτουργεί τέλεια. Αναρωτιέμαι αν υπάρχει δυνατότητα να συνδεθεί με το email; Για τη διεύθυνση θα ήταν πολύ χρήσιμο.  Υπάρχει μια αντίστοιχη εφαρμογή του Χρήστου Μλέτσα που είναι ελεύθερη αλλά έχει τα θεματάκια της.   
Πρώην ΚΕΠΛΗΝΕΤ

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

Προστέθηκε η δυνατότητα σύνδεσης με ένα λογαριασμό email (πχ: electronicProtocol@gmail.com)

Κάθε φορά που ανανεώνεται η Λίστα Πρωτοκόλλου ή καταχωρίζουμε ή ενημερώνουμε ένα Πρωτόκολλο γίνεται έλεγχος για εισερχόμενα emails. Αν υπάρχουν ενημερωνόμαστε.

Από το μενού [Πρωτόκολλο]->[Εισερχόμενα email]

  • Eλέγχουμε τα email.
  • Επιθεωρούμε τα εισερχόμενα και κρίνουμε αν θα τα αποθηκεύσουμε ή όχι.
  • Σημαίνουμε ένα email ως διαβασμένο. Δεν Πρωτοκολλείται. Μεταφέρεται στον φάκελο INBOX.beenRead.
  • Καταχωρίζουμε το email στο Πρωτόκολλο χωρίς να στείλουμε Απόδειξη παραλαβής. Μεταφέρεται στον φάκελο INBOX.inProtocol.
  • Καταχωρίζουμε το email στο Πρωτόκολλο και στέλνουμε μέσω email Απόδειξη παραλαβής. Μεταφέρεται στον φάκελο INBOX.inProtocol.

Τα καταχωρισμένα email αποθηκεύονται ως αρχεία html στον φάκελο storage/emails.
Μπορούμε να τα ανασύρουμε και να εκτυπώσουμε, ...
Αν έχουν συνημμένα αρχεία πρέπει να επιλεγεί ένας φάκελος Φ.

Μπορούμε να ρυθμίσουμε περισσότερους λογαριασμούς email στο αρχείο config/imap.php.
Υπάρχουν ήδη προρυθμισμένοι ένας λογαριασμός gmail και ένας sch, πρέπει μόνο να συμπληρωθούν username->password.
Ο Διαχειριστής επιλέγει τον ενεργό λογαριασμό.

:)

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

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

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

Μια ερώτηση: επειδή έχω καιρό να κάνω τις ενημερώσεις υπάρχει κάποια σειρά ή μπορώ να τις κάνω όλες μαζί; Υπάρχει κάπου η διαδικασία που πρέπει να ακολουθήσω;   
Πρώην ΚΕΠΛΗΝΕΤ

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

Παράθεση από: igaid στις 24 Μαΐου 2019, 09:50:19 ΠΜ
Μια ερώτηση: επειδή έχω καιρό να κάνω τις ενημερώσεις υπάρχει κάποια σειρά ή μπορώ να τις κάνω όλες μαζί; Υπάρχει κάπου η διαδικασία που πρέπει να ακολουθήσω;

Προτείνω καθαρό install από την αρχή. Αν έχεις δεδομένα πρέπει να τα εισάγεις μετά.

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

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

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


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

Πολύ καλό και με ταχύτητα... :)

Ερώτηση στην αναζήτηση: με % εμφανίζονται όλα τα πρωτόκολλα... υπάρχει κάποιος ειδικός χαρακτήρας που να μας δίνει τις κενές εγγραφές σε ένα πεδίο αναζήτησης π.χ. παρατηρήσεις;
Powered by Elxis : LabSchool.mysch.gr

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

Αλλαγές στην Αναζήτηση Πρωτοκόλλου

Προστέθηκε ένα checkbox δίπλα στο textbox που πληκτρολογούμε για αναζήτηση.

Όταν το επιλέγουμε μας δίνει τις εγγραφές που στο επιλεγμένο πεδίο έχουν Null.


Μη σας παραξενέψει η αναζήτηση με τα πεδία "Όνομα συννημένου" και "ΑΔΑ",

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

Ευχαριστώ πολύ Δημήτρη ...

Θοδωρής Καρτσιώτης

Καλησπέρα,

Θα πρότεινα ακόμη μία αλλαγή....

Να εμφανίζονται οι υπάρχουσες λέξεις-κλειδιά (keywords) κατά την πληκτρολόγηση όπως γίνεται με το αντίστοιχο dropdown list των Φακέλων Αρχείου (Φ1, Φ2 κλπ.)

ΥΠΛΗΝΕΤ Πιερίας | https://plinetpierias.gr

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

Προστέθηκε λίστα με λέξεις κλειδιά

Μόλις πληκτρολογήσεις στην textarea "Λέξεις κλειδιά" γίνεται αναζήτηση στη ΒΔ για τις αποθηκευμένες λέξεις κλειδιά που ταιριάζουν με την πληκτρολόγηση.

Αν στο πεδίο υπάρχουν περισσότερες από μία λέξεις, χωρίζονται με το κόμμα (,), σπάνε σε πίνακα, αφαιρούνται οι διπλές και ταξινομούνται.

Με το κλικ ενημερώνεται η textarea με τη λέξη που κλικάραμε στη λίστα. Για την επόμενη λέξη κλειδί αρκεί να μπει κόμμα (,) στο τέλος και ξαναξεκινάει  η διαδικασία.

Ελπίζω teokarts να είναι όπως το φαντάστηκες.

Ευχαριστώ ...

ΥΓ: Προσοχή μη μου έφυγε κάποιo bug! Δοκιμές και backup, backup,  backup, ...

Θοδωρής Καρτσιώτης

Προφανώς είμαι ακόμη σε παλιά έκδοση.... :-) Και μια που το ανέφερα, πως προτείνεις να αναβαθμιστώ. Εξαγωγή της βάση με PhpMyAdmin, εγκατάταση της πιο πρόσφατης έκδοσης και μετά import της βάσης με τον ίδιο τρόπο;

Υπάρχει κάποιος μπούσουλας;
ΥΠΛΗΝΕΤ Πιερίας | https://plinetpierias.gr

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

Δεν ξέρω ποια βάση δεδομένων έχεις.

Τι θα έκανα εγώ:

Συγκρίνω τη δομή της νέας βάσης δεδομένων με την παλιά.

Αν συμφωνούν τότε συνεχίζεις με την παλιά

Αν διαφωνούν

Τότε με μια SQL (εδώ για το table `users`)

INSERT INTO `new-database`. `users`
(`id`, `name`, `username`, `email`, `password`, `role_id`, `remember_token`, `active`, `created_at`, `updated_at`)
SELECT `id`, `name`, `username`, `email`, `password`, `role_id`, `remember_token`, `active`, `created_at`, `updated_at`
FROM  `old-database`.`users`;

περνάς τα δεδομένα.

ΠΡΟΣΟΧΗ: Αν η παλιά βάση δεδομένων δεν έχει το field `active` (επειδή προστέθηκε στην πορεία)

τότε αντί για `active` γράφω την τιμή του "1" (που σημαίνει ΕΝΕΡΓΟΣ)


Κάτι αντίστοιχο πρέπει να γίνει για τους πίνακες που έχουν διαφορές.

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

#98
Για να διευκολύνω την σύγκριση της παλιάς και νέας ΒΔ

με τον phpmyadmin εξήγαγα μόνο τη δομή των πινάκων

μιας παλιάς ΒΔ και της καινουριας και συνέκρινα τα αρχεία με το Meld.

Στις επισυναπτόμενες εικόνες φαίνονται

αριστερά η παλιά ΒΔ    <->    δεξιά η νέα ΒΔ

όπου μπλε έχει αλλαγή (κάποια πεδία τροποποιήθηκαν να έχουν default τιμή NULL)

τροποποιείς τα πεδία

όπου πράσινο προσθήκη (το πεδίο `active` στον πίνακα `users` και ολόκληρος πίνακας `sessions`)

προσθέτεις ένα πεδίο `active` στον πίνακα `users`

τρέχεις τον κώδικα sql που αφορά τον πίνακα `sessions`

Φυσικά έχεις κρατήσει backup της ΒΔ πριν τις αλλαγές

Παραθέτω 4 φωτογραφίες  και άλλες 2 στο επόμενο μήνυμα. +1 ΠΟΥ ΠΑΡΑΛΕΙΦΘΗΚΕ

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

#99
και οι άλλες 2 εικόνες



ΠΡΟΣΘΕΤΩ ΑΚΟΜΗ ΜΙΑ ΠΟΥ ΠΑΡΑΛΕΙΦΘΗΚΕ

Η τελευταία είναι τρίτη στη σειρά και μπαίνει στη μέση των 4 του προηγούμενου μηνύματος

Θοδωρής Καρτσιώτης

Ευχαριστώ πολύ για την αναλυτική επεξήγηση.... Θα το κοιτάξω εκτενώς εντός των ημερών και θα επανέλθω...
ΥΠΛΗΝΕΤ Πιερίας | https://plinetpierias.gr

Θοδωρής Καρτσιώτης

ΥΠΛΗΝΕΤ Πιερίας | https://plinetpierias.gr

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

Παρέλειψα να ενημερώσω το σύνδεσμο.

Καλύτερα να κατεβάσει όποιος θέλει την επιθυμητή έκδοση από την ιστοσελίδα Releases του Github.

https://github.com/g-theodoroy/electronic_protocol/releases

Πρέπει σε κάθε ενημέρωση να ενημερώνω και τα 2 .zip αρχεία για win και linux.
:angel: Η ενημέρωση έγινε αλλά όχι στους συνδέσμους .... :angel:

bugman

Μπορείς να τα έχεις στο dropbox, ή στο google drive, και σε αυτά δεν αλλάζεις σύνδεσμο, ενώ κάνεις αλλαγές.

gspy

#104
Καλημέρα! Υπάρχει τρόπος να αλλάξει η αριθμοδότηση και η περιγραφή των φακέλων αρχειοθέτησης; Επειδή χρησιμοποιώ εντελώς διαφορετική αρίθμηση λόγω του ότι είμαι ΙΕΚ και δεν έχω τα ίδια έγγραφα με τα σχολεία πρωτοβάθμιας και δευτεροβάθμιας και η προσαρμογή θα είναι δύσκολη.

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

Ο Διαχειριστης μπορεί στη σελίδα Διατήρηση να εισαγει νέο φάκελο Φ, να τροποποιήσει η να διαγράψει.

gspy

Παράθεση από: Γεώργιος Θεοδώρου στις 04 Ιουλ 2019, 04:28:49 ΜΜ
Ο Διαχειριστης μπορεί στη σελίδα Διατήρηση να εισαγει νέο φάκελο Φ, να τροποποιήσει η να διαγράψει.
Καλημέρα. Η σελίδα Διατήρηση που είναι; Μήπως εννοείτε Διαχείριση; Αλλά και πάλι δεν βλέπω τρόπο να αλλάξω τα Φ. Για την έκδοση dektop windows μιλάω.

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

 :Μενου->Πρωτοκολλο-.>Διατηρηση

gspy

 :D 1000 ευχαριστώ για την άμεση απάντηση! Πώς δεν το έβλεπα τόση ώρα;

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

Γεια σου Γιώργο και από το δημόσιο τμήμα του forum.

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

file_put_contents(C:\xampp\htdocs\e-protocol-v2\storage\app\arxeio/emails/6604-20190723_email_2019-07-23_12:54:27.html): failed to open stream: No such file or directory

Μπορεί να γίνει κάποιος έλεγχος;
Powered by Elxis : LabSchool.mysch.gr

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

Καλό Φθινόπωρο

Η κλάση laravel-imap που διαβάζει τα email δίνει στον Αποστολέα ένα πίνακα με την ακόλουθη μορφή:

Array
(
   (0)  => stdClass Object

        (
            [personal] => Γεώργιος Θεοδώρου
            [mailbox] => g.theodoroy
            [host] => gmail.com
            [mail] => g.theodoroy@gmail.com
            [full] => Γεώργιος Θεοδώρου < g.theodoroy@gmail.com>
        )
)

Το πρόβλημα δημιουργείται γιατί δεν διαβάζονται σωστά τα Ελληνικά λόγω encoding και η τελική τιμή είναι κενό string

Διορθώθηκε:
            αντί για το πεδίο [full]
            διαβάζονται τα [personal] <[mail]>

Το [mail] είναι πάντα στα Αγγλικά και δεν έχει το παραπάνω πρόβλημα.
Αν το [personal] διαβάζεται επιτυχώς εμφανίζεται και αυτό.

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

Προστέθηκε αυτόματη αναζήτηση των τιμών που ταιριάζουν με το κείμενο που πληκτρολογούμε στα πεδία:

  • Θέμα
  • Τόπος έκδοσης
  • Αρχή έκδοσης
  • Παραλήπτης
  • Απευθύνεται
  • Λέξεις κλειδιά

Ο διαχειριστής στις ρυθμίσεις μπορεί να επιλέξει ΝΑΙ ή ΟΧΙ εάν θα γίνεται αυτό "Εμφάνιση λίστας με τιμές που ταιριάζουν σε ότι πληκτρολογούμε "

Θοδωρής Καρτσιώτης

Για άλλη μία φορά ο κ. Θεοδώρου αφουγκράζεται τις "απαιτήσεις" των χρηστών και παρέχει υψηλού επιπέδου υποστήριξη, κάνοντας μια τέλεια εφαρμογή... τελειότερη.

Μπράβο και ευχαριστούμε!
ΥΠΛΗΝΕΤ Πιερίας | https://plinetpierias.gr

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

Μπράβο Γιώργο!!! Νομίζω πως δεν υπάρχει άλλο πιο ολοκληρωμένο σύστημα ανοικτού κώδικα...
Powered by Elxis : LabSchool.mysch.gr

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

Το Ηλεκτρονικό Πρωτόκολλο ξεκίνησε να φτιάχνεται από το 2015 και όπως βλέπετε όσοι το παρακολουθείτε εξελίσεται συνεχώς προσαρμοζόμενο στις ανάγκες των χρηστών όπως αυτές προκύπτουν μέσα από την καθημερινή χρήση.

Θα με ικανοποιούσε ιδιαίτερα όποιος "εγκατέστησε" και χρησιμοποιεί το Ηλ. Πρωτόκολλο και επιθυμεί να το κοινοποιήσει.

Θα ήθελα να προσθέσω στην αρχική σελίδα του Θέματος σε ποιες υπηρεσίες χρησιμοποιείται.

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

Ευχαριστώ για τα καλά σας λόγια και για τη βοήθεια. Ο "συλλογικός νους" κάνει θαύματα!

Θοδωρής Καρτσιώτης

Τα ενημερωμένα αρχεία απλά τα "πετάω" από πάνω και αντικαθιστούν τα προηγούμενα ή κάνω κάτι άλλο;
ΥΠΛΗΝΕΤ Πιερίας | https://plinetpierias.gr

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

#116
Κατά την κρίση σου.
Στο github στα commits περιγράφονται αναλυτικά οι αλλαγές.
Αν είναι περιορισμένες μπορείς να κάνεις τις τροποποιήσεις με ένα κειμενογράφο.
Αν δεν θες να ανακατευτεις αντικατάστησε τα υπάρχοντα αρχεία με τα καινούρια.
Μια καλή πρακτική είναι να μετονομασεις τα παλιά αρχεία (πχ protocol.blade.php.old) και να τα διαγράψεις οταν βεβαιωθεις ότι η αναβάθμιση δουλεύει όπως αναμένεται. Σε αστοχία επαναφέρεις τα παλια αρχεία.
Τέλος αν στις αλλαγές πρέπει να γίνουν αλλαγές και στη ΒΔ τότε τα πράγματα γίνονται πιο σύνθετα...

Θοδωρής Καρτσιώτης

Ναι, έτσι σκέφτομαι να το κάνω... Βλέπω πάντως ότι οι συγκεκριμένες δεν "πειράζουν" τη βάση δεδομένων σε επίπεδο structure τουλάχιστον.

Έτσι μου φαίνεται από τα λίγα που καταλαβαίνω από το framework του Laravel.
ΥΠΛΗΝΕΤ Πιερίας | https://plinetpierias.gr

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

Είπα να παίξω λίγο με τις λίστες Γιώργο...

Αν θέλω τις εγγραφές προς διεκπεραίωση για 2 χρήστες...

$protocols = $protocols->where('diekperaiosi', '1')->orwhere('diekperaiosi', '2');

Αν θέλω τα ημερήσια πρωτόκολλα...

$protocols = $protocols->where('protocoldate', Carbon::now()->format('d/m/Y'));

(σχετική επισυναπτόμενη εικόνα)

ή κάπου κάνω λάθος;
Powered by Elxis : LabSchool.mysch.gr

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

#119
Μια αναζήτηση στο διαδίκτυο

"laravel get records created_at today"

επέστρεψε

https://stackoverflow.com/questions/33247908/get-only-records-created-today-in-laravel

Η λύση που ταιριάζει περισσότερο σε αυτό που ζητάς είναι (κατά τη γνώμη μου)

->where('created_at', '>=', Carbon::today())



Αν επιθυμείς αυτό που προτείνεις

$protocols = $protocols->where('protocoldate', Carbon::now()->format('Ymd'));

Αυτή η μορφοποίηση ->format('Ymd') χρησιμοποιείται για την ημερομηνία στη ΒΔ (δες ProtocolController, γραμμή 494)

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

Γιώργο και πάλι έδωσες και γρήγορα μάλιστα τα φώτα σου... και οι δύο τρόποι δουλεύουν.
Powered by Elxis : LabSchool.mysch.gr

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

Καλημέρα!
Σήμερα πήγα να επισυνάψω ένα αρχείο και έλαβα την απάντηση "Λάθος!!! ...... βλέπε συνημμένο.
Τι να ελέγξω;
Πρώην ΚΕΠΛΗΝΕΤ

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

#122
Αυτό το κάνει μόνο με ένα συγκεκριμένο αρχείο;

σκέψη 1η

Ρίξε μια ματιά μήπως το όνομα αρχείου περιέχει απαγορευμένους χαρακτήρες
όπως περιγράφεται στο παρακάτω απόσπασμα από την ιστοσελίδα:
https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file



Use any character in the current code page for a name, including Unicode characters and characters in the extended character set (128–255), except for the following:

    The following reserved characters:
        < (less than)
        > (greater than)
        : (colon)
        " (double quote)
        / (forward slash)
        \ (backslash)
        | (vertical bar or pipe)
        ? (question mark)
        * (asterisk)


σκέψη 2η

Μήπως υπερβαίνει το μέγεθος που έχει οριστεί στην php;

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

Κάτι με το μήκος του ονόματος παίζει. Υπάρχει όριο;
Πρώην ΚΕΠΛΗΝΕΤ

bugman

Μια ιδέα θα ρίξω εδώ:

Αν υπάρχει ς στο όνομα τότε δεν γυρίζει σε κεφαλαίο Σ, παραμένει ς από Windows 7 και πάνω. Αν γυρίσει το ς σε σ τότε διορθώνει το πρόβλημα!

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

Στείλε μου το αρχείο

Αν έχει απόρρητο περιεχόμενο σβήσε ότι μη επιτρεπτό


να του ρίξω μια ματιά

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

#126
Παράθεση από: igaid στις 19 Μαΐου 2020, 01:23:01 ΜΜ
Κάτι με το μήκος του ονόματος παίζει. Υπάρχει όριο;

Διαβάζοντας εδώ βλέπουμε το όριο

windows

Maximum file name length    255 Unicode characters

https://docs.microsoft.com/de-de/windows/win32/fileio/filesystem-functionality-comparison#limits


τα ίδια και στο linux 255 chars (bytes)


https://stackoverflow.com/questions/34980895/extending-ext4-file-systems-filename-size-limit-to-1012-characters


Μένει να επιβεβαιωθεί ότι το συγκεκριμμένο όνομα είναι πάνω από το όριο.




Σημείωση: Το όνομα συντίθεται από ΑΠ-εεεεμμηη_filename
Η σκέψη πίσω από αυτό είναι να μπορείς εύκολα να ξέρεις ένα αρχείο σε ποιο πρωτόκολλο και ημερομηνία αντιστοιχεί

ΑΠ = Αρ. Πρωτοκόλλου
εεεεμμηη = Ημερομηνία: 4ψήφιο έτος 2ψήφιος μήνας 2ψήφια ημέρα

πχ:
38-20191227_ΕΝΗΜΕΡΩΤΙΚΟ  ΚΟΡΔΗ ΝΕΚΤΑΡΙΟΥ  ΓΙΑ ΤΙΣ ΤΕΛΕΥΤΑΙΕΣ ΕΚΠΑΙΔΕΥΤΙΚΕΣ ΕΞΕΛΙΞΕΙΣ.doc

'Αρα με  5ψήφιο  Αρ.Πρωτ. δεσμεύονται 15 χαρακτήρες για τα πρώτα ...

bugman

#127
Ισχύει το 260 maxpath, αλλά όχι στη unicode έκδοση.
To 260 αναφέρεται σε χαρακτήρες όχι σε bytes. Έτσι για κλήσεις unicode (2bytes κάθε χαρακτήρας) σε bytes είναι διπλάσιο!

Υπάρχει και το όριο στους 32767 χαρακτήρες (συνολικά μαζί με το όνομα αρχείου), αλλά πρέπει να υπάρχει στην αρχή το \\?\
Αυτό γίνεται σε VB6, αν χρησιμοποιήσουμε απευθείας το KERNEL32:
Declare Function CreateFile Lib "KERNEL32" Alias "CreateFileW" (ByVal lpFileName As Long, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As Any, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long

Επίσης στη VB6 αν θέλω να ανοίξω το F$ το οποίο είναι σε UNICODE, με την Open, την δική της εντολή το μετατρέπω σε DosPath
Open GetDosPath(F$) For Binary Access Read As i

Private Declare Function GetShortPathName Lib "KERNEL32" Alias _
"GetShortPathNameW" (ByVal lpszLongPath As Long, _
ByVal lpszShortPath As Long, ByVal cchBuffer As Long) As Long

Public Function GetDosPath(LongPath As String) As String
Dim s As String
Dim i As Long
Dim PathLength As Long
        i = Len(LongPath) * 2 + 2
        s = String(1024, 0)
        PathLength = GetShortPathName(StrPtr(LongPath), StrPtr(s), i)
        GetDosPath = Left$(s, PathLength)
End Function


Η GetDosPath αν δεν υπάρχει το αρχείο γυρνάει κενό. Έτσι αν θέλω να φτιάξω ένα νέο αρχείο χρησιμοποιώ την  createfile του Kernel32.
Παίζει και σε Windows 64.

Με τον παραπάνω τρόπο μπορώ να έχω ότι χαρακτήρες θέλω, ακόμα και αραβικά.
Αυτό είναι το κανονικό path
c:\users\person\appdata\roaming\microsoft\windows\printer shortcuts\
Και αυτό το shortpath, δείτε ότι βάζει ~1 με αυτό το τρόπο κόβει το όνομα.
c:\users\person\appdata\roaming\MICROS~1\windows\PRINTE~1\


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

#128
Το παρακάτω αρχείο δεν το δέχεται. Όταν το μετονομάζω σε σκέτο Δελτίο.pdf  το αποθηκεύει. Δοκίμασα να αφαιρέσω τα κενά και δεν άλλαξε τίποτα. Καμιά ιδέα;
Τώρα παρατήρησα ότι το αρχείο το αποθηκεύει στο  C:\protocol\storage\app\arxeio\Φ.1 αλλά το μήνυμα του λάθος το εμφανίζει και δεν φαίνεται το αρχείο στο πρωτόκολλο.
Πρώην ΚΕΠΛΗΝΕΤ

alkisg

Δεν ξέρω αν μπορεί να χρησιμεύσει κάπου, αλλά ας το πετάξω σαν ιδέα... το SMF forum εσωτερικά περνάει τα ονόματα των αρχείων από συνάρτηση md5sum, π.χ. το 'ΔΕΛΤΙΟ ΤΥΠΟΥ ΟΡΓΑΝΙΚΩΝ ΚΕΝΩΝ 2019.2020_signed.pdf' γίνεται 27369b5b702bbae4bea3d1ced4a1f6e3, και στη συνέχεια αποθηκεύει στη βάση το όνομα αρχείου, ενώ στο δίσκο κάτι σαν $database_id-$md5sum (ή θα μπορούσε να γίνει ΑΠ-εεεεμμηη_$md5sum). Ένα πλεονέκτημα είναι ότι δεν υπάρχουν πια περιορισμοί στα ονόματα των αρχείων, ενώ ένα μειονέκτημα το ότι πλέον δεν θα φαίνονται τα ονόματά τους μέσα από απλό file manager.

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

Πρόχειρη απάντηση γιατί το ψάχνω:

Χτυπάει το γράμμα Π γιατί το λογίζει σαν τη σταθερά (pi) π !!!!!!!!!

Αν κάνουμε το όνομα "ΔΕΛΤΙΟ ΤΥ-ΟΥ ΟΡΓΑΝΙΚΩΝ ΚΕΝΩΝ 2019.2020_signed.pdf"  το περνάει !!!

Θα μελετήσω πως πρεπει να γίνει escape στην php

bugman

Παρατήρησα ότι έχει δύο τέλειες το όνομα.
Παλαιότερα για να ξεμπερδεύω με κάτι τέτοια έβαζα μια συνάρτηση που έπαιρνε το όνομα και άλλαζε επιλεγμένους χαρακτήρες με παύλες. Έτσι το όνομα αφενός δεν θα έχει πρόβλημα και αφετέρου θα διαβάζεται.
Η χρήση κωδικοποίησης MD5 δεν βολεύει.

bugman

#132
Συγνώμη αυτό με το Π που γυρίζει σε αριθμό, στα καλά καθούμενα, δεν έχει παίξει σε άλλα ονόματα που έχουν το Π;
Δες εδώ σχετικά με το string interpolation.
https://phppot.com/php/variable-interpolation-in-php/

Εδώ οι μεταβλητές έχουν το $ σαν πρώτο γράμμα. Δεν εξηγείται πώς το Π γίνεται αριθμός.

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

Παράθεση από: igaid στις 20 Μαΐου 2020, 08:21:44 ΠΜ
Το παρακάτω αρχείο δεν το δέχεται. Όταν το μετονομάζω σε σκέτο Δελτίο.pdf  το αποθηκεύει. Δοκίμασα να αφαιρέσω τα κενά και δεν άλλαξε τίποτα. Καμιά ιδέα;
Τώρα παρατήρησα ότι το αρχείο το αποθηκεύει στο  C:\protocol\storage\app\arxeio\Φ.1 αλλά το μήνυμα του λάθος το εμφανίζει και δεν φαίνεται το αρχείο στο πρωτόκολλο.

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

Θα το δω ...

bugman

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

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

Απλά για να γίνεται κουβέντα !!!

το Π (κεφαλαίο) χτυπάει
το π (μικρό) όχι

bugman

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



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

#137
Παράθεση από: bugman στις 20 Μαΐου 2020, 04:32:41 ΜΜ
έχεις θέμα με την κωδικοποίηση του αλφαριθμητικού. Τσέκαρέ το.
Φτιάξε ένα πρόγραμμα που θα παίρνει την ίδια εισαγωγή και θα την βάζει σε ένα απλό αρχείο κειμένου.
Μετά δοκίμασε μέσα από το notepad κατά το άνοιγμα να επιλέξεις κωδικοποίηση να δεις πώς το παίρνεις!

Έχεις δίκιο bugman

το λάθος που βγάζει η php:

SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect string value: 'Î-ΟΥ...' for column `protocol`.`attachments`.`name` at row 1 (SQL: insert into `attachments` (`protocol_id`, `ada`, `name`, `mimeType`, `savedPath`, `keep`, `expires`, `updated_at`, `created_at`) values (161, ?, ΔΕΛΤΙΟ ΤΥ�-ΟΥ ΟΡΓΑΝΙΚΩΝ ΚΕΝΩΝ 2019.2020_signed.pdf, application/pdf, arxeio/Φ.1.1//8-20200520_ΔΕΛΤΙΟ ΤΥ�-ΟΥ ΟΡΓΑΝΙΚΩΝ ΚΕΝΩΝ 2019.2020_signed.pdf, Κατά κρίση, ?, 2020-05-21 05:28:43, 2020-05-21 05:28:43))

Και χτυπάει μόνο το Π. Έκανα δοκιμή με όλο το ελληνικό αλφάβητο


Η λύση που προτείνω

στο αρχείο app/Http/Controllers/ProtocolController.php

1 (ΑΚΥΡΩΝΕΤΑΙ)

Αντικαταστήστε
το
$filename = $this->filter_filename($filename, false);
με
$filename = $this->filter_filename($filename, true);

στις γραμμές: 536, 708, 1366



2 (ΠΑΡΑΜΕΝΕΙ)

Αντικαταστήστε
το
$filenameToStore = request()->protocolnum . '-' . Carbon::createFromFormat('d/m/Y', request()->protocoldate)->format('Ymd') . '_' . $file->getClientOriginalName();
με
$filenameToStore = request()->protocolnum . '-' . Carbon::createFromFormat('d/m/Y', request()->protocoldate)->format('Ymd') . '_' . $filename;

στις γραμμές: 540, 712

ΠΡΟΣΤΙΘΕΤΑΙ
Σύμφωνα με τη συμβουλή του Άλκη

η γραμμή  1478 αλλάζει
από
~x',
σε
~ux',



Έτσι αξιοποιούμε πλήρως την function filter_filename (γραμμές 1469-1511).


Μετατρέπει βέβαια όλα τα γράμματα από κεφαλαία σε μικρά αλλά όπως μας λέει:

// lowercase for windows/unix interoperability http://support.microsoft.com/kb/100625



Θα ενημερώσω το github


Μεγάλο ευχαριστώ για το ενδιαφέρον και τη βοήθειά σας


Άλκη μόλις ανέβω Γιάννενα θα κεράσω με χαρά τσίπουρα...

alkisg

#138
Γιώργο το πρόβλημα είναι σ' αυτήν τη γραμμή:
      ~x',

Άλλαξέ την σε:
      ~ux',

Αυτό ώστε η preg_replace να ενεργεί ανά UTF-8 χαρακτήρα και όχι ανά byte.
Συγκεκριμένα το Π σε UTF-8 αντιστοιχεί σε "cea0", οπότε το δεύτερο byte του κοβόταν λόγω της γραμμής 1475:
        [\x7F\xA0\xAD]|          # non-printing characters DEL, NO-BREAK SPACE, SOFT HYPHEN

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

Σε ευχαριστώ Άλκη

Την function  filter_filename δεν την έγραψα εγώ

Την υιοθέτησα από το διαδίκτυο.

Είμαι ανοιχτός σε κάθε πρόταση

alkisg

Γιώργο ενημέρωσα το παραπάνω μήνυμά μου με τη σωστότερη λύση. Απλά θέλει ένα "u" για να εφαρμοστεί unicode regex.

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

Με την πολύτιμη συνδρομή του Άλκη ενημερώθηκε η προηγούμενη λύση στη ενδεικνυόμενη.

8) :angel:

bugman

Και αυτό είναι ένα μάθημα για τη χρήση ξένων συναρτήσεων, ακόμα και βιβλιοθηκών.
Κοιτάμε μια περιγραφή και αγνοούμε δύο βασικά πράγματα. Ποιος την έγραψε, και την ανάγνωση του κώδικα (υποτίθεται είναι ανοικτού κώδικα)
Αυτό με το utf8 είναι πολύ συχνή πατάτα, γιατί στα αγγλικά οι χαρακτήρες σε υtf8 γράφονται με ίδια bytes με την Ansi έκδοση.
Παρόμοιο πρόβλημα υπήρχε με μια συνάρτηση που έγραφε στο πρόχειρο των Windows html κώδικα. Ο εμπνευστής της έστελνε Ansi κωδικοποίηση αντί του UTF8. Για αγγλικά έκανε! Προσοχή λοιπόν με τις κωδικοποιήσεις.

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


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

Μπράβο παιδιά! Συγχαρητήρια για το ομαδικό πνεύμα.
Πρώην ΚΕΠΛΗΝΕΤ

Χρήστος Στέρπης

Καλησπέρα σας,
από το νεότερο μέλος της παρέας σας! Είμαι δάσκαλος -ΠΕ70- δ/ντής σε δημοτικό σχολείο.
Αναζήτησα μια εφαρμογή ηλεκτρ. πρωτόκολλου, δωρεάν, μιας και η σχολική επιτροπή δεν πληρώνει τέτοιες "πολυτέλειες" κι εντυπωσιάστηκα από τη συγκεκριμένη. Προσπάθησα να την εγκαταστήσω, αλλά δεν μπορώ. Το λειτουργικό μου είναι windows 10. Κύριε Θεοδώρου, μήπως θα μπορούσατε να με βοηθήσετε;

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

Για μια γρήγορη δοκιμή κατεβάζεις το συμπιεσμένο αρχείο:

https://github.com/g-theodoroy/electronic_protocol/releases/download/win.0.1/electronic_protocol-win.zip

από: https://github.com/g-theodoroy/electronic_protocol/releases/tag/win.0.1

Αποσυμπιέζεις το zip και τρέχει ...


Δες και το βίντεο: https://youtu.be/e79OPKagz9A. Από το 1:10 και μετά.




Τώρα για κάτι πιο μόνιμο δες στο παρακάτω:

https://github.com/g-theodoroy/electronic_protocol

και ειδικότερα:

https://github.com/g-theodoroy/electronic_protocol#εναλλακτικές-λύσεις


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

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

#147
Βίντεο εγκατάστασης του Ηλ. Πρωτοκόλλου σε windows 10

https://youtu.be/xvDHwjHb7wc

kostas123

καλησπερα ευχαριστω παρα πολυ για το αππ ειναι καταπληκτικο
Ξερετε πως μπορουμε να αντιμετωπισουμε το θεμα με τα email
παντα το θεμα(του e-mail) δεν αναγνωριζετε στα ελληνικα  , Επισης υπαρχει δυνατοτητα αποστολης εξαρχομενου πρωτοκολλου μεσω email?

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

Πάντα ...

προφανώς υπάρχει κάποιο θέμα κωδικοποίησης.


Συνάντησα το ίδιο "πρόβλημα" στην κωδικοποίηση του Αποστολέα


Πως είναι στημένο το πρωτοκολλο;
win + xampp, linux, κάτι άλλο;
Μήπως θα έπρεπε να ενημερωθεί το σύστημα (πχ νεότερο xampp και php)

Μπορείς να συσχετίσεις το πρόγραμμα email που χρησιμοποιεί ο αποστολέας με το πρόβλημα;
Δοκίμασε να στείλεις το ίδιο "προβληματικό email" με άλλο πρόγραμμα, πχ
outlook -> error ή ok
thunderbird -> error ή ok
gmail από φυλλομετρητή -> error ή ok

Μήπως το λειτουργικό σύστημα (win) δεν υποστηρίζει επαρκώς utf-8;
Μπορεί να ρυθμιστεί η χρήση utf-8 encoding στο σύστημα;

Τα σχολεία μας είναι γεμάτα από παλαιότερους υπολογιστές με παλαιότερο λογισμικό.

Η απάντηση στο ερώτημα είναι μάλλον δύσκολη (τουλάχιστον από μένα)

Έχει συναντήσει κανείς άλλος παρόμοιο πρόβλημα;



Τώρα για το 2ο ερώτημα

Η php μπορεί και στέλνει email

Αν υφίσταται η ανάγκη θα μπορούσε να γίνει μια σελίδα αποστολής email η οποία θα δίνει και Αριθμό Πρωτοκόλλου


kostas123

Σας ευχαριστω παρα πολυ θα τα δοκιμασω ολα να δω τι μπορω να κανω .
Εχετε κανει εξαιρετικη δουλεια ευχαριστω πολυ

kostas123

Για να φτιαξω αποστολη email με αριθμο πρωτοκολλου χρησιμοποιω laravel 5.6 .. Εχεις  καποιο documentation .

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

Ένα μικρό γκοογκλαρισμα "laravel 5.6 send email " εμφανίζει διάφορα άρθρα

Η laravel απ ότι διαβάζω έχει πάει στην έκδοση 7

Επίσης το "laravel 5.6 email  form" εμφανίζει οδηγίες για την συνηθισμένη φόρμα επικοινωνίας.



Τώρα για να παντρέψουμε αυτά θα πρέπει

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


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

https://github.com/g-theodoroy/electronic_protocol/blob/master/app/Http/Controllers/ProtocolController.php
γραμμές 1036-1041 & 1401-1417

kostas123

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

kostas123

Στην ουσιια απλα επιλογη να το τραβας και να το στελνεις

kostas123

ο χρηστης μπορει να εχει μια φορμα που θα πληκτρολογει τον αρ πρωτοκολλου και το email που θελει να το στελνει και το εμαιλ να πηγαινει με τα στοιχεια που εχει βαλει σε αυτο το εξερχομενο πρωτοκολλο

2epalkilkis

Καλημέρα,
κι από ένα σχολείο στο Κιλκίς.
σας ευχαριστώ πολύ για τον κόπο και την προσφορά σας!

Εάν κι όταν βρείτε λίγο χρόνο θα ήθελα να σας παρακαλέσω να απαντήσετε στους παρακάτω προβληματισμούς μου:
1) το electronic_protocol-win.zip περιλαμβάνει την τελευταία έκδοση; (χθες που το δοκίμασα διαπίστωσα το πρόβλημα με το γράμμα Π στα αρχεία). Η έκδοση αυτή μπορεί να χρησιμοποιηθεί για ένα σχολείο με μία θέση μόνο εργασίας σε win7 32bit ή είναι μόνο για λόγους επίδειξης και πρέπει να πάμε σε λύση με xampp;
2) υπάρχει λύση να τοποθετηθεί η εφαρμογή στο webhost του ΠΣΔ?

ευχές!

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

Καλημέρα

Όπως αναφέρεται στο github:

g-theodoroy released this on 26 Jan ·
7 commits to master since this release

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

Τώρα για το ερώτημα σου αν θα δουλεύει και πως

Προσωπικά προτείνω ένα Η/Υ να τρέχει lamp server (linux apache mysql php).
Πολλοί ( μάλλον οι περισσότεροι) που αισθανονται οικεία με τα windows χρησιμοποιούν xampp η wamp.
Στην ανάγκη να καλυφθούν οι χρήστες windows ( δώστε μας ένα πρόγραμμα εγκατάστασης!!!) φτιάχτηκε η εναλλακτική. Μπορεί να δουλέψει τηρουμένων των αναλογιών.

Διαβάζω ότι προγραμματιστές προσπαθούν να φτιάξουν παρόμοιες εφαρμογές να τρέχουν server σαν τοπικη εφαρμογή win.

Η λύση δουλεύει και σε τοπικό δίκτυο. Μπορείς να έχεις πρόσβαση και από αλλο υπολογιστή στο τοπικό δίκτυο.

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



2epalkilkis

Ευχαριστώ για την άμεση και κατατοπιστική απάντηση.
Με την "λαχτάρα" μου χθες βράδυ από την "πρώτη γνωριμία", ήμουν βιαστικός κι όντως απρόσεκτος στις πληροφορίες που τόσο λεπτομερώς δίνονται στο github.

kostas123

καλημερα
προσπαθω να αναιβασω το το αππ σε server και ενω φορτώνει κανονικα
την index php μου πεταει 500 error
μηπως μπορειτε να βοηθησετε θελει καποιες ρυθμισεις

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

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

Lamp server (ubuntu)
Win10 & xampp

στο github και στο στέκι

Διευκρινησε τι θέλεις να κάνεις

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

Καλημέρα,

Μάλλον δεν έκανε σωστά τη ρύθμιση στο apache\conf\alias
Powered by Elxis : LabSchool.mysch.gr

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

#162
Καλησπέρα σας

Ρύθμισα και έστησα το Ηλεκτρονικό Πρωτόκολλο στο webhost.sch.gr.

ΟΔΗΓΙΕΣ

Κατεβάστε τα 2 ακόλουθα .zip

protocolRoot.zip
protocol.zip

από εδώ:
https://drive.google.com/drive/u/1/folders/1WAqWdGEh9CccGN9OGXN1JmH2Boen5ifj
https://www.dropbox.com/sh/sd00ikjn311g5hu/AABduqTihxHQH0StOs5HEI4wa?dl=0

Αποσυμπιέστε και ανεβάστε κατά προτίμηση με ftp

το protocolRoot.zip στον ριζικό φάκελο του site (όπως φωτο1)
το protocol.zip στον φάκελο httpdocs (όπως φωτο 2)

ΠΑΡΑΤΗΡΗΣΗ:
Στις φωτογραφίες έχω επιλέξει το checkbox για να φαίνονται οι φάκελοι
Στο site είναι εγκατεστημένο και wordpress (και άλλα αρχεία που εμφανίζονται στον φάκελο httpdocs)

Περιηγηθείτε στο

http(s)://[ONOMA].mysch.gr/protocol

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

#163
Τρελαθήκαμε!!!

Σας παραθέτω δύο εικόνες από δύο server

φωτο1 webhost3 (Πάτρα)
φωτο2 webhost4 (Κιλκίς)

Είναι οι ρυθμίσεις php

Προσέξτε τις disable_functions

Στον webhost3 μόνο opcache_get_status
Στον webhost4 "ουκ ολίγες"


Μαντέψτε

Στο Κιλκίς δεν δουλεύει !!!!!!!!!!!!!!!!

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

Παράθεση από: Γεώργιος Θεοδώρου στις 08 Σεπ 2020, 05:20:48 ΜΜ
Καλησπέρα σας

Ρύθμισα και έστησα το Ηλεκτρονικό Πρωτόκολλο στο webhost.sch.gr.

ΟΔΗΓΙΕΣ

Κατεβάστε τα 2 ακόλουθα .zip

protocolBase.zip: https://drive.google.com/file/d/1PrA2jCombPdlS66tJmUitqrd-aMpTifu/view?usp=sharing
protocol.zip: https://drive.google.com/file/d/1xv-jMVxxpk2zkIhEBtnZ6mp4uRBBdQds/view?usp=sharing

Αποσυμπιέστε και ανεβάστε

το protocolBase.zip στον ριζικό φάκελο του site (όπως φωτο1)
το protocol.zip στον φάκελο httpdocs (όπως φωτο 2)

ΠΑΡΑΤΗΡΗΣΗ:
Στις φωτογραφίες έχω επιλέξει το checkbox για να φαίνονται οι φάκελοι
Στο site είναι εγκατεστημένο και wordpress (και άλλα αρχεία που εμφανίζονται στον φάκελο httpdocs)

Περιηγηθείτε στο

http(s)://[ONOMA].mysch.gr/protocol


Τροποποιήθηκε ο κώδικας.


Υπάρχει πλέον και null επιλογή λογαριασμού email στις ρυθμίσεις.

Όταν ο λογαριασμός email είναι null απενεργοποιείται η ανάγνωση email

ΠΑΡΑΤΗΡΗΣΗ: Οi αλλαγές ισχύουν μόνο στο παρόν protocolBase.zip. Πιθανότατα μελλοντικά να περάσουν στον κώδικα του github

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

Παράθεση από: Γεώργιος Θεοδώρου στις 08 Σεπ 2020, 07:15:49 ΜΜ
Τρελαθήκαμε!!!

Σας παραθέτω δύο εικόνες από δύο server

φωτο1 webhost3 (Πάτρα)
φωτο2 webhost4 (Κιλκίς)

Είναι οι ρυθμίσεις php

Προσέξτε τις disable_functions

Στον webhost3 μόνο opcache_get_status
Στον webhost4 "ουκ ολίγες"


Μαντέψτε

Στο Κιλκίς δεν δουλεύει !!!!!!!!!!!!!!!!


ΤΟ ΠΣΔ ΑΝΤΑΠΟΚΡΙΘΗΚΕ ΚΑΙ ΑΛΛΑΞΑΝ ΟΙ ΡΥΘΜΙΣΕΙΣ ΣΤΟΝ WEBHOST4

Σύμφωνα με το email συναδέλφου:

... το ΠΣΔ ικανοποίησε το αίτημά μου την Παρασκευή 11/9 και ενεργοποίησε τις disabled php functions


Συμπέρασμα: Στο Κιλκίς ΔΟΥΛΕΥΕΙ

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

Καλησπέρα,

Έχω εγκαταστήσει ubuntu server 20,04. Μπορώ να εγκαταστήσω την εφαρμογή ή θα έχω θέματα;
Πρώην ΚΕΠΛΗΝΕΤ

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

Καλημέρα,
Τελικά αποφάσισα να εγκαταστήσω το Ηλ. πρωτόκολλο σε ubuntu server 20,04. Όταν εκτελώ την εντολή:

composer install

επιστρέφει τα παρακάτω σφάλματα. Έχω ενεργοποιήσει τα extensions imap, mbstring στο php.ini. Πρέπει να ελέγξω όλα τα ini αρχεία;

PHP Warning:  PHP Startup: Unable to load dynamic library 'imap' (tried: /usr/lib/php/20170718/imap (/usr/lib/php/20170718/imap: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/imap.so (/usr/lib/php/20170718/imap.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'mbstring' (tried: /usr/lib/php/20170718/mbstring (/usr/lib/php/20170718/mbstring: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/mbstring.so (/usr/lib/php/20170718/mbstring.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for erusev/parsedown 1.7.3 -> satisfiable by erusev/parsedown[1.7.3].
    - erusev/parsedown 1.7.3 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
  Problem 2
    - Installation request for laravel/framework v5.8.10 -> satisfiable by laravel/framework[v5.8.10].
    - laravel/framework v5.8.10 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
  Problem 3
    - Installation request for webklex/laravel-imap 1.4.1 -> satisfiable by webklex/laravel-imap[1.4.1].
    - webklex/laravel-imap 1.4.1 requires ext-imap * -> the requested PHP extension imap is missing from your system.
  Problem 4
    - Installation request for phar-io/manifest 1.0.3 -> satisfiable by phar-io/manifest[1.0.3].
    - phar-io/manifest 1.0.3 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 5
    - Installation request for phpunit/php-code-coverage 6.1.4 -> satisfiable by phpunit/php-code-coverage[6.1.4].
    - phpunit/php-code-coverage 6.1.4 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 6
    - Installation request for phpunit/phpunit 7.5.8 -> satisfiable by phpunit/phpunit[7.5.8].
    - phpunit/phpunit 7.5.8 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 7
    - Installation request for theseer/tokenizer 1.1.2 -> satisfiable by theseer/tokenizer[1.1.2].
    - theseer/tokenizer 1.1.2 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 8
    - laravel/framework v5.8.10 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - beyondcode/laravel-dump-server 1.2.2 requires illuminate/console 5.6.*|5.7.*|5.8.* -> satisfiable by laravel/framework[v5.8.10].
    - Installation request for beyondcode/laravel-dump-server 1.2.2 -> satisfiable by beyondcode/laravel-dump-server[1.2.2].

  To enable extensions, verify that they are enabled in your .ini files:
    - /etc/php/7.2/cli/php.ini
    - /etc/php/7.2/cli/conf.d/10-opcache.ini
    - /etc/php/7.2/cli/conf.d/10-pdo.ini
    - /etc/php/7.2/cli/conf.d/20-calendar.ini
    - /etc/php/7.2/cli/conf.d/20-ctype.ini
    - /etc/php/7.2/cli/conf.d/20-exif.ini
    - /etc/php/7.2/cli/conf.d/20-fileinfo.ini
    - /etc/php/7.2/cli/conf.d/20-ftp.ini
    - /etc/php/7.2/cli/conf.d/20-gettext.ini
    - /etc/php/7.2/cli/conf.d/20-iconv.ini
    - /etc/php/7.2/cli/conf.d/20-json.ini
    - /etc/php/7.2/cli/conf.d/20-phar.ini
    - /etc/php/7.2/cli/conf.d/20-posix.ini
    - /etc/php/7.2/cli/conf.d/20-readline.ini
    - /etc/php/7.2/cli/conf.d/20-shmop.ini
    - /etc/php/7.2/cli/conf.d/20-sockets.ini
    - /etc/php/7.2/cli/conf.d/20-sysvmsg.ini
    - /etc/php/7.2/cli/conf.d/20-sysvsem.ini
    - /etc/php/7.2/cli/conf.d/20-sysvshm.ini
    - /etc/php/7.2/cli/conf.d/20-tokenizer.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
Πρώην ΚΕΠΛΗΝΕΤ

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

#168
Απ ότι φαινεται πρέπει να εγκαταστήσεις

το php-imap

https://www.ubuntuupdates.org/package/core/focal/universe/base/php-imap

και το php-mbstring

https://www.ubuntuupdates.org/package/core/focal/universe/base/php-mbstring



Ένα googlάρισμα "install laravel in ubuntu 20.04" μου έδωσε την παρακάτω ιστοσελίδα

https://tecadmin.net/install-laravel-ubuntu-20-04/

όπου συνιστά


Install PHP

sudo apt install zip unzip software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt install -y php7.4 php7.4-gd php7.4-mbstring php7.4-xml php-zip


προφανώς σε αυτά θα πρέπει να προστεθεί και php7.4-imap

https://packages.ubuntu.com/focal-updates/php7.4-imap

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

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

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

Γιώργο καλημέρα.

Εγκατάσταση σε  windows 10 vm  με χρήση xampp, βάση=mysql->

Έχω την εξής παρατήρηση: αν μετά την εγκατάσταση και αυτόματη δημιουργία των κατάλληλων πινάκων στη βάση protocol, δημιουργήσεις νέο χρήστη που να έχει δικαιώματα μόνο σε αυτή τη βάση (για λόγους ασφαλείας) ή ακόμη και αν αλλάξεις το password για τον root (κενό κατά την εγκατάσταση) η εφαρμογή δεν σηκώνεται (εννοείται ότι έχεις αλλάξει τις σχετικές εγγραφές στα \protocol\.env και  \protocol\config\database.php). Από την άλλη αν αλλάξεις πχ το password για τον root πριν την αυτόματη δημιουργία των tables στη βάση, η διαδικασία δεν ολοκληρώνεται (acess denied).

Το παραπάνω θεωρώ ότι ενέχει κινδύνους, το να μη σε αφήνει δηλαδή να αλλάξεις χρήστη στη βάση ή να αλλάξεις pawword στον root.
Μπορεί να αλλάξει ??

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

Νομίζω ότι πρέπει να καθαρίσεις την config:cache ώστε να δει τις νέες ρυθμίσεις

https://stillat.com/blog/2016/12/07/laravel-artisan-config-command-the-clear-command

Με την προυπόθεση  (είμαι σίγουρος ότι το έχεις ήδη κάνει) ότι έχει ρυθμιστεί ο χρήστης της mysql και του έχουν δοθεί τα προνόμια.

Αν έχεις τρέξει php artisan optimize έχουν δημιουργηθεί αρχεία config από τα οποία διαβάζονται οι ρυθμίσεις.

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

Παράθεση από: Γεώργιος Θεοδώρου στις 19 Νοε 2020, 03:18:25 ΜΜ
Αν έχεις τρέξει php artisan optimize έχουν δημιουργηθεί αρχεία config από τα οποία διαβάζονται οι ρυθμίσεις.
Αυτό δεν περιλαμβάνεται στις οδηγίες. Πότε το τρέχεις;
Τι θέλω:
1) Να άλλάξω το password του root (κενό αρχικά)
2) Η εφαρμογή να χρησιμοποιεί άλλον λογαριασμό για πρόσβαση στη βάση protocol (πχ protocol_user με δικαιώματα μόνο στην protocol)
Με βάση τα παραπάνω, σε που και τι πρέπει να αλλάξω στην διαδικασία εγκατάστασης;
Thanks...

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

Καλημέρα

Το Ηλ. Πρωτόκολλο χρησιμοποιεί το framework Laravel


Για τη δημιουργία και την παροχή δικαωμάτων σε mysql user μετά από googlάρισμα βρήκα αυτά.

ΑΦΟΡΟΥΝ Xampp

https://stackoverflow.com/questions/5986635/create-a-new-mysql-user-in-xampp

https://chartio.com/resources/tutorials/how-to-grant-all-privileges-on-a-database-in-mysql/#database-specific-privileges

Laravel

Αλλάζεις και τις ρυθμίσεις στο Laravel ( .env, /app/config/database.php)

καθαρίζεις τυχόν cache

Και λογικά πρέπει να τρέχει.


Είναι ζήτημα xampp - mysql - laravel


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

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

Στη mysql, για τη δημιουργία χρήστη (pr0t0c0l_us3r') στη βάση , την απόδοση δικαιωμάτων για αυτόν τον χρήστη στη βάση αλλά και την αλλαγή του password για τον root δεν τίθεται θέμα.

Αλλά τρέχοντας
php artisan migrate:refresh --seed


μου επιστρέφει:

   Illuminate\Database\QueryException  : SQLSTATE[HY000] [1045] Access denied for user 'pr0t0c0l_us3r'@'localhost' (using password: YES) (SQL: select * from information_schema.tables where table_schema = protocol and table_name = migrations and table_type = 'BASE TABLE')

  at C:\protocol\vendor\laravel\framework\src\Illuminate\Database\Connection.php:664
    660|         // If an exception occurs when attempting to run a query, we'll format the error
    661|         // message to include the bindings with SQL, which will make this exception a
    662|         // lot more helpful to the developer instead of just the database's errors.
    663|         catch (Exception $e) {
  > 664|             throw new QueryException(
    665|                 $query, $this->prepareBindings($bindings), $e
    666|             );
    667|         }
    668|

  Exception trace:

  1   Doctrine\DBAL\Driver\PDOException::("SQLSTATE[HY000] [1045] Access denied for user 'pr0t0c0l_us3r'@'localhost' (using password: YES)")
      C:\protocol\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOConnection.php:31

  2   PDOException::("SQLSTATE[HY000] [1045] Access denied for user 'pr0t0c0l_us3r'@'localhost' (using password: YES)")
      C:\protocol\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOConnection.php:27


Έδωσα και
composer clearcache

, αλλά τα ίδια.

Κάνω κάτι λάθος;

Update: κατσε, γιατί κάτι δεν πάει καλά με τα windows , παραπειραξα ίσως τη registry γιατί σερνόταν το vm και μάλλον χάλασα κάτι (,πχ βγαίνει μήνυμα λάθους όταν προσπαθώ να δώσω από command prompt mysql). Άι σιχτήρ με δαυτα

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

#175
Αγασπητέ Δημήτρη

στο δικό μου σύστημα Archlinux


  • Δημιούργησα μια νέα ΒΔ "protocoltest" με τον phpMyAdmin (φωτ 1)
  • Με το terminal έφτιαξα τον χρήστη "pr0t0col_us3r" και του παραχώρησα προνόμια στη ΒΔ "protocoltest" (φωτ 2)
  • Τροποποίησα το αρχείο ".env" (φωτ 3)
  • Από τον φάκελο του Ηλ.Πρωτοκόλλου έφτιαξα τους πίνακες στη ΒΔ (φωτ 4)


Δεν χρειάστηκε να καθαρίσω cache.
Αν χρειαστεί την καθαριζεις με: php artisan config:clear

εντολές php artisan
  config:cache        Create a cache file for faster configuration loading
  config:clear         Remove the configuration cache file

Για να γεμίσει πλήρως η ΒΔ (table keepvalues) πρέπει να τρέξουμε και:
php artisan db:seed --class=KeepvaluesTableSeeder

Στη διάθεσή σου όποτε θέλεις και τηλεφωνικά ...

ΥΣΤΕΡΟΓΡΑΦΟ: Τι τα θέλεις τα windows; ... !!!

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

Εγώ έχω αναλάβει την αρχική εγκατάσταση 2 συστημάτων πρωτοκόλλου (και την μετάπτωση των δεδομένων από παλιά εφαρμογή που χρησιμοποιείται) προκειμένου να αξιολογηθούν.
Από εκεί και πέρα τη συντήρηση θα την αναλάβει άλλος που θέλει windows, οπότε έχω στήσει 2 VM σε ubuntu host.

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

Το ξανακάνω από την αρχή.
Στο config/database.php, στη γραμμή 49 δεν θα πρέπει να αλλάξει ο χρήστης από root σε πχ protocol_user? Αντίστοιχα στη γραμμή 50 το password του protocol_user, σωστά?
Στις οδηγίες αναφέρεις αλλαγές μόνο στις γραμμές 48 και 50

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

Πολύ σωστά.
Πρέπει να αλλάξει ο χρήστης "root" στον νέο χρήστη "pr0t0c0l_us3r"


Οι οδηγίες συντάχθηκαν με βάση τις ελάχιστες αλλαγές που πρέπει να γίνουν για να δουλέψει το Ηλ.Πρ. σε συνάρτηση βεβαίως με τα προτεινόμενα πιο πάνω (πχ. ότι ο χρήστης θα είναι ο "root").

Τώρα το αρχείο config/database.php

με τον κώδικα: 'username' => env('DB_USERNAME', 'root'),
αν βρεί στο αρχείο .env την μεταβλητή 'DB_USERNAME' <> '' τη χρησιμοποιεί
αλλιώς τη default value = "root"
Αυτός είναι ο σχεδιασμός του framework Laravel


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

Λοιπόν, το ξανάστησα από την αρχή αλλά και πάλι το ίδιο πρόβλημα εμφανίστηκε.
php artisan migrate:refresh --seed

εμφανίζεται το ίδιο μήνυμα λάθους
Illuminate\Database\QueryException  : SQLSTATE[HY000] [1045] Access denied for user 'pr0t0c0l_us3r'@'localhost' (using password: YES) (SQL: select * from information_schema.tables where table_schema = protocol and table_name = migrations and table_type = 'BASE TABLE')

  at C:\protocol\vendor\laravel\framework\src\Illuminate\Database\Connection.php:664
    660|         // If an exception occurs when attempting to run a query, we'll format the error
    661|         // message to include the bindings with SQL, which will make this exception a
    662|         // lot more helpful to the developer instead of just the database's errors.
    663|         catch (Exception $e) {
  > 664|             throw new QueryException(
    665|                 $query, $this->prepareBindings($bindings), $e
    666|             );
    667|         }
    668|

  Exception trace:

  1   Doctrine\DBAL\Driver\PDOException::("SQLSTATE[HY000] [1045] Access denied for user 'pr0t0c0l_us3r'@'localhost' (using password: YES)")
      C:\protocol\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOConnection.php:31

  2   PDOException::("SQLSTATE[HY000] [1045] Access denied for user 'pr0t0c0l_us3r'@'


Από command prompt, αν συνδεθείς στη βάση ως pr0t0c0l_us3r και δώσεις
select * from information_schema.tables where table_schema = protocol and table_name = migrations and table_type = 'BASE TABLE'
(η οποία αποτυχία πιο πάνω με Access Denied) δουλεύει, άρα η βάση είναι ΟΚ.

Μήπως υπάρχει κάποιο άλλο αρχείο το οποίο αλλαγή στις παραμέτρους του;

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

Περιεχόμενα .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 πιστεύω)

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

Γηράσκω αεί διδασκόμενος!!!

Αφου μας παίδεψε όλη την ημέρα βρήκαμε ότι ο χαρακτήρας #
είναι ειδικός χαρακτήρας για το αρχείο .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("")


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

Πρωτοκόλληση εισερχόμενων email, μερικές παρατηρήσεις:

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

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

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

Αναζήτηση πρωτικόλλου:

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


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

Σας ενημερώνω για κάποιες τροποποιήσεις και προσθήκες:

  • Τροποποίηση του slug των ρυθμίσεων από /config σε /settings γιατί χτύπαγε στον webhost.sch.gr
  • Η αναζήτηση στο πεδίο "Διεκπεραίωση" γίνεται πλέον με το όνομα χρήστη (πριν με τον κωδ.χρήστη)
  • Ορίστηκε και περιορίστηκε ο αριθμός ημερών που ελέγχονται τα εισερχόμενα imap-emails σε 7. Ο αριθμός ημερών μπορεί να αλλάξει από τις ρυθμίσεις.
  • Προστέθηκε δυνατότητα ειδοποίησης με email του Διεκπεραιωτή όταν του ανατίθεται ένα Πρωτόκολλο.
  • Το παραπάνω (ειδοποίηση Διεκπεραιωτή) μπορεί να γίνει με τη χρήση άλλου "εσωτερικού" email εφόσον ρυθμιστεί στο config/intra-mail.php.

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

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




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

Το Ηλ. Πρωτοκολλο ΑΝΑΒΑΘΜΙΣΤΗΚΕ

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

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

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

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

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

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



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

Τροποποιήθηκε η δυνατότητα αποστολής Αποδείξεων παραλαβής με email

Πλεον υπάρχουν οι ακόλουθες δυνατότητες:

  • Αποστολή αποδ.παρ. όταν καταχωρίζουμε πρωτόκολλα από εισερχόμενα email.

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

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

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

Παράθεση από: kostas123 στις 06 Ιουλ 2020, 01:35:10 ΜΜ
καλησπερα σας
δεν θελω να δημιουργω πρωτοκολλο μεσω email .
Θελω απλα να εχω επιλογη να στελνει e-μαιλ ενα εξερχομενο πρωτοκολλο που εχει δημιουργηθει ..

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

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

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

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

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

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

Προστέθηκαν οι παρακάτω ρυθμίσεις


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

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

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


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


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

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

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

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

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

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

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

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

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

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

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



Powered by Elxis : LabSchool.mysch.gr

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

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

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

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

Καλημέρα Δημήτρη

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


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

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

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

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

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

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

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



Παράθεση από: Δημήτρης Κανάς στις 17 Δεκ 2020, 10:44:55 ΠΜ
Γεια σου Γιώργο,

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

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

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

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

Δημήτρη ας το κοινοποιήσουμε και στους άλλους:

3 εντολές

git stash
git pull
git stash pop


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




Παράθεση από: Δημήτρης Γκίνης στις 17 Δεκ 2020, 10:56:36 ΠΜ
Γιώργο, πώς είπαμε ότι κατεβάζεις νέα ενημέρωση από το git κρατώντας τις αλλαγές που έχεις κάνει πχ σε αρχεία ρυθμίσεων;
Έτσι;;
git fetch https://github.com/laravel/laravel.git
[/s]

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

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

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

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

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

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

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

Προστέθηκαν δυνατότητες

  • ο Αναγνώστης μπορεί όταν του ανατεθεί πρωτόκολλο να το Διεκπεραιώσει ενημερώνοντας την ημνια διεκπεραίωσης
  • Περιορισμοί στους χρήστες που μπορούν να πρωτοκολλήσουν εισερχόμενα email. Μόνο όσοι δηλωθούν στις ρυθμίσεις

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

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

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

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

Προστέθηκε η δυνατότητα οι χρήστες να πλοηγούνται σε σχετικό Πρωτόκολλο που έχει καταχωριστεί στο πεδίο "Σχετικοί αριθμοί"

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


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


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



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

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

Χρόνια πολλά κ Καλά χριστούγεννα

Ο κ. Συμεωνίδης μοιράστηκε μαζί μου τις σωστές ρυθμίσεις για χρήση του λογαριασμού email του ΠΣΔ.

Σας κοινοποιώ τις ρυθμίσεις για email.



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



Ρύθμίση email με το Gmail

Για να ρυθμίσετε το email συμπληρώστε ανάλογα τα στοιχεία στο αρχείο .env.

γραμμές 26 έως 40:


MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=gm@ilusern@me
MAIL_PASSWORD=gm@ilp@ss
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=gm@ilusern@me@gmail.com
MAIL_FROM_NAME="Ηλ. Πρωτόκολλο"


IMAP_HOST=imap.gmail.com
IMAP_PORT=993
IMAP_ENCRYPTION=ssl
IMAP_VALIDATE_CERT=false
IMAP_USERNAME=gm@ilusern@me
IMAP_PASSWORD=gm@ilp@ss
IMAP_DEFAULT_ACCOUNT=default
IMAP_PROTOCOL=imap




Ρύθμίση email με το ΠΣΔ Πανελλήνιο Σχολικό Δίκτυο

MAIL_DRIVER=smtp
MAIL_HOST=mail.sch.gr
MAIL_PORT=25
MAIL_USERNAME=sch_usern@me
MAIL_PASSWORD=sch_p@ss
MAIL_ENCRYPTION=
MAIL_FROM_ADDRESS=sch_usern@me@sch.gr
MAIL_FROM_NAME="Ηλ. Πρωτόκολλο"


IMAP_HOST=mail.sch.gr
IMAP_PORT=143
IMAP_ENCRYPTION=tls
IMAP_VALIDATE_CERT=true
IMAP_USERNAME=sch_usern@me
IMAP_PASSWORD=sch_p@ss
IMAP_DEFAULT_ACCOUNT=default
IMAP_PROTOCOL=imap

Κυριάκος Μαυρίδης

Καλημέρα. Συγχαρητήρια για την πολύ καλή δουλειά που έχετε κάνει με το ηλεκτρονικό πρωτόκολλο. Εδώ και λίγο καιρό το χρησιμοποιούσαμε σε δοκιμαστική βάση για την υπηρεσία μας (με σκοπό με την αρχή του χρόνου να αντικαταστήσει το παλιό πρωτόκολλο).
Μετά τα τελευταία updates παρατηρήσαμε το εξής πρόβλημα: στα εισερχόμενα email πάρα πολλά (όχι όμως όλα) εμφανίζονται με λάθος κωδικοποίηση (όπως στην εικόνα).  Αυτό δε συνέβαινε προηγουμένως. Επίσης στο webmail τα email φαίνονται κανονικά. Δυο δοκιμές με ελληνικό κείμενο από άλλο email (yahoo) τα εμφανίζει σωστά.
Υπάρχει κάτι που μπορούμε να διορθώσουμε;

Ευχαριστούμε πολύ
Μαυρίδης Κυριάκος
ΔΔΕ Κυκλάδων

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

#197
Είναι θέμα κωδικοποίησης  charset "iso-8859-7" <=> "utf-8"

Αυτά τα email δηλώνουν σαν κωδικοποίηση την iso-8859-7

<meta http-equiv=Content-Type content="text/html; charset="iso-8859-7">



Στο αρχείο

app/Http/Controllers/ProtocollController.php

άλλαξε τη γραμμή 1562

από

                $content = $oMessage->getHTMLBody();


σε

                $content =  str_replace("iso-8859-7", "utf-8", $oMessage->getHTMLBody());



Ο νέος κώδικας αλλάζει την κωδικοποίηση σε utf-8 και γίνεται

<meta http-equiv=Content-Type content="text/html; charset="utf-8">


Στο δικό μου σύστημα τα email  διαβάζονται πλέον κανονικά






Το ίδιο συμβαίνει και στην αποθήκευση του email σαν συνημμένου αρχείου. Εκεί όμως δεν φαίνεται
γιατί υπάρχουν 2 δηλώσεις charset και υπερτερεί η 1η που κάνουμε <meta charset="utf-8">


Προαιρετικά: Αν θέλεις στο αρχείο


resources/views/viewEmail.blade.php

γραμμή 60

άλλαξε

το


            <div class="form-control-static col-md-12 col-sm-12  ">{!!$oMessage->getHTMLBody()!!}</div>

σε

            <div class="form-control-static col-md-12 col-sm-12  ">{!! str_replace("iso-8859-7", "utf-8", $oMessage->getHTMLBody()) !!}</div>


Πες μου σε παρακαλώ αν διορθώθηκε ...


Ανέβηκε και στο github

Κυριάκος Μαυρίδης

Ναι! Δούλεψε. Ευχαριστώ για την άμεση απάντηση!
Μια σημείωση. Στον παραπάνω κώδικα για το σετάρισμα του email του ΠΣΔ τελικά σε εμάς έπαιξε με τις παρακάτω ρυθμίσεις (αλλαγή στις ρυθμίσεις IMAP)

MAIL_MAILER=smtp
MAIL_HOST=mail.sch.gr       
MAIL_PORT=25
MAIL_USERNAME=username SCH
MAIL_PASSWORD=pass SCH
MAIL_ENCRYPTION=
MAIL_FROM_ADDRESS=email SCH
MAIL_FROM_NAME="όνομα..."

IMAP_HOST=mail.sch.gr
IMAP_PORT=993
IMAP_ENCRYPTION=ssl
IMAP_VALIDATE_CERT=false
IMAP_USERNAME=username SCH
IMAP_PASSWORD=pass SCH
IMAP_DEFAULT_ACCOUNT=default
IMAP_PROTOCOL=imap

θα το ξανατσεκάρω να δω ότι όλα πάνε καλά. Για την ώρα όμως και τα φέρνει και τα δείχνει σωστά (κωδικοποίηση) και στέλνει αποδεικτικό μετά την πρωτοκόλληση.

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

Συνεχίζουμε να προσπαθούμε να καλύψουμε κάθε πιθανή περίπτωση...

Τα Ελληνικά στο θέμα και στα ονόματα των συνημμένων έρχονται με διαφορετικούς τρόπους ανάλογα με τον πάροχο (gmail, sch, yahoo, κλπ)

Γίνονται συνεχώς διορθώσεις.

ΠΑΡΑΚΛΗΣΗ

ΟΣΟΙ ΕΧΟΥΝ ΠΡΩΤΟΚΟΛΛΟ ΣΕ ΛΕΙΤΟΥΡΓΙΑ


στον φάκελο storage/logs θα βρείτε το αρχείο laravel.log

Διαγράψτε το το πρωί με το ξεκίνημα ώστε να ξεκινήσει να γράφει από την αρχή.

Στείλτε το μου στο mail μου όταν τελειώσει η ημέρα

g.theodoroy@gmail.com



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

Καλή χρονιά!!!
Καταθέτω κάτι που εντοπίστηκε μόλις εχτές:
Κατηγορία:Πρωτοκόλληση email
Συνθήκες: O imap λογαριασμός στον οποίο "κοιτάει" το πρωτόκολλο για εισερχόμενα να είναι @sch.gr
Σύμπτωμα: Όταν ο αποστολέας στέλνει μήνυμα από το webmail classic του ΠΣΔ με συνημμένο αρχείο με ελληνικό όνομα, αυτό (το συνημμένο) δεν εμφανίζεται στο πρωτόκολλο.
Αν το μήνυμα σταλεί από το webmail express του ΠΣΔ ή από κάποιο email client πχ thunderbird εμφανίζεται ΟΚ.
Λύση:Δεδομένου ότι δεν μπορείς να αποκλείσεις το ενδεχόμενο κάποιος να χρησιμοποιήσει το webmail classic του ΠΣΔ (ακόμη και αν ζητηθεί από όλους τους χρήστες -σχολεία και εκπαιδευτικούς- μια διεύθυνσης να χρησιμοποιούν το express) η λύση που βρήκα είναι τα εισερχόμενα μηνύματα από τον imap λογαριασμό @sch να προωθούνται σε ένα gmail account και το πρωτόκολλο να "κοιτάει" αυτό (το gmail)

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

Σε μια προσπάθεια για "καλύτερη εμπειρία χρήστη"

προστέθηκε έλεγχος των δεδομένων προς καταχώριση (form validation) στον καταμετρητή (client)

πριν την οριστική αποστολή της φόρμας.


Με τον τρόπο αυτό δεν ανανεώνεται η σελίδα σε περίπτωση που υπάρχει κάποια απαίτηση στα πεδία προς συμπλήρωση

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



ΠΡΟΣΟΧΗ

ΕΠΕΙΔΗ ΔΥΣΤΥΧΩΣ ΔΕΝ ΜΠΟΡΩ ΝΑ ΤΕΣΤΑΡΩ ΕΠΙΣΤΑΜΕΝΑ ΟΛΕΣ ΤΙΣ ΑΛΛΑΓΕΣ
και
ΤΟ ΠΙΟ ΣΙΓΟΥΡΟ ΤΕΣΤ ΕΙΝΑΙ Η ΠΡΑΓΜΑΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑ

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



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

Προστέθηκε έλεγχος της φόρμας (validation) καταχώρισης email στον φυλλομετρητή (client).


Ο χρήστης ειδοποιείται για τις ελλείψεις και διορθώνει πριν την υποβολή.


Ειδοποιείται αν υπάρχει καταχωρισμένο πρωτόκολλο με το ίδιο

Θέμα ή - και με ίδιο Αριθμό και Ημνια εισερχομένου

έτσι ώστε να αποφασίσει αν θα συνεχίσει ή όχι την καταχώριση

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

Καλημέρα Γιώργο,
Μετά την τελευταία ενημέρωση έχω ένα θέμα με το email. Όταν έχει μείνει ένα email και πάω να το διαχειριστώ μου πετάει σφάλμα. Δες το συνημμένο.

Καλή Χρονιά!
Πρώην ΚΕΠΛΗΝΕΤ

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

Το επιβεβαιώνω και εγώ. για την ακρίβεια όταν δεν υπάρχουν εισερχόμενα, πηγαίνοντας στο /viewEmails επιστρέφει 500 Server Error.

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

Διορθώθηκε

:angel:

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

#206
 Προτέθηκε η δυνατότητα αποστολής email για διεκπεραίωση ή ενημέρωση σε πολλαπλούς χρήστες

Το select της διεκπεραίωσης επιτρέπει πλέον πολλαπλές επιλογές.
Χωρίζεται σε 2 μέρη τους διεκπεραιωτές και προς ενημέρωση.
Στέλνεται email
                 για ανάθεση σε διεκπεραιωτές
                 για ενημέρωση σε όσους επιλεγούν


Τροποποιήθηκε ο έλεγχος - αποκλεισμός δυνατότητας επεξεργασίας στην Επεξεργασία Πρωτοκόλλου ανάλογα με
                 τον χρόνο δημιουργίας του πρωτοκόλλου,
                 τον χρόνο τελευταίας τροποποίησης και
                 τι έχει συμπληρωθεί (εισερχόμενο - εξερχόμενο πρωτόκολλο)

Εκτός από την απόκρυψη του κουμπιού αποθήκευσης απενεργοποιείται ανάλογα και η δυνατότητα επεξεργασίας των πεδίων


ΠΡΟΣΟΧΗ
ΧΡΕΙΑΖΟΝΤΑΙ ΑΛΛΑΓΕΣ ΣΤΗ ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ

Στο table protocols

1. Το πεδίο 'paratiriseis' να αλλάξει ο τύπος του από VARCHAR σε TEXT
               Επιβεβλημένο γιατί οι παρατηρήσεις ξεπερνούν σταδιακά το όριο του VARCHAR(255)

2. Στο πεδίο 'diekperaiosi' να προστεθεί μπροστά από το id χρήστη το 'd' δηλαδή το [id] να γίνει d[id]: 3 => d3, 5 =>d5, 10 => d10, κλπ
              Εξήγηση: βάζοντας 'd' εννοούμε διεκπεραίωση ενώ 'e' => ενημέρωση

ΠΑΡΑΤΗΡΗΣΗ:
Έχει παρατηρηθεί ότι μερικές φορές το Θέμα ξεπερνάει το όριο του πεδίου VARCHAR(255).
Αν αυτό συμβεί στην κανονική πρωτοκόλληση η Laravel το περικόπτει και προσθέτει error mysql στο storage/logs/laravel.log
Αν αυτό συμβεί στην καταχώριση email στο Πρωτόκολλο το "Ηλ Πρωτόκολλο" στέλνει το error ( ένα κόκκινο κατεβατό στον χρήστη).
ΛΥΣΗ
      Προσωρινά όταν συμβεί περικόπτετε χειροκίνητα το θέμα
      Για μόνιμα αλλάξτε τον τύπο του 'thema' σε ΤΕΧΤ


ΚΡΑΤΗΣΤΕ BACKUP ΤΗΣ ΤΩΡΙΝΗΣ ΕΓΚΑΤΑΣΤΑΣΗΣ
ΕΦΑΡΜΟΣΤΕ ΤΗΝ ΚΑΙΝΟΥΡΙΑ
ΒΕΒΑΙΩΘΕΙΤΕ ΟΤΙ ΟΛΑ ΔΟΥΛΕΥΟΥΝ ΟΠΩΣ ΑΝΑΜΕΝΕΤΑΙ

ΣΦΥΡΙΞΤΕ ΑΝ ΒΡΕΙΤΕ BUG

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

falexakos

Γεια σας από την ΔΔΕ Καρδίτσας.

Ελπίζω να μη φαίνεται πολύ αφελές το παρακάτω ερώτημα· πάντως εγώ θα το ρισκάρω. :-)
Σήμερα πρωτοεγκατέστησα την εφαρμογή στο webhost.sch.gr Χρησιμοποίησα τα .zip αρχεία και τις οδηγίες στην σελ. 11 του παρόντος  thread:
https://is.gd/bBFAug Μπήκαν όλα στο: https://dide-new.kar.sch.gr/protocol

Όλα καλά πλην των mails.
Πείραξα λοιπόν τα αρχεία .env και protocolBase/config/imap.php με τα δικά μου στοιχεία για στο ΠΣΔ, όπως περιγράφεται εδώ παραπάνω.
Βλέπω τα εισερχόμενα μηνύματά μου, πλην όμως όταν κλικάρω στο "καταχώριση e-mail" (με ή χωρίς αποστολή απόδειξης) δεν γίνεται τίποτε.
Φαίνεται να πάει να εκτελέσει:
javascript:$('#sendReceipt7648').val(1);sendEmailTo(7648);chkSubmitForm(7648);


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

Σε κάθε περίπτωση, ευχαριστώ πολύ!

Φώτης Αλεξάκος
Υπ. ΠΛΗ.ΝΕ.Τ.
ΔΔΕ Καρδίτσας



 

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

Παράθεση από: falexakos στις 19 Ιαν 2021, 01:15:42 ΜΜ
Αν τώρα το μήνυμα έχει και συνημμένο, μου ζητάει να επιλέξω κάποιον φάκελο, πράγμα που όμως δεν βλέπω πού γίνεται.

Κοίτα λίγο στη διαχείριση (εννοείται ως administrator), -> Ρυθμίσεις->Ρυθμίσεις εισερχομένων email ->Το πεδίο Φάκελος απαιτείται για την πρωτοκόλληση email : κάντο ΝΑΙ και δοκίμασε να δεις τι γίνεται.

Όσον αφορά τα email: στη δική μου περίπτωση (τοπική εγκατάσταση σε ubuntu 1804) δουλεύει καλά η πρωτοκόλληση. Αν αντί για λογαριασμό ΠΣΔ βάλεις google account τι κάνει; Για να δούμε τι θα πει και ο Γιώργος βέβαια.

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

Εγώ ευθύνομαι για αυτό!!!

ΔΕΝ ΠΡΟΛΑΒΑ ( ΙΣΩΣ ΚΑΙ ΑΜΕΛΗΣΑ ) να ενημερώσω τα αρχεία zip.

Επειδή οι αλλαγές είναι "καταιγιστικές" και επειδή δεν ήξερα ότι κάποιος εκτός εμού χρησιμοποιούσε την παραλλαγή αυτή ...


Ας είναι...

Ο σύνδεσμος του ενημερωμένου ProtocolBase.zip:

https://drive.google.com/file/d/1PrA2jCombPdlS66tJmUitqrd-aMpTifu/view?usp=sharing

Το άλλο zip protocol.zip δεν έχει αλλαγές

https://drive.google.com/file/d/1xv-jMVxxpk2zkIhEBtnZ6mp4uRBBdQds/view?usp=sharing

Αν και τώρα κάνει κόλπα μια φωνή να το δούμε....

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

Καλημέρα στην ομάδα!

Αντιμετωπίζω κάποια θέματα στο πρωτόκολλο:
1. Όταν επιλέγω κάποιο όνομα στην Διεκπεραίωση πολλές φορές προσθέτει αυτόματα και δεύτερο. Δεν μπορώ να καταλάβω σε ποιες περιπτώσεις το κάνει.
2. Το link που στέλνει το πρωτόκολλο στον αναθέτον έχει την μορφή http://localhost/home/7909 και δεν λειτουργεί. Πρέπει να αλλάξω το localhost με τη διεύθυνση της εφαρμογής στο server (π.χ. http://server...../protocol/home/.....).

Αυτά τα λίγα για σήμερα.

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

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

Παράθεση από: igaid στις 21 Ιαν 2021, 11:50:44 ΠΜ
2. Το link που στέλνει το πρωτόκολλο στον αναθέτον έχει την μορφή http://localhost/home/7909 και δεν λειτουργεί. Πρέπει να αλλάξω το localhost με τη διεύθυνση της εφαρμογής στο server (π.χ. http://server...../protocol/home/.....).
Στο /protocol/.env -> γραμμή 5-> δήλωσε την ip του μηχανήματος και τον φάκελο που είναι στημένη η εφαρμογή (πχ http://10.x.y.10/protocol)

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

Παράθεση από: Δημήτρης Γκίνης στις 21 Ιαν 2021, 12:50:46 ΜΜ
Στο /protocol/.env -> γραμμή 5-> δήλωσε την ip του μηχανήματος και τον φάκελο που είναι στημένη η εφαρμογή (πχ http://10.x.y.10/protocol)

Λειτουργεί! Το δοκίμασα και με το domain και λειτουργεί κανονικά. Ευχαριστώ.
Πρώην ΚΕΠΛΗΝΕΤ

falexakos

Παράθεση
Ο σύνδεσμος του ενημερωμένου ProtocolBase.zip:

https://drive.google.com/file/d/1PrA2jCombPdlS66tJmUitqrd-aMpTifu/view?usp=sharing

Το άλλο zip protocol.zip δεν έχει αλλαγές

https://drive.google.com/file/d/1xv-jMVxxpk2zkIhEBtnZ6mp4uRBBdQds/view?usp=sharing

Αν και τώρα κάνει κόλπα μια φωνή να το δούμε....

Έκανα τις προτεινόμενες αλλαγές Γιώργο και όλα καλά. Θα το δοκιμάσουμε πιλοτικά στην ΔΔΕ Καρδίτσας (παράλληλα μ' αυτό που χρησιμοποιούμε τώρα) και πιστεύω πως μέσα στη χρονιά θα το καθιερώσουμε.

Πολλά ευχαριστώ και πάλι. Τέτοιο service κανένας ιδιώτης.  ;D

Φώτης

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

#214
Προσαρμογή δικαιωμάτων Συγγραφέων & Αναγνωστών - Εξαγωγή σε xls

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

Β.
Προστέθηκε η δυνατότητα εξαγωγής της εκτύπωσης Πρωτοκόλλου σε αρχείο xls.
Για να κατέβουν οι απαραίτητες βιβλιοΘήκες σε ενεργά πρωτόκολλα
πρέπει να τρέξουμε την έντολή:
composer install --no-dev

Γ.
Διορθώθηκε ένα μικρό bug που οδηγούσε σε λάθη στην in_perilipsi
εισερχομένων μηνυμάτων.

ΠΑΡΑΚΑΛΩ BACKUP και αφου βεβαιωθούμε ότι όλα δουλεύουν ΑΝΤΙΚΑΤΑΣΤΑΣΗ

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

Παράθεση από: igaid στις 21 Ιαν 2021, 11:50:44 ΠΜ
Καλημέρα στην ομάδα!

Αντιμετωπίζω κάποια θέματα στο πρωτόκολλο:
1. Όταν επιλέγω κάποιο όνομα στην Διεκπεραίωση πολλές φορές προσθέτει αυτόματα και δεύτερο. Δεν μπορώ να καταλάβω σε ποιες περιπτώσεις το κάνει.
2. Το link που στέλνει το πρωτόκολλο στον αναθέτον έχει την μορφή http://localhost/home/7909 και δεν λειτουργεί. Πρέπει να αλλάξω το localhost με τη διεύθυνση της εφαρμογής στο server (π.χ. http://server...../protocol/home/.....).

Αυτά τα λίγα για σήμερα.

Αφορά το 1.

ΤΟ ΛΑΘΟΣ

Έστω ότι έχουμε τους χρήστες:

  • Α με id = 1
  • B με id = 12
  • Γ με id = 8
  • ...

Στην ανάθεση πρωτοκόλλου προς διεκπεραίωση για να ξεχωρίσουμε την διεκπεραίωση από την ενημέρωση προθέτουμε

  • 'd' για διεκπεραίωση
  • 'e' για επικοινωνία

Η τιμή που αποθηκεύεται στη ΒΔ έχει τη μορφή

  • 'd12' => διεκπεραίωση από χρήστη Β ( id =12)
  • 'd12,e1,e8' =>διεκπεραίωση από χρήστη Β ( id = 12), ενημέρωση χρήστη με id = 1, ενημέρωση χρήστη με id = 8

Όταν γεμίζει το select Διεκπεραίωση με τους χρήστες ελέγχει αν το id τους περιέχεται στο string από τη ΒΔ και αν ΝΑΙ τότε selected ( ο χρήστης είναι επιλεγμένος)

Οπότε οι συγκρίσεις δίνουν:

  • ΤΟ 'd12,e1,e8' ΠΕΡΙΕΧΕΙ 'd12' => ΣΩΣΤΟ ( ΜΕ ΤΗ ΛΟΓΙΚΗ ΤΟΥ Η/Υ) ΣΩΣΤΟ ( ΣΤΗΝ ΠΡΑΓΜΑΤΙΚΌΤΗΤΑ)
  • ΤΟ 'd12,e1,e8' ΠΕΡΙΕΧΕΙ 'd1' => ΣΩΣΤΟ ( ΜΕ ΤΗ ΛΟΓΙΚΗ ΤΟΥ Η/Υ) ΛΑΘΟΣ ( ΣΤΗΝ ΠΡΑΓΜΑΤΙΚΌΤΗΤΑ)

Η ΛΥΣΗ

Προσθέτουμε κόμμα (,) στο τέλος των συγκρινόμενων string

Οπότε οι συγκρίσεις δίνουν:

  • ΤΟ 'd12,e1,e8,' ΠΕΡΙΕΧΕΙ 'd12,' => ΣΩΣΤΟ
  • ΤΟ 'd12,e1,e8,' ΠΕΡΙΕΧΕΙ 'd1,' => ΛΑΘΟΣ


ΥΣΤΕΡΟΓΡΑΦΟ

Όπως προανέφερα

  • δεν έχω δεδομένα και χρόνο για εξαντλητικές δοκιμές
  • η πραγματική δοκιμή είναι η πραγματική λειτουργία του Πρωτοκόλλου

Ευχαριστώ τον Κυριάκο Μαυρίδη και την ΔΔΕ Κυκλάδων για την επισήμανση.

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

Μετά την τελευταία ενημέρωση κάτι δεν πήγε καλά.
Δείτε συνημμένο.
Πρώην ΚΕΠΛΗΝΕΤ

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

Για τέτοιες περιπτώσεις, βολεύει ΠΑΡΑ πολύ η εγκατάσταση να γίνεται σε VM αφού πολύ εύκολα πριν από κάθε αναβάθμιση/ενημέρωση μπορείς να πάρεις ένα snapshot ώστε αν κάτι πάει στραβά (και μέχρι να διορθωθεί) να κάνεις restore το spapshot.
Κατά τα λοιπά, δεν έχω κάνει ενημέρωση ακόμη στην τελευταία έκδοση (δεν πρόλαβα να πάρω snapshot) οπότε δεν μπορώ να επιβεβαιώσω το πρόβλημα ή να βοηθήσω.
Ας μιλήσει λοιπόν ο μάστορης...

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

Χρειάζεται το Laravel Excel για να εξάγει αποτελέσματα σε excel που δε το έχεις.

Δηλαδή: composer install --no-dev

Ο Γιώργος θα σου πει τις λεπτομέρειες.....
Powered by Elxis : LabSchool.mysch.gr

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

Παράθεση από: Γεώργιος Θεοδώρου στις 26 Ιαν 2021, 07:01:26 ΜΜ
Προσαρμογή δικαιωμάτων Συγγραφέων & Αναγνωστών - Εξαγωγή σε xls

...

Β.
Προστέθηκε η δυνατότητα εξαγωγής της εκτύπωσης Πρωτοκόλλου σε αρχείο xls.
Για να κατέβουν οι απαραίτητες βιβλιοΘήκες σε ενεργά πρωτόκολλα
πρέπει να τρέξουμε την έντολή:
composer install --no-dev

...


composer install --no-dev

Αισθάνομαι ιδιαίτερη ευθύνη καθώς όλο και περισσότερα πρωτόκολλα τίθενται σε παραγωγή.

Προσπαθώ να δίνω λεπτομερείς οδηγίες για κάθε αναβάθμιση.


Ευχαριστώ ολους σας για τη συμβολή σας

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

Θεωρώ πρέπουσα και πάγια τακτική την παράλληλη εγκατάσταση και αντικατάσταση του ενεργού Πρωτοκόλλου όταν βεβαιωθούμε ότι όλα δουλεύουν ως αναμένεται!!!!

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

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

Υ.Γ. Θέλει composer update για να γίνει η ενημέρωση.
Πρώην ΚΕΠΛΗΝΕΤ

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

Προστέθηκε δυνατότητα αποθήκευσης των εισερχομένων email ως αρχεία .eml

Έτσι μπορούν να ανοίγουν με προγράμματα ανάγνωσης ταχυδρομείου όπως:

Mozilla Thunderbird
Microsoft Outlook Express
Outlook Express

κ.α.

.eml
https://www.reviversoft.com/el/file-extensions/eml
https://fileinfo.com/extension/eml

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

Χάρη στον Δημήτρη τον Γκίνη

ανακαλύφθηκε και διορθώθηκε

κώδικας που χωρίς να χρειάζεται φόρτωνε δεδομένα στη μνήμη

με αποτέλεσμα σε ένα Πρωτόκολλο με >80000 εγγραφές

να εξαντλείται η διαθέσιμη μνήμη και να καταλήγουμε σε άσπρη οθόνη.


:angel: Η απειρία του ερασιτέχνη προγραμματιστή !!!  :angel: Πάντα κάτι καινούριο έχουμε να μάθουμε !!!  :angel:

Το ευχαριστώ στον Δημήτρη είναι λίγο ...




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

Καλημέρα ομάδα,
Σήμερα αντιμετωπίζω κάποιο θέμα. Όταν επιλέγω τα 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 )

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

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

Ρύθμιση Εξαγωγής σε Excell

Ορίστηκε σαν προεπιλεγμένη τιμή γραμμών για εξαγωγή Πρωτοκόλλων στο Excell το 5000.

Στις ρυθμίσεις ο διαχειριστής μπορεί να ορίσει μια τιμή πχ: 10000

Αν το παρακάνουμε εξαντλείται η μνήμη και έχουμε ένα ωραίο "Error 500"


Η php πλέον μπορεί να είναι είτε 7.4 είτε 8.0

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

#241
Βελτιστοποίηση του Ηλ. Πρωτοκόλλου


Αγαπητοί φίλοι

βελτιστοποιήθηκε το Ηλ. Πρωτόκολλο με τη χρήση του εργαλείου debugbar


Έχουν περιοριστεί οι άσκοπες κλήσεις στη ΒΔ και γίνεται εξοικονόμηση πόρων.

Επίσης έγινε μετάβαση στην php 8



ΣΚΕΨΕΙΣ ...

Σας έχω εκφράσει και νωρίτερα τις σκέψεις μου για το αν θα πρέπει να ξαναγραφεί το project από την αρχή.

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

Εξάλλου περιμένουμε την εφαρμογή Πρωτοκόλλου του Υπουργείου παιδείας !!! Δεν ξέρουμε αν θα δοθεί στα σχολεία ή μόνο στις διευθύνσεις !!!


Όπως και να χει ευχαριστώ όλους σας για την πολύτιμη συνεισφορά σας στην εξέλιξη του Ηλ. Πρωτοκόλλου.


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

Το ίδιο αν έχετε κάποια καλή υλοποιήσιμη ιδέα ...


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

Το Ηλ. Πρωτόκολλο πέρασε στη Laravel 8


Ενημερώθηκαν οι βιβλιοθήκες του framework στο αρχείο composer.json στις απαιτούμενες εκδόσεις για Laravel 8.

Μπορεί να μην έχει κάποια καινοτόμα "καλούδια" αλλά η καρδιά πλέον είναι laravel 8.



Αφού γίνουν οι αλλαγές πρέπει να τρέξουμε


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




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

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

#243
Τι θα γίνει μόλις αλλάξει το έτος από 2021 σε 2022


Κατά την καταχώριση πρωτοκόλλου η εφαρμογή παρακολουθεί

  • το έτος που στέλνει η φόρμα καταχώρισης και
  • το τρέχον έτος

Το έτος που στέλνει η φόρμα καταχώρισης (1) ορίζεται από τον Διαχειριστή στις ρυθμίσεις "Ενεργό έτος πρωτοκόλλησης".
Το τρέχον έτος (2) υπολογίζεται αυτόματα.

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

Σε περίπτωση που δεν θέλω να ξαναρχίσω από την αρχή (νούμερο 1) την πρωτοκόλληση
αλλά θέλω να συνεχίσει στο επόμενο έτος από εκεί που τελείωσε το απελθόν έτος
αφήνω κενό το έτος στη ρύθμιση "Ενεργό έτος πρωτοκόλλησης".


Τι κάνω για να περάσω Πρωτόκολλα του έτους που τελείωσε (2021) και δεν πρόλαβα;


Στις ρυθμίσεις επιλέγω στο "Δικαιώματα χρηστών->Έλεγχοι & περιορισμοί κατά την καταχώριση" -> ΟΧΙ

Συνδέομαι σαν Διαχειριστής

Η φόρμα καταχώρισης - επεξεργασίας πρωτοκόλλου "κοκκινίζει".

Πλέον με όλα τα πεδία ξεκλείδωτα μπορώ να αλλάξω έτος, αριθμό Πρωτοκόλλου, ημερομηνία, ...


Να μη ξεχάσω να επαναφέρω τις ρυθμίσεις στις συνηθισμένες.



Καλή χρονιά με υγεία




Προς πληροφόρηση σας

χρειάστηκαν διορθώσεις στον κώδικα "για να κάνει αυτά που θέλουμε"

elitel

Καλησπέρα σας,

Έχω το εξής πρόβλημα:

Ανεβάζω στο πρωτόκολλο ένα συνημμένο αρχείο και όταν πατάω αποθήκευση λαμβάνω άσπρη οθόνη με το μήνυμα "500 server error".

Αυτό συμβαίνει στον desktop ενώ στον laptop λειτουργεί κανονικά.

Γνωρίζετε ποιο μπορεί να είναι το πρόβλημα;

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

Το πρώτο που μπορώ να σκεφτώ είναι το μέγεθος του αρχείου.


Αν πατήσεις προσθήκη συνημμένων αρχείων αριστερά εμφανίζεται η ρύθμιση της upload_max_filesize php


Επιλέξτε αρχείο έως 2M
ή πληκτρολογείστε ΑΔΑ


Ρίξε μια ματιά στον επόμενο σύνδεσμο:

https://github.com/g-theodoroy/electronic_protocol#%CE%BC%CE%AD%CE%B3%CE%B5%CE%B8%CE%BF%CF%82-%CF%83%CF%85%CE%BD%CE%B7%CE%BC%CE%BC%CE%AD%CE%BD%CF%89%CE%BD-%CE%B1%CF%81%CF%87%CE%B5%CE%AF%CF%89%CE%BD


Αν δεν είναι αυτό δες τι γράφει στο storage/logs/laravel.log




elitel

#246
Τα αρχεία που ανεβάζω δεν είναι πάνω από 1MB.

Η ρύθμιση στο php.ini για της upload_max_filesize είναι 2048MB.

Το storage/logs/laravel.log δίνει τα παρακάτω:

[2022-01-16 19:40:08] local.ERROR: fopen(): Filename cannot be empty {"userId":1,"exception":"[object] (ErrorException(code: 0): fopen(): Filename cannot be empty at C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Filesystem\\FilesystemAdapter.php:222)
[stacktrace]
#0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'fopen(): Filena...', 'C:\\\\Users\\\\\\xCE\\x9C\\xCE\\x99\\xCE\\x9B...', 222, Array)
#1 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Filesystem\\FilesystemAdapter.php(222): fopen('', 'r')
#2 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\UploadedFile.php(85): Illuminate\\Filesystem\\FilesystemAdapter->putFileAs('/arxeio/\\xCE\\xA6.1.1/', Object(Illuminate\\Http\\UploadedFile), '1-20220116_2-3-...', Array)
#3 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\app\\Http\\Controllers\\ProtocolController.php(714): Illuminate\\Http\\UploadedFile->storeAs('/arxeio/\\xCE\\xA6.1.1/', '1-20220116_2-3-...')
#4 [internal function]: App\\Http\\Controllers\\ProtocolController->update(Object(App\\Protocol))
#5 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Controller.php(54): call_user_func_array(Array, Array)
#6 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('update', Array)
#7 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php(219): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\ProtocolController), 'update')
#8 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php(176): Illuminate\\Routing\\Route->runController()
#9 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(680): Illuminate\\Routing\\Route->run()
#10 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(30): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\app\\Http\\Middleware\\ΜustBeWriterOrAdmin.php(21): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#12 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): App\\Http\\Middleware\\ΜustBeWriterOrAdmin->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'home/list')
#13 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Middleware\\SubstituteBindings.php(41): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#15 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\Middleware\\Authenticate.php(43): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#18 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken.php(75): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#21 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\View\\Middleware\\ShareErrorsFromSession.php(49): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Session\\Middleware\\StartSession.php(56): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#27 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse.php(37): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#30 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Cookie\\Middleware\\EncryptCookies.php(66): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#33 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#36 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(682): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#37 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(657): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#38 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(623): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#39 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(612): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#40 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(176): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#41 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(30): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#42 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\fideloper\\proxy\\src\\TrustProxies.php(57): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#43 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php(21): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#46 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#47 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#48 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php(21): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#49 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php(27): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#52 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#54 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode.php(62): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#55 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(163): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#58 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(151): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#59 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#60 C:\\Users\\ΜΙΛΛΥ\\Desktop\\electronic_protocol-win\\electronic_protocol\\www\\public\\index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#61 {main}
"}


Δοκίμασα το "Ηλεκτρονικό Πρωτόκολλο" και σε άλλους δύο υπολογιστές. Έναν lapotop και ένα desktop. Συμβαίνει ακριβώς το ίδιο. Στον desktop βγάζει το σφάλμα ενώ στον lapotop λειτουργεί κανονικά. Όλοι οι υπολογιστές έχουν το ίδιο λειτουργικό σύστημα (windows 11).

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

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

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


Έχει γίνει συζήτηση και νωρίτερα για προβλήματα στο όνομα των συνημμένων

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


« Απάντηση #121 στις: 19 Μαΐ 2020, 11:08:55 πμ » έως « Απάντηση #143 στις: 21 Μαΐ 2020, 06:02:24 μμ »



Απλή λύση: Αλλάζεις το όνομα του αρχείου.



Αν θες να ψάξεις περισσότερο αφού συμπεριφέρονται διαφορετικά οι 2 ΗΥ (desktop -laptop ) σύγκρινε τις ρυθμίσεις γλώσσας και κωδικοποίησης στους 2 υπολογιστές.

Αν καταλήξεις κάπου παρακαλώ κοινοποίησέ το για να επωφεληθούν και οι άλλοι.

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

Θα ήθελα να ρωτήσω ποια έκδοση χρησιμοποιείς και πως είναι εγκατεστημένη

elitel

#249
Χρησιμοποιώ αυτή:

https://github.com/g-theodoroy/electronic_protocol/releases/tag/win.0.1

Δεν έκανα κάποια εγκατάσταση. Απλά αποσυμπίεσα το zip αρχείο και έτρεξα το electronic_protocol.exe.

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

Άλλαξα και την κωδικοποίηση στον desktop σε utf-8 αλλά πάλι τίποτα.

Ακουλούθησα πρώτα τις συμβουλές που μου υποδείξατε και πάλι τίποτα.

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

Αυτές οι "εκδόσεις" είναι περισσότερο για επίδειξη του Ηλ.Πρωτοκόλλου.


Όπως γράφεται:

g-theodoroy released this 26 Jan 2020· 85 commits to master since this release


Από τον Ιανουάριο του 20 έχουν γίνει 85 προσθήκες-αλλαγές στον κώδικα.



Εφόσον σε ενδιαφέρει να χρησιμοποιήσεις το Ηλ.Πρωτόκολλο

θα πρέπει να εγκαταστήσεις την εφαρμογή σε ένα server. (lamp ή xamp)

Υπάρχουν αναλυτικές οδηγίες και βίντεο.

elitel

Ωραία. Θα το προσπαθήσω.

Ευχαριστώ πολύ για το χρόνο που αφιερώσατε.


elitel

Καλημέρα κ. Θεοδώρου.

Κατάφερα να εγκαταστήσω χωρίς πρόβλημα το "Ηλ. Πρωτόκολλο" σε server στον desktop.

Θα ήθελα να σας ρωτήσω αν μπορώ να χρησιμοποιήσω την εφαρμογή για δύο δομές (Γυμνάσιο-Λύκειο) στον ίδιο υπολογιστή, δηλ. να έχω δύο "Ηλ. Πρωτόκολλα" στον ίδιο υπολογιστή.

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

Γίνεται βεβαίως

κάντε την εγκατάσταση σε 2 υποφακέλους  (με αντίστοιχους public folders)

protocolGym

protocolLyk

Δημιουργείστε και τα αντίστοιχα alias

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








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

Σας κοινοποιώ έναν οδηγό για εγκατάσταση του Ηλ. Πρωτοκόλλου σε UBUNTU 20.04.

Η εγκατάσταση έγινε σε vm.

Εγκαταστάθηκε φρέσκος UBUNTU server και ακολούθως

apache, php8 με τις απαραίτητες extensions, composer.

Ακολούθησε κατέβασμα και εγκατάσταση του Ηλ.Πρωτοκόλλου, ρύθμιση apache.

Δεν εγκαταστάθηκε mysql.


Οι οδηγίες υπάρχουν στους ακόλουθους υπερσυνδέσμους:

https://magefan.com/blog/install-local-lamp-server-for-ubuntu
https://linuxbuz.com/linuxhowto/install-php-8-on-ubuntu-20-04-with-apache-and-nginx

Όλα μαζί στο συνημμένο αρχείο.


Παρατήρηση:

Με τον ίδιο οδηγό έγινε εγκατάσταση και σε άλλο vm.
Αν η php του συστήματος είναι η php8.1 αντικαταστήστε
στις εντολές όπου php8.0- σε php8.1-

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

Προστέθηκε η εξής δυνατότητα

Αν η επιλογή του διαχειριστή Εγγραφή Αρ. Πρωτοκόλλου στα συνημμένα αρχεία είναι ΝΑΙ

τότε στην αποθήκευση των συνημμένων στην επάνω δεξιά γωνία προστίθεται εικονίδιο με

Όνομα Σχολείου
Αρ.Πρ.: x...x / xx-xx-xxxx


Αυτό γίνεται μόνο σε αρχεία pdf και docx. (προς το παρόν ;) )


Επειδή εγκαταστάθηκαν 2 νέες βιβλιοθήκες πρέπει να τρέξουμε
           
composer install --no-dev
ή
composer update --no-dev


Θα παρατηρήσετε ότι στα 2 commits έχουν γίνει αρκετές αλλαγές

Οι περισσότερες είναι format του κώδικα php και των blade.php.

Έχουν εκτός από τα παραπάνω γίνει και κανά δυο αλλαγές σε αρχεία blade.php

Στα zipakia για τον webhost έχει γίνει composer update στις έσχατες βιβλιοθήκες



ΠΡΟΣΟΧΗ

ΟΣΟΙ ΕΧΕΤΕ ΕΝΕΡΓΑ ΠΡΩΤΟΚΟΛΛΑ

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

πρώτα στήσιμο σε νέο φάκελο και εφόσον δουλεύει μεταφορά του ενεργού πρωτοκόλλου


Αν βρείτε BUG ξέρετε !!!

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

#256
Μπράβο Γιώργο!!!! Έγραψες!

Μήπως μπορεί να μπει στην πρώτη σελίδα μόνο ή και να μην έχει διαφάνεια η σφραγίδα οπότε ας υπερκαλύπτει το περιεχόμενο αν πέφτει πάνω σε άλλο κείμενο. Λίγο μεγαλύτερο μέγεθος γραμματοσειράς;
Powered by Elxis : LabSchool.mysch.gr

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

#257
Στο αρχείο

configs/stamp.php

μπορείς να ρυθμίσεις

  • τα χρώματα ( text - border - background )
  • τη διαφάνεια ναι ή όχι
  • το μέγεθος γραμματοσειράς
  • την απόσταση από πάνω και δεξιά της σελίδας
  • τη θέση ( left - center - right )





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

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

Σε νέα εγκατάσταση (με βάση που προέκυψε από συγχώνευση παλιάς στην νέα) αντιμετωπίζω ένα πρόβλημα στην παραγωγή pdf αρχείου με στάμπα τον αριθμό πρωτοκόλλου

Συγκεκριμένα όταν πάω να επισυνάψω το αρχείο pdf στο πρωτόκολλο εμφανίζει το παρακάτω μήνυμα:

imagettfbbox(): Could not find/open font

imagettfbbox.PNG

Καμία ιδέα;

Powered by Elxis : LabSchool.mysch.gr

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

#259
Έλεγξε ότι υπάρχει το αρχείο copyfonts.com_arial-greek.ttf στον φάκελο public/fonts/

Μάλλον δεν υπάρχει. Ή δεν έχει τα σωστά permisions (linux)


Κατέβασε το από τον ακόλουθο σύνδεσμο

https://github.com/g-theodoroy/electronic_protocol/blob/master/public/fonts/copyfonts.com_arial-greek.ttf

Θα μπορούσε κάποιος να βάλει όποιο αρχειο .ttf θέλει στον φάκελο public/fonts/
και να το ορίσει στην γραμμή 2496 του ProtocolController

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

Σας ενημερώνω ότι δουλεύω πάνω στη "στάμπα" για να μπαίνει κατ επιλογή μόνο στην 1η σελίδα ή σε όλες

Μια δοκιμή στα pdf με το fpdi δεν μου άρεσε γιατί χάνονται στοιχεία του εγγράφου (υπογραφές, σημειώσεις, ...)

Στα docx μπορεί να γίνει. Είναι σχεδόν έτοιμο.

Τώρα επεξεργάζομαι μια άλλη βιβλιοθήκη document-watermark Αυτή προς το παρόν εισάγει μόνο αγγλικο κείμενο.

Την τροποποίησα ώστε να εισάγεται η στάμπα.

Μάλλον στα pdf θα μπαίνει η στάμπα σε όλες τις σελίδες (προς το παρόν).

"Απ το μπητ κι ολότελα, καλή και η Παναγιώταινα" !!!

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

Επανέρχομαι:

Χρησιμοποιείται πλέον η βιβλιοθήκη yasapurnama/document-watermark

Ο κ Yasapurnama μου έκανε την τιμή να αποδεχθεί και να συμπεριλάβει στο project τις αλλαγές - τροποποιήσεις που πρότεινα.


ΠΑΡΑΤΗΡΗΣΕΙΣ

Είναι πιο γρήγορη!

Στα pdf η στάμπα μπαίνει σε όλες τι σελίδες

Στα docx μπορεί να ρυθμιστεί μόνο στην σελίδα ή σε όλες

Κατέληξα στην γραμματοσειρά Arialbd.ttf. Είναι στον φάκελο public/fonts


Θα πρέπει να κάνετε
composer install --no-dev
ή
composer update --no-dev

Παρακαλώ ελέγξτε για κανένα BUG πριν την πλήρη αντικατάσταση ...

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

Γιώργο επιμένει το πρόβλημα με το imagettfbbox(): Could not find/open font παρόλου που το έλεγξα και για δικαιώματα και για τη σωστή διαδρομή.

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

Κοίταξα και το stamp.php αλλά όσες δοκιμές κι αν έκανα εμφανίζεται το ίδιο σφάλμα.

Οι δοκιμές μου γίνονται σε xampp και windows 10.

Και πάλι μπράβο για την πολύ καλή δουλειά που κάνεις.
Powered by Elxis : LabSchool.mysch.gr

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

#263
Στα linux δουλεύει!

Ρίξε μια ματιά εδώ:

Περιγράφει παρόμοιο bug

https://bugs.php.net/bug.php?id=75656

Μιλάνε για κάποιο πρόβλημα με το encoding στα windows full path

-------------------------------------------------------------------------------------------------------------------------------------------------
My font real path ($ttfpath) is 'D:\projects\中文路徑\vendor\dapphp\securimage\AHGBold.ttf'.
I tried 'realpath($ttfpath)' but not working, finally I found a key point 'character encoding'.

So, I tried:

    $ttfpath = 'D:\projects\中文路徑\vendor\dapphp\securimage\AHGBold.ttf';
    $ttfpath = mb_convert_encoding($ttfpath, 'big5', 'utf-8');

It is working, no error happened.


Conclusion:
------------
If:
   'OS is Windows' && 'PHP 7.1+' && 'filepath contain non ASCII characters'
   Try:
   convert filepath string encoding before you pass to GD imageftbbox() and imagettftext().
   
Note:
   Maybe GD Library called a Windows File system API but that don't accept UTF8 encoding?

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

Εδώ πληροφορίες  για τη mb_convert_encoding

https://www.php.net/manual/en/function.mb-convert-encoding.php

Μάλλον πρέπει να κάνεις encoding σε
ISO8859-7 ή windows-1235

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

Η ακόμη καλύτερα να στήσεις ένα liniux server


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

Γιώργο αν και δοκίμασα διάφορα δεν βρήκα άκρη. Πρέπει να μου διαφεύγει κάτι!

Ας το δοκιμάσει κι άλλος σε xampp κι αν το πρόβλημα αναπαράγεται να το δούμε ως ομάδα γιατί στέρεψα από ιδέες.
Powered by Elxis : LabSchool.mysch.gr

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

#265
Μη που απογοητεύεσαι!!!

κάνε τη γραμμή 2530

από

$font = config('stamp.font');

σε

$font = mb_convert_encoding(realpath(config('stamp.font')), 'iso-8859-7', 'utf-8');

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

Ευχαριστώ τον Δημήτρη Κανά που άμεσα τεστάρει τις προσθήκες στο Ηλ. Πρωτόκολλο.

Απολογούμαι επίσης γιατί ταλαιπωρήθηκε λόγω δικών μου παραλείψεων.

Έτσι όμως συμβαίνει σε ενεργά project.

Δουλεύω σε Manjaro Linux και δυστυχώς δεν μπορώ να ελέγχω με λεπτομέρεια τι δύναται συμβεί όταν η εφαρμογή τρέχει σε windows.

Επίσης κάνοντας διάφορες δοκιμές εγκαθιστώ - απεγκαθιστώ διάφορες βιβλιοθήκες για να τις δοκιμάσω μέχρι να καταλήξω στο ποια κάνει τα ζητούμενα και με ικανοποιεί.

Μερικές φορές στην σπουδή και τον ενθουσιασμό να ανεβεί το αποτέλεσμα στο cloud παραλείπω άθελά μου κάποια πράγματα ή παραμένουν κάποια που δεν χρειάζονται.

Γεγονός είναι πως ένα googlάρισμα μας δίνει συνήθως λύση. Και η δική σας συνεισφορά είναι πολύτιμη στη βελτίωση του project.

Ευχαριστώ πολύ Δημήτρη

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

Καλημέρα,
Έκανα σήμερα μια προσπάθεια για ενημέρωση με git stash και έλαβα την απάντηση:

composer.lock: needs merge

Το έψαξα λίγο και δεν έβγαλα άκρη. Φοβάμαι μην κάνω καμιά βλακεία.

Τι μου προτείνετε; 
Πρώην ΚΕΠΛΗΝΕΤ

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

Να προτείνω νέα εγκατάσταση από την αρχή;

Πόσες αλλαγές έχουν γίνει;

Μόνο στις ρυθμίσεις ή και στον κώδικα;

Σίγουρα αν δεν βεβαιωθούμε ότι παίζει το καινούριο δεν το βάζουμε σε παραγωγή!

Κρατάμε και το παλιό για backup.


Ένα googlάρισμα μου έβγαλε το παρακάτω

https://getcomposer.org/doc/articles/resolving-merge-conflicts.md

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

Ευχαριστώ. Πάντως το περίεργο είναι ότι το προηγούμενο update(πριν από μια εβδομάδα) το έκανε κανονικά.  
Πρώην ΚΕΠΛΗΝΕΤ

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

Για οικονομία πόρων internet
κάθε φορά που διαβάζονται τα email αποθηκεύονται προσωρινά σε ένα φάκελο
ώστε αν επιλέξουμε να πρωτοκολλήσουμε ένα από αυτά
να μη χρειαστεί να το ξανακατεβάσουμε από το διαδίκτυο
αλλά να το διαβάσουμε από το δίσκο.

Κάθε φορά που ανανεώνεται η σελίδα των email
  • διαγράφονται τα προηγούμενα
  • εγγράφονται τα νέα



ΠΡΟΒΛΗΜΑ

Αυτή η πρακτική θα μπορούσε να δημιουργήσει το εξής πρόβλημα σε περιβάλλον πολλών χρηστών:
  • Ο χρήστης Α βλέπει τα email της 1ης σελίδας (αποθηκεύονται προσωρινά )
  • Αμέσως μετά ο χρήστης Β βλέπει τα email της 2ης σελίδας ( διαγράφονται τα πρώτα - εγγράφονται τα δεύτερα)
  • Ο χρήστης Α αποφασίζει να πρωτοκολλήσει ένα email ( TO EMAIL ΔΕΝ ΥΠΑΡΧΕΙ ΣΤΟ ΔΙΣΚΟ )



ΔΙΟΡΘΩΣΗ

Τα email εγγράφονται σε ένα φάκελο ανά χρήστη.
Έτσι η πλοήγηση των άλλων χρηστών
δεν επηρεάζει τα αποθηκευμένα (email) του χρήστη



Παρακαλώ για έλεγχο για κανένα έντομο (bug) !!!!!! :angel:

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

Καλημέρα,

Παρατήρησα ότι όταν ενεργοποιώ το "Στείλε email όταν Ανατίθεται Πρωτ. στον Διεκπεραιωτή"  και βάλω ένα όνομα στη Διεκπεραίωση δεν στέλνει email  και πετάει Error 500. Προφανώς έχει να κάνει με τις ρυθμίσεις του email.  Επισυνάπτω το αρχείο .env με τις ρυθμίσεις για το email.
Μήπως πρέπει να ρυθμίσω κάτι άλλο;

https://drive.google.com/file/d/1PWo-Sj5mF_FsEjErkirxZILMmMR3HV8T/view?usp=sharing   
Πρώην ΚΕΠΛΗΝΕΤ

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

Παρακαλώ να δούμε τι γράφει  για το λάθος το

storage/logs/laravel.log

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

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

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

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

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

Τελικά λύθηκε το πρόβλημα. Το λάθος ήταν δικό μου. Έλειπε ένα γράμμα από το email μετά από καθαρή εγκατάσταση.
Πρώην ΚΕΠΛΗΝΕΤ

Thanasis Daskaloudis

Εδώ και λίγο καιρό δοκιμάζω για το λύκειο μου το ηλεκτρονικό πρωτόκολλο για να το χρησιμοποιήσουμε από το νέο σχολικό έτος. Το έχω εγκαταστήσει στο web του ΠΣΔ και πρέπει να πω, πως αξίζουν συγχαρητήρια σε όλη την ομάδα δημιουργίας αλλά και υποστήριξης. Θα ήθελα να ρωτήσω αν υπάρχει τρόπος για ομαδικές εγγραφές στο πρωτόκολλο από κάποια λίστα ή από κάποιο exel κυρίως για την πρωτοκόλληση των απολυτηρίων και των βεβαιώσεων που είναι πολλά. Ή αν μπορούν να υπάρξουν κάποιες οδηγίες να γίνει κάτι τέτοιο μέσω Mysql και κάποιου αρχείου.      

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

Παράθεση από: Thanasis Daskaloudis στις 06 Ιουν 2022, 10:34:43 ΠΜΕδώ και λίγο καιρό δοκιμάζω για το λύκειο μου το ηλεκτρονικό πρωτόκολλο για να το χρησιμοποιήσουμε από το νέο σχολικό έτος. Το έχω εγκαταστήσει στο web του ΠΣΔ και πρέπει να πω, πως αξίζουν συγχαρητήρια σε όλη την ομάδα δημιουργίας αλλά και υποστήριξης. Θα ήθελα να ρωτήσω αν υπάρχει τρόπος για ομαδικές εγγραφές στο πρωτόκολλο από κάποια λίστα ή από κάποιο exel κυρίως για την πρωτοκόλληση των απολυτηρίων και των βεβαιώσεων που είναι πολλά. Ή αν μπορούν να υπάρξουν κάποιες οδηγίες να γίνει κάτι τέτοιο μέσω Mysql και κάποιου αρχείου.     
Καλημέρα σας,

Εμείς χρησιμοποιούμε το Autofill που είναι πρόσθετο του Google Chrome κι αν το σετάρεις καλά κάνει άψογα τη δουλειά αυτή. Αν θέλει κι έχει χρόνο ο Γιώργος μπορεί να δώσει μια επιλογή για μαζικές εγγραφές πρωτοκόλλου με τα ίδια στοιχεία (με όριο όμως π.χ. ανά 5 εγγραφές για να μη γίνει κάποια ζημιά στη βάση).
Powered by Elxis : LabSchool.mysch.gr

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

#278
Μπορείς να κάνεις κάτι τέτοιο με τον PhpMyAdmin

Βήματα:
  • Εισάγεις στο Ηλ.Πρωτόκολλο μια πρώτη εγγραφή (εικ-1)
  • Συνδέεσαι στη ΒΔ με τον PhpMyAdmin
  • Πηγαίνεις στον πίνακα protocols και κάνεις εξαγωγή ως αρχείο CSV (εικ-2).  Μπορείς να ρυθμίσεις να εξαχθεί μόνο η τελευταία καταχώριση τροποποιώντας τα νούμερα 163-162 στα δικά σου.
  • Ανοίγεις το αρχείο με ένα πρόγραμμα λογιστικού φύλλου (εικ-3) και προσθέτεις τις εγγραφές που χρειάζεται. Προσοχή στα νούμερα που πρέπει να αυξάνουν, τη μορφή των ημερομηνιών, κλπ
  • Κάνεις εισαγωγή με τον PhpMyAdmin (εικ-4) αφήνοντας εκτός την 1η γραμμή με τα ονόματα των fields και τη 2η αν δεν την έχεις αλλάξει αφού είναι καταχωρισμένη.

Φυσικά θέλει προσοχή να συμπληρωθούν σωστά τα στοιχεία.



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

#279
Γιώργο μάλλον εννοεί δυνατότητα που να δίνεται από το πρωτόκολλο.

Αλήθεια είναι πως όλοι μας χρειαζόμαστε καποια στιγμή δυνατότητα μαζικών εγγραφών σε περιβάλλον πρωτοκόλλου κι όχι βάσης (π.χ. Πολλές αιτήσεις για κάτι πολύ συγκεκριμένο). Αν και το πρόσθετο Autofill μας καλύπτει εμάς μήπως αν έχεις χρόνο και διάθεση να προσθέσεις μία δυνατότητα σε επίπεδο διαχειριστή να αντιγράφει τα στοιχεία μιας ήδη αποθηκευμένης εγγραφής σε νέα μαζικά πρωτόκολλα (βήμα 3 βήμα 4 βήμα 5 σε 3,4,5 πρωτόκολλα αντίστοιχα). Με όριο όμως για να μην αποθηκεύσουμε καμιά 100 εγγραφές αντί για 10 καταλάθος.

Ή κάτι πιο απλό: επιλογή, σε κάθε αποθηκευμένη εγγραφή, να αντιγράφει τα στοιχεία της σε μια νέα εγγραφή με νέο αριθμό πρωτοκόλλου της τρέχουσας ημερομηνίας. Επιλέγοντας αυτή την εντολή να φτιάχνει ο συγγραφέας όσες νέες εγγραφές θέλει με το ίδιο θέμα, διεκπεραιωτή, ημερομηνία εισερχομένου, φάκελο κ.α. (ας αφήνει κενό μόνο την αρχή έκδοσης (εισερχόμενο)/ απευθύνεται (εξερχόμενο) που αυτά διαφοροποιούνται συνήθως σε αυτές τις μαζικές εγγραφές.
Powered by Elxis : LabSchool.mysch.gr

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

Τροποποίηση του 2ου email ( intra-mail )

Η βιβλιοθήκη swiftmailer αντικαταστάθηκε από τη Symfony Mailer.

https://swiftmailer.symfony.com/docs/introduction.html

Το Ηλ. Πρωτόκολλο ακολουθεί τις υποδείξεις.


Παρακαλώ έλεγχο για bugs.

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

Αντιγραφή ως Νέο ;)

Στις σελίδες
  • Επεξεργασία Πρωτοκόλλου
  • Λίστα Πρωτοκόλλου
  • Αναζήτηση

πατάς το κουμπί  [copy] ("Αντιγραφή ως Νέο") δίπλα στα κουμπιά "Νέο" ή "Μετάβαση"

και έχεις ένα νέο πρωτόκολλο (με δικό του Αρ.Πρωτοκόλλου - Ημνια - Έτος) με τα καταχωρισμένα στοιχεία του παλαιού.


Παρακαλώ επιβεβαιώστε ότι δουλεύει.

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

Παράθεση από: Γεώργιος Θεοδώρου στις 07 Ιουν 2022, 07:49:29 ΜΜΑντιγραφή ως Νέο ;)

Στις σελίδες
  • Επεξεργασία Πρωτοκόλλου
  • Λίστα Πρωτοκόλλου
  • Αναζήτηση

πατάς το κουμπί  [copy] ("Αντιγραφή ως Νέο") δίπλα στα κουμπιά "Νέο" ή "Μετάβαση"

και έχεις ένα νέο πρωτόκολλο (με δικό του Αρ.Πρωτοκόλλου - Ημνια - Έτος) με τα καταχωρισμένα στοιχεία του παλαιού.


Παρακαλώ επιβεβαιώστε ότι δουλεύει.

Μόλις το δοκίμασα σε μια εγκατάσταση για δοκιμές :-)

Δουλεύει άψογα... οπότε πλέον δε θα χρειαζόμαστε πρόσθετα :-)

Μπράβο Γιώργο!
Powered by Elxis : LabSchool.mysch.gr

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

Χρήση gmail για αποστολή email

Αν χρησιμοποιείτε λογαριασμό gmail για αποστολή email από το Ηλ.Πρωτόκολλο

θα παρατηρήσετε ότι μετά τις 30/5/2022 δεν στέλνει πλέον email.


Η google δηλώνει:

https://support.google.com/accounts/answer/6010255?hl=el


Για να συνεχίσει να δουλεύει πρέπει να φτιάξετε "κωδικούς εφαρμογής"

και να κάνετε "Σύνδεση με Κωδικούς εφαρμογής".

https://support.google.com/accounts/answer/185833?hl=el



Απλά βάζετε στο .env αντί του password που είχατε μέχρι τώρα τον 16ψήφιο κωδικό.



Μπορείτε φυσικά να χρησιμοποιήσετε κάποιον άλλον πάροχο λογαριασμού email όπως το sch ή άλλον ...

cpp

#284
Καλημέρα
Στο συνδεσμο του google drive όπου υπάρχουν τα αρχεία για το πρωτόκολλο στο webhost
https://drive.google.com/drive/folders/1WAqWdGEh9CccGN9OGXN1JmH2Boen5ifj


Όταν προσπαθεί κάποιος να κατεβάσει το protocolRoot  εμφανίζει μήνυμα ύπαρξης ιου και αποτρέπει το download

Καλή συνέχεια :) 

Update: Κατάφερα και κατέβασα το αρχείο. Αν κάποιος αντιμετωπίζει παρόμοιο πρόβλημα με το google drive απλά αναφέρω ότι το έσωσα στο drive μου και στη συνέχεια έκανα ένα αντίγραφο. Πλέον εμφανίζεται το μήνυμα για ιο αλλά σου δίνει την επιλογή να το κατεβάσεις.
Ισως να είναι γνωστός ο τρόπος σε όλους και απλά να τον έμαθα τώρα εγώ.... Καλό τριήμερο...

falexakos

Γεια σε όλους.
Ήθελα να ρωτήσω: Τι κάνουμε αν π.χ. κατά λάθος πρωτοκολλήσαμε κάτι που δεν έπρεπε (ή το κάναμε για λόγους τεσταρίσματος) και το καταλάβουμε την ίδια ημέρα; Γίνεται να διαγραφεί εντελώς μια καταχώρηση απ' την εφαρμογή και τη Βάση Δεδομένων;
Ευχαριστώ.


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

Μπορείς να αντικαταστήσεις μια εγγραφή που δεν θέλεις με μια άλλη με λογαριασμό διαχειριστή.
Powered by Elxis : LabSchool.mysch.gr

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

Σύνδεση σαν Διαχειριστής

Στο μενού

Ρυθμίσεις -> Δικαιώματα χρηστών -> Έλεγχοι & περιορισμοί κατά την καταχώριση

επιλεγεις ΟΧΙ και αποθηκεύεις


25basilio

Γεια σε όλους, προσπαθώ να λειτουργήσω  το συγκεκριμένο πρόγραμμα πρωτοκόλλου αλλά πατώντας στο εικονίδιο (εισερχόμενα email) πρίν λίγες μέρες μου έδειχνε κανονικά τα email και μπορούσα να τα πρωτοκολλήσω online σήμερα όμως μου βγάζει στο https://............/.............../viewEmails         500 / Server Error                                         

 Είναι πρόβλημα του προγράμματος ή έχει θέμα ο server του email που έβαλα ?

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

Μερικές φορές κάποια email δεν τα διαβάζει. Νομίζω ότι είναι θέμα κωδικοποίησης.

Τι μπορείς να κάνεις για να το ξεπερνάς όταν εμφανίζεται:

Στις
"Ρυθμίσεις εισερχομένων email -> Αριθμός εμφανιζομένων εισερχομένων email"
γράφεις 1

Η προεπιλογή είναι 5.

Κατόπιν πηγαίνεις στα email

Το 1ο email είναι το
https://...../...../viewEmails
Το 2ο email είναι το
https://...../...../viewEmails?imap_page=2
Το 3ο email είναι το
https://...../...../viewEmails?imap_page=3
...

Θα δεις ποιο email "χτυπάει".

Έλεγξέ το με ένα πρόγραμμα ανάγνωσης email.

Το Ηλ.Πρωτόκολλο δεν είναι πρόγραμμα ανάγνωσης email !!!
Κάνει ότι καλύτερο μπορεί...

pc.down

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

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

Κατά τις δοκιμές που έχω κάνει για την προετοιμασία της εφαρμογής για χρήση, συνάντησα αυτό το πρόβλημα με τα mail που "ρίχνουν" την εφαρμογή. Έχω βρει πιστεύω την αιτία (ή τουλάχιστον μία αιτία του προβλήματος) και μια προσωρινή λύση.

Όταν το webmail.sch.gr στέλνει μήνυμα με συνημμένο που έχει ελληνικούς χαρακτήρες στο όνομά του, χρησιμοποιεί μια "παράξενη" κωδικοποίηση. Για παράδειγμα, όταν στέλνω συνημμένο με όνομα "abc αβγ 123.txt" από το thunderbird που δεν δημιουργεί πρόβλημα το στέλνει ως:

Content-Type: text/plain; charset=UTF-8;
 name="=?UTF-8?B?YWJjIM6xzrLOsyAxMjMudHh0?="
Content-Disposition: attachment;
 filename*=UTF-8''%61%62%63%20%CE%B1%CE%B2%CE%B3%20%31%32%33%2E%74%78%74
Content-Transfer-Encoding: base64

Ενώ το webmail.sch.gr το στέλνει ως:

Content-Type: text/plain; charset=utf-8; name="abc =?1?b?zrHOss6z?=
 123.txt"; name*=utf-8''abc%20%CE%B1%CE%B2%CE%B3%20123.txt
Content-Disposition: attachment; size=20; filename="abc =?1?b?zrHOss6z?=
 123.txt"; filename*=utf-8''abc%20%CE%B1%CE%B2%CE%B3%20123.txt
Content-Transfer-Encoding: 8bit

Και το σφάλμα που προκαλεί είναι το:

[2022-07-08 09:24:20] local.ERROR: iconv(): 
Wrong encoding, conversion from "1" to "UTF-8//TRANSLIT//IGNORE" is not allowed 
{"userId":1,"exception":"[object] (ErrorException(code: 0): iconv(): 
Wrong encoding, conversion from "1" to "UTF-8//TRANSLIT//IGNORE" 
is not allowed at D:\\protocol\\vendor\\zbateson\\mb-wrapper\\src\\MbWrapper.php:351)

Αυτή η κωδικοποίηση "1" ( =?1?b?) δημιουργεί το πρόβλημα.
Μια πρόχειρη λύση: στο αρχείο protocol\vendor\zbateson\mb-wrapper\src\MbWrapper.php στην αρχή ορίζει κάποιες αντιστοιχίσεις:

    public static $mbAliases = [
        .
        .
        .
        // aliases
        .
        .
        .
        '1' => 'ISO-8859-7',     // <-- αυτό πρέπει να προστεθεί
        '0' => 'WINDOWS-1252',   // <-- αυτό υπάρχει ήδη
        .
        .
        .

όπου πρόσθεσα την αντιστοίχιση  '1' => 'ISO-8859-7' και τώρα δουλεύει με αυτά τα μηνύματα κανονικά.

Λογικά αν γίνει update το laravel θα χαθεί η αλλαγή και θα πρέπει να ξαναγίνει.

Αρης

Γεια σε όλους.

Θέλω μία βοήθεια σχετικά με τη ρύθμιση του ΠΔΣ email.
Στο αρχείο .env έχω βάλει τις παρακάτω εγγραφές:

MAIL_MAILER=smtp
MAIL_HOST=mail.sch.gr
MAIL_PORT=25
MAIL_USERNAME=username
MAIL_PASSWORD="$password$"
MAIL_ENCRYPTION=
MAIL_FROM_ADDRESS=mail@dide-dytik.att.sch.gr
MAIL_FROM_NAME="Πρωτόκολλο"

IMAP_HOST=mail.sch.gr
IMAP_PORT=993
IMAP_ENCRYPTION=ssl
IMAP_VALIDATE_CERT=false
IMAP_USERNAME=username
IMAP_PASSWORD="$password$"
IMAP_DEFAULT_ACCOUNT=default
IMAP_PROTOCOL=imap

Το password μου έχει το $ γι' αυτό το έχω βάλει και στο παράδειγμα.

Έχω δοκιμάσει και άλλες ρυθμίσεις που διάβασα σε προηγούμενα post αλλά δεν τα έχω καταφέρει ακόμη.

Ευχαριστώ

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

#292
Διάβασε εδώ:

https://www.sch.gr/assist/odigies/ilektroniki-allilografia-e-mail/sychna-erotimata-kai-symvoules/apostoli-allilografias-meso-psd-me-sy-2/


Δοκίμασε με:

MAIL_MAILER=smtp
MAIL_HOST=mail.sch.gr
MAIL_PORT=587
MAIL_USERNAME=USERNAME
MAIL_PASSWORD=PASSWORD
MAIL_ENCRYPTION= (κενό) ή tls
MAIL_FROM_ADDRESS=EMAIL
MAIL_FROM_NAME="Πρωτόκολλο"


Στον server μου στο σπίτι
με port 25 -> OXI
με port 587 -> ΝΑΙ
με port 587+tls -> ΝΑΙ

;)

Θέλω να συμπληρώσω ότι με port 25  έστειλα κανονικά email από εφαρμογή που φιλοξενείται στον webhost.sch.gr

Αρης

Καλημέρα Γιώργο και ευχαριστώ για την άμεση απόκριση.

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

Η εγκατάσταση έχει γίνει σε linux (ubuntu 22.04) εσωτερικά στο δίκτυο. Θέλω η πρόσβαση του πρωτοκόλλου και τον υπόλοιπων χρηστών να γίνεται από το εσωτερικό δίκτυο μόνο.

Ερωτήσεις:
  • Οι ρυθμίσεις στο IMAP που είχα παραθέσει είναι σωστές;
  • Θα πρέπει να κάνω κάποιες αλλαγές στο config/mail.php ?
  • Θα πρέπει να κάνω κάποιες αλλαγές στο config/imap.php ?
  • Που περιμένω στην εφαρμογή να δω τα email?

Για το 4, να γίνω πιο ξεκάθαρος:
Ως διαχειριστής έχω ορίσει τον χρήστη protocol ως Αναθέτη και χρήστη που επιτρέπεται να πρωτοκολλεί email.
Ως protocol στο menu δε βλέπω κάποια επιλογή για τα email.

Επισυνάπτω 2 εικόνες για να βοηθήσω την κατάσταση.

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

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

Καλή σχολική χρονιά!

Γιώργο, μια ερώτηση: υπάρχουν κάπου καταγεγραμμένα τα δικαιώματα των χρηστών; 
Ο συγγραφέας έχει δικαίωμα να επεξεργάζεται πρωτόκολλα;  
Πρώην ΚΕΠΛΗΝΕΤ

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

Παράθεση από: Γεώργιος Θεοδώρου στις 29 Μαρ 2019, 08:37:18 ΠΜΤροποποιήθηκαν

[glow=red,2,300]ρυθμίσεις πρόσβασης των Χρηστών[/glow]


Ο "Αναγνώστης" παραμένει ώς έχει (μπορεί μόνο να δεί, δεν εισάγει, δεν τροποποιεί)


Ο "Συγγραφέας" ανάλογα με τις Ρυθμίσεις στο πεδίο "Δυνατότητα Επεξεργασίας Πρωτοκόλλου από Συγγραφέα"
  • ΟΧΙ => Δεν μπορεί κανείς να τροποποιήσει Πρωτόκολλο
  • ΕΝΑΣ => Μόνο ο χρήστης που καταχώρισε το Πρωτόκολλο μπορεί να το τροποποιήσει
  • ΟΛΟΙ => Όλοι οι συγγραφείς μπορούν να τροποποιήσουν

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

Χρονόμετρο μετρά αντίστροφα τον χρόνο για τον οποίο μένει ανοιχτό το Πρωτόκολλο για επεξεργασία

ΕΞΑΙΡΕΣΗ αποτελεί Πρωτόκολλο δίχως Θέμα (κενό Πρωτόκολλο)


Ο "Διαχειριστής" δεν υπόκειται στους παραπάνω περιορισμούς

...

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

Ευχαριστώ Γιώργο! 
Παρατήρησα ότι αν δεν βάλεις καμία τιμή στο πεδίο  "Χρόνος σε λεπτά δυνατότητας επεξεργασίας Πρωτ. από Συγγραφέα" η εφαρμογή πετάει server error 500 και αν είναι 0 επιτρέπει την επεξεργασία από τον Συγγραφέα επ΄ αορίστου.


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

Αρης

Παράθεση από: Αρης στις 08 Σεπ 2022, 10:37:18 ΠΜΚαλημέρα Γιώργο και ευχαριστώ για την άμεση απόκριση.

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

Η εγκατάσταση έχει γίνει σε linux (ubuntu 22.04) εσωτερικά στο δίκτυο. Θέλω η πρόσβαση του πρωτοκόλλου και τον υπόλοιπων χρηστών να γίνεται από το εσωτερικό δίκτυο μόνο.

Ερωτήσεις:
  • Οι ρυθμίσεις στο IMAP που είχα παραθέσει είναι σωστές;
  • Θα πρέπει να κάνω κάποιες αλλαγές στο config/mail.php ?
  • Θα πρέπει να κάνω κάποιες αλλαγές στο config/imap.php ?
  • Που περιμένω στην εφαρμογή να δω τα email?

Για το 4, να γίνω πιο ξεκάθαρος:
Ως διαχειριστής έχω ορίσει τον χρήστη protocol ως Αναθέτη και χρήστη που επιτρέπεται να πρωτοκολλεί email.
Ως protocol στο menu δε βλέπω κάποια επιλογή για τα email.

Επισυνάπτω 2 εικόνες για να βοηθήσω την κατάσταση.

Ευχαριστώ και πάλι για τη βοήθεια και για το ότι μοιράζεσαι μαζί μας τη δουλειά σου.
Να ενημερώσω ότι στη δική μου περίπτωση χρειάστηκε να εγκαταστήσω το πακέτο php-imap. Η έκδοση της php που χρησιμοποιώ είναι η 7.4
Έκανα ένα
php artisan config:clear
και μετά ένα restart τον Apache.
Αυτά ήταν αρκετά για να εμφανιστεί η λίστα με τα email

Ευχαριστώ ξανά τον Γιώργο για τη βοήθεια και την υποστήριξη.





cpp

#298
Καλημέρα

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

Αν μπορεί κάποιος να  βοηθήσει με κάποιες απορίες ώστε αργότερα να μην παιδεύομαι.

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

2. Η Επιλογή στον webhost μου άρεσε αλλά σε δοκιμές που έκανα είχα θέματα και με το ΠΣΔ δεν τα έλυσα. Στο χωρο που έχω το laravel μετά από κάποιο update στον server  έχει θέματα όταν υπάρχει wordpress (και δεν μπορώ να κάνω subdomain). Επίσης δεν ξέρω αν έχω θέματα με τα update.

3. Σε wndows 10 με xaamp. Πιθανόν η καλύτερη λύση μιας και υπάρχει περισσότερη εξοικείωση.

4. Με sqlite αλλά πάλι αγχώνομαι με τα update κλπ.

Τέλος σε windows θα μπορέσουν να γίνουν οι ενημερώσεις μέσω git. Είδα οτι υπάρχει tool αλλά δεν το έχω δουλέψει.

Γιώργο έχεις κάνει εξαιρετική δουλειά. Και εδω μέσα υπάρχουν συνάδελφοι που έχουν προσφέρει.

Πολλά συγχαρητήρια

Ξέρω ότι ενδεχομένως να είναι αυτονόητο (και υπάρχει στο github) αλλά καλό θα ήταν να υπάρχει ένα video  με το backup  και τις ενημερώσεις...  θα βοηθήσει κάποιους.

Κατα τη διαδικασία του composer install μου εμφανίζει αυτό το σφάλμα

https://ibb.co/wSPf13N

  Θα το δοκιμάσω και σε άλλο pc...


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

#299
Κοιτώντας τη φωτογραφία του λάθους διαπιστώνω ότι πρέπει

να ενεργοποιήσεις την extension ext-gd στο C:\xampp\php\php.ini



Αν δεν παίξει τότε τρέξε

αντί για
composer install --no-dev

όπως σου ζητάει
composer update --no-dev


Ο composer σε καθοδηγεί για το τι λείπει ...

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

#300
Σας κοινοποιώ 2 βίντεο που έφτιαξα πριν από λίγο.

Δεν έχουν μονταριστεί. Είναι ατόφια όπως γράφτηκαν με τα όποια λαθάκια!

Βίντεο 1: Εγκατάσταση Debian server από την αρχή



Βίντεο 2: Εγκατάσταση Ηλ. Πρωτοκόλλου στον φρέσκο Debian server



Αν αποφασίσετε σαν βάση δεδομένων να χρησιμοποιήσετε την mariaDB-mysql αντί για sqlite
θα πρέπει να εγκαταστήσετε τα αντίστοιχα πακέτα και να κάνετε ρυθμίσεις

Ελπίζω να σας βοηθήσουν.



Επίσης πως θα εγκαταστήσετε το Debian σε RAID1


soft RAID

εγκατάσταση
https://tuxfixer.com/debian-installation-with-lvm-raid-1-and-hot-spare/

αντικατάσταση χαλασμένου δίσκου
https://www.thegeekdiary.com/replacing-a-failed-mirror-disk-in-a-software-raid-array-mdadm/



με RAID controller

https://wiki.debian.org/DebianInstaller/SataRaid



Εργαλείο για αυτόματο backup σε ftp server

https://www.vernalweb.com/kb/automating-ftp-backups-linux/


Έχω στήσει τον αποσυρμένο Η/Υ του BOCOM που έχει RAID1 hardcontroller.
Σαν ΒΔ κράτησα την sqlite. Το σχολείο δεν έχει τεράστιο αριθμό πρωτοκόλλων.
Κατ επιλογή δεν αποθηκεύω συνημμένα αρχεία λόγω χώρου.
4 φορές την ημέρα ανεβάζω τις ΒΔ του Ηλ.Πρωτοκόλλου και Ηλ.Απουσιολόγου στο ΠΣΔ με το script λίγο τροποποιημένο.
Κρατάω τις ΒΔ για τις 7 προηγούμενες ημέρες.

Μέχρι τώρα δεν είχα κάποιο πρόβλημα!!!

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

#301
Στο συνημμένο αρχείο οι εντολές που χρησιμοποιήθηκαν στην εγκατάσταση

nekont

#302
Καταρχάς συγχαρητήρια για τη δουλειά σας!

Θα ήθελα μία βοήθεια σχετικά με την εγκατάσταση και λειτουργία της εφαρμογής.

Υπάρχουν κάπου οδηγίες πως μπορεί να γίνει η όλη εγατάσταση της εφαρμογής στο server του ΠΣΔ και να το χρησιμοποιώ από εκεί;

Ευχαριστώ εκ των προτέρω για τον χρόνο σας.



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

Θα βρείτε την IP του υπολογιστή στο οποίο εγκαταστήσατε το πρωτόκολλο

https://networking.grok.lsu.edu/article.aspx?articleid=14842&printable=y

Έστω ότι είναι [ip] = 192.168.1.111

Ο σύνδεσμος http://[ip]:55555/  =  http://192.168.1.111:55555/  θα σας οδηγήσει στο Ηλ.Πρωτόκολλο



Για τον webhost.sch.gr κοίτα εδώ: https://alkisg.mysch.gr/steki/index.php?msg=92258

nekont

#304
Ευχαριστώ πολύ για την άμεση απάντηση.

Άλλη μία απορία...
Όταν επιλέγω backup δεν μου εμφανίζει τη δισκετούλα για να κάνω ένα νέο backup όπως φαίνεται στο βίντεο απλά μου λέει κάποιες οδηγίες για τον φάκελο που πρέπει να κάνω backup...




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

Όταν χρησιμοποιείται σαν ΒΔ η sqlite

τότε όλα τα δεδομένα αποθηκεύονται στο αρχείο

storage/app/arxeio/protocol.sqlite



Αν χρησιμοποιήσεις σαν ΒΔ την mysql-mariaDB

τότε θα έχεις την λειτουργικότητα που ανέφερες για backup της ΒΔ


Φυσικά αν αποθηκεύεις συνημμένα αρχεία θα πρέπει να διασφαλίσεις (με backup) και αυτά


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

Βίντεο εγκατάστασης στον webhost.sch.gr





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

Στήνουμε xampp σε windows (το δοκίμασα σε win10 με xampp-php 8.1 )

Κατεβάζουμε τα zipάκια για τον webhost

https://www.dropbox.com/sh/sd00ikjn311g5hu/AABduqTihxHQH0StOs5HEI4wa?dl=0

Αποσυμπιέζουμε


Στον φάκελο protocolRoot στο αρχείο .env αλλάζουμε

DIR_TO_PUBLIC=htdocs

Αποθηκεύουμε


Εκκινούμε το xampp

http://localhost/protocol

Μαντέψτε !!! ;)



cratsil1979

Καλησπέρα. Στο σχολείο μας διαθέτουμε ενα NAS Synology. Θα μπορούσαμε να εγκαταστήσουμε το ηλεκτρονικό πρωτόκολλο εκεί? Πως? Τι θα χρειαστούμε? Υπάρχει καποιος σχετικος οδηγός?

Ευχαριστώ

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

Ενδιαφέρον !!!

Ένα Googλάρισμα

synology dsm os linux

λέει:DSM is a Linux-based operating system that is used on all of Synology's DiskStation and RackStation units ...



Ένα Googλάρισμα

synology DSM install laravel

λέει ότι μπορεί να γίνει και πως ...



Ένα Googλάρισμα

DSM Package Center

λέει ότι η DSM Version 7.1 έχει

  • Apache HTTP Server 2.4
  • php8.0 (με php7.3 δεν θα δουλέψει)
  • MariaDB 10


Ειλικρινά δεν γνωρίζω περισσότερα. Αλλά γιατί να μή δουλέψει;

Κάντε μας έκπληξη !!!

cratsil1979

#310
    Καλημέρα σε όλη την ομάδα.

    Δυστυχώς δεν είμαι εξοικειωμένος με Laravel και δεν θελω να πειραξω ακομα το NAS του Σχολειου.

    Έχω εγκαταστήσει ομως DSM 7.1 σε Virtualbox (Οδηγός εδώ:
https://www.youtube.com/watch?v=LZJskDuJjx4)

Εγκατέστησα
  • Apache HTTP Server 2.4
  • php8.0
  • MariaDB 10
Βρήκα οδηγιες για  Laravel (Οδηγος: https://allenchak.wordpress.com/2021/02/11/laravel-on-synology-notes-install-create-project/)[/list]

αλλα δεν κατανοώ τι ακριβώς κάνουν... και αν χρειάζεται κάποιο edit αρχειου.


Αν μπορεί κάποιος να εγκαταστήσει σε εικονική μηχανή DSM 7.1 και τα φτιάξει οδηγό θα ήμουν ευγνώμων.

Πολλά σχολεία έχουν και απο ενα NAS Synology για λογους Backup.
Αν υπήρχε οδηγός εγκατάστασης θα ήταν super !








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

#311
Βίντεο εγκατάστασης Ηλ. Πρωτοκόλλου σε NAS server



ΕΞΤΡΑ ΒΙΝΤΕΟ: Πιο απλός τρόπος ρύθμισης του WebStation




Τρίτη εναλλακτική με έμφαση στην ΑΣΦΑΛΕΙΑ των δεδομένων μας




Σε αυτή την 3η περίπτωση μπορεί
  • Ο φάκελος root του virtual host να ρυθμιστεί στον φάκελο protocol/public
  • Να διαγραφεί το αρχείο .htaccess στον φάκελο protocol




Προφανώς υπάρχουν και άλλοι τρόποι ρύθμισης του apache v-host ( με domain-name )

αν τρέχεις στο δίκτυο DNS server και κάνεις τις απαραίτητες ρυθμίσεις.


Για να είναι πλήρες το "πακέτο" βίντεο εγκατάστασης SYNOLOGY NAS server




Στο συνημμένο αρχείο οδηγίες και εντολές


:D :D :D

stsepas

Παράθεση από: Γεώργιος Θεοδώρου στις 27 Ιαν 2017, 08:02:03 ΜΜΗλεκτρονικό Πρωτόκολλο Σχολείου

  •     Πρωτοκόλληση Εισερχομένων και Εξερχομένων εγγράφων
  •     Επισύναψη Αρχείων και καθορισμός Ημερομηνίας Διατήρησης - Καταστροφής ανάλογα με το Φάκελο Αρχειοθέτησης Φ.
  •     Φάκελοι Αρχειοθέτησης και Χρόνος Διατήρησης Εγγράφων. Δυνατότητα τροποποίησης ανάλογα με τις εκάστοτε εγκυκλίους
  •     Αναζήτηση Πρωτοκόλλου, Ανάκτηση - Διαγραφή συνημμένων αρχείων
  •     Εκτύπωση Απόδειξης Κατάθεσης Πρωτοκόλλου
  •     Εκτύπωση Ηλεκτρονικού Πρωτοκόλλου για βιβλιοδέτηση
  •     Εκτύπωση λίστας εγγράφων για Εκκαθάριση Αρχείου μετά τη λήξη Διατήρησης αυτών
  •     Backup βάσης δεδομένων, εύκολο κατέβασμα για φύλαξη αυτών
  •     Διαχείριση Χρηστών με ρόλους "Διαχειριστής", "Αναθέτων", "Συγγραφέας", "Αναγνώστης" και ανάλογη πρόσβαση
  •     Απλό σύστημα αναθέσεων της Διεκπεραίωσης Πρωτοκόλλων και παρακολούθησης αυτών
  •     Πρωτοκόλληση email: Σύνδεση με λογαριασμό email. Επισκόπηση εισερχομένων μηνυμάτων και των συνημμένων αρχείων και Πρωτοκόλληση με αποθήκευση των επιλεγμένων




Δείτε βίντεο με τη χρήση του Ηλ.Πρωτ.



Δοκιμή Demo  (username  password) (admin 12345678) (writer 123456) (reader 123456)

Οδηγίες χρήσης

Πληροφορίες - εγκατάσταση




Γνωστά "προβλήματα" (bugs)  :o
  • Στα Windows αν πλοηγηθούμε με τον file-explorer στο Φάκελο storage/app/arxeio  όπου αποθηκεύονται τα επισυναπτόμενα αρχεία, τα ελληνικά ονόματα των φακέλων και αρχείων εμφανίζονται με παράξενους χαρακτήρες. Αυτό οφείλεται στο ότι τα Windows δεν υποστηρίζουν πλήρως την κωδικοποίηση utf-8. Δεν υφίσταται καμιά επίπτωση στη λειτουργία του προγράμματος.



ΕΓΚΑΤΑΣΤΑΣΗ ΗΛ. ΠΡΩΤΟΚΟΛΛΟΥ




zip για εγκατάσταση στον webhost

https://www.dropbox.com/sh/sd00ikjn311g5hu/AABduqTihxHQH0StOs5HEI4wa?dl=0

Το protocolRoot στον κεντρικό κατάλογο
Το protocol στον κατάλογο httpdocs


Eκανα εγκατάσταση  στον webhost το ηλεκτρονικό πρωτόκολλο και όλα πήγαν τέλεια. Το πρόβλημα που έχω είναι με τα έγγραφα που πάω να πρωτοκολλήσω από το mail. Ενώ δηλώνω σε ποιον φάκελο θα αποθηκευτούν, συμπληρώνω όλα όσα χρειάζονται, η εφαρμογή μου απαντάει :Λάθος!!! Δυστυχώς δεν μπορώ να αποθηκεύσω το mail με κωδικό:6303

TaniDani

#313
Είμαι στην Πρωτοβάθμια Α΄ Αθήνας και προσπαθώ να εγκαταστήσω το ηλεκτρονικό πρωτόκολλο στην διεύθυνση:     keplinetape.sites.sch.gr/protocol

Απλά το άνοιξα και πέρασα βλακείες για 3 πρωτόκολλα.

Στο τρίτο πρωτόκολλο έδωσα τα στοιχεία του πρώτου πρωτοκόλλου, και δεν μου χτύπησε ότι το συγκεκριμένο έγγραφο έχει ήδη πρωτοκολληθεί.  Το δέχτηκε σαν νέο πρωτόκολλο.

Με κάποιες δοκιμές που έκανα, χτυπάει μόνο για αριθμό και ημερομηνία εισερχομένου. Αν κάποιος ξαναστείλει το ίδιο e-mail που δεν έχει αριθμό εισερχομένου, δεν υπάρχει ενημέρωση από το περιεχόμενο και το θέμα, για να το βρει ότι υπάρχει καταχωρημένο.

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

Αν ένα έγγραφο είναι συνέχεια ενός εγγράφου που έχει ήδη πρωτοκολληθεί, πως γίνεται να το ανιχνεύει και να σχετιστεί με το αρχικό έγγραφο; (ότι είναι συνέχεια του τάδε θέματος );

Ευχαριστώ, και συγχαρητήρια για την ομαδική προσπάθεια. 




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

Για τα οποιαδήποτε λάθη κοιτάζουμε στο αρχείο storage/logs/laravel.log

Μια καλή πρακτική είναι να το διαγράψουμε ή να διαγράψουμε τα περιεχόμενα του laravel.log

και να αναπαράγουμε πάλι το "λάθος" για να βρούμε πιο εύκολα την καταγραφή.

Ας ρίξουμε μια ματιά στο laravel.log γιατί δεν μπορεί να αποθηκεύσει ...

Μήπως είναι θέμα δικαιωμάτων;

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

Υπάρχει η δυνατότητα συμπλήρωσης του πεδίου "σχετικό" πρωτόκολλο με τη μορφή [αρ.πρ]/εεεε

Όσον αφορά την πρώτη ερώτηση για τους ελέγχους ισχύουν οι διαπιστώσεις σου ...

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

Αγαπητέ stsepas, σε ευχαριστώ που ανακάλυψες ένα λαθάκι


Θα διορθωθεί με έναν από τους παρακάτω τρόπους:



1

Ξανακατεβάζεις τo protocolRoot zip



2

Στην υπάρχουσα εγκατάσταση

στο αρχείο protocolRoot/bootstrap/app.php

προσθέτεις πριν τη τελευταία γραμμή ( return $app; )

τα παρακάτω ώστε να γίνει:



// add this before return $app;

// ρύθμιση του public directory

$app->bind('path.public', function () {

    return base_path() . '/../' . env('DIR_OF_PUBLIC') . '/protocol';

});

return $app;






Ακολούθως στο αρχείο protocolRoot/.env

ελέγχεις αν υπάρχει η καταχώριση

DIR_OF_PUBLIC=httpdocs

 Αν όχι την πρόσθέτεις


:angel:  Δυστυχώς δεν προλαβαίνω να ελέγξω διεξοδικά κάθε λειτουργία των "διανομών" :angel:


stsepas

Έκανα ότι μου είπατε και όλα λειτουργούν τέλεια!!!!!! Σας ευχαριστώ. Τέλεια δουλειά!!!! Το μόνο που φοβάμαι είναι το Πανελλήνιο Σχολικό Δίκτυο και την αξιοπιστία του..

stsepas

Παράθεση από: Γεώργιος Θεοδώρου στις 27 Ιαν 2017, 08:02:03 ΜΜ
  • Εγκατέστησα σύμφωνα με τις οδηγίες του κ. Θεοδώρου το ηλεκτρονικό πρωτόκολλο στο sch. Η εγκατάσταση κρατάει ένα λεπτό και το βίντεο του κ. Θεοδώρου είναι κατατοπιστικότατο. Τρέχει μια χαρά. Το κακό είναι ότι sch.gr τις περισσότερες φορές δεν λειτουργεί. Το πρωί, είναι όλα καλά, μόλις όμως προχωρήσει μέρα και τα σχολεία άρχίζουν και κάνουν χρήση του sch, αυτό αρχίζει και κάνει νερά. Δεν ανταποκρίνεται και εμφανίζει λευκή σελίδα. Επικοινώνησα με το webhost του sch, τα παιδιά κάνουν ότι μπορούν, αλλά οι υποδομές τους δεν ανταποκρίνονται.
  • Έτσι λοιπόν ξαναγυρίσαμε στην διανομή (την δουλεύουμε εδ'ω και ένα χρόνο)  electronic-protocol-phpdesktop-win, για σιγουριά. Εχουμε το φάκελο σε ένα κοινόχρηστο δίσκο και κάνουμε την δουλειά μας.
  • Η διανομή όμως δημιουργήθηκε στις 20 Ιαναουαρίου του 2020. Από τότε έχουν γίνει πολλές βελτιώσεις. Ειδικά αυτή η διανομή που σετάραμε στο sch είναι πιο "μπελαλίδικη" με περισσότερες δυνατότητες και περισσότερες ρυθμίσεις. Μήπως υπάρχει η δυνατότητα ενημέρωσης της παλιάς διανομής που χρησιμοποιούμε;;



ΕΓΚΑΤΑΣΤΑΣΗ ΗΛ. ΠΡΩΤΟΚΟΛΛΟΥ




zip για εγκατάσταση στον webhost

https://www.dropbox.com/sh/sd00ikjn311g5hu/AABduqTihxHQH0StOs5HEI4wa?dl=0

Το protocolRoot στον κεντρικό κατάλογο
Το protocol στον κατάλογο httpdocs



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

Σας συνιστώ ανεπιφύλακτα να φτιάξετε ένα server στο σχολείο σας

Υπάρχουν αρκετά video

  • Debian linux server
  • Ubuntu linux server
  • windows + xampp
  • NAS

ΓΙΑΤΙ ΔΙΣΤΑΖΕΤΕ ΝΑ ΚΑΝΕΤΕ ΜΙΑ ΔΟΚΙΜΗ;

Αφού αναγνωρίζετε την αναγκαιότητα - διευκόλυνση του Ηλ.Πρωτοκόλλου
ασχοληθείτε λίγο για να τρέχει αξιοπρεπώς!!!


Ρίξτε μια ματιά στο #307


stsepas

Ακολούθησα τις οδηγίες σας και όλα οκ. Εγκαταστάθηκε το πρωτόκολλο στο c σε ssd δίσκο και πετάει. Ευχαριστώ για όλα.

stsepas

Στην εγκατάσταση που έγινε σε τοπικό δίκτυο , στο μενου αριστερα:  Διαχειριστής - Πρωτόκολλο - δεν υπάρχει το Εισερχόμενα mail με αποτέλεσμα να μην παίρνουμε mail που προωθούμε στην εφαρμογή

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

#322
Επιβεβαιώστε ότι στις


Ρυθμίσεις εισερχομένων email

Χρησιμοποίησε τον λογαριασμό email ->

έχει επιλεγεί η τιμή default

Αν είναι επιλεγμένη -------  δεν διαβάζει email





Στις ρυθμίσεις της php στο αρχείο xampp/php/php.ini

ενεργοποιείτε την extension php-imap

διαγράφοντας το ; μπροστά από τη γραμμή


από

;extension=imap

σε

extension=imap


Επανεκκινείτε τον apache για ενεργοποίηση




Επίσης συνίσταται να είναι ενεργοποιημένες και οι παρακάτω extentions

  • BCMath PHP Extension
  • Ctype PHP Extension
  • Fileinfo PHP extension
  • JSON PHP Extension
  • Mbstring PHP Extension
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension

Ενεργοποιείστε ακόμη και τη

gd


stsepas

Εκανα αυτά που μου είπατε και τώρα παίρνω mail. Όταν πάω να αποθηκεύσω μου απαντάει: Δυστυχώς δεν μπορώ να αποθηκεύσω το mail με κωδικό 6345. (Αυτό το είχα συναντήσει πρόσφατα και μου είπατε να ξανακατεβάσω το αρχειο ).

οι παρακάτω extentions

  • BCMath PHP Extension
  • Ctype PHP Extension
  • Fileinfo PHP extension
  • JSON PHP Extension
  • Mbstring PHP Extension
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension

Ενεργοποιείστε ακόμη και τη

gd
.................
Σε ποιο φάκελο βρίσκονται;;; Δώστε αν δεν σας κάνει κόπο την διαδρομή.

stsepas

Στη σελίδα του xampp μου δίνετε η δυνατότητα να κατεβάσω τις εκδόσεις
7.4.30 / PHP 7.4.30
8.0.23 / PHP 8.0.23
8.1.10 / PHP 8.1.10
Ποιά να διαλέξω για win10 64bit;;

sbird

#325
Καλησπέρα σε όλους,

Κ. Θεοδώρου πολλά συγχαρητήρια για τη εξαιρετική δουλειά που έχετε κάνει. Πρόκειται να εγκαταστήσω το πρωτόκολλο στη ΔΔΕ Ηλείας, προς αντικατάσταση της τρέχουσας παλαιότερης εφαρμογής.
Το εγκατέστησα για staging σε Ubuntu 20.04 χωρίς RAID με apache2.4 kai sqlite. Η εγκατάσταση πήγε καλά σε γενικές γραμμές, με ορισμένα θεματάκια (θα γράψω λίγο αργότερα σχετικά).

Αντιμετωπίζω τα εξής προβληματάκια:
1) Σε εισερχόμενο χειροκίνητα, δεν μπορεί να στείλει απόδειξη παραλαβής με email (Δεν κατέστη δυνατή η αποστολή βεβαίωσης παραλαβής με email)
2) Σε εισερχόμενο από email, επίσης δεν μπορεί να στείλει απόδειξη παραλαβής με email (500 server error)
3) Σε attachemnt εισερχόμενο από email, στάμπα στο pdf έχει κενή ημερομηνία και αριθμό πρωτοκόλλου.

Πιθανότατα κάτι έχω παραλείψει..

Με εκτίμηση,
Σπύρος Πουλής
ΠΛΗΝΕΤ ΔΔΕ Ηλείας

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

Μετά από συνεργασία με τον sbird

λύσαμε τα "προβληματάκια" και

σας κοινοποιούμε τις διαπιστώσεις μας


Αποστολή email

Για να στείλει email πρέπει όλες οι μεταβλητές στο αρχείο .env να συμπληρωθούν

MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=electronicProtocol@gmail.com
MAIL_PASSWORD=χχχχχχχχχχ
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=electronicProtocol@gmail.com
MAIL_FROM_NAME="Ηλ. Πρωτόκολλο"

Αν η μεταβλητή MAIL_FROM_ADDRESS μείνει κενή ΔΕΝ ΣΤΕΛΝΕΙ email





Στάμπα σε αρχείο pdf

Σε κάποια pdf δεν βάζει στάμπα
  • ούτε αν τα επισυνάψουμε χειροκίνητα
  • ούτε αν επισυναφθούν κατά την καταχώριση πρωτοκόλλου από email

προφανώς έχει να κάνει με την κατασκευή του pdf

:)


ΥΣΤΕΡΟΓΡΑΦΟ

Πρέπει να ομολογήσω πως στο προτελευταίο commit είχα ανεβάσει ένα λάθος

που "έριχνε" την αποθήκευση από email. Διορθώθηκε στο τελευταίο commit.

Απλά o sbird κατέβασε στο μεσοδιάστημα τον χαλασμένο κώδικα!!!

stsepas

Τελικά ποια είναι τα σωστά αρχεία που σεταρουμε στην xampp; Για τα σχολεία που δεν υποστηρίζονται από πληροφορικαριους είναι δύσκολο να τα παρακολουθήσουν όλα αυτά. Ένα δημοτικό σχολείο το μόνο που χρειάζεται είναι να πρωτοκολλει εισερχόμενα και εξερχομενα και να αποθηκεύει από mail. Άρα τα διάφορα βασικά extension θα πρέπει να είναι ενεργοποιημένα για να λειτουργούν ομαλά. Συνήθως στα δημοτικά τα πάντα - γραφειοκρατικα τα κάνει ο Δντης αφού δεν υπάρχει γραμματεία. Το ηλεκτρονικό πρωτόκολλο θα βοηθούσε πάρα πολύ στη ομαλή λειτουργία.

nikolaosili

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

Γιώργο, συγχαρητήρια για την εξαιρετική εφαρμογή και την υποστήριξη που προσφέρεις δωρεάν.
Είμαι διευθυντής σε δημοτικό σχολείο της Καστοριάς και χρησιμοποιώ την εφαρμογή τρία χρόνια περίπου.
Πάντα χρησιμοποιούσα τα windows (7, 8.1, 10). Τα συχνά προβλήματα, οι υπερβολικές απαιτήσεις της εταιρείας κάθε φορά που παράγει νέα έκδοση με έκαναν να στραφώ στο Linux. Οι διαπιστώσεις μου είναι οι εξής: όποιος θέλει ασφάλεια, σταθερότητα, σιγουριά και εργασία χωρίς προβλήματα η χρήση του Linux είναι μονόδρομος.
Τελευταία είδα το βίντεο που έκανες για εγκατάσταση στο Debian 11.5. Ακολούθησα τις οδηγίες και εγκατέστησα το Debian και το ηλεκτρονικό πρωτόκολλο σε εικονικό λειτουργικό που έκανα με το VMware Workstation Pro. Όλα λειτουργούν τέλεια εκτός από τα εισερχόμενα email. Δεν υπάρχει ούτε το εικονίδιο ούτε η γραμμή στο μενού του πρωτοκόλλου "Εισερχόμενα Email". Οι ρυθμίσεις του λογαριασμού έχουν γίνει σωστά και με τη χρήση κωδικών εφαρμογής στο gmail λειτουργεί σε άλλες εγκαταστάσεις (win10 +xampp). Ποιες ρυθμίσεις πρέπει να γίνουν στο debian 11.5 για να εμφανίζονται τα εισερχόμενα email;
Ευχαριστώ πολύ για το χρόνο που διαθέτεις για εμάς.
Νικόλαος Ηλιάδης

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

#329
Παράθεση από: stsepas στις 30 Οκτ 2022, 10:34:38 ΠΜΤελικά ποια είναι τα σωστά αρχεία που σεταρουμε στην xampp; Για τα σχολεία που δεν υποστηρίζονται από πληροφορικαριους είναι δύσκολο να τα παρακολουθήσουν όλα αυτά. Ένα δημοτικό σχολείο το μόνο που χρειάζεται είναι να πρωτοκολλει εισερχόμενα και εξερχομενα και να αποθηκεύει από mail. Άρα τα διάφορα βασικά extension θα πρέπει να είναι ενεργοποιημένα για να λειτουργούν ομαλά. Συνήθως στα δημοτικά τα πάντα - γραφειοκρατικα τα κάνει ο Δντης αφού δεν υπάρχει γραμματεία. Το ηλεκτρονικό πρωτόκολλο θα βοηθούσε πάρα πολύ στη ομαλή λειτουργία.

Το αρχείο php.ini είναι στον φάκελο C:\xampp\php\


Χωρίς εμείς να πειράξουμε το php.ini το xampp έχει ενεργοποιημένες τις παρακάτω προεκτάσεις

[PHP Modules]
bcmath
bz2
calendar
Core
ctype
date
dom
fileinfo
filter
ftp
hash
iconv
json
libxml
mysqlnd
openssl
pcre
PDO
Phar
readline
Reflection
session
SimpleXML
SPL
standard
tokenizer
xml
xmlreader
xmlwriter
zip
zlib

[Zend Modules]


Για να δουλέψει το Ηλ.Πρωτόκολλο πρέπει να ενεργοποιήσουμε και τις ακόλουθες οι οποίες δεν είναι εξ ορισμού ενεργοποιημένες

από τη γραμμή 915 και κάτω

extension=gd
extension=imap
extension=mbstring

Αν δουλέυουμε με sqlite σαν ΒΔ
extension=pdo_sqlite
extension=sqlite3

Αν δουλέυουμε με mysql σαν ΒΔ
extension=pdo_mysql
extension=mysqli

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

Για το Debian

Ή δεν είναι εγκατεστημένη η php-imap (sudo apt install php-imap)

ή δεν είναι ενεργοποιημένη στο /etc/php/.../php.ini

ελέγχεις για τα modules με php -m σε terminal


ΕΠΑΝΕΡΧΟΜΑΙ

Ισχύει το πρώτο!

Στις οδηγίες εντολές που συνοδεύουν το βίντεο εγκατάστασης σε Debian δεν γίνεται εγκατάσταση του php-imap.

Διόρθωσα το αρχείο...


stsepas

Τα έκανα όλα αυτά, αλλα η εφαρμογή επιμένει: Δυστυχώς δεν μπορώ να αποθηκεύσω το mail με κωδικό 6355. 

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

Παράθεση από: pc.down στις 26 Ιουλ 2022, 12:37:19 ΜΜΚαλημέρα σε όλους,

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

Κατά τις δοκιμές που έχω κάνει για την προετοιμασία της εφαρμογής για χρήση, συνάντησα αυτό το πρόβλημα με τα mail που "ρίχνουν" την εφαρμογή. Έχω βρει πιστεύω την αιτία (ή τουλάχιστον μία αιτία του προβλήματος) και μια προσωρινή λύση.

Όταν το webmail.sch.gr στέλνει μήνυμα με συνημμένο που έχει ελληνικούς χαρακτήρες στο όνομά του, χρησιμοποιεί μια "παράξενη" κωδικοποίηση. Για παράδειγμα, όταν στέλνω συνημμένο με όνομα "abc αβγ 123.txt" από το thunderbird που δεν δημιουργεί πρόβλημα το στέλνει ως:

Content-Type: text/plain; charset=UTF-8;
 name="=?UTF-8?B?YWJjIM6xzrLOsyAxMjMudHh0?="
Content-Disposition: attachment;
 filename*=UTF-8''%61%62%63%20%CE%B1%CE%B2%CE%B3%20%31%32%33%2E%74%78%74
Content-Transfer-Encoding: base64

Ενώ το webmail.sch.gr το στέλνει ως:

Content-Type: text/plain; charset=utf-8; name="abc =?1?b?zrHOss6z?=
 123.txt"; name*=utf-8''abc%20%CE%B1%CE%B2%CE%B3%20123.txt
Content-Disposition: attachment; size=20; filename="abc =?1?b?zrHOss6z?=
 123.txt"; filename*=utf-8''abc%20%CE%B1%CE%B2%CE%B3%20123.txt
Content-Transfer-Encoding: 8bit

Και το σφάλμα που προκαλεί είναι το:

[2022-07-08 09:24:20] local.ERROR: iconv(): 
Wrong encoding, conversion from "1" to "UTF-8//TRANSLIT//IGNORE" is not allowed 
{"userId":1,"exception":"[object] (ErrorException(code: 0): iconv(): 
Wrong encoding, conversion from "1" to "UTF-8//TRANSLIT//IGNORE" 
is not allowed at D:\\protocol\\vendor\\zbateson\\mb-wrapper\\src\\MbWrapper.php:351)

Αυτή η κωδικοποίηση "1" ( =?1?b?) δημιουργεί το πρόβλημα.
Μια πρόχειρη λύση: στο αρχείο protocol\vendor\zbateson\mb-wrapper\src\MbWrapper.php στην αρχή ορίζει κάποιες αντιστοιχίσεις:

    public static $mbAliases = [
        .
        .
        .
        // aliases
        .
        .
        .
        '1' => 'ISO-8859-7',     // <-- αυτό πρέπει να προστεθεί
        '0' => 'WINDOWS-1252',   // <-- αυτό υπάρχει ήδη
        .
        .
        .

όπου πρόσθεσα την αντιστοίχιση  '1' => 'ISO-8859-7' και τώρα δουλεύει με αυτά τα μηνύματα κανονικά.

Λογικά αν γίνει update το laravel θα χαθεί η αλλαγή και θα πρέπει να ξαναγίνει.

Θα ήθελα να σας θυμίσω την πρόταση του pc.down

ΔΟΥΛΕΥΕΙ !!!

Μέχρι να βρούμε άλλο τρόπο ασχοληθείτε λίγο κάνοντας ότι προτείνει.

Θα σας προφυλάξει από καταρρεύσεις διαβάματος email.

Εύγε στον pc.down !!!

Dimitris Angelidis

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

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

Παράθεση από: Γεώργιος Θεοδώρου στις 07 Ιουλ 2022, 04:23:28 ΜΜΣύνδεση σαν Διαχειριστής

Στο μενού

Ρυθμίσεις -> Δικαιώματα χρηστών -> Έλεγχοι & περιορισμοί κατά την καταχώριση

επιλεγεις ΟΧΙ και αποθηκεύεις



Το ερώτημα είναι για ποιο λόγο να κάνετε τόσο κόπο.


Αντιθέτως κατά την άποψή μου πρέπει σε τακτά χρονικά διαστήματα ( ανά εβδομάδα ας πούμε )

να τυπώνουμε το πρωτόκολλο και κατόπιν να αριθμούμε, σφραγίζουμε και μονογράφουμε τις σελίδες τις οποίες φυλάσσουμε σε ένα ντοσιε.
ΑΥΤΟ ΕΙΝΑΙ ΤΟ ΠΡΩΤΟΚΟΛΛΟ ΜΑΣ ΑΝ ΚΑΤΙ ΠΡΟΚΥΨΕΙ.

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


3-4 φορές το χρόνο ή στο τέλος του χρόνου
  • Εξάγουμε το πρωτόκολλο σαν xls
  • Εκτυπώνουμε το πρωτόκολλο σαν pdf
  • Αν έχουμε σαν ΒΔ την mysql με τον phpadmin εξάγουμε την ΒΔ. Με την sqlite αρκεί να αντιγράψουμε το αρχείο.


Στο τέλος του χρόνου
  • Ββλιοδετούμε το  πρωτόκολλο του έτους που φυλάγαμε στο ντοσιε
  • Συνθέτουμε ένα αρχείο από τα αντίστοιχα pdf, xls και τα βάζουμε μαζί με τη ΒΔ σε ένα CD το οποίο συνοδεύει το βιβλιοδετημένο πρωτόκολλο




cpp

Παράθεση από: nikolaosili στις 30 Οκτ 2022, 11:13:53 ΠΜΚαλημέρα σε όλους,

Γιώργο, συγχαρητήρια για την εξαιρετική εφαρμογή και την υποστήριξη που προσφέρεις δωρεάν.
Είμαι διευθυντής σε δημοτικό σχολείο της Καστοριάς και χρησιμοποιώ την εφαρμογή τρία χρόνια περίπου.
Πάντα χρησιμοποιούσα τα windows (7, 8.1, 10). Τα συχνά προβλήματα, οι υπερβολικές απαιτήσεις της εταιρείας κάθε φορά που παράγει νέα έκδοση με έκαναν να στραφώ στο Linux. Οι διαπιστώσεις μου είναι οι εξής: όποιος θέλει ασφάλεια, σταθερότητα, σιγουριά και εργασία χωρίς προβλήματα η χρήση του Linux είναι μονόδρομος.
Τελευταία είδα το βίντεο που έκανες για εγκατάσταση στο Debian 11.5. Ακολούθησα τις οδηγίες και εγκατέστησα το Debian και το ηλεκτρονικό πρωτόκολλο σε εικονικό λειτουργικό που έκανα με το VMware Workstation Pro. Όλα λειτουργούν τέλεια εκτός από τα εισερχόμενα email. Δεν υπάρχει ούτε το εικονίδιο ούτε η γραμμή στο μενού του πρωτοκόλλου "Εισερχόμενα Email". Οι ρυθμίσεις του λογαριασμού έχουν γίνει σωστά και με τη χρήση κωδικών εφαρμογής στο gmail λειτουργεί σε άλλες εγκαταστάσεις (win10 +xampp). Ποιες ρυθμίσεις πρέπει να γίνουν στο debian 11.5 για να εμφανίζονται τα εισερχόμενα email;
Ευχαριστώ πολύ για το χρόνο που διαθέτεις για εμάς.
Νικόλαος Ηλιάδης

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

Πήρα Όλο το φάκελο protocol από την πρώτη εγκατάσταση και και τον αντέγραψα σε αυτή που δεν εμφάνιζε τα email και έπαιξε κανονικά. 

Επειδή οι εγκαταστάσεις έγιναν με διαφορά κάποιων ημερών το αναφέρω μήπως και άλλαξε κάτι στο κώδικα. 

Το ΣΚ θα το ξανακάνω από την αρχή....

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

#336
Για να δούμε αν υπάρχουν διαφορές στον κώδικα συγκρίνουμε τα δύο αρχεία ProtocolController.php με ένα πρόγραμμα όπως το Meld.

Για την εμφάνιση ή όχι του εικονιδίου email

  • Έχουμε ενεργοποιημένη - εγκατεστημένη την extension imap;
  • Έχουμε συμπληρώσει σωστά τα πεδία για το IMAP στο αρχείο .env;
  • Στις ρυθμίσεις: "Χρησιμοποίησε τον λογαριασμό email" δεν είναι "-------"
  • Υπάρχουν "αδιάβαστα" email;

Ενδέχεται σε κάποιο commit να ανεβούν "λάθη" ( άνθρωποι είμαστε )

Συνέβηκε στο προτελευταίο! Μόλις το αντιλήφθηκα το διόρθωσα!

Παρακολουθείτε τα commit και κατεβάστε πάντα την τελευταία ενημέρωση.

Μη βάζετε σε παραγωγή το "νέο" Ηλ.Πρωτ. μέχρι να βεβαιωθείτε ότι δουλεύει.


Με χαρά μου να δούμε μαζί όποιο πρόβλημα...

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

Σε ένα πρόχειρο στήσιμο μόλις τώρα σε win10+xampp έπαιξε μια χαρά το email

cpp

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

Σε ubuntu 20.04 lts στο τέλος  ()εβγάζε σφάλμα για τις απαιτήσεις του composer (απαίτηση για μεγαλύτερη εκδοση) ενώ σε win 10 δεν εμφανίζει το εικονίδιο για τα email και πάνω αριστερά εμφανίζει {???????????}    εκεί που θα θα έπρεπε να γράφει Ηλ. Πρωτόκολλο.

Το περίεργο είναι ότι και εγώ έκανα μία πρόχειρη εγκατάσταση (win10) πριν ένα μήνα και έπαιξε κανονικά. Μετά όταν είπα να στήσω ένα pc μόνο για το πρωτόκολλο .... Δεν...

Μπορεί να κάνω κάτι λάθος εγω...  και για αυτό δεν θέλω να παραθέτω συνεχώς λεπτομέρειες


Υποψιάζομαι ένα θέμα με τον composer
Αν τρέξεις και το composer update απαιτεί και νεότερη εκδοση της PHP.
Επίσης το env σε παλιότερη έκδοση είχε άλλη δομή...

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

Σε κάθε περίπτωση  συγχαρητήρια για την καλή δουλειά.


alkisg

Παράθεση από: cpp στις 13 Νοε 2022, 01:07:20 ΜΜΣε ubuntu 20.04 lts στο τέλος έβγαζε σφάλμα για τις απαιτήσεις του composer

Τις εκδόσεις php σε κάθε έκδοση του Ubuntu τις βλέπουμε από εδώ:
https://packages.ubuntu.com/search?keywords=php

Το Ubuntu 20.04 έχει php 7.4,
ενώ το Ubuntu 22.04 έχει php 8.1, δες μήπως κάνει καλύτερα αυτό.

cpp

Ευχαριστώ για την απάντηση. 
Πιθανότατα το μπερδεμα έγινε με κάποιο update που έκανα ??? στο comsposer ενω δεν χρειαζόταν... 

Το ubuntu το άφησα (προς το παρόν.... ). 

Στα windows το πρόβλημα λύθηκε με την απλόχερη βοήθεια του Γιώργου. Για να παίξει το email πρέπει να είναι σωστά τα στοιχεία στο env.... 

Ευχαριστώ και πάλι Γιώργο καθώς και όλους σας. 
Ειμαι σίγουρος ότι θα τα ξαναπούμε!  ;D

Χρήστος

stsepas

Παράθεση από: cpp στις 14 Νοε 2022, 01:38:45 ΠΜΕυχαριστώ για την απάντηση.
Πιθανότατα το μπερδεμα έγινε με κάποιο update που έκανα ??? στο comsposer ενω δεν χρειαζόταν...

Το ubuntu το άφησα (προς το παρόν.... ).

Στα windows το πρόβλημα λύθηκε με την απλόχερη βοήθεια του Γιώργου. Για να παίξει το email πρέπει να είναι σωστά τα στοιχεία στο env....

Ευχαριστώ και πάλι Γιώργο καθώς και όλους σας.
Ειμαι σίγουρος ότι θα τα ξαναπούμε!  ;D

Χρήστος
Στα windows ποια είναι τελικα τα τα σωστα αρχεία για να μην έχουμε θέματα (ποια έκδοση xampp, env κτλ.

stsepas

#342
Παράθεση από: stsepas στις 14 Νοε 2022, 11:52:13 ΠΜΣτα windows ποια είναι τελικα  τα σωστα αρχεία για να μην έχουμε θέματα (ποια έκδοση xampp, env κτλ.
Με webhost στο sch ολα λειτουργούν τέλεια. Το ηλεκτρονικό πρωτόκολλο παίρνει mail, αποθηκεύει mail, στέλνει mail παντού.....μόνο καφέ δεν κάνει!!!!

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

Η καλύτερη κατά τη γνώμη μου τακτική είναι να χρησιμοποιούμε τη πιο πρόσφατη έκδοση xampp

Τη δεδομένη στιγμή το xampp με php 8.1.10.



Το ίδιο και σε εγκαταστάσεις σε  Linux lamp τα πιο ενημερωμένα πακέτα php apache κλπ...

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

#344
Εγκατάσταση Ηλ.Πρωτοκόλλου σε ubuntu server 22.04



ΠΑΡΑΤΗΡΗΣΗ: Έχει κάποια ηχητικά θεματάκια αλλά ...


και το αρχείο με τις εντολές


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

#345
Σας ενημερώνω ότι επικαιροποίησα το βίντεο εγκατάστασης ubuntu-server-22.04.

Επικαιροποιήθηκαν επίσης οι οδηγίες στο github και το αρχείο με τις εντολές στην ανάρτηση #344.


Ενδιαφέρον είναι το σημείο στο βίντεο που χτυπάει η ανάγνωση email (500 server - error)

και γίνονται οι δέουσες ενέργειες για  αποκατάσταση σύμφωνα με τις οδηγίες που μοιράστηκε μαζί μας ο pc.down


Ευχαριστώ πολύ

vasdiam

Καλημέρα, έχω εγκαταστήσει το Ηλ. Πρωτόκολλο σε ενα synology Nas σύμφωνα με τις οδηγίες. Ενώ όλα δουλεύουν σωστά το μόνο πρόβλημα είναι οτι όταν επιλέγω να δω "προς Διεκπεραίωση" ή "Διεκπεραιωμένα" μου βγάζει σφάλμα"500 server error".

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

 

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

Διορθώθηκε.

Ο κώδικας για να δούμε τα πρωτόκολλα "προς Διεκπεραίωση" ή "Διεκπεραιωμένα" όταν η ΒΔ είναι η sqlite χτύπαγε!


Αυτό οφείλεται στο ότι η sqlite δεν αναγνωρίζει την function CONCAT(str1, str2) πχ: "CONCAT(`diekperaiosi`, ',')"

Αντί αυτής πρέπει να χρησιμοποιήσουμε τον concatenation operator || πχ: "`diekperaiosi` || ','"

Χρησιμοποιήθηκε μια private function diekperaiosiConcatRawStr() η οποία ανάλογα με τη ΒΔ (sqlite ή mysql) δίνει τη σωστή "ένωση".

Ευχαριστώ τον vasdiam που βρήκε το έντομο (bug).


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


Καλημέρα στην ομάδα! 
Έχω εγκαταστήσει την εφαρμογή εδώ και 3 χρόνια και λειτουργεί άψογα. Τώρα τελευταία δεν κάνει ενημερώσεις (μου εμφανίζει: composer.lock: needs merge) γι' αυτό έκανα καθαρή εγκατάσταση σε άλλο φάκελο (ubuntu 20.04 server) για δοκιμές.
Όταν προσπαθώ να συνδεθώ μου εμφανίζει λευκή σελίδα. Τι μπορεί να φταίει; Έχει αλλάξει κάτι;
Πρώην ΚΕΠΛΗΝΕΤ

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

Γιάννη πρέπει να ρυθμίσεις τα permissions

Αν θυμαμαι καλα τις εντολές

chmod -R  0777 storage 

Ρίξε μια ματιά στο github







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

Δεν έπαιξε. Θα το ξαναστήσω και βλέπουμε. Ευχαριστώ!
Πρώην ΚΕΠΛΗΝΕΤ

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

Τελικά μετά από καθαρή εγκατάσταση μου βγάζει:

Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 8.1.0". 

Κάτι γίνεται με την php. Μου εμφανίζει οτι εχω την 8.1.13 :

root@server:~# php -v
PHP 8.1.13 (cli) (built: Nov 26 2022 14:07:36) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.13, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.13, Copyright (c), by Zend Technologies

....αλλά η παλιά εγκατάσταση χρησιμοποιεί την 7.4.
Πρώην ΚΕΠΛΗΝΕΤ

alkisg

Γιάννη τι βγάζουν οι παρακάτω εντολές;

Κώδικας: Bash
grep VERSION= /etc/os-release
dpkg -l | grep php.*common
ls -l /etc/apache2/mods-enabled/*php*

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


1.   VERSION="20.04.5 LTS (Focal Fossa)"

2.
ii  php-common    2:93+ubuntu20.04.1+deb.sury.org+2                  all         Common files for PHP packages
ii  php7.4-common  1:7.4.33-1+ubuntu20.04.1+deb.sury.org+1    amd64    documentation, examples and common module for PHP
ii  php8.1-common  8.1.13-1+ubuntu20.04.1+deb.sury.org+1       amd64     documentation, examples and common module for PHP
3.  
lrwxrwxrwx 1 root root 29 Jan 15  2021 /etc/apache2/mods-enabled/php7.4.conf -> ../mods-available/php7.4.conf
lrwxrwxrwx 1 root root 29 Jan 15  2021 /etc/apache2/mods-enabled/php7.4.load -> ../mods-available/php7.4.load
Πρώην ΚΕΠΛΗΝΕΤ

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

Ψαξε λιγο πως θα ρυθμισεις τον apache να χρησιμοποιησει την php8 αντι της php7 



sudo a2dismod php7.4
sudo a2enmod php8.1


Πληροφοριες: 

https://www.google.com/amp/s/www.cloudbooklet.com/how-to-install-or-upgrade-php-8-1-on-ubuntu-20-04/%3famp=1

alkisg

Όπως τα λέει ο Γιώργος, αυτές οι εντολές a2dismod/a2enmod είναι που λείπουν.

Όμως αφού έκανες καθαρή εγκατάσταση, γιατί δεν έβαλες το 22.04 που έρχεται με την php 8.1 να μην παιδευτείς καθόλου...

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

Παράθεση από: alkisg στις 15 Δεκ 2022, 02:16:34 ΜΜΌπως τα λέει ο Γιώργος, αυτές οι εντολές a2dismod/a2enmod είναι που λείπουν.
Όμως αφού έκανες καθαρή εγκατάσταση, γιατί δεν έβαλες το 22.04 που έρχεται με την php 8.1 να μην παιδευτείς καθόλου...
Εννοούσα της εφαρμογής.  Τον server δεν τον ξαναστήνω προς το παρόν.
Πρώην ΚΕΠΛΗΝΕΤ

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

Παράθεση από: Γεώργιος Θεοδώρου στις 15 Δεκ 2022, 02:14:28 ΜΜΨαξε λιγο πως θα ρυθμισεις τον apache να χρησιμοποιησει την php8 αντι της php7
sudo a2dismod php7.4
sudo a2enmod php8.1


Πληροφοριες:
https://www.google.com/amp/s/www.cloudbooklet.com/how-to-install-or-upgrade-php-8-1-on-ubuntu-20-04/%3famp=1

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

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

alkisg

Αν τις τρέξεις ανάποδα, αναιρείς την αλλαγή που έκανες, οπότε κάνε δοκιμές άφοβα:

sudo a2dismod php8.1
sudo a2enmod php7.4

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

#359

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

Παράθεση από: Γεώργιος Θεοδώρου στις 15 Δεκ 2022, 02:14:28 ΜΜΨαξε λιγο πως θα ρυθμισεις τον apache να χρησιμοποιησει την php8 αντι της php7



sudo a2dismod php7.4
sudo a2enmod php8.1




Πληροφοριες:

https://www.google.com/amp/s/www.cloudbooklet.com/how-to-install-or-upgrade-php-8-1-on-ubuntu-20-04/%3famp=1
Τελικά έπαιξε. Ευχαριστώ
Πρώην ΚΕΠΛΗΝΕΤ

Agiofws

#361
Καλησπέρα,
υπαρχει κάποιος γρήγορος τρόπος να σβήσω (χρήστες ή διαχειριστή) στο Πρωτόκολλο μεσω της Mysql  για να μπορω να δημιουργήσω ξανά διαχειριστή για να μην εγκαταστήσω την εφαρμογή απο την αρχή;

Εχω ξεχάσει το ονομα χρήστη και κωδικό Διαχειριστή της εφαρμογής.

Ευχαριστώ.

Στέφανος Πήχας

Καλημέρα.
Καταρχάς συγχαρητήρια για την εφαρμογή σας και τον κόπο που έχετε κάνει όλο αυτό τον καιρό για τη δημιουργία αλλά και συντήρησή της. Την έστησα, χάρη στις οδηγίες σας αλλά και με τη βοήθεια και υποστήριξη του εκλεκτού συναδέλφου Σταύρου Ζυγούνα, ευχαριστίες και εκ μέρους του, πρόσφατα σε σύστημα με Ubuntu 22.04, MariaDb, laravel 8.83.27 και php 8.1.
Ήθελα να επισημάνω, σε περίπτωση που έχει κάποιος άλλος παρόμοιο πρόβλημα, ότι ενώ όλα έδειχναν εντάξει, σε μένα δε δούλευε σωστά η αποθήκευση των συνημμένων. Συγκεκριμένα τα pdf άνοιγαν κανονικά, αλλά κείμενα word , excel, εικόνες, και άλλα έγραφαν ότι είναι "χαλασμένο" (corrupted) το αρχείο και δε μπορεί να ανοιχτεί, σε οτιδήποτε υπολογιστή δοκιμάσαμε με διαφορετικά λειτουργικά συστήματα. Το πρόβλημα διορθώθηκε προσθέτοντας στο αρχείο /opt/protocol/app/Http/Controllers/ProtocolController.php  
αμέσως μετά από τη γραμμή 90 :
$this->middleware('writer:home/list', ['except' => ['index', 'indexList', 'getFileInputs', 'gotonum', 'download', 'find', 'getFindData', 'printprotocols', 'printed', 'about', 'setDiekpDate']]);
τη γραμμή
ob_end_clean();

Πέραν τούτου , τώρα έχουμε ολοκληρώσει τις διάφορες δοκιμές οπότε θέλουμε να το βάλουμε σε λειτουργία κανονικά.. Αλλά ως τώρα γέμιζα εγώ τη βάση δοκιμαστικά πρωτοκολλόντας διάφορα σε ότι φακέλους να'ναι. Υπάρχει κάποιος γρήγορος τρόπος να διαγράψω όλα τα περιεχόμενα της βάσης  (όσον αφορά έγγραφα που έχουν πρωτοκολληθεί, συνημμένα κτλ κτλ, μια συνολική "εκκαθάριση" ας πούμε) ή πρέπει να πάω σε φακέλους, να διαγράφω από μέσα διάφορα, ή να συνδεθώ στη βάση και να κάνω διαγραφές στους διάφορους πίνακες ένα ένα..?
Θα κάνω αναζήτηση εδώ λίγο λίγο σε όλο το νήμα μήπως έχει ήδη απαντηθεί , αλλά αν υπάρχει κάποια γρήγορη απάντηση θα βοηθήσει να εξοικονομηθεί χρόνος :) .
Ευχαριστώ και πάλι!

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

Τρεχοντας την εντολη

php artisan migrate:fresh --seed

θα δημιουργησει τους πινακες στη ΒΔ απο την αρχη



διαγραψε το αρχειο .denyregister για να κανεις εγγραφη του πρωτου χρηστη

Διαγραψε τα συνημμενα αρχεία χειροκινητα







Στέφανος Πήχας

Παράθεση από: Γεώργιος Θεοδώρου στις 13 Μαρ 2023, 07:30:05 ΜΜΤρεχοντας την εντολη

php artisan migrate:fresh --seed

θα δημιουργησει τους πινακες στη ΒΔ απο την αρχη



διαγραψε το αρχειο .denyregister για να κανεις εγγραφη του πρωτου χρηστη

Διαγραψε τα συνημμενα αρχεία χειροκινητα



Έγινε, τα έκανα αυτά όλα, δούλεψε μια χαρά. Ευχαριστώ!




Agiofws

Καλησπέρα Συγχαρητήρια για την εφαρμογή και για την υποστήριξη,

1.Υπάρχει κάποιος γρήγορος τρόπος Να σβήσουμε όλους τους φακέλους Φ... 
Για να μπορούμε να εισάγουμε κάποιους δικής μας επιλογής;

Ένας τρόπος σκέφτομαι θα ήταν (αλλά δεν ξέρω αν είναι δόκιμος) να σβήσουμε τις καταχωρήσεις του πίνακα keepvalues;

2. Όταν κάνω εισαγωγή πρωτοκόλλου από e-mail (όταν έχει συνημμένο) μου ζητάει να ορίσω φάκελο αυτό είναι υποχρεωτικό;
Το λέω γιατί υπάρχει στις ρύθμισεις στη διαχείριση μια επιλογή ΝΑΙ/ΟΧΙ . Ή μήπως κάτι δεν καταλαβαίνω εγώ καλά.

3. Η επιλογή backup κάνει backup μόνο τη βάση δεδομένων έτσι ώστε εάν κάτι πάει λάθος ξανακάνεις εγκατάσταση και εισάγεις τη βάση δεδομένων μέσω sql ή μέσω της εφαρμογής;

Ευχαριστώ


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

#366
1. Σωστό
Ο πίνακας Διατήρηση γεμίζει κάνοντας seed με τιμές που έχουμε επιμεληθεί.

2.
Αν έχει συνημμένα υποχρεωτικό.
Αν δεν έχει συνημμενα δεν εμφανίζεται το select επιλογής φακέλου Φ εκτός αν στις ρυθμίσεις επιλέξεις ΝΑΙ

3. Μέσω sql. Ένα σκάσιμο ΒΔ θέλει χέρι απο διαχειριστή.

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

#367
Παράθεση από: Στέφανος Πήχας στις 13 Μαρ 2023, 12:15:59 ΜΜΚαλημέρα.
Καταρχάς συγχαρητήρια για την εφαρμογή σας και τον κόπο που έχετε κάνει όλο αυτό τον καιρό για τη δημιουργία αλλά και συντήρησή της. Την έστησα, χάρη στις οδηγίες σας αλλά και με τη βοήθεια και υποστήριξη του εκλεκτού συναδέλφου Σταύρου Ζυγούνα, ευχαριστίες και εκ μέρους του, πρόσφατα σε σύστημα με Ubuntu 22.04, MariaDb, laravel 8.83.27 και php 8.1.
Ήθελα να επισημάνω, σε περίπτωση που έχει κάποιος άλλος παρόμοιο πρόβλημα, ότι ενώ όλα έδειχναν εντάξει, σε μένα δε δούλευε σωστά η αποθήκευση των συνημμένων. Συγκεκριμένα τα pdf άνοιγαν κανονικά, αλλά κείμενα word , excel, εικόνες, και άλλα έγραφαν ότι είναι "χαλασμένο" (corrupted) το αρχείο και δε μπορεί να ανοιχτεί, σε οτιδήποτε υπολογιστή δοκιμάσαμε με διαφορετικά λειτουργικά συστήματα. Το πρόβλημα διορθώθηκε προσθέτοντας στο αρχείο /opt/protocol/app/Http/Controllers/ProtocolController.php 
αμέσως μετά από τη γραμμή 90 :
$this->middleware('writer:home/list', ['except' => ['index', 'indexList', 'getFileInputs', 'gotonum', 'download', 'find', 'getFindData', 'printprotocols', 'printed', 'about', 'setDiekpDate']]);
τη γραμμή
ob_end_clean();
Πέραν τούτου , τώρα έχουμε ολοκληρώσει τις διάφορες δοκιμές οπότε θέλουμε να το βάλουμε σε λειτουργία κανονικά.. Αλλά ως τώρα γέμιζα εγώ τη βάση δοκιμαστικά πρωτοκολλόντας διάφορα σε ότι φακέλους να'ναι. Υπάρχει κάποιος γρήγορος τρόπος να διαγράψω όλα τα περιεχόμενα της βάσης  (όσον αφορά έγγραφα που έχουν πρωτοκολληθεί, συνημμένα κτλ κτλ, μια συνολική "εκκαθάριση" ας πούμε) ή πρέπει να πάω σε φακέλους, να διαγράφω από μέσα διάφορα, ή να συνδεθώ στη βάση και να κάνω διαγραφές στους διάφορους πίνακες ένα ένα..?
Θα κάνω αναζήτηση εδώ λίγο λίγο σε όλο το νήμα μήπως έχει ήδη απαντηθεί , αλλά αν υπάρχει κάποια γρήγορη απάντηση θα βοηθήσει να εξοικονομηθεί χρόνος :) .
Ευχαριστώ και πάλι!

Με βάση ένα googlάρισμα βρήκα τα εξής:

https://stackoverflow.com/questions/39329299/laravel-file-downloaded-from-storage-folder-gets-corrupted


Θέλει αλλαγή σε δύο σημεία στις γραμμές 1365 και 1905 στο Protocolcontroller.php

από

        return response($content)
            ->header('Content-Type', $oAttachment->getContentType())
            ->header('Content-Disposition', "filename=" . $filename);




σε

        ob_end_clean();
        return response($content)
            ->header('Content-Type', $oAttachment->getContentType())
            ->header('Content-Disposition', "filename=" . $filename);


ΔΙΟΡΘΩΘΗΚΕ ΚΑΙ ΣΤΟ GITHUB

Ευχαριστώ τον Στέφανο που εντόπισε το bug!!!

Agiofws

Καλησπέρα 8) , υπάρχει περίπτωση στην προβολή του πρωτοκόλου ο μπλέ πίνακας που περιγράφει τα πέδια των εισερχομένων και εξερχομένων να ειναι "frozen" όπως στα φύλλα γραμμογράφησης excel,googlesheets κλπ.; Δηλαδή όταν κάνεις σκρολ ο πίνακας να μένει σταθερός. Πιστέυω οτι διευκολύνει την αναγνωση του πρωτοκόλλου απο τους χρήστες του πρωτοκόλου.
Παραθέτω παραδειγμά στο συννημένο αρχείο

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

Παράθεση από: Agiofws στις 18 Μαρ 2023, 11:09:07 ΜΜΚαλησπέρα 8) , υπάρχει περίπτωση στην προβολή του πρωτοκόλου ο μπλέ πίνακας που περιγράφει τα πέδια των εισερχομένων και εξερχομένων να ειναι "frozen" όπως στα φύλλα γραμμογράφησης excel,googlesheets κλπ.; Δηλαδή όταν κάνεις σκρολ ο πίνακας να μένει σταθερός. Πιστέυω οτι διευκολύνει την αναγνωση του πρωτοκόλλου απο τους χρήστες του πρωτοκόλου.
Παραθέτω παραδειγμά στο συννημένο αρχείο
Βελτιώθηκε

Η ετικέτα του πίνακα όταν κατεβαίνουμε στη Λίστα Πρωτοκόλλου προς τα κάτω ( scroll )
παραμένει στην κορυφή του παραθύρου.

:)

Agiofws

Ευχαριστώ θα το δοκιμασω είτε μεσω git  update, είτε χειροκινητα με τον κώδικα, είτε ξανα εγκατασταση. Πρεπει να βρω και το thread  με το πως κανεις update μεσω git.

Ευχαριστώ και πάλι  ;)

Agiofws

Οκ εκανα update και δουλευει. 
Ευχαριστ'ω  :)

stsepas

Παράθεση από: Γεώργιος Θεοδώρου στις 22 Μαρ 2023, 06:39:21 ΜΜΒελτιώθηκε

Η ετικέτα του πίνακα όταν κατεβαίνουμε στη Λίστα Πρωτοκόλλου προς τα κάτω ( scroll )
παραμένει στην κορυφή του παραθύρου.

:)

Εχω πάρει όλες τις αναβαθμίσεις και διορθώσεις αλλά αυτό δεν το έχω δει. Μήπως μου ξέφυγε κάτι


stsepas

ok ευχαριστώ πολύ. Πώς το διάολο μου ξέφυγε αυτό. Να είστε καλά

stsepas

Παράθεση από: stsepas στις 03 Απρ 2023, 07:06:01 ΜΜΕχω πάρει όλες τις αναβαθμίσεις και διορθώσεις αλλά αυτό δεν το έχω δει. Μήπως μου ξέφυγε κάτι
Παράθεση από: Γεώργιος Θεοδώρου στις 03 Απρ 2023, 07:14:33 ΜΜΡίξε μια ματιά σε αυτό το commit

https://github.com/g-theodoroy/electronic_protocol/commit/1d51b6fce4ab1c0a8c7e8b9be9c42a2ec41fe2f9
Eδώ και τρεις μήνες έχω εγκαταστήσει το πρωτόκολλο στο ΠΣΔ και πάει μια χαρά και ¨σφαίρα¨ χωρίς διακοπές και δυσλειτουργίες. Θα βόλευε νομίζω να το τοποθετηθεί ένα εικονίδιο στο τέλος της σελίδας όταν κάνουμε scroll, που επαναφέρει την σελίδα αυτόματα στην αρχή. Νομίζω δεν υπάρχει καλύτερη εφαρμογή στην Ελλάδα για ηλεκτρονικό πρωτόκολλο για τα σχολεία!!!!!

sugarvag

Καλησπέρα και χρόνια πολλά σε όλους.

Αφού δώσω κι εγώ τα συγχαρητήρια μου στο Γιώργο Θεοδώρου για την εξαιρετική του δουλειά, να εξομολογηθώ το εξής: 
την πρώτη φορά που αντίκρυσα το readme του project, τρόμαξα! Αν και είμαι άκρως εξοικειωμένος με τις διαδικασίες που περιγράφονται και κατανοώ την προσπάθεια του δημιουργού να το κάνει πιο εύκολο και αναλυτικό, θεωρώ ότι η προτεινόμενη εγκατάσταση είναι αποτρεπτικός παράγοντας για έναν αρχάριο έως μέσο χρήστη.

Η έκταση και η πολυπλοκότητα του readme σε συνδυασμό με τη εξοικείωση μου με το docker και το χρόνο που βρήκα λόγω των διακοπών, μου επέτρεψε να βάλω κι εγώ το λιθαράκι μου.

Έκατσα κι έγραψα λοιπόν μερικά αρχεία που επιτρέπουν την εκτέλεση της εφαρμογής με docker. 
Με εγκατάσταση του docker και 4 εντολές, αποφεύγουμε την εγκατάσταση PHP, Laravel, Apache, MySQL και την παραμετροποίηση αυτών.

Σχετικό pull request:
https://github.com/g-theodoroy/electronic_protocol/pull/14

giannisvel

Πριν εκφράσω την απορία μου, θα ήθελα να πω ένα μεγάλο μπράβο στον κ. Θεόδωρου για την εκπληκτική εφαρμογή που έχει δημιουργήσει!!! Πραγματικά, είναι ότι λείπει σε κάθε σχολείο που θέλει να λειτουργήσει σωστά...

Καθώς προσπαθώ να σετάρω την εφαρμογή σε nas server, όταν πήγα να εκτελέσω την εντολή  (στην ΕΓΚΑΤΑΣΤΑΣΗ ΒΙΒΛΙΟΘΗΚΩΝ PHP)

composer install --no-dev

μου έβγαλε το παρακάτω μνμ. 


Installing dependencies from lock file
Verifying lock file contents can be installed on current platform.
Your lock file does not contain a compatible set of packages. Please run composer update.

Τι μπορεί να φταίει;

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

#378
Ποια έκδοση php είναι εγκατεστημένη;

Διάβασε και το υπόλοιπο log

Problem 1
 ...

Problem 2
...

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

Τροποποίηση Λίστας Πρωτοκόλλου - Βελτίωση Διεκπεραίωσης

Τροποποιήθηκε η Λίστα Πρωτοκόλλου:
  • Έγινε πιο συνοπτική.
  • Με ένα κουμπί αλλάζει σε Αναλυτική(η παλιά) <=> Συνοπτική.
  • Υπάρχει δυνατότητα ταξινόμησης ανά πεδίο (κλίκ στον τίτλο πεδίου).
  • Προστέθηκε επιλογή "Πρωτόκολλο προς Ενημέρωση".


Προστέθηκε στον μηχανισμό Διεκπεραίωσης πεδίο ημνιας "Διεκπεραίωση έως".

Ο Αναθέτων μπορεί να ορίσει Ημνια "Διεκπεραίωση έως".

Στη Λίστα Πρωτοκόλλου τα πεδία "Αρ.Πρωτ/Ημνια Πρωτ." και "Διεκπεραίωση έως":
  • γίνονται μπλε (info) στις 5 ημέρες απ τη λήξη της προθεσμίας
  • γίνονται κίτρινα (warning) στις 3 ημέρες
  • γίνονται κόκκινα (danger) την τελευταία ημέρα ή αν περάσει η προθεσμία


ΠΡΟΣΟΧΗ: ΕΧΟΥΜΕ ΑΛΛΑΓΗ ΠΕΔΙΟΥ ΣΤΗ ΒΔ

Όσοι έχουν πρωτόκολλο σε λειτουργία πρέπει να προσθέσουν χειροκίνητα πεδίο
στη ΒΔ στον πίνακα 'protocols' μετά το πεδίο 'diekperaiosi' με τα στοιχεία:
  • ΟΝΟΜΑ                diekp_eos
  • ΤΥΠΟΣ                INT
  • ΚΕΝΟ                  (x)              (να είναι nullable)


Προστέθηκε δυνατότητα τροποποίησης της αρχικής σελίδας ανάλογα με τον ρόλο του χρήστη:
  • Διαχειριστής - Αναθέτων            (Λίστα)        Πρωτόκολλο
  • Συγγραφέας - Αναγνώστης        (Λίστα)        Πρωτόκολλο προς Διεκπεραίωση

Οι ρυθμίσεις γίνονται στο αρχείο "config/landing-page.php"


ΠΑΡΑΚΛΗΣΗ:
  • ΠΡΟΣΟΧΗ ΣΤΗ ΜΕΤΑΒΑΣΗ ΕΦ ΟΣΟΝ ΕΧΕΤΕ ΗΛ.ΠΡΩΤ. ΣΕ ΛΕΙΤΟΥΡΓΙΑ
  • ΑΝ ΕΝΤΟΠΙΣΕΤΕ ΕΝΤΟΜΟ (BUG) ΡΙΞΤΕ ΜΙΑ ΦΩΝΗ


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


ΥΣΤΕΡΟΓΡΑΦΟ:

Προσωπικά χρησιμοποιώ το Ηλ.Πρωτόκολλο στο σχολείο μου, ένα Γενικό Λύκειο.
Προφανώς οι Διευθύνσεις σαν πιο σύνθετοι οργανισμοί έχουν μεγαλύτερες - διαφορετικές ανάγκες
Το Ηλ.Πρωτόκολλο συμπληρώνει 8 χρόνια ύπαρξης. Από το 2015. Μοιραία δεν βασίζεται στις τελευταίες
τεχνολογίες όπως Datatables, SPA(Single Page Application), tailwind, κ.α.
Όταν έρθει η ώρα να ξαναγραφεί στην επόμενη έκδοση προφανώς θα συμπεριλάβει και να νέα "καλούδια"
Προς το παρόν κάνει "τίμια" αυτό που του ζητάμε!!!



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

Όλα δουλεύουν μια χαρά στις δοκιμές μου Γιώργο! To πρόβλημα με την εξαγωγή σε MS Excel μάλλον οφείλεται σε τοπική εγκατάσταση και θα το λύσουμε.  ;)

Μπράβο και πάλι!!!!  :)  Αξίζει η βελτίωση!
Powered by Elxis : LabSchool.mysch.gr

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

Παράθεση από: Δημήτρης Κανάς στις 24 Μαΐου 2023, 12:14:35 ΠΜΌλα δουλεύουν μια χαρά στις δοκιμές μου Γιώργο! To πρόβλημα με την εξαγωγή σε MS Excel μάλλον οφείλεται σε τοπική εγκατάσταση και θα το λύσουμε.  ;)

Μπράβο και πάλι!!!!  :)  Αξίζει η βελτίωση!

Το "πρόβλημα" που εμείς καταλογίζουμε εσφαλμένα στο MS Excel ή σε τοπική εγκατάσταση έχει να κάνει με το εξής:

Δεν είναι καθαρό το buffer όταν του δίνουμε τα δεδομένα να τα στείλει στον browser σαν αρχείο xls.
Έχει ένα " " κενό χαρακτήρα.

https://stackoverflow.com/questions/67609038/laravel-excel-is-working-but-the-file-cannot-be-opened

Έχει αναφερθεί από τον Στέφανο Πήχα στο #362 και έχει επιφέρει αλλαγές στον κώδικα όπως απαντήθηκε στο #367.

Η λύση είναι παρόμοια. Πρέπει να καθαρίσουμε το buffer πριν δώσουμε τα δεδομένα στον browser.

Στον Protocolcontroller.php αντικαθιστούμε στη γραμμή 1691

από
           
       return Excel::download(new ProtocolExport("printedXls", compact('protocols', 'etos', 'datetime')), $filename);


σε
         
       $response = Excel::download(new ProtocolExport("printedXls", compact('protocols', 'etos', 'datetime')), $filename);
       ob_end_clean();
       return $response;


Διορθώθηκε στο github


Agiofws

Εχει δοκιμασει κανείς να το εγκαταστήσει σε Debian 12 bookworm; 

Agiofws

#383
Καλημέρα,  :D

Έχω στήσει το ηλεκτρονικό πρωτόκολλο σε debian bookworm, 

  • Eχω παρατηρήσει ότι όταν έχουμε ξεχάσει τον κωδικό  και πατάμε το link για την ανάκτηση του password,  αφού έχουμε εισάγει το email  για να μας σταλεί ο σύνδεσμος για την ανάκτηση  το password, το link το οποίο υπάρχει μέσα στο email μου βγάζει  μήνυμα λάθους "500 SERVER ERROR".  Το Έχω στήσει τοπικά  σε LAN  υποθέτω ότι κάτι γίνεται λάθος στο URL της ανάκτησης.  Δεν το έχω δοκιμάσει να το στήσω  σε WAN,webhost  για να ξέρω εάν δουλεύει σωστά.
  • Επίσης παρατηρώ ότι για τους χρήστες  "Συγγραφείς"  τα εικονίδια 2.png και 3.png  για τη λίστα πρωτοκόλλου  δεν δουλεύουν και δεν απεικονίζεται η λίστα πρωτοκόλλου  ενώ δουλεύει σωστά μόνο το 1.png ενώ για το διαχειριστή δουλεύουν όλα σωστά.
  • Παρατήρησα οτι στα εικονίδια 2 και 3  απεικονίζονται μόνο αυτά που είναι προς διεκπεραίωση για τον συγκεκριμένο χρήστη.
Ευχαριστώ Χ.Μ

ssimaiof

Καλημέρα.
Έχω εγκαταστήσει την εφαρμογή σε Ubuntu 22.04 εδώ και κάποιους μήνες σύμφωνα με τις οδηγίες στο github.
Υπάρχει κάποιος αυτοματοποιημένος τρόπος για αναβαθμίσεις της εφαρμογής;
Αν όχι υπάρχουν κάπου αναλυτικές οδηγίες - βήματα για να κάνουμε τις αναβαθμίσεις;
Οι οδηγίες για αναβάθμιση στο github δεν δουλεύουν (git pull).
Σταύρος Σημαιοφορίδης

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

Καλησπέρα.

Για τις αναβαθμίσεις θα πρέπει ο Διαχειριστής χειροκίνητα είτε

1. να ενημερώσει - αντικαταστήσει τα αρχεία με τις όποιες αλλαγές ( μικρή αναβάθμιση)

2. να ξαναστήσει το Πρωτόκολλο από την αρχή ( μεγαλύτερη αναβάθμιση)

Και στις δύο περιπτώσεις κρατάμε backup τον φάκελο  της παλαιάς εγκατάστασης για κάθε ενδεχόμενο και ενεργοποιούμε τη νέα εγκατάσταση όταν βεβαιωθούμε ότι όλα δουλεύουν κανονικά.

Υπάρχουν πακέτα που υπόσχονται αυτοματοποιημένη αναβάθμιση αλλά δεν έχει ακόμη χρησιμοποιηθεί κάποιο στο project. Ίδωμεν!

Agiofws

Παράθεση από: ssimaiof στις 12 Ιουλ 2023, 12:21:35 ΜΜΚαλημέρα.
Έχω εγκαταστήσει την εφαρμογή σε Ubuntu 22.04 εδώ και κάποιους μήνες σύμφωνα με τις οδηγίες στο github.
Υπάρχει κάποιος αυτοματοποιημένος τρόπος για αναβαθμίσεις της εφαρμογής;
Αν όχι υπάρχουν κάπου αναλυτικές οδηγίες - βήματα για να κάνουμε τις αναβαθμίσεις;
Οι οδηγίες για αναβάθμιση στο github δεν δουλεύουν (git pull).
Σας προτείνω μια λύση που απλοποιεί τη δουλειά με το εργαλείο git. Στο παράδειγμα υποθέτουμε ότι έχει γίνει εγκατάσταση σε Debian 9 server
Μπαίνουμε στο server ή συνδεόμαστε μέσω ssh από άλλο pc.
Πηγαίνουμε στον κατάλογο που εγκαταστήσαμε το Ηλ.Πρωτόκολλο πχ: protocol cd /usr/share/protocol
Με την εγκατάσταση και την πρώτη εγγραφή χρήστη έχουν τροποποιηθεί κάποια αρχεία. Μπορούμε να τα δούμε αν πληκτρολογήσουμε git status. Θα μας δώσει τα παρακάτω:
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
modified:  .env
modified:  config/database.php
modified:  config/session.php
modified:  public/.htaccess
Untracked files:
  (use "git add <file>..." to include in what will be committed)
composer.lock
storage/conf/.denyregister
no changes added to commit (use "git add" and/or "git commit -a")
Για να μη χάσουμε τις αλλαγές στα αρχεία κατά την ενημέρωση δίνουμε τις παρακάτω εντολές:
git stash
git pull
git stash pop
Κάντε κλικ στο menu: Διαχείριση->Ενημερώθηκε για να μην εμφανίζεται το μήνυμα που ειδοποιεί για ενημέρωση.
Έτοιμοι!

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

Πολύ σωστά.


Η διαδικασία περιγράφεται στο github:

https://github.com/g-theodoroy/electronic_protocol

στην ενότητα "Ενημέρωση του Ηλ. Πρωτοκόλλου".


Προσωπικά επιμένω  χειροκίνητα.

Αν δεν δουλέψει  ο παραπάνω τρόπος?

ssimaiof

Όπως ανέφερα ακολούθησα τις οδηγίες εγκατάστασης σε Ubuntu 22.04. Προσπαθώντας να ακολουθήσω της οδηγίες με το git έδωσα τις εντολές:
cd /opt/protocol
git status
μου έβγαλε ότι ο κατάλογος δεν είναι εμπιστοσύνης !! ή κάτι τέτοιο και με προέτρεψε να δώσω:
git config --global --add safe.directory /opt/protocol
πράγμα που και έκανα. Ακολούθως το
git status
έδωσε
Στον κλάδο master
Ο κλάδος σας είναι ενήμερος με το 'origin/master'.

Αλλαγές που δεν έχουν προετοιμαστεί για υποβολή:
  (χρησιμοποιήστε "git add <αρχείο>..." για να ενημερώσετε αυτά που θα υποβληθούν)
  (use "git restore <file>..." to discard changes in working directory)
 τροποποίηση:    .editorconfig
 τροποποίηση:    .env
 τροποποίηση:    .env.example
 τροποποίηση:    .gitattributes
 τροποποίηση:    .gitignore
 τροποποίηση:    LICENSE
 τροποποίηση:    README.md
 τροποποίηση:    _ide_helper.php
 τροποποίηση:    app/Attachment.php
 τροποποίηση:    app/Config.php
 τροποποίηση:    app/Console/Kernel.php
 τροποποίηση:    app/Exceptions/Handler.php
 τροποποίηση:    app/Exports/ProtocolExport.php
 τροποποίηση:    app/Http/Controllers/Auth/ForgotPasswordController.php
 τροποποίηση:    app/Http/Controllers/Auth/LoginController.php
 τροποποίηση:    app/Http/Controllers/Auth/RegisterController.php
 τροποποίηση:    app/Http/Controllers/Auth/ResetPasswordController.php
 τροποποίηση:    app/Http/Controllers/Auth/VerificationController.php
 τροποποίηση:    app/Http/Controllers/ConfigController.php
 τροποποίηση:    app/Http/Controllers/Controller.php
 τροποποίηση:    app/Http/Controllers/KeepvalueController.php
 τροποποίηση:    app/Http/Controllers/UserController.php
 τροποποίηση:    app/Http/Kernel.php
 τροποποίηση:    app/Http/Middleware/Authenticate.php
 τροποποίηση:    app/Http/Middleware/CheckForMaintenanceMode.php
 τροποποίηση:    app/Http/Middleware/EncryptCookies.php
 τροποποίηση:    app/Http/Middleware/LimitProtocolAccessList.php
 τροποποίηση:    app/Http/Middleware/MustBeAdmin.php
 τροποποίηση:    app/Http/Middleware/MustBeWriterOrAdmin.php
 τροποποίηση:    app/Http/Middleware/ProtocolEmail.php
 τροποποίηση:    app/Http/Middleware/RedirectIfAuthenticated.php
 τροποποίηση:    app/Http/Middleware/TrimStrings.php
 τροποποίηση:    app/Http/Middleware/TrustProxies.php
 τροποποίηση:    app/Http/Middleware/VerifyCsrfToken.php
 τροποποίηση:    app/Keepvalue.php
 τροποποίηση:    app/Notifications/ResetPasswordNotification.php
 τροποποίηση:    app/Protocol.php
 τροποποίηση:    app/Providers/AppServiceProvider.php
 τροποποίηση:    app/Providers/AuthServiceProvider.php
 τροποποίηση:    app/Providers/BroadcastServiceProvider.php
 τροποποίηση:    app/Providers/EventServiceProvider.php
 τροποποίηση:    app/Providers/RouteServiceProvider.php
 τροποποίηση:    app/Role.php
 τροποποίηση:    app/User.php
 τροποποίηση:    artisan
 τροποποίηση:    bootstrap/app.php
 τροποποίηση:    bootstrap/cache/.gitignore
 τροποποίηση:    composer.lock
 τροποποίηση:    config/app.php
 τροποποίηση:    config/auth.php
 τροποποίηση:    config/broadcasting.php
 τροποποίηση:    config/cache.php
 τροποποίηση:    config/database.php
 τροποποίηση:    config/filesystems.php
 τροποποίηση:    config/hashing.php
 τροποποίηση:    config/ide-helper.php
 τροποποίηση:    config/imap.php
 τροποποίηση:    config/imapFolders.php
 τροποποίηση:    config/logging.php
 τροποποίηση:    config/mail.php
 τροποποίηση:    config/queue.php
 τροποποίηση:    config/services.php
 τροποποίηση:    config/session.php
 τροποποίηση:    config/stamp.php
 τροποποίηση:    config/view.php
 τροποποίηση:    database/.gitignore
 τροποποίηση:    database/factories/UserFactory.php
 τροποποίηση:    database/migrations/.gitkeep
 τροποποίηση:    database/migrations/2014_10_12_000000_create_users_table.php
 τροποποίηση:    database/migrations/2014_10_12_100000_create_password_resets_table.php
 τροποποίηση:    database/migrations/2016_11_22_173016_create_attachments_table.php
 τροποποίηση:    database/migrations/2016_11_22_230622_create_keepvalues_table.php
 τροποποίηση:    database/migrations/2016_11_22_232227_create_roles_table.php
 τροποποίηση:    database/migrations/2016_11_26_003405_create_configs_table.php
 τροποποίηση:    database/migrations/2016_11_26_003423_create_protocols_table.php
 τροποποίηση:    database/migrations/2019_03_17_102513_create_sessions_table.php
 τροποποίηση:    database/seeds/.gitkeep
 τροποποίηση:    database/seeds/KeepvaluesTableSeeder.php
 τροποποίηση:    gulpfile.js
 τροποποίηση:    package.json
 τροποποίηση:    phpunit.xml
 τροποποίηση:    public/.htaccess
 τροποποίηση:    public/css/app.css
 τροποποίηση:    public/css/bootstrap-datepicker.min.css
 τροποποίηση:    public/css/bootstrap-select.min.css
 τροποποίηση:    public/css/bootstrap.min.css
 τροποποίηση:    public/css/jasny-bootstrap.min.css
 τροποποίηση:    public/css/toastr.min.css
 τροποποίηση:    public/favicon.ico
 τροποποίηση:    public/fonts/Arialbd.ttf
 τροποποίηση:    public/fonts/copyfonts.com_arial-greek.ttf
 τροποποίηση:    public/fonts/glyphicons-halflings-regular.eot
 τροποποίηση:    public/fonts/glyphicons-halflings-regular.svg
 τροποποίηση:    public/fonts/glyphicons-halflings-regular.ttf
 τροποποίηση:    public/fonts/glyphicons-halflings-regular.woff
 τροποποίηση:    public/fonts/glyphicons-halflings-regular.woff2
 τροποποίηση:    public/images/addnew.ico
 τροποποίηση:    public/images/arrow-left-double.png
 τροποποίηση:    public/images/arrow-left.png
 τροποποίηση:    public/images/arrow-right-double.png
 τροποποίηση:    public/images/arrow-right.png
 τροποποίηση:    public/images/attachment.png
 τροποποίηση:    public/images/books.jpg
 τροποποίηση:    public/images/clear.ico
 τροποποίηση:    public/images/copy-stamp.png
 τροποποίηση:    public/images/deldelete.png
 τροποποίηση:    public/images/delete.ico
 τροποποίηση:    public/images/done.png
 τροποποίηση:    public/images/edit.ico
 τροποποίηση:    public/images/email-in.png
 τροποποίηση:    public/images/email.png
 τροποποίηση:    public/images/find.ico
 τροποποίηση:    public/images/mark-read.png
 τροποποίηση:    public/images/open.png
 τροποποίηση:    public/images/print.png
 τροποποίηση:    public/images/protocol.png
 τροποποίηση:    public/images/receipt-email.png
 τροποποίηση:    public/images/receipt.png
 τροποποίηση:    public/images/refresh.png
 τροποποίηση:    public/images/save.ico
 τροποποίηση:    public/images/todo.png
 τροποποίηση:    public/images/xls.png
 τροποποίηση:    public/index.php
 τροποποίηση:    public/js/app.js
 τροποποίηση:    public/js/bootstrap-datepicker.js
 τροποποίηση:    public/js/bootstrap-select.min.js
 τροποποίηση:    public/js/fileinput.js
 τροποποίηση:    public/js/jquery.min.js
 τροποποίηση:    public/js/npm.js
 τροποποίηση:    public/js/toastr.min.js
 τροποποίηση:    public/robots.txt
 τροποποίηση:    public/web.config
 τροποποίηση:    resources/assets/js/app.js
 τροποποίηση:    resources/assets/js/bootstrap.js
 τροποποίηση:    resources/assets/js/components/Example.vue
 τροποποίηση:    resources/assets/sass/_variables.scss
 τροποποίηση:    resources/assets/sass/app.scss
 τροποποίηση:    resources/js/app.js
 τροποποίηση:    resources/js/bootstrap.js
 τροποποίηση:    resources/js/components/ExampleComponent.vue
 τροποποίηση:    resources/lang/el/auth.php
 τροποποίηση:    resources/lang/el/pagination.php
 τροποποίηση:    resources/lang/el/passwords.php
 τροποποίηση:    resources/lang/el/validation.php
 τροποποίηση:    resources/lang/en/auth.php
 τροποποίηση:    resources/lang/en/pagination.php
 τροποποίηση:    resources/lang/en/passwords.php
 τροποποίηση:    resources/lang/en/validation.php
 τροποποίηση:    resources/sass/_variables.scss
 τροποποίηση:    resources/sass/app.scss
 τροποποίηση:    resources/views/auth/login.blade.php
 τροποποίηση:    resources/views/auth/passwords/email.blade.php
 τροποποίηση:    resources/views/auth/passwords/reset.blade.php
 τροποποίηση:    resources/views/auth/register.blade.php
 τροποποίηση:    resources/views/errors/503.blade.php
 τροποποίηση:    resources/views/layouts/app.blade.php
 τροποποίηση:    resources/views/vendor/.gitkeep
 τροποποίηση:    resources/views/vendor/notifications/email-plain.blade.php
 τροποποίηση:    resources/views/vendor/notifications/email.blade.php
 τροποποίηση:    resources/views/vendor/pagination/bootstrap-4.blade.php
 τροποποίηση:    resources/views/vendor/pagination/default.blade.php
 τροποποίηση:    resources/views/vendor/pagination/simple-bootstrap-4.blade.php
 τροποποίηση:    resources/views/vendor/pagination/simple-default.blade.php
 τροποποίηση:    routes/api.php
 τροποποίηση:    routes/channels.php
 τροποποίηση:    routes/console.php
 τροποποίηση:    routes/web.php
 τροποποίηση:    server.php
 τροποποίηση:    storage/app/arxeio/protocol.sqlite
 τροποποίηση:    storage/framework/testing/.gitignore
 τροποποίηση:    tests/CreatesApplication.php
 τροποποίηση:    tests/Feature/ExampleTest.php
 τροποποίηση:    tests/TestCase.php
 τροποποίηση:    tests/Unit/ExampleTest.php
 τροποποίηση:    webpack.mix.js

Μη παρακολουθούμενα αρχεία:
  (χρησιμοποιήστε "git add <αρχείο>..." για να συμπεριληφθεί σε αυτά που θα υποβληθούν)
 public/tmp/u2/
 storage/app/arxeio/backups/protocol_back_20230405090430.sql.gz
 storage/app/arxeio/backups/protocol_back_20230411110401.sql.gz
 storage/app/arxeio/backups/protocol_back_20230510100540.sql.gz
 storage/app/arxeio/backups/protocol_back_20230524100530.sql.gz
 storage/app/arxeio/backups/protocol_back_20230524100554.sql.gz
 storage/app/arxeio/backups/protocol_back_20230606070641.sql.gz
 storage/app/arxeio/backups/protocol_back_20230627170631.sql.gz
 storage/app/arxeio/backups/protocol_back_20230712110744.sql.gz
 storage/app/arxeio/emails/155-20230321_email_20230321_090929.eml
 storage/app/arxeio/emails/185-20230405_email_20230331_121245.eml
 storage/app/arxeio/emails/241-20230524_email_20230523_145032.eml
 "storage/app/arxeio/\316\246.11.1/"
 "storage/app/arxeio/\316\246.11.5/"
 "storage/app/arxeio/\316\246.11.7/"
 "storage/app/arxeio/\316\246.12.1/"
 "storage/app/arxeio/\316\246.14.3.1/"
 "storage/app/arxeio/\316\246.18/"
 "storage/app/arxeio/\316\246.20.1/"
 "storage/app/arxeio/\316\246.20.2/"
 "storage/app/arxeio/\316\246.21.3/"
 "storage/app/arxeio/\316\246.21.5/"
 "storage/app/arxeio/\316\246.22.4/"
 "storage/app/arxeio/\316\246.22/"
 "storage/app/arxeio/\316\246.23.2/"
 "storage/app/arxeio/\316\246.23.6/"
 "storage/app/arxeio/\316\246.24.6/"
 "storage/app/arxeio/\316\246.26.1/"
 "storage/app/arxeio/\316\246.26.2/"
 "storage/app/arxeio/\316\246.3.4/"
 "storage/app/arxeio/\316\246.3/"
 "storage/app/arxeio/\316\246.31.2/"
 "storage/app/arxeio/\316\246.31.5/"
 "storage/app/arxeio/\316\246.32.4/"
 "storage/app/arxeio/\316\246.34.5/"
 "storage/app/arxeio/\316\246.39/"
 "storage/app/arxeio/\316\246.4/"
 "storage/app/arxeio/\316\246.44/"
 storage/conf/.denyregister
 storage/conf/.updateCheck

δεν προστέθηκαν αλλαγές στην υποβολή (χρησιμοποιήστε "git add" και/ή "git commit -a")

git stash
git pull

error: cannot open .git/FETCH_HEAD: Άρνηση πρόσβασης

Τέλος πάντων αν δεν μπορεί να γίνει έτσι, θα πρέπει (όπως είναι με την υπάρχουσα εγκατάσταση; ) να ακολουθήσω ξανά τις οδηγίες για εγκατάσταση σε Ubuntu 22.04; Τα ήδη καταχωριμένα πρωτόκολλα θα διατηρηθούν; Έχω εννοείτε κρατήσει αντίγραφο μέσα από την εφαρμογή, δεν γνωρίζω όμως πως και που το ξαναρίχνω πίσω (αν απαιτηθεί).

Σταύρος Σημαιοφορίδης

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

Υπάρχει θέμα με τα permissions στον φάκελο.

Ρίξε μια ματιά στον παρακάτω σύνδεσμο

https://stackoverflow.com/questions/13195814/trying-to-git-pull-with-error-cannot-open-git-fetch-head-permission-denied

Agiofws

Παράθεση από: ssimaiof στις 17 Ιουλ 2023, 01:07:42 ΜΜ
git stash
git pull

error: cannot open .git/FETCH_HEAD: Άρνηση πρόσβασης

Τέλος πάντων αν δεν μπορεί να γίνει έτσι, θα πρέπει (όπως είναι με την υπάρχουσα εγκατάσταση; ) να ακολουθήσω ξανά τις οδηγίες για εγκατάσταση σε Ubuntu 22.04; Τα ήδη καταχωριμένα πρωτόκολλα θα διατηρηθούν; Έχω εννοείτε κρατήσει αντίγραφο μέσα από την εφαρμογή, δεν γνωρίζω όμως πως και που το ξαναρίχνω πίσω (αν απαιτηθεί).


δωσε τις παραπάνω εντολες ως root  ή τσεκαρε τα δικιαώματα στο FETCH_HEAD ;  ls -l  /οπου/βρίσκεται/το/FETCH_HEAD.

Agiofws

#391
Καλησπέρα, από χθες δεν μου εμφανίζεται το εικονίδιο με τα εισερχόμενα email.

Υποθέτω ότι κάτι γίνεται με το mail server το οποίο το έχω συνδέσει να τραβάει τα e-mail από κάποιον λογαριασμό Gmail ενώ μέχρι πρότινος δούλευε.

Το έχει παρατηρήσει κάνεις αυτό;

Υπάρχει κάποιο log file που μπορω να δω  σε σχεση με το MAIL SERVER;

Υπάρχει κάποιο αρχείο να κάνω εκκαθάριση ή κάτι τέτοιο;

Μήπως υπάρχει κάποιο email  που το "κολλαει" και δεν μπορεί να ανανεώσει την λίστα  με τα εισερχόμενα Mail;

Ευχαριστώ Χ.Μ

ssimaiof

Παράθεση από: Γεώργιος Θεοδώρου στις 17 Ιουλ 2023, 04:52:15 ΜΜΥπάρχει θέμα με τα permissions στον φάκελο.

Ρίξε μια ματιά στον παρακάτω σύνδεσμο

https://stackoverflow.com/questions/13195814/trying-to-git-pull-with-error-cannot-open-git-fetch-head-permission-denied
Σύμφωνα με τις οδηγίες έδωσα
sudo chmod g+w .git -R
και
sudo git pull
Updating ec351f3..ab6a1c8
error: Οι τοπικές αλλαγές σας στα ακόλουθα αρχεία θα επεγγραφόντουσαν από τη συγχώνευση:
 README.md
 app/Http/Kernel.php
 app/Protocol.php
 composer.lock
 database/migrations/2016_11_26_003423_create_protocols_table.php
 resources/views/layouts/app.blade.php
 routes/web.php
 storage/app/arxeio/protocol.sqlite
Παρακαλώ υποβάλετε τις αλλαγές σας ή αποθηκεύστε τις πριν συγχωνεύσετε.
Εγκατάλειψη

Συνεχίζω στο επόμενο βήμα; git stash pop

Τέλος πάντων, ξαναρωτώ, αν δεν μπορεί να γίνει έτσι, θα πρέπει (όπως είναι με την υπάρχουσα εγκατάσταση; ) να ακολουθήσω ξανά τις οδηγίες για εγκατάσταση σε Ubuntu 22.04; Τα ήδη καταχωριμένα πρωτόκολλα θα διατηρηθούν; Έχω εννοείτε κρατήσει αντίγραφο μέσα από την εφαρμογή, δεν γνωρίζω όμως πως και που το ξαναρίχνω πίσω (αν απαιτηθεί).

Σταύρος Σημαιοφορίδης

Agiofws

root@lapi:/opt/protocol4# git status
fatal: detected dubious ownership in repository at '/opt/protocol4'
To add an exception for this directory, call:

git config --global --add safe.directory /opt/protocol4
root@lapi:/opt/protocol4# git config --global --add safe.directory /opt/protocol4
root@lapi:/opt/protocol4# git status
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
modified:  .env

Untracked files:
  (use "git add <file>..." to include in what will be committed)
public/tmp/u1/
storage/app/arxeio/emails/11-20230629_email_20230628_075804.eml
"storage/app/trash/\316\246.1/"
storage/conf/.denyregister
storage/conf/.updateCheck

no changes added to commit (use "git add" and/or "git commit -a")
root@lapi:/opt/protocol4# git stash
Saved working directory and index state WIP on master: ab6a1c8 Ενημέρωση βιβλιοθηκών php στις τελευταίες Χρειάστηκε αλλαγές στον κώδικα για την βιβλίοθήκη ZBateson\MailMimeParser
root@lapi:/opt/protocol4# git pull
Already up to date.
root@lapi:/opt/protocol4# git stash pop
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
modified:  .env

Untracked files:
  (use "git add <file>..." to include in what will be committed)
public/tmp/u1/
storage/app/arxeio/emails/11-20230629_email_20230628_075804.eml
"storage/app/trash/\316\246.1/"
storage/conf/.denyregister
storage/conf/.updateCheck

no changes added to commit (use "git add" and/or "git commit -a")
Dropped refs/stash@{0} (43d04ebedb0ade3c7b580e8460b8b1c65d0bede8)
root@lapi:/opt/protocol4#

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

Αν χρησιμοποιηθεί σαν ΒΔ η sqlite τα δεδομένα ( καταχωρίσεις στη ΒΔ ) είναι στο αρχείο protocol.sqlite στον φάκελο storage/app/arxeio.

Όσο έχεις πρόσφατο αντίγραφο του protocol.sqlite έχεις και τα δεδομένα σου μέχρι τη στιγμή δημιουργίας του αντιγράφου.

Αν κάνεις νέα εγκατάσταση του Ηλ.Πρωτοκόλλου απλά αντιγράφεις τη ΒΔ από την παλαιά στη νέα εγκατάσταση.



Με mysql-mariadb τα δεδομένα φυλάσσονται στον προκαθορισμένο χώρο  της εκάστοτε εφαρμογής (mysql-mariadb).

Επομένως αν συνδεθείς από όποια εφαρμογή (Ηλ.Πρωτόκολλο_παλαιό, Ηλ.Πρωτόκολλο_νέα_εγκατάσταση,  phpmyadmin ) με τους κωδικούς σου έχεις πρόσβαση στα δεδομένα σου.

Οι διαχειριστές του server αναλαμβάνουν συνήθως την ευθύνη μη απώλειας δεδομένων.

Κρατάμε backup σε περίπτωση που στον δικό μας server σκάσει η mysql. Τότε αφού την ξαναστήσουμε εισάγουμε πάλι τα δεδομένα από το backup χειροκίνητα ( mysql, phpmyadmin, ...). Το Ηλ.Πρ. δεν έχει λειτουργία αποκατάστασης δεδομένων.





Κατά τη χρήση του Ηλ.Πρ. αποθηκεύουμε συνημμένα αρχεία σε διάφορους φακέλους Φ, email, backup.

Όλα αυτά αποθηκεύονται στον φάκελο storage/app/arxeio.

Πρέπει να φροντίσουμε να μη τα χάσουμε. Κρατάμε λοιπόν αντίγραφο του φακέλου.

Αν τα αντιγράψουμε στον αντίστοιχο φάκελο της νέας εγκατάστασης έχουμε τα αρχεία μας.



Συνοψίζοντας, για χειροκίνητη ενημέρωση της εφαρμογής
  • Κατεβάζουμε σε ένα νέο φάκελο δίπλα στον παλιό τον τελευταίο κώδικα
  • Κάνουμε τις ρυθμίσεις μας όπως στην παλαιά εγκατάσταση
  • Αντιγράφουμε τα αρχεία μας στο νέο φάκελο
  • Μετονομάζουμε τους φακέλους για να βλέπει ο apache τον νέο φάκελο
  • Όταν βεβαιωθούμε ότι όλα δουλεύουν κανονικά μπορούμε να ανακτήσουμε χώρο διαγράφοντας τον παλαιό φάκελο

ΠΡΟΣΟΧΗ
Αν έχει αλλάξει η δομή της ΒΔ θα πρέπει να κάνουμε τις αντίστοιχες ενέργειες που περιγράφονται στο commit.

Ελπίζω να σας βοήθησα!

Agiofws

Καλησπέρα,  

Υπάρχει κάποιο log file που μπορω να δω logs για τον smpt mail server 
Ξαφνικά δεν μου εμφανίζει κανένα εισερχομενο Mail,
και μου βγαζει μηνυμα οτι δεν μπορει να επικοινωνησει με τον μαιλ σερβερ.

Ενώ με τις ίδιες ρυθμίσεις δουλεύει κανονικά σε άλλη εγκατασταση πρωτοκολλου.

Μηπως υπάχει καποιο συννημενό ή κάποιο email που έχουμε κάνει εισερχόμενο
και το εμποδιζει να τραβήξει  τα email απο τον λογαριαζμο gmail;

Δεν ξέρω τι άλλο να σκεφτώ.

Agiofws

#396
Παράθεση από: Agiofws στις 20 Ιουλ 2023, 11:32:31 ΜΜΚαλησπέρα, 
Υπάρχει κάποιο log file που μπορω να δω logs για τον smpt mail server
Ξαφνικά δεν μου εμφανίζει κανένα εισερχομενο Mail,
και μου βγαζει μηνυμα οτι δεν μπορει να επικοινωνησει με τον μαιλ σερβερ.
Ενώ με τις ίδιες ρυθμίσεις δουλεύει κανονικά σε άλλη εγκατασταση πρωτοκολλου.
Μηπως υπάχει καποιο συννημενό ή κάποιο email που έχουμε κάνει εισερχόμενο
και το εμποδιζει να τραβήξει  τα email απο τον λογαριαζμο gmail;
Δεν ξέρω τι άλλο να σκεφτώ.


Βρήκα τη λύση τελικά  ίδια από προηγούμενο post του pcdown  :)

λυση: στο
/opt/protocol/vendor/zbateson/mb-wrapper/src/MbWrapper.php

πρόσθεσα:
'1' => 'ISO-8859-7',

Για να αντιστοιχηθεί κάποια περίεργη κωδικοποίηση πού έχει το όνομα ενός συνημμένου ενός email που έχει πρωτοκολληθεί και  τελικά κρεμάει το imap







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

Καλημέρα και καλά μπάνια!

Είπα να ξαναεγκαταστήσω την εφαρμογή μετά τις τελευταίες ενημερώσεις. Τη σύνδεσα με μια παλιά βάση που είχα από προηγούμενη εγκατάσταση και ανοίγει αλλά όταν δημιουργώ νέο πρωτόκολλο βγάζει σφάλμα(βλέπε συνημμένο error.png). 
Στην εγκατάσταση όταν έτρεξα composer update εμφάνισε: 

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires php ^7.4|^8.1 but your php version (7.2.34) does not satisfy that requirement.
  Problem 2
    - Root composer.json requires fruitcake/laravel-cors ^3.0 -> satisfiable by fruitcake/laravel-cors[v3.0.0, 3.0.x-dev].
    - fruitcake/laravel-cors[v3.0.0, ..., 3.0.x-dev] require php ^7.4|^8.0 -> your php version (7.2.34) does not satisfy that requirement.
  Problem 3
    - Root composer.json requires fakerphp/faker ^1.22 -> satisfiable by fakerphp/faker[v1.22.0, v1.23.0].
    - fakerphp/faker[v1.22.0, ..., v1.23.0] require php ^7.4 || ^8.0 -> your php version (7.2.34) does not satisfy that requirement.
  Problem 4
    - Root composer.json requires nunomaduro/collision ^5.11 -> satisfiable by nunomaduro/collision[v5.11.0, v5.x-dev].
    - nunomaduro/collision[v5.11.0, ..., v5.x-dev] require php ^7.3 || ^8.0 -> your php version (7.2.34) does not satisfy that requirement.
  Problem 5
    - Root composer.json requires phpunit/phpunit ^9.6 -> satisfiable by phpunit/phpunit[9.6.0, ..., 9.6.x-dev].
    - phpunit/phpunit[9.6.0, ..., 9.6.x-dev] require php >=7.3 -> your php version (7.2.34) does not satisfy that requirement.
  Problem 6
    - laravel/framework[v8.83.0, ..., 8.x-dev] require php ^7.3|^8.0 -> your php version (7.2.34) does not satisfy that requirement.
    - Root composer.json requires laravel/framework ^8.83 -> satisfiable by laravel/framework[v8.83.0, ..., 8.x-dev].

Στη συνέχεια δοκίμασα composer install --ignore-platform-reqs  με αποτέλεσμα:

Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. It is recommended that you run `composer update` or `composer update <package name>`.
Nothing to install, update or remove
Package fruitcake/laravel-cors is abandoned, you should avoid using it. No replacement was suggested.
Package swiftmailer/swiftmailer is abandoned, you should avoid using it. Use symfony/mailer instead.
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
PHP Parse error:  syntax error, unexpected '=' in /opt/test-protocol/vendor/symfony/string/Resources/functions.php on line 34
Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 255

Καμιά ιδέα;
Πρώην ΚΕΠΛΗΝΕΤ

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

Σε κάποιο commit έγιναν αλλαγές στη ΒΔ. Πρέπει να προστεθεί ένα field.

Δες το #379

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

Παράθεση από: Γεώργιος Θεοδώρου στις 08 Αυγ 2023, 03:14:08 ΜΜΣε κάποιο commit έγιναν αλλαγές στη ΒΔ. Πρέπει να προστεθεί ένα field.

Δες το #379
Ευχαριστώ!
Πρώην ΚΕΠΛΗΝΕΤ

Agiofws

Καλημέρα,

Κάποιες φορές μου παρουσιάζεται το εικονίδιο του e-mail και μπορώ να τα δω

 άλλες φορές δεν εμφανίζεται άρα δεν μπορώ να κάνω επισκόπηση των εισερχομένων

Παραθέτω τα παρακάτω logs μηπως και βρώ άκρη

Δεν μπορώ να καταλάβω εάν είναι θέμα κωδικοποίησης συνημμένων

[2023-08-17 08:36:41] local.ERROR: connection failed {"userId":1,"exception":"[object] (Webklex\\PHPIMAP\\Exceptions\\ConnectionFailedException(code: 0): connection failed at /opt/protocol/vendor/webklex/php-imap/src/Connection/Protocols/ImapProtocol.php:81)
[stacktrace]
#0 /opt/protocol/vendor/webklex/php-imap/src/Client.php(350): Webklex\\PHPIMAP\\Connection\\Protocols\\ImapProtocol->connect()
#1 /opt/protocol/app/Http/Controllers/ProtocolController.php(1838): Webklex\\PHPIMAP\\Client->connect()
#2 /opt/protocol/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\ProtocolController->getEmailNum()
#3 /opt/protocol/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction()
#4 /opt/protocol/vendor/laravel/framework/src/Illuminate/Routing/Route.php(261): Illuminate\\Routing\\ControllerDispatcher->dispatch()
#5 /opt/protocol/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#6 /opt/protocol/vendor/laravel/framework/src/Illuminate/Routing/Router.php(721): Illuminate\\Routing\\Route->run()
#7 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#8 /opt/protocol/app/Http/Middleware/MustBeWriterOrAdmin.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#9 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): App\\Http\\Middleware\\MustBeWriterOrAdmin->handle()
#10 /opt/protocol/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#11 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#12 /opt/protocol/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(44): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#13 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Auth\\Middleware\\Authenticate->handle()
#14 /opt/protocol/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#16 /opt/protocol/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#18 /opt/protocol/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /opt/protocol/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#20 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Session\\Middleware\\StartSession->handle()
#21 /opt/protocol/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#22 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#23 /opt/protocol/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#24 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#25 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /opt/protocol/vendor/laravel/framework/src/Illuminate/Routing/Router.php(719): Illuminate\\Pipeline\\Pipeline->then()
#27 /opt/protocol/vendor/laravel/framework/src/Illuminate/Routing/Router.php(698): Illuminate\\Routing\\Router->runRouteWithinStack()
#28 /opt/protocol/vendor/laravel/framework/src/Illuminate/Routing/Router.php(662): Illuminate\\Routing\\Router->runRoute()
#29 /opt/protocol/vendor/laravel/framework/src/Illuminate/Routing/Router.php(651): Illuminate\\Routing\\Router->dispatchToRoute()
#30 /opt/protocol/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(167): Illuminate\\Routing\\Router->dispatch()
#31 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#32 /opt/protocol/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#33 /opt/protocol/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#34 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#35 /opt/protocol/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /opt/protocol/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#37 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#38 /opt/protocol/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#39 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle()
#40 /opt/protocol/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#41 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#42 /opt/protocol/vendor/fruitcake/laravel-cors/src/HandleCors.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#43 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle()
#44 /opt/protocol/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#45 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fideloper\\Proxy\\TrustProxies->handle()
#46 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#47 /opt/protocol/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(142): Illuminate\\Pipeline\\Pipeline->then()
#48 /opt/protocol/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(111): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#49 /opt/protocol/public/index.php(54): Illuminate\\Foundation\\Http\\Kernel->handle()
#50 {main}

[previous exception] [object] (ErrorException(code: 0): stream_socket_client(): Unable to connect to ssl://imap.gmail.com:993 (Connection timed out) at /opt/protocol/vendor/webklex/php-imap/src/Connection/Protocols/Protocol.php:189)
[stacktrace]
#0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError()
#1 /opt/protocol/vendor/webklex/php-imap/src/Connection/Protocols/Protocol.php(189): stream_socket_client()
#2 /opt/protocol/vendor/webklex/php-imap/src/Connection/Protocols/ImapProtocol.php(73): Webklex\\PHPIMAP\\Connection\\Protocols\\Protocol->createStream()
#3 /opt/protocol/vendor/webklex/php-imap/src/Client.php(350): Webklex\\PHPIMAP\\Connection\\Protocols\\ImapProtocol->connect()
#4 /opt/protocol/app/Http/Controllers/ProtocolController.php(1838): Webklex\\PHPIMAP\\Client->connect()
#5 /opt/protocol/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\\Http\\Controllers\\ProtocolController->getEmailNum()
#6 /opt/protocol/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction()
#7 /opt/protocol/vendor/laravel/framework/src/Illuminate/Routing/Route.php(261): Illuminate\\Routing\\ControllerDispatcher->dispatch()
#8 /opt/protocol/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#9 /opt/protocol/vendor/laravel/framework/src/Illuminate/Routing/Router.php(721): Illuminate\\Routing\\Route->run()
#10 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#11 /opt/protocol/app/Http/Middleware/MustBeWriterOrAdmin.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): App\\Http\\Middleware\\MustBeWriterOrAdmin->handle()
#13 /opt/protocol/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#14 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#15 /opt/protocol/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(44): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#16 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Auth\\Middleware\\Authenticate->handle()
#17 /opt/protocol/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#18 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#19 /opt/protocol/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#20 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#21 /opt/protocol/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#22 /opt/protocol/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#23 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Session\\Middleware\\StartSession->handle()
#24 /opt/protocol/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#25 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#26 /opt/protocol/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#27 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#28 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /opt/protocol/vendor/laravel/framework/src/Illuminate/Routing/Router.php(719): Illuminate\\Pipeline\\Pipeline->then()
#30 /opt/protocol/vendor/laravel/framework/src/Illuminate/Routing/Router.php(698): Illuminate\\Routing\\Router->runRouteWithinStack()
#31 /opt/protocol/vendor/laravel/framework/src/Illuminate/Routing/Router.php(662): Illuminate\\Routing\\Router->runRoute()
#32 /opt/protocol/vendor/laravel/framework/src/Illuminate/Routing/Router.php(651): Illuminate\\Routing\\Router->dispatchToRoute()
#33 /opt/protocol/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(167): Illuminate\\Routing\\Router->dispatch()
#34 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#35 /opt/protocol/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /opt/protocol/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#37 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#38 /opt/protocol/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#39 /opt/protocol/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#40 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#41 /opt/protocol/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle()
#43 /opt/protocol/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#45 /opt/protocol/vendor/fruitcake/laravel-cors/src/HandleCors.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#46 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle()
#47 /opt/protocol/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#48 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fideloper\\Proxy\\TrustProxies->handle()
#49 /opt/protocol/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#50 /opt/protocol/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(142): Illuminate\\Pipeline\\Pipeline->then()
#51 /opt/protocol/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(111): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#52 /opt/protocol/public/index.php(54): Illuminate\\Foundation\\Http\\Kernel->handle()
#53 {main}
"}

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

Το εικονίδιο των email εμφανίζεται μόνο όταν υπάρχουν "αδιάβαστα" email.

Αν θες να δεις τα email όταν δεν εμφανίζεται το εικονίδιο πήγαινε από το μενού.


Φυσικά αν για κάποιο λόγο δεν είναι δυνατή η σύνδεση στο imap όπως φαίνεται στα logs τότε:

1. στην περίπτωση του εικονιδίου το Ηλ.πρωτ. αγνοεί το λάθος και συνεχίζει.

2. στην πλοήγηση από το μενού εμφανίζει μήνυμα λάθους

Agiofws

#402
Καλησπέρα και πάλι,

1. Υπάρχει κάποιος τρόπος να δω τι κάνει το IMAP όταν προσπαθεί να κατεβάσει τα απο το gmail ;

2. Έψαξα λίγο στο google για το παρακάτω: 
Παράθεση"(ErrorException(code: 0): stream_socket_client(): Unable to connect to ssl://imap.gmail.com:993 (Connection timed out) at /opt/protocol/vendor/webklex/php-imap/src/Connection/Protocols/Protocol.php:189)"
βρήκα το εξής:

https://stackoverflow.com/questions/61062694/webklex-laravel-imap-not-connected-to-gmail

3. Τελικά με παραπέμπει στο

ΠαράθεσηWebklex/laravel-imap[/color] doesn't support XOAUTH as Gmail says that you now need to interact with their implementation of the imap protocol as they note here Gmail - IMAP, POP, and SMTP
A Github issue has already been raised Webklex/laravel-imap/issues/180 which leads us back to this Stackoverflow - PHP IMAP and XOAUTH [/color].
I would suggest that you implement a different client for working with Gmail, you can try one of these packages:
[/font][/color]

οπου τελικα λεεϊ οτι λυνεται με το εξής:

ΠαράθεσηPHP IMAP from Webklex: https://github.com/Webklex/php-imap

Ευχαριστώ





Agiofws

#403
Παράθεση από: Γεώργιος Θεοδώρου στις 17 Αυγ 2023, 02:52:12 ΜΜΤο εικονίδιο των email εμφανίζεται μόνο όταν υπάρχουν "αδιάβαστα" email.

ΠαράθεσηΑν θες να δεις τα email όταν δεν εμφανίζεται το εικονίδιο πήγαινε από το μενού.

Πηγαίνω στο Μενου και για καποιο λογο σκαλωνει και δεν μου εμφανιζει τι λιστα με τα email.

achantzis

Καλησπέρα και από εμένα.
Εγώ έκανα εγκατάσταση του προγράμματος σε win10 απο το electronic_protocol_win.zip και έτρεξε κανονικά χωρίς να κάνω οποιαδήποτε άλλη εγκατάσταση προγράματος (docker ,xampp ).
Αυτό που θα ήθελα να ρωτήσω είναι πως θα το 'τρέξω' από άλλον υπολογιστή του δικτίου χωρίς να δημιουργήσω συντόμευση.
Ευχαριστώ.

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

Προσωπικά δεν συνιστώ για κανονική χρήση αυτή την παραλλαγή...

Φτιάχτηκε περισσότερο για μια εύκολη επίδειξη.

Άλλωστε ο κώδικάς του είναι πίσω στο 2020.


Τώρα στην ερώτηση απαντώ ως εξής:

Αν παρατηρήσεις στο σχετικό βίντεο: https://youtu.be/e79OPKagz9A

στο 5:45 περίπου γίνεται σύνδεση από εξωτερικό browser στη διεύθυνση 127.0.0.1:88.

Λογικά αν ξέρεις την ip του υπολογιστή που τρέχεις το Ηλ.Πρωτόκολλο

θα πρέπει να το βλέπεις στην διεύθυνση [ip]:88

πχ 10.35.2.65:88 κλπ

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

Καλημέρα σας,
Έχω δυο θεματάκια:
  • Όταν επιλέγω φάκελο αρχείου τους εμφανίζει με στοίχιση δεξιά (βλ. εικόνα)


     2.  Πολύ συχνά όταν προσπαθώ να πρωτοκολλήσω email χωρίς συνημμένο δεν προχωράει και παραμένει στο  παράθυρο.Ευχαριστώ 
Πρώην ΚΕΠΛΗΝΕΤ

Δημήτρης Δαλαγιώργος

Καλησπέρα,

Μου άρεσε η ιδέα να υπάρχει το ηλεκτρονικό πρωτόκολλο στο webhost.sch.gr. Το θέμα μου είναι ότι δεν το έχουμε χρησιμοποιήσει καθόλου το webhost.sch.gr, δεν έχουμε κάνει τίποτα και η αρχική οθόνη δεν έχει επιλογή ούτε για FTP ούτε για διαχειριστή αρχείων. Κοιτάω και τις οδηγίες του ΠΣΔ και δεν βγάζω άκρη. Τι κάνω λάθος; Έχει ήδη καλυφθεί αυτό κάπου αλλού στο φόρουμ;
webhost4.sch.gr_8443_smb_web_view.png
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

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

Παράθεση από: Δημήτρης Δαλαγιώργος στις 26 Σεπ 2023, 05:29:14 ΜΜΚαλησπέρα,

Μου άρεσε η ιδέα να υπάρχει το ηλεκτρονικό πρωτόκολλο στο webhost.sch.gr. Το θέμα μου είναι ότι δεν το έχουμε χρησιμοποιήσει καθόλου το webhost.sch.gr, δεν έχουμε κάνει τίποτα και η αρχική οθόνη δεν έχει επιλογή ούτε για FTP ούτε για διαχειριστή αρχείων. Κοιτάω και τις οδηγίες του ΠΣΔ και δεν βγάζω άκρη. Τι κάνω λάθος; Έχει ήδη καλυφθεί αυτό κάπου αλλού στο φόρουμ;
webhost4.sch.gr_8443_smb_web_view.png
Καλημέρα Δημήτρη,

Εγώ χρησιμοποιώ τον συγκεκριμένο server γιατί έχω εκεί τη σελίδα μας και συνδέομαι κανονικά με ftp. Κάνε ένα ερώτημα στο helpdesk.sch.gr μήπως θέλει κάποια ρύθμιση. 
Πρώην ΚΕΠΛΗΝΕΤ

achantzis

Παράθεση από: Γεώργιος Θεοδώρου στις 18 Σεπ 2023, 08:14:46 ΜΜΠροσωπικά δεν συνιστώ για κανονική χρήση αυτή την παραλλαγή...

Φτιάχτηκε περισσότερο για μια εύκολη επίδειξη.

Άλλωστε ο κώδικάς του είναι πίσω στο 2020.


Τώρα στην ερώτηση απαντώ ως εξής:

Αν παρατηρήσεις στο σχετικό βίντεο: https://youtu.be/e79OPKagz9A

στο 5:45 περίπου γίνεται σύνδεση από εξωτερικό browser στη διεύθυνση 127.0.0.1:88.

Λογικά αν ξέρεις την ip του υπολογιστή που τρέχεις το Ηλ.Πρωτόκολλο

θα πρέπει να το βλέπεις στην διεύθυνση [ip]:88

πχ 10.35.2.65:88 κλπ

Γιώργο σήμερα είδα την απάντηση σου και σε ευχαριστώ πολύ (περίμενα ειδοποίηση από το σύστημα αλλά δεν ήρθε ποτέ) 

Δημήτρης Δαλαγιώργος

Καλησπέρα,

"Βάζει χέρι" το ηλεκτρονικό πρωτόκολο στα εισερχόμενα email του σχολείου; Πώς το ρυθμίζουμε αυτό;

Αυτή τη στιγμή έχω το εξής θέμα: Στα Εισερχόμενα του webmail δεν εμφανίζονται πολλά μηνύματα, τα οποία όμως, αν πας στο φάκελο Archive/Inbox στο webmail θα τα δεις. Δεν έχω κάνει εγώ τη ρύθμιση του ηλεκτρονικού πρωτοκόλλου, υποψιάζομαι όμως ότι έχει ρυθμιστεί να φιλτράρει τα εισερχόμενα από τη ΔΔΕ. Αν όντως έτσι είναι, ποιες ρυθμίσεις του ηλεκτρονικού πρωτοκόλλου πρέπει να κοιτάξω/αλλάξω;

Επίσης, αν θελήσω να μεταφέρω το πρωτόκολλο από μία εγκατάσταση σε άλλη, πώς το κάνω; Πχ αν έχει εγκατασταθεί σε τοπικό υπολογιστή και θέλω να το πάω στο webhost, τι πρέπει να κάνω;

Δημήτρης Δαλαγιώργος
3ο ΓΕΛ Κοζάνης
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

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

#411
1

Το Ηλ.Πρωτόκολλο
  • "διαβάζει" τα μηνύματα από τον φάκελο "ΙΝΒΟΧ" ανεξάρτητα από το αν έχουν σημανθεί ως διαβασμένα ή όχι.
  • Μεταφέρει τα διαβασμένα από αυτό μηνυματα στον φάκελο "INBOX.beenRead"
  • Μεταφέρει τα καταχωρισμένα μηνυματα στον φάκελο "INBOX.inProtocol"


Από τις 29 Ιαν 2023 (commit ec351f3  με τίτλο "Ενημέρωση για λειτουργία με php8.2 ")

υπάρχει η δυνατότητα να οριστούν αυτοί οι 3 φάκελοι κατ επιλογή στο αρχείο config.imapFolders.php


Μπορεί λοιπόν ο διαχειριστής να ορίσει τους φακέλους πχ
  • "PROTOCOL"
  • "PROTOCOL.beenRead"
  • "PROTOCOL.inProtocol"


Οπότε ο Δντης του σχολείου αντιγράφει όποιο email θέλει να πρωτοκολληθεί στον εν λόγω φάκελό και έτσι
  • Ο INBOX παραμένει ανέγγιχτος από το Ηλ.Πρωτόκολλο
  • Το φιλτράρισμα γίνεται από το Δντη σε ένα πρόγραμμα διαβάσματος email πχ Thunderbird
  • Οι χειριστές έχουν απλά να πρωτοκολλούν τα email που βλέπουν στον φάκελο PROTOCOL

2

Το ηλ.Πρωτόκολλο δεν έχει καμιά σχέση με αυτό που αναφέρεις (Archive/Inbox στο webmail).


3

Μπορεί να μεταφερθεί όπου θέλεις αρκεί να μεταφερθούν
  • η ΒΔ
  • τα αρχεία

ΠΡΟΣΟΧΗ: Για να πάμε από τοπική εγκατάσταση στον webhost θέλει λίγο δουλειά...

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

ΑΦΟΡΑ ΕΓΚΑΤΑΣΤΑΣΗ ΣΤΟ ΠΣΔ

Μετά την αναβάθμιση του server δεν έστελνε email.

Επικοινώνησα με το helpdesk.

Πρέπει να φτιαχτεί password για το email.



Παραθέτω τις προτεινόμενες ρυθμίσεις:

MAIL_MAILER=smtp
MAIL_HOST=websitemail.sch.gr
MAIL_PORT=25
MAIL_ENCRYPTION=
MAIL_FROM_ADDRESS=mail@xxxxxxxxxx.sch.gr
MAIL_USERNAME=xxxxxxx
MAIL_PASSWORD=Ο κωδικός αποστολής μηνυμάτων (websitemailPassword), όχι του επίσημου email.


Οδηγίες εδώ: https://www.sch.gr/1737-php?hilite=websitemail#toc-0


Καλή χρονιά σε όλους

stsepas


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

Καλημέρα ! 
Έχει κανείς ιδέα εάν έχει αλλάξει κάτι με το email; Από εχθές δεν εμφανίζεται το εικονίδιο στο πρωτόκολλο. 
Πρώην ΚΕΠΛΗΝΕΤ

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

Απ' ότι διάβασα πρέπει να φταίει η php. Με την εντολή php -v εμφανίζει PHP 7.2.34 ενώ όταν τρέχω ένα τεστ μου εμφανίζει php Version 8.1.27(βλ. συνημμένα).
Μπορεί κανείς να βοηθήσει;
Πρώην ΚΕΠΛΗΝΕΤ

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

Τελικά το έλυσα. Άλλαξα τις ρυθμίσεις για το email. Χρησιμοποίησα την εναλλακτική ρύθμιση και έπαιξε.

IMAP_HOST=mail.sch.gr
IMAP_PORT=993
IMAP_ENCRYPTION=ssl
IMAP_VALIDATE_CERT=false
IMAP_USERNAME=username SCH
IMAP_PASSWORD=pass SCH
IMAP_DEFAULT_ACCOUNT=default
IMAP_PROTOCOL=imap
 
Πρώην ΚΕΠΛΗΝΕΤ

Στέφανος Πήχας

Παράθεση από: Γιάννης Γαϊδαρτζής στις 03 Απρ 2024, 11:38:29 ΠΜΤελικά το έλυσα. Άλλαξα τις ρυθμίσεις για το email. Χρησιμοποίησα την εναλλακτική ρύθμιση και έπαιξε.

IMAP_HOST=mail.sch.gr
IMAP_PORT=993
IMAP_ENCRYPTION=ssl
IMAP_VALIDATE_CERT=false
IMAP_USERNAME=username SCH
IMAP_PASSWORD=pass SCH
IMAP_DEFAULT_ACCOUNT=default
IMAP_PROTOCOL=imap


Σ' ευχαριστώ!! Είχαμε κι εμείς το ίδιο θέμα από χτες και ψάχναμε να βρούμε τι συμβαίνει , κάναμε τις αλλαγές που λες και δούλεψε!

stsepas

Παράθεση από: Γιάννης Γαϊδαρτζής στις 03 Απρ 2024, 11:38:29 ΠΜΤελικά το έλυσα. Άλλαξα τις ρυθμίσεις για το email. Χρησιμοποίησα την εναλλακτική ρύθμιση και έπαιξε.

IMAP_HOST=mail.sch.gr
IMAP_PORT=993
IMAP_ENCRYPTION=ssl
IMAP_VALIDATE_CERT=false
IMAP_USERNAME=username SCH
IMAP_PASSWORD=pass SCH
IMAP_DEFAULT_ACCOUNT=default
IMAP_PROTOCOL=imap


Σε ποιον φάκελο και σε ποιο αρχειο κάνουμε την αλλαγή για να λειτουργήσει;;

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

#419
Οι ρυθμίσεις για το διάβασμα των email βρίσκονται στο αρχείο

config/imap.php



Εκεί έχουν οριστεί τρεις (3) λογαριασμοί:

'accounts' => [

        'default' => [ // account identifier
            'host'  => env('IMAP_HOST', 'localhost'),
            'port'  => env('IMAP_PORT', 993),
            'protocol'  => env('IMAP_PROTOCOL', 'imap'), //might also use imap, [pop3 or nntp (untested)]
            'encryption'    => env('IMAP_ENCRYPTION', 'ssl'), // Supported: false, 'ssl', 'tls'
            'validate_cert' => env('IMAP_VALIDATE_CERT', true),
            'username' => env('IMAP_USERNAME', ''),
            'password' => env('IMAP_PASSWORD', ''),
        ],

        'gmail' => [ // account identifier
            'host' => 'imap.gmail.com',
            'port' => 993,
            'encryption' => 'ssl', // Supported: false, 'ssl', 'tls'
            'validate_cert' => false,
            'username' => '',
            'password' => '',
        ],


        'sch' => [ // account identifier
            'host' => 'mail.sch.gr',
            'port' => 143,
            'encryption' => 'tls', // Supported: false, 'ssl', 'tls'
            'validate_cert' => true,
            'username' => '',
            'password' => '',
        ]


    ],




Ο "default"  διαβάζει τις ρυθμίσεις που κάνουμε στο αρχείο .env :

IMAP_HOST=imap.gmail.com
IMAP_PORT=993
IMAP_ENCRYPTION=ssl
IMAP_VALIDATE_CERT=false
IMAP_USERNAME=gm@ilusern@me
IMAP_PASSWORD=gm@ilp@ss
IMAP_DEFAULT_ACCOUNT=default
IMAP_PROTOCOL=imap



Ο διαχειριστής στις ρυθμίσεις επιλέγει έναν από τους λογαριασμούς που ορίζονται στο αρχείο config/imap.php.

Οπότε
επιλέγοντας default οι ρυθμίσεις διαβάζονται από το .env  (μέσω του config/imap.php)
επιλέγοντας gmail ή sch οι ρυθμίσεις διαβάζονται από το config/imap.php


Προσαρμόζοντας τον πίνακα στο αρχείο config/imap.php μπορούμε να
  • προσθέσουμε λογαριασμό
  • αφαιρέσουμε λογαριασμό
  • αλλάξουμε τις ρυθμίσεις λογαριασμού



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

Για την στάμπα στα pdf χρησιμοποιείται ένα πρόγραμμα

https://github.com/ajaxray/markpdf

το οποίο κάνει όλη τη δουλειά με την στάμπα.


Ο δημιουργός του θεωρεί ότι η στάμπα πρέπει να μπαίνει σε όλες τις σελίδες.


Τροποποιήθηκε το πρόγραμμα ώστε η στάμπα να μπαίνει μόνο στην 1η σελίδα.


Κατεβάστε 4 αρχεία (ή μόνο αυτό που απαιτεί το σύστημά σας) και τοποθετήστε τα στον φάκελο

vendor/yasapurnama/document-watermark/bin/


Φροντίστε ότι σε linux θα ρυθμίσετε τα permissions ώστε να είναι "εκτελέσιμα".

 
Έχετε στα pdf την στάμπα μόνο στην 1η σελίδα



Σύνδεσμος: https://drive.google.com/file/d/1sPsDL8XEhomZSEHT2xl08McFSjws4hpU/view?usp=drive_link

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

Powered by Elxis : LabSchool.mysch.gr

vorfan

Υπάρχει δυνατότητα η default προβολή να είναι η Αναλυτική και όχι η Συνοπτική;
Καλό καλοκαίρι σε όλους και όλες.

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

Μπορεί να γίνει με το παρακάτω τρικ

Στο αρχείο

resources/views/protocolList.blade.php

άλλαξε τη γραμμή 68

από

@if (request()->get('exp'))

σε

@if (! request()->get('exp'))

Πρόχειρο μεν, αλλά θα δουλέψει

vorfan

Παράθεση από: Γεώργιος Θεοδώρου στις 05 Αυγ 2024, 08:32:46 ΜΜΜπορεί να γίνει με το παρακάτω τρικ

Στο αρχείο

resources/views/protocolList.blade.php

άλλαξε τη γραμμή 68

από

@if (request()->get('exp'))

σε

@if (! request()->get('exp'))

Πρόχειρο μεν, αλλά θα δουλέψει

Δούλεψε!!! Ευχαριστώ πολύ!!!

vorfan

Καλησπέρα και χρόνια πολλά σε όλους και όλες.

Τρία ερωτήματα:
α) Κατά την πρωτοκόλληση των email μου εμφανίζει "500 | Server Error" αλλά παρ' όλα αυτά το email έχει πρωτοκολληθεί. Στη γραμμή διευθύνσεων δείχνει  http://ΙP του server/protocol/storeFromEmail

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

γ) Μετά την πρωτοκόλληση διαπιστώνω ότι δεν έχω ορίσει Χρόνο Διατήρησης του εγγράφου. Μπορώ σε ένα ήδη πρωτοκολλημένο  έγγραφο να ορίσω χρόνο διατήρησης εκ των υστέρων; 

Σας ευχαριστώ πολύ εκ των προτέρων...


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

α)

όταν πρωτοκολλούμε από ένα email συμβαίνουν διαδοχικά τα ακόλουθα:
  • αποθηκεύεται το πρωτόκολλο
  • αποθηκεύονται οι εγγραφές των συνημμένων
  • αποθηκεύονται τα συνημμενα αρχεία στο δίσκο

υποπτεύομαι ότι κάποιο συνημμένο είναι πολύ μεγάλο για τις ρυθμίσεις της php

Ρίξε μια ματιά στο storage/logs/laravel.log να δεις αναλυτικά τι γράφει

Εναλλακτικά κάνε στο αρχείο .env τη μεταβλητή APP_DEBUG από false σε true να σου εμφανίζει τα logs στην οθόνη

β)

Το ηλ.πρωτ. πρωτοκολλεί  ανά email

Για να πετύχεις αυτό που ζητάς αποθήκευσε τα συνημμένα και καταχώρισέ τα ένα ένα σε νέο πρωτόκολλο 

γ)

Ο χρόνος διατήρησης ορίζεται σε σχέση με τον φάκελο Φ. Υπάρχει ρύθμιση που επιτρέπει την επιλογή του χρόνου διατήρησης από τον χρήστη.

Αυτό γίνεται τη στιγμή που ανεβάζεις ένα αρχείο.

Για να γίνει αυτό που ζητάς πρέπει να διαγράψεις το αρχείο και να το ξανά ανεβάσεις.


vasdiam

Καλησπέρα, μετα απο επιτυχή εγκατάσταση πριν απο περίπου 2 χρόνια σε nas, ήρθε η στιγμή να το αντικαταστήσω με νεότερο. Το πρόβλημα είναι πως θα μεταφέρω την βάση δεδομένων sqlite στο καινούργιο. Μέσα απο το phpadmin βλέπω το Mariadb αλλα δεν βρήκα την βάση.
Κανένας οδηγός για την μεταφορά;

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

Η ΒΔ protocol.sqlite βρίσκεται στον φάκελο storage/app/arxeio/.

Απλά την αντιγράφεις.


Προσοχή θέλει άν στα δύο χρόνια που πέρασαν έχουν γίνει αλλαγές στη δομή της ΒΔ σε κάποια αναβάθμιση.

Τότε πρέπει να γίνει χειροκίνητη δουλειά ...

vasdiam

Παράθεση από: Γεώργιος Θεοδώρου στις 10 Οκτ 2024, 07:31:19 ΠΜΗ ΒΔ protocol.sqlite βρίσκεται στον φάκελο storage/app/arxeio/.

Απλά την αντιγράφεις.


Προσοχή θέλει άν στα δύο χρόνια που πέρασαν έχουν γίνει αλλαγές στη δομή της ΒΔ σε κάποια αναβάθμιση.

Τότε πρέπει να γίνει χειροκίνητη δουλειά ...
Ευχαριστω, για την απάντηση. Άρα ξαναστηνω το καινούργιο από την αρχή και μετά κάνω αντικατάσταση το αρχείο της βάσης και βάζω και τον φάκελο με τα συνημμένα; Όσο αφορά της αναβαθμίσεις του προγράμματος  τις παίρνει κανονικά κάθε φορά που βγαίνουν. 

vasdiam

Τελικά σήμερα το πρωι , ξαναέστησα στο νεό NAS (καινούργια εγκατάσταση), και αντέγραψα την ΒΔ protocol.sqlite που βρίσκεται στον φάκελο storage/app/arxeio/ .

ΟΛΑ ΜΙΑ ΧΑΡΑ 

*εκτός απο τα συνημμένα τα οποία ενω τα έβαλα στους φακέλους τους δεν μπορεί να τα βρει για να τα ανοίξει (ίσως το path να μην είναι ίδιο)....

Δεν υπάρχει πρόβλημα θα τα ξαναεπισυνάψω

Ευχαριστώ,

vasdiam

Παράθεση από: vasdiam στις 11 Οκτ 2024, 10:57:25 ΠΜΤελικά σήμερα το πρωι , ξαναέστησα στο νεό NAS (καινούργια εγκατάσταση), και αντέγραψα την ΒΔ protocol.sqlite που βρίσκεται στον φάκελο storage/app/arxeio/ .

ΟΛΑ ΜΙΑ ΧΑΡΑ


*εκτός απο τα συνημμένα τα οποία ενω τα έβαλα στους φακέλους τους δεν μπορεί να τα βρει για να τα ανοίξει (ίσως το path να μην είναι ίδιο)....

Δεν υπάρχει πρόβλημα θα τα ξαναεπισυνάψω

Ευχαριστώ,
Επανερχόμενος, με την αντικατάσταση της βάσης δεν μπορεί να αποθηκεύσει εγγραφές.   :'( :'( :'( :'(

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

Επειδή το σύστημα είναι linux κοίταξε λίγο τα permissions στη ΒΔ ώστε να είναι εγγράψιμη από το group http.


Για τα συνημμένα βρες το νέο path και αντικατάστησε στο table attachments το παλιό με το νέο.

vasdiam

Παράθεση από: Γεώργιος Θεοδώρου στις 11 Οκτ 2024, 02:23:09 ΜΜΕπειδή το σύστημα είναι linux κοίταξε λίγο τα permissions στη ΒΔ ώστε να είναι εγγράψιμη από το group http.


Για τα συνημμένα βρες το νέο path και αντικατάστησε στο table attachments το παλιό με το νέο.
Στην κενή (καινούργια) βάση δεν έχει πρόβλημα, κάνει νέες εγγραφές κανονικά. 
Οταν βάζω την παλιά βάση έχει θέμα. 

vasdiam

#434
Βγάζει το παρακάτω error απο το Log



2024-10-11 14:45:50] local.ERROR: connection setup failed {"userId":1,"exception":"[object] (Webklex\\PHPIMAP\\Exceptions\\ConnectionFailedException(code: 0): connection setup failed at /volume1/web/protocol/vendor/webklex/php-imap/src/Client.php:376)
[stacktrace]

Μαλλον αυτο ειναι για το email

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