Γενικά
Προκειμένου να έχετε πρόσβαση (είτε για ανάγνωση, είτε για υποβολή αλλαγών) στον κώδικα του eClass μέσω CVS, θα πρέπει να διαθέτετε έναν έγκυρο λογαριασμό (username και password). Ανάλογα με το λειτουργικό σύστημα που χρησιμοποιείται ακολουθήστε τις αντίστοιχες οδηγίες που παρατίθενται παρακάτω.
Οι αλλαγές στον κώδικα της πλατφόρμας θα πρέπει να υπακούουν σε κάποιες προδιαγραφές διαφορετικά δεν θα γίνονται δεκτές ούτε θα ενσωματωθούν στον κώδικα της πλατφόρμας. Περισσότερες πληροφορίες για τις προδιαγραφές διαβάστε εδώ. Για ευκολία στη συντήρηση η υποβολή αλλαγών στο cvs καλό είναι να γίνεται μόνο όταν το υποσύστημα με το οποίο ασχολείστε ή οι διορθώσεις λειτουργούν σε μεγάλο βαθμό.
Πριν ξεκινήσετε να ασχοληθείτε με την ανάπτυξη του Open eClass είναι καλό να ανατρέξετε στο Wiki ανάπτυξης του Open eClass. Εκεί, ανάμεσα στα άλλα, θα βρείτε κατάλογο με τα ζητούμενα νέα χαρακτηριστικά, τις τρέχουσες εργασίες σε εξέλιξη και τυχόν γνωστά σφάλματα τα οποία χρειάζονται διόρθωση. Ο κώδικας της εφαρμογής είναι επίσης διαθέσιμος μέσω της εφαρμογής ViewCVS και μπορείτε να τον δείτε εδώ.
Επίσης θα πρέπει οπωσδήποτε να διαβάσετε τις Οδηγίες ανάπτυξης κώδικα όπως και τις Οδηγίες για τη δομή-συγγραφή του κώδικα.
^ ΑΡΧΗΓια τους χρήστες με συστήματα UNIX/Linux
- Για Checkout
-
Ανοίξτε ένα τερματικό και πληκτρολογήστε τα παρακάτω (όπου username θα πληκτρολογήσετε το username σας και όταν ζητηθεί password θα πληκτρολογήσετε το password σας):
export CVSROOT=:pserver:username@eclasscvs.gunet.gr:/var/lib/cvs cvs login cvs checkout openeclass
Για ανώνυμη πρόσβαση μόνο για ανάγνωση, χωρίς δυνατότητα αποστολής αλλαγών, μπορείτε να χρησιμοποιήσετε το username "pubcvs" με κενό password.
Σημείωση: Επειδή το cvs repository άλλαξε ονομασία (από eclass20 μετονομάστηκε σε openeclass) αν έχετε κάνει ήδη checkout το eclass20 μπορείτε να αλλάξετε το όνομα του repository πληκτρολογώντας την παρακάτω εντολή
find . -name Repository -exec sed -i -e's/eclass20/openeclass/' {} \;Αν τυχόν δεν λειτουργήσει σωστά, τότε μπορείτε απλά να ξανακάνετε checkout το καινούριο repository. - Για Commit
-
Για να υποβάλλετε ένα τροποποιημένο αρχείο θα πληκτρολογήσετε:
export CVSROOT=:pserver:username@eclasscvs.gunet.gr:/var/lib/cvs cvs login cvs commit openeclass
Για να προσθέσετε ένα αρχείο στο cvs θα πληκτρολογήσετε:cvs add (όνομα αρχείου) cvs commit openeclass
Για να διαγράψετε ένα αρχείο στο cvs θα κάνετε τα εξής:Διαγραφή του αρχείου τοπικά. cvs delete (όνομα αρχείου) cvs commit openeclass
- Αναλυτική τεκμηρίωση των εντολών του cvs μπορείτε να διαβάσετε εδώ.
Για τους χρήστες με συστήματα Windows (Win XP/Win 2000/Win 2003)
Μπορείτε να χρησιμοποιήσετε οποιοδήποτε cvs client της αρεσκείας σας για να κάνετε Checkout / Commit. Όπου ζητείται να δηλώσετε το cvsroot θα πρέπει να πληκτρολογήσετε τα παρακάτω:
:pserver:username@eclasscvs.gunet.gr:/var/lib/cvs
Μερικοί προτεινόμενοι είναι οι εξής:
^ ΑΡΧΗΠροδιαγραφές
Οι υποβολές των αλλαγών που γίνονται στο κώδικα θα πρέπει να τηρούν τις ακόλουθες προδιαγραφές:
- Συμβατότητα
- Διατήρηση της συμβατότητας με τα υπόλοιπα υποσυστήματα της πλατφόρμας.
- Διατήρηση της υπάρχουσας δομής της βάσης
- Τυχόν αλλαγές που γίνονται στη βάση θα πρέπει να συνοδεύονται με πλήρη τεκμηρίωση των τυχόν καινούριων πινάκων/πεδίων της βάσης μαζί με ένα script αναβάθμισης.
- Τήρηση των κανόνων ασφαλείας
- Ιδιαίτερη προσοχή έτσι ώστε ο χρήστης/φοιτητής να μην μπορεί να εκτελεί ενέργειες που δεν επιτρέπονται. Ασφάλεια θα πρέπει να υπάρχει και στο "Διαχειριστικό Εργαλείο της Πλατφόρμας".
- Τεκμηρίωση
- Σύντομη τεκμηρίωση των λειτουργιών που προστίθονται/αλλάζουν καθώς και του αντίστοιχου κώδικα. Αν οι αλλαγές διορθώνουν κάποιο σφάλμα ή δυσλειτουργία, θα πρέπει να παρατίθεται αντίστοιχο παράδειγμα.
- Αντίστοιχο on-line help
- Κάθε καινούριο υποσύστημα θα πρέπει να συνοδεύεται από το αντίστοιχο on-line help. Επίσης, θα πρέπει να υπάρχουν περιγραφές του υποσυστήματος για ενσωμάτωσή του στα εγχειρίδια.
- Επιτυχημένη λειτουργία
- Είναι επιθυμητή η αναφορά επιτυχημένης λειτουργίας σε όσο το δυνατόν περισσότερες εκδόσεις λειτουργικών συστημάτων (π.χ. Windows XP/2000/2003, UNIX/Linux) και εκδόσεων PHP (εκδόσεις ≥ 4.3.x), Apache (≥ 1.3.x), MySQL (εκδόσεις ≥ 4.0.x.). Αν υπάρξουν τυχόν ασυμβατότητες σε συγκεκριμένες εκδόσεις PHP, Apache, MySQL (πάντα σε εκδόσεις μεγαλύτερες από τις προαναφερθέντες) θα πρέπει να αναφέρονται καθώς και να δικαιολογούνται.
- Συμβατότητα με τους πιο δημοφιλείς browsers
- Ο καινούριος κώδικας θα πρέπει να είναι συμβατός με τους πιο δημοφιλείς browsers (π.χ. Internet Explorer εκδόσεις μεγαλύτερες του 6, Firefox εκδόσεις μεγαλύτερες του 1.x) και σε οθόνες με ανάλυση τουλάχιστον 1024x768.