Θέμα: Ανάπτυξη ιστοσελίδας για το ΕΛΚΕ ΤΕΙ ΘΕΣΣΑΛΙΑΣ

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Θέμα: Ανάπτυξη ιστοσελίδας για το ΕΛΚΕ ΤΕΙ ΘΕΣΣΑΛΙΑΣ"

Transcript

1 ΑΤΕΙ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ Τμήμα Μηχανικών Πληροφορικής ΤΕ Θέμα: Ανάπτυξη ιστοσελίδας για το ΕΛΚΕ ΤΕΙ ΘΕΣΣΑΛΙΑΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Μπράτσος Γεώργιος (ΑΜ:Τ0-3042) Ριζόπουλος Γεώργιος (ΑΜ: Τ0-2848) Επιβλέπων: Δρ. Ιατρέλλης Όμηρος, Καθηγητής Τομέα Μηχανικών Δικτύων ΛΑΡΙΣΑ 2014

2

3 «Οι Μπράτσος Γερώργιος και Ριζόπουλος Γεώργιος δηλώνουμε υπεύθυνα ότι η παρούσα Πτυχιακή Εργασία με τίτλο Ανάπτυξη Ιστοσελίδας για το ΕΛΚΕ ΤΕΙ ΘΕΣΣΑΛΙΑΣ είναι δική μας και βεβαιώνουμε ότι: Σε όσες περιπτώσεις έχουμε συμβουλευτεί δημοσιευμένη εργασία τρίτων, αυτό επισημαίνεται με σχετική αναφορά στα επίμαχα σημεία. Σε όσες περιπτώσεις μεταφέρουμε λόγια τρίτων, αυτό επισημαίνεται με σχετική αναφορά στα επίμαχα σημεία. Με εξαίρεση τέτοιες περιπτώσεις, το υπόλοιπο κείμενο της πτυχιακής αποτελεί δική μας δουλειά. Αναφέρουμε ρητά όλες τις πηγές βοήθειας που χρησιμοποιήσαμε. Σε περιπτώσεις που τμήματα της παρούσας πτυχιακής έγιναν από κοινού με τρίτους, αναφέρουμε ρητά ποια είναι η δική μας συνεισφορά και ποια των τρίτων. Γνωρίζουμε πως η λογοκλοπή αποτελεί σοβαρότατο παράπτωμα και είμαστε ενήμεροι για την επέλευση των νομίμων συνεπειών» ΜΠΡΑΤΣΟΣ ΓΕΩΡΓΙΟΣ ΡΙΖΟΠΟΥΛΟΣ ΓΕΩΡΓΙΟΣ

4 Εγκρίθηκε από την τριμελή εξεταστική επιτροπή Τόπος: Ημερομηνία: ΕΠΙΤΡΟΠΗ ΑΞΙΟΛΟΓΗΣΗΣ

5 Περίληψη Ο κύριος στόχος της συγκεκριμένης πτυχιακής είναι η ανάπτυξη ιστοσελίδας για τον δικτυακό τόπο του Ειδικού Λογαριασμού Κονδυλίων Έρευνας του Α.Τ.Ε.Ι. Θεσσαλίας. Η ανάπτυξη βασίζεται πάνω στο ανοικτού κώδικα σύστημα διαχείρισης περιεχομένου με την ονομασία Drupal. Κατά την πορεία της ανάπτυξης, λήφθηκαν υπόψην η απλότητα και η ευχρηστία της ιστοσελίδας ούτως ώστε να μπορεί ο επισκέπτης να πλοηγείται χωρίς καμία δυσκολία. Φυσικά δεν θα μπορούσε να παραλειφθεί η ραγδαία εξάπλωση των φορητών συσκευών και η άμεση πρόσβαση τους στον Παγκόσμιο Ιστό. Έτσι η ιστοσελίδα δημιουργήθηκε λαμβάνοντας υπόψην την παραπάνω αρχή, χρησιμοποιώντας ένα basetheme βασισμένο στο Foundation Framework, το οποίο στη συνέχεια παραμετροποιήθηκε καταλλήλως ούτως ώστε να προσαρμοστεί στο επιθυμητό αποτέλεσμα. Τέλος ο χρήστης μέσα από την συγκεκριμένη ιστοσελίδα μπορεί να πλοηγηθεί με ευκολία στον ιστότοπο αναζητώντας τις όποιες πληροφορίες επιθυμεί και να έχει πρόσβαση σε κάποιες υπηρεσίες που παρέχονται όπως η εγγραφή στο newsletter του ΕΛΚΕ, η αλληλεπίδραση των χρηστών μέσα από το φόρουμ, η δυνατότητα μεταφόρτωσης αρχείων. Ακόμη παρέχεται η επιλογή για πλήρη παρακολούθηση από τον διαχειριστή της όποιας κίνησης του ιστοτόπου. -i-

6

7 Ευχαριστίες Θα θέλαμε από πλευράς μας να ευχαριστήσουμε τις οικογένειες μας που μας συμπαραστάθηκαν όλο αυτό το χρονικό διάστημα καθώς επίσης και τον καθηγητή μας ο οποίος μας καθοδήγησε και μας βοήθησε για την ολοκλήρωση της συγκεκριμένης εργασίας. Μπράτσος Γεώργιος - Ριζόπουλος Γεώργιος Οκτώβρης iii-

8

9 Περιεχόμενα ΠΕΡΙΛΗΨΗ... I ΕΥΧΑΡΙΣΤΙΕΣ... III ΠΕΡΙΕΧΟΜΕΝΑ... V 1 ΕΙΣΑΓΩΓΗ ΚΙΝΗΤΡΟ ΓΙΑ ΤΗ ΔΙΕΞΑΓΩΓΗ ΤΗΣ ΕΡΓΑΣΙΑΣ ΣΚΟΠΟΣ ΤΗΣ ΕΡΓΑΣΙΑΣ ΔΟΜΗ ΤΗΣ ΕΡΓΑΣΙΑΣ ΜΕΘΟΔΟΛΟΓΙΑ HTML CSS JAVASCRIPT PHP MYSQL ΣΤΑΤΙΚΕΣ ΙΣΤΟΣΕΛΙΔΕΣ ΔΥΝΑΜΙΚΕΣ ΙΣΤΟΣΕΛΙΔΕΣ ΠΛΕΟΝΕΚΤΗΜΑΤΑ/ΜΕΙΟΝΕΚΤΗΜΑΤΑ ΣΤΑΤΙΚΩΝ/ΔΥΝΑΜΙΚΩΝ ΙΣΤΟΣΕΛΙΔΩΝ ΤΟΠΙΚΟΣ ΕΞΥΠΗΡΕΤΗΤΗΣ APACHE PHPMYADMIN JQUERY ΧΑΜΡΡ ΑΝΤΑΠΟΚΡΙΣΙΜΟΣ ΣΧΕΔΙΑΣΜΟΣ ΔΙΑΔΙΚΤΥΟΥ (RESPONSIVE WEB DESIGN) ZURB FOUNDATION FRAMEWORK GITHUB/BITBUCKET DRUPAL CMS ΤΙ ΕΙΝΑΙ ΤΟ ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ (CMS) ΙΣΤΟΡΙΚΗ ΑΝΑΔΡΟΜΗ ΤΟΥ CMS v-

10 3.3 ΕΙΔΗ ΣΥΣΤΗΜΑΤΩΝ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΛΕΟΝΕΚΤΗΜΑΤΑ/ΜΕΙΟΝΕΚΤΗΜΑΤΑ ΣΔΠ ΕΜΠΟΡΙΚΟΥ ΣΚΟΠΟΥ ΠΛΕΟΝΕΚΤΗΜΑΤΑ/ΜΕΙΟΝΕΚΤΗΜΑΤΑ ΣΔΠ ΑΝΟΙΚΤΟΥ ΚΩΔΙΚΑ ΤΙ ΕΙΝΑΙ ΤΟ DRUPAL ΓΙΑΤΙ DRUPAL Ο ΠΥΡΗΝΑΣ ΤΟΥ DRUPAL ΣΥΣΤΗΜΑ ΑΡΧΕΙΩΝ ΣΤΟ DRUPAL ΤΥΠΟΙ ΠΕΡΙΕΧΟΜΕΝΟΥ ΤΟΥ DRUPAL (CONTENT TYPES) ΧΡΗΣΤΕΣ ΚΑΙ ΔΙΚΑΙΩΜΑΤΑ ΑΡΘΩΤΕΣ ΜΟΝΑΔΕΣ (MODULES) ΘΕΜΑΤΙΚΕΣ ΠΑΡΑΛΛΑΓΕΣ (THEMES) ΑΣΦΑΛΕΙΑ ΣΤΟ DRUPAL ΤΟ ΜΕΛΛΟΝ ΤΟΥ DRUPAL ΥΛΟΠΟΙΗΣΗ ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ ΑΠΑΙΤΗΣΕΙΣ ΣΥΣΤΗΜΑΤΟΣ ΣΧΕΔΙΑΣΜΟΣ ΥΛΟΠΟΙΗΣΗΣ ΑΠΑΡΑΙΤΗΤΗ ΠΡΟΕΤΟΙΜΑΣΙΑ ΓΙΑ ΤΟ DRUPAL ΕΓΚΑΤΑΣΤΑΣΗ LAMPP ΣΕ ΠΕΡΙΒΑΛΛΟΝ LINUX ΕΓΚΑΤΑΣΤΑΣΗ DRUPAL ΓΕΝΙΚΗ ΔΙΕΥΘΕΤΗΣΗ ΙΣΤΟΤΟΠΟΥ MODULES DRUPAL THEMING ΤΙ ΕΙΝΑΙ ΜΙΑ ΘΕΜΑΤΙΚΗ ΠΑΡΑΛΛΑΓΗ (THEME); ΚΑΤΗΓΟΡΙΕΣ ΘΕΜΑΤΙΚΩΝ ΠΑΡΑΛΛΑΓΩΝ ΤΙ ΕΙΝΑΙ Η ΘΕΜΑΤΟΠΟΙΗΣΗ (THEMING) ΤΙ ΕΙΝΑΙ ΤΑ SUB-THEMES ΤΙ ΕΙΝΑΙ ΤΑ BASE-THEMES ΣΥΣΤΗΜΑ ΑΡΧΕΙΩΝ ΕΝΟΣ ΘΕΜΑΤΟΣ ΠΑΡΑΛΛΑΓΗΣ ΔΗΜΙΟΥΡΓΙΑ SUBTHEME ΑΠΟ ΤΟ ZURB FOUNDATION THEME ΤΟΥ DRUPAL ΣΥΜΠΕΡΑΣΜΑΤΑ ΚΑΙ ΕΠΕΚΤΑΣΕΙΣ ΣΥΜΠΕΡΑΣΜΑΤΑ vi-

11 6.2 ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ ΚΑΙ ΕΠΕΚΤΑΣΕΙΣ ΒΙΒΛΙΟΓΡΑΦΙΑ vii-

12

13 1 Εισαγωγή Σε αυτό το κεφάλαιο θα γίνει μία προσπάθεια για την παρουσίαση των επιμέρους κεφαλαίων της εργασίας. Αρχικά θα γίνει αναφορά για το κίνητρο της εργασίας, τον σκοπό της και στη συνέχεια θα αναλυθούν περιεκτικά τα κεφάλαια που ακολουθούν. 1.1 Κίνητρο για τη διεξαγωγή της εργασίας Το βασικό κίνητρο για την δημιουργία της εν λόγω πτυχιακής εργασίας ήταν η απαίτηση της ύπαρξης ενός δικτυακού τόπου για τον Ειδικό Λογαριασμό Κονδυλίων Έρευνας (Ε.Λ.Κ.Ε) του Α.Τ.Ε.Ι. Θεσσαλίας για καλύτερη λειτουργικότητα καθώς και για την εξυπηρέτηση των ατόμων που θα ήθελαν να έχουν πρόσβαση σε πληροφορίες του ΕΛΚΕ. Από τα πρώτα στάδια δόθηκε ιδιαίτερη έμφαση στην λειτουργικότητα της συγκεκριμένης ιστοσελίδας ούτως ώστε να καλύπτει τις όποιες ανακύπτουσες ανάγκες. Σαφέστατα ένας σημαντικός παράγοντας ήταν η απαίτηση για ευκολία πλοήγησης στην ιστοσελίδα. 1.2 Σκοπός της εργασίας Ο σκοπός της εργασίας είναι η μελέτη όλων εκείνων των απαραίτητων σύγχρονων εργαλείων ούτως ώστε ο συνδιασμός τους να έχει σαν αποτέλεσμα μία άρτια ιστοσελίδα με τα απαιτούμενα χαρακτηριστικά. Δεν θα μπορούσαν όμως να παραβλεφθούν οι επιταγές της αγοράς, οι οποίες έχουν καθιερώσει στις μέρες μας μια δυναμική αντιμετώπιση των ιστοσελίδων καθώς και την ανταποκρίσιμη (responsive) σχεδίαση που γίνεται ολοένα και πιο διαδεδομένη. 1.3 Δομή της εργασίας Κεφάλαιο 2: Μεθοδολογία Στο δεύτερο κεφάλαιο, αναλύονται σε θεωρητικό υπόβαθρο οι τεχνολογίες που χρησιμοποιήθηκαν. -1-

14 Κεφάλαιο 3: Drupal CMS Στο τρίτο κεφάλαιο, γίνεται μία εκτενέστερη αναφορά ως προς το CMS Drupal και τα χαρακτηριστικά του. Κεφάλαιο 4: Υλοποίηση - Οδηγός Εγκατάστασης Drupal Στο τέταρτο κεφάλαιο αναλύεται η διαδικασία παραμετροποίησης του Drupal καθώς και οι απαραίτητες ενέργειες για την ορθή λειτουργία του. Κεφάλαιο 5: Drupal Theming Στο πέμπτο κεφάλαιο παρουσιάζονται ορισμένες τεχνολογίες που αφορούν την θεματοποίηση (theming) στο Drupal. Κεφάλαιο 6: Συμπεράσματα και Επεκτάσεις Στο τελευταίο κεφάλαιο γίνεται αναφορά στα τελικά συμπεράσματα και σε μελλοντικές επεκτάσεις της ιστοσελίδας που θα μπορούσαν να πραγματοποιηθούν. -2-

15 2 Μεθοδολογία Στο ακόλουθο κεφάλαιο παρουσιάζονται και αναλύονται ορισμένες από τις τεχνολογίες που χρησιμοποιήθηκαν για την εν λόγω εργασία. Επίσης θα αναλυθούν σε μεγάλο βαθμό τα προτερήματα και τα μειονεκτήματα των δυναμικών και στατικών ιστοσελίδων. 2.1 HTML Το 1980, ο φυσικός Τιμ Μπέρνερς Λι, ο οποίος εργαζόταν στο CERN επινόησε το ENQUIRE, ένα σύστημα χρήσης και διαμοιρασμού εγγράφων για τους ερευνητές του CERN και κατασκεύασε ένα πρωτότυπό του. Το 1989, πρότεινε ένα σύστημα βασισμένο στο διαδίκτυο, το οποίο χρησιμοποιούσε υπερκείμενο (Hypertext). Έφτιαξε λοιπόν την προδιαγραφή της HTML και ανέπτυξε τον browser και το λογισμικό του εξυπηρετητή στα τέλη του Tον ίδιο χρόνο, ο Μπέρνερς Λι και ο μηχανικός συστημάτων πληροφορικής του CERN Robert Cailliau, συνεργάστηκαν σε μια κοινή προσπάθεια εύρεσης χρηματοδότησης, αλλά το έργο δεν υοθετήθηκε ποτέ επίσημα από το CERN. Στις προσωπικές του σημειώσεις από το 1990, ο Μπέρνερς Λι αριθμεί μερικές από τις πολλές χρήσεις του υπερκειμένου και αναφέρει πρώτα από όλες μια εγκυκλοπαίδεια. Ένα απο τα μεγαλύτερα λάθη που γίνονται, είναι πως αρκετά άτομα θεωρούν πως η HTML αποτελεί μια γλώσσα προγραμματισμού. Ωστόσο κάτι τέτοιο δεν ισχύει καθώς όπως αναφέρει και το αγγλικό ακρωνύμιο H.T.M.L. (Hypertext Markup Language) είναι μία Γλώσσα Σήμανσης Υπερκειμένου για τις ιστοσελίδες και τα στοιχεία της είναι τα βασικά δομικά στοιχεία των ιστοσελίδων. Η ΗTML γράφεται υπό μορφή στοιχείων HTML τα οποία αποτελούνται απο τις ετικέτες (tags) οι οποίες εμπεριέχονται ενδιάμεσα από τα σύμβολα < και >. Οι ετικέτες λειτουργούν κυρίως με ζεύγη ( <h1> και </h1>) με την πρώτη να ονομάζεται ετικέτα έναρξης και την τελευταία, ετικέτα λήξης. Ενδιάμεσα από τις ετικέτες, μπορεί να γίνει εισαγωγή κειμένου, εικόνων, πίνακων από τον σχεδιαστή ιστοσελίδων. Τα αρχεία ΗΤΜL διαβάζονται απο τους φυλλομετρητές Ιστού (web browsers) και μεταφράζονται σε σελίδες που μπορεί κανείς να διαβάσει ή να ακούσει. Ο φυλλομετρητής με βάση τις ετικέτες ερμηνεύει το περιεχόμενο της σελίδας και δεν τις -3-

16 εμφανίζει ποτέ παρά μόνο σε περίπτωση που δεν υπάρξει σωστή σύνταξη απο πλευράς του σχεδιαστή ιστοσελίδων. Η ΗΤΜL δίνει τη δυνατότητα μεθόδων όπως δημιουργία δομημένων εγγράφων καθορίζοντας δομικά απαραίτητα στοιχεία για το κείμενο, τις επικεφαλίδες, παραγράφους, λίστες, συνδέσμους και άλλων πολλών σημαντικών στοιχείων. Μέσα σε αρχεία html μπορούν να περιέχονται κομμάτια κώδικα άλλων γλωσσών προγραμματισμού όπως η Javascript, τα οποία αλληλεπιδρούν και επηρεάζουν την συμπεριφορά των html στοιχείων. Όπως γίνεται αντιληπτό, η HTML είναι το βασικό στοιχείο δόμησης των ιστοσελίδων. 2.2 CSS Το CSS (Cascading Style Sheets- Διαδοχικά Φύλλα Στυλ ή Αλληλουχία Φύλλων Στυλ) είναι μια γλώσσα που συγκαταλέγεται στην κατηγορία των γλωσσών φύλλων στυλ που χρησιμοποιείται για τον έλεγχο της εμφάνισης ενός εγγράφου που έχει γραφτεί με μια γλώσσα σήμανσης (HTML). H χρήση της δηλαδή είναι για τον έλεγχο του τρόπου εμφάνισης ενός εγγράφου που γράφτηκε στις γλώσσες HTML και XHTML, δηλαδή για τον έλεγχο της εμφάνισης μιας ιστοσελίδας ή ακόμε και μιας διαδικτυακής εφαρμογής. Η CSS είναι μια γλώσσα που έχει σκοπό να αναπτύσσει στυλιστικά μια ιστοσελίδα δηλαδή να διαμορφώνει πιο πολλά χαρακτηριστικά, χρώματα, στοίχιση και να δίνει περισσότερες δυνατότητες όσον αφορά την σχεδίαση σε σχέση με την HTML. Για μια καλοσχεδιασμένη ιστοσελίδα η χρήση του CSS είναι αναγκαία. Για ένα έγγραφο μπορούν να υπάρχουν παραπάνω από ένα φύλλα στυλ στα οποία εμπεριέχονται δηλώσεις για τον τρόπο εμφάνισης ενός συγκεκριμένου στοιχείου. Το φύλλο στυλ που εφαρμόζεται σε ένα έγγραφο μπορεί να προέρχεται από: τον δημιουργό μιας ιστοσελίδας το χρήστη του browser τον ίδιο τον browser, αν έχει δικό του προκαθορισμένο φύλλο στυλ. Συνεπώς για ένα xhtml στοιχείο μπορεί να υπάρξουν παραπάνω από μία δηλώσεις που πιθανόν να είναι αλληλοσυγκρουόμενα. Το πρότυπο css για να επιλύσει παρόμοιες συγκρούσεις έχει καθορίσει μια αλληλουχία-σειρά στην οποία θα μπουν αυτές οι δηλώσεις και με βάση την οποία θα επιλεγεί πχ η δήλωση που είναι πρώτη στη σειρά. -4-

17 Η σύνταξη των CSS αποτελείται από τρία μέρη: έναν επιλογέα (selector), μια ιδιότητα (property) και μια τιμή (value): p {color:red;} Ο επιλογέας είναι το html στοιχείο/ετικέτα που επιθυμούμε να δηλώσουμε, η ιδιότητα είναι το χαρακτηριστικό που θέλουμε να αλλάξουμε και η κάθε ιδιότητα μπορεί να πάρει μία τιμή. Τα html στοιχεία προσδιορίζονται από την ετικέτα τους, την κλάση (class) ή το αναγνωριστικό τους (id), τη θέση τους στην HTML ιεραρχία, την ψευδοκλάση ενός στοιχείου, ενώ τέλος τις ιδιότητες και τις τιμές ενός στοιχείου. Όσον αφορά την δήλωση των css κανόνων, υπάρχουν οι εξής περιπτώσεις: Στυλ γραμμής ( inline). Σε αυτή την περίπτωση ορίζονται ως ιδιότητα μέσα σε ένα στοιχείο HTML χρησιμοποιώντας την ιδιότητα style. Να σημειωθεί πως αυτός ο τρόπος δεν ακολουθεί τις προδιαγραφές ορθού τρόπου ανάπτυξης κώδικα Ενσωματωμένο εντός της σελίδας φύλλου στυλ. Αυτός ο τρόπος είναι κατάλληλος για μια σελίδα μόνο η οποία είτε είναι μοναδική, είτε έχουμε μόνο σε αυτή πρόσβαση, είτε έχει κάποιες ιδιαίτερες απαιτήσεις μορφοποίησης που δεν χρειάζονται αλλού. Οι CSS κανόνες ορίζονται μέσα στο στοιχείο <head> ως εξής: <style type= text/css > body {background-color:black;} </style> Εξωτερικό φύλλο στυλ (αρχείο κειμένου css). Αυτός ο τρόπος είναι ιδανικός για τη διαχείριση ολόκληρου Web site. Γίνεται include στις ιστοσελίδες με τον εξής τρόπο <link href= style.css rel= stylesheet type= text/css /> H παραπάνω δήλωση (που κάνει include) μπαίνει μέσα στο <head> </head> τμήμα της ιστοσελίδας και το style.css είναι το αρχείο με τους css κανόνες που έχει δημιουργηθεί. 2.3 Javascript Μία από τις πλέον διαδεδομένες διερμηνευόμενες γλώσσες από πλευράς χρήστη (clientside) είναι η Javascript, με δυνατότητες αντικειμενοστραφούς προγραμματισμού, η οποία αναπτύσεται από την Netscape. Με την JavaScript μπορούμε με απλό τρόπο να αναπτύξουμε μια σελίδα που αλληλεπιδρά εύκολα με τον εαυτό της. Στην αρχή αποτέλεσε μέρος της υλοποίησης των φυλλομετρητών Ιστού, ώστε τα σενάρια από την πλευρά του πελάτη να μπορούν να αλληλεπιδρούν ευκολότερα με τον χρήστη, τα δεδομένα να ανταλλάσονται ασύγχρονα και να τροποποιούν δυναμικά το περιεχόμενο του εγγράφου που εμφανίζεται. Σαφέστατα μπορεί να παρατηρηθεί πως η javascript έχει -5-

18 πάρει χαρακτηριστικά από την γλώσσα προγραμματισμού C. Ακόμη είναι επηρεασμένη από την Java και αυτό παρατηρείται σε πολλά ονόματα και συμβάσεις ονοματοδοσίας, αλλά σε καμία περίπτωση δεν ταυτίζονται καθώς έχουν διαφορετική σημασιολογία. Σαφέστατα η Javascript έχει γίνει μία από τις πιο δημοφιλείς γλώσσες προγραμματισμού ηλεκτρονικών υπολογιστών στον Παγκόσμιο Ιστό. Αρχικά, όμως, πολλοί επαγγελματίες προγραμματιστές δεν έδωσαν την κατάλληλη προσοχή στη γλώσσα διότι το κοινό της αποτελούνταν από ερασιτέχνες συγγραφείς ιστοσελίδων και όχι από επαγγελματίες προγραμματιστές. Με τη χρήση της τεχνολογίας Ajax, η JavaScript γλώσσα επέστρεψε στο προσκήνιο και κατάφερε να τραβήξει το ενδιαφέρον των επαγγελματιών προγραμματιστών. Το αποτέλεσμα ήταν ένα αξιοσημείωτο αντίκτυπο στην εξάπλωση των framework και των βιβλιοθηκών, τη βελτίωση προγραμματισμού με JavaScript, καθώς και αυξημένη χρήση της JavaScript έξω από τα προγράμματα περιήγησης στο Web. Tον Ιανουάριο του 2009, το έργο CommonJS ιδρύθηκε με στόχο τον καθορισμό ενός κοινού προτύπου βιβλιοθήκης κυρίως για την ανάπτυξη της JavaScript έξω από το πρόγραμμα περιήγησης και μέσα σε άλλες τεχνολογίες (Server-side). Η JavaScript χρησιμοποιείται και σε εφαρμογές εκτός ιστοσελίδων - έγγραφα PDF, εξειδικευμένοι φυλλομετρητές και μικρές εφαρμογές της επιφάνειας εργασίας- Σαφέστατα η JavaScript αποτελεί ένα πολυεργαλείο κατά το οποίο μπορούν να εκτελούνται κάποιες ενέργειες όταν συμβαίνει ένα γεγονός, για παράδειγμα όταν ένας χρήστης επιλέγει ένα html στοιχείο, να εκτελείται κάποιο script και να λαμβάνουμε εμείς από την πλευρά μας κάποια αποτελέσματα. Ακόμη η JavaScript μπορεί να διαβάσει και να αλλάξει τα περιεχόμενα ενός html στοιχείου. Πάνω σε αυτή την τακτική, βασίστηκαν αρκετοί επιτήδειοι όταν υπήρχε αυτό το κενό ασφαλείας σε διάφορα ηλεκτρονικά καταστήματα. Έτσι λοιπόν μπορούσαν μέσω της Javascript να αλλοιώνουν τις τιμές στο καλάθι των αγορών τους με αποτέλεσμα να αποκτούν τα προϊόντα χωρίς πρώτα να έχουν καταβάλει το αντίτιμο. Μία άλλη πολύ σημαντική χρήση της Javascript είναι η επικύρωση δεδομένων μιας φόρμας πρωτού να υποβληθούν στον server. Αυτό αποτελεί μια πολύ καλή τεχνική ως προς την ανάπτυξη ιστοσελίδων, καθώς με αυτόν τον τρόπο γίνεται αποφυγή σε μεγάλο βαθμό από τον φόρτο εργασίας που θα επιβάρυνε τον εξυπηρετητή. Με την βοήθεια της Javascript υπάρχει η δυνατότητα εντοπισμού με τον φυλλομετρητή του επισκέπτη και ανάλογα με τον τύπο του εμφανίζεται στον χρήστη η αντίστοιχη σελίδα που έχει -6-

19 κατάλληλα σχεδιαστεί για αυτόν. Επίσης είναι πολύ εύκολη η διαδικασία για τη δημιουργία cookies με σκοπό την απόκτηση πληροφοριών και την αποθήκευση τους για τους επιθυμητούς σκοπούς. 2.4 PHP Η PHP είναι μια ανοικτού κώδικα γλώσσα προγραμματισμού, κατά την οποία πραγματοποιείται η ανάπτυξη ιστοσελίδων με δυναμικό χαρακτήρα. Μια σελίδα PHP περνά από επεξεργασία από ένα κατάλληλο εξυπηρετητή του Παγκόσμιου Ιστού (Apache), ώστε να δημιουργηθεί σε πραγματικό χρόνο το τελικό περιεχόμενο, που παραλήπτη θα έχει το πρόγραμμα περιήγησης των επισκεπτών της ιστοσελίδας σε μορφή κώδικα HTML. Οι ρίζες της PHP ξεκινούν το 1994, όταν ένας τότε φοιτητής, ο Rasmus Lerdorf δημιούργησε με βάση τη γλώσσα προγραμματισμού Perl ένα απλό σενάριο (script) που ονομαζόταν php.cgi, για δικό του καθαρά σκοπό. Το script αυτό είχε σαν αποτέλεσμα να δημιουργεί μια λίστα με στατιστικά για τα άτομα που επισκέπτονταν το online βιογραφικό του σημείωμα. Στη συνέχεια αυτό το script το μοιράστηκε με φίλους του, οι οποίοι άρχισαν να τον παροτρύνουν να προσθέσει περισσότερες λειτουργίες. Το όνομα της πρωτοεμφανιζόμενης γλώσσας ήταν PHP/FI από τα αρχικά Personal Home Page/Form Interpreter και έπειτα μετονομάστηκε σύμφωνα με τη σύμβαση GNU και τώρα σημαίνει προεπεξεργαστής κειμένου PHP (PHP Hypertext Preprocessor). Το 1997 η PHP/FI έφθασε στην έκδοση 2.0, με πολλά στοιχεία αυτή τη φορά από τη γλώσσα C και αριθμώντας περισσότερους απο ιστοτόπους που τη χρησιμοποιούσαν, ενώ λίγο αργότερα την ίδια χρονιά οι Andi Gutmans και Zeev Suraski ξαναέγραψαν τη γλώσσα από την αρχή, βασιζόμενοι όμως αρκετά στην PHP/FI 2.0. Έτσι η PHP έφθασε στην έκδοση 3.0 η οποία έμοιαζε περισσότερο με τη σημερινή μορφή της. Oι Zeev και Andi συγκρότησαν την εταιρεία με το όνομα Zend ( από τα αρχικά των ονομάτων τους) η οποία εξακολουθεί μέχρι και τις μέρες μας την ανάπτυξη και εξέλιξη της γλώσσας PHP. Το 1998 στο προσκήνιο ήρθε η έκδοση 4 της PHP και τον Ιούλιο του 2004 διατέθηκε η έκδοση 5, ενώ αυτή έως τώρα έχουν διατεθεί και οι πρώτες δοκιμαστικές εκδόσεις της αναμενόμενης PHP 6, για οποιονδήποτε προγραμματιστή θέλει να τη χρησιμοποιήσει. Οι περισσότερες ιστοσελίδες χρησιμοποιούν κυρίως τις εκδόσεις 4 και 5 της PHP. -7-

20 Ένα αρχείο με κώδικα PHP θα πρέπει να έχει την κατάλληλη κατάλληξη ( *.php,*.php4, *.phtml). Η εισαγωγή του κώδικα σε ένα αρχείο με κατάληξη.html δεν θα λειτουργήσει και θα εμφανίσει στον browser τον κώδικα χωρίς κατάλληλη ρύθμιση στα ΜΙΜΕ types του server. Επίσης δεν είναι απαιραίτητο μόνο να έχει την κατάληξη.php το αρχείο αυτό καθώς θα πρέπει να έχει παραμετροποιηθεί κατάλληλα και ο εξυπηρετητής ούτως ώστε ναι μπορεί να επεξεργάζεται και να μεταγλωτίζει τον κώδικα PHP σε HTML που αντιλαμβάνεται το ο κάθε φυλλομετρητής ξεχωριστά. Ο διακομιστής Apache, που χρησιμοποιείται ευρέως στις μέρες μας σε συστήματα με τα λειτουργικά συστήματα GNU/Linux, Microsoft Windows, Mac OS X υποστηρίζει εξ ορισμού την εκτέλεση κώδικα PHP, είτε με την χρήση ενός πρόσθετου (mod_php) ή με την αποστολή του κώδικα προς εκτέλεση σε εξωτερική διεργασία CGI ή FCGI ή με την έλευση της php5.4 στην οποία υποστηρίζονται η εκτέλεση σε πολυάσχολους ιστοχώρους, FastCGI Process Manager. Κάποια από τα πλεονεκτήματα της PHP μπορούν να αναφερθούν παρακάτω. Open Source: Eίναι μια γλώσσα προγραμματισμού ανοιχτού κώδικα. Cross-platform:Eίναι μία γλώσσα cross-platform, πράγμα που σημαίνει πως μπορεί να εγκατασταθεί σε οποιοδήποτε λειτουργικό σύστημα με την εξίσου ίδια ευκολία. Φιλική ως προς τον χρήστη: Έχει σχεδιαστεί περισσότερο με βάση τον χρήστη αν την συγκρίνουμε με άλλες γλώσσες όπως C, C++ και ASP. Δυνατότητες: Αρκετές διεργασίες ιστοσελίδων μπορούν να πραγματοποιηθούν εύκολα με την PHP. Μπορούν να αναπτυχθούν από μικρού φόρτου εργασίας ιστοσελίδες μέχρι τις πιο απαιτητικές επαγγελματικές ιστοσελίδες, πλατφόρμες συνομιλίας, ηλεκτρονικά καταστήματα. Αποδοτικότητα: H PHP είναι σχεδιασμένη για να αλληλεπιδρά με σωστό τρόπο με το Web με αποτελεσματικό τρόπο. Επεκτασιμότητα: Επειδή ανήκει στις γλώσσες προγραμματισμού ανοιχτού κώδικα, διαθέτει έναν μεγάλο αριθμό απο βιβλιοθήκες (libraries) και επεκτάσεις (extensions), τα οποία επεκτείνουν την λειτουργικότητα της PHP και είναι διαθέσιμα προς λήψη. Ο πηγαίος κώδικας μπορεί να παραμετροποιηθεί και να συμπεριληφθούν νέες επεκτάσεις και συστατικά (components) για να αυξήσουν την επεκτασιμότητα. -8-

21 Ευκολία ανάπτυξης: Υπάρχουν πολλές εταιρίες hosting, που προσφέρονται να διαθέσουν έναν εξυπηρετητή (server) που διαθέτει PHP, ούτως ώστε να μπορεί να αναπτυχθεί μια ιστοσελίδα πολύ εύκολα. Ασφάλεια: Η PHP προσφέρει ασφάλεια επίσης, που βοηθάει από κακόβουλες επιθέσεις. Αυτές οι παραμετροποιήσεις μπορούν να προστεθούν στο.ini αρχείο. Δυναμική: Η ανάπτυξη δυναμικών ιστοσελίδων αποτελεί μια τεράστια επιταγή στις μέρες μας λόγω συγκεκριμένων χαρακτηριστικών όπως η αυτόματη ανανέωση και η αποφυγή των χειροκίνητων αλλαγών. Κοινότητα: Ένα μεγάλο πλεονέκτημα της PHP είναι η κοινότητα της και η προθυμία να συνεισφέρουν με όποιον τρόπο μπορούνε, είτε μέσα από forums, irc, mailing lists MySQL H MySQL αποτελεί ένα σύστημα διαχείρισης σχεσιακών βάσεων δεδομένων που έχει εγκατασταθεί περισσότερες από 11 εκατομμύρια φορές. Το όνομά της προέρχεται από την κόρη του Μόντυ Βιντένιους, τη Μάι (αγγλ.my) και το SQL αναφέρεται στη γλώσσα SQL (Structured Query Language), μία γλώσσα που αφορά ένα σύστημα διαχείρισης σχεσιακών βάσεων δεδομένων που σχεδιάστηκε ανεξάρτητα από την MySQL. Το πρότυπο της γλώσσας SQL αναπτύχθηκε ξεχωριστά από τις υλοποιήσεις συστημάτων διαχείρισης βάσεων δεδομένων (όπως της MySQL, της PostgreSQL, της Oracle κλπ). Θεωρητικά ένας κώδικας SQL θα πρέπει να έχει τα ίδια αποτελέσματα και σε μια βάση MySQL όπως και σε μια βάση PostgreSQL. Κάθε υλοποίηση ενός συστήματος διαχείρισης σχεσιακών βάσεων δεδομένων υπάρχει περίπτωση να έχει αρκετές σημαντικές διαφορές σε σχέση με κάποιο άλλο παρέχοντας επιπλέον δυνατότητες και καλύτερα χαρακτηριστικά. Στην πράξη η μεταφορά ενός κώδικα SQL από μια βάση σε μια διαφορετική υλοποίηση μπορεί να παρουσιάσει ασυμβατότητες ή θα πρέπει να πραγματοποιηθούν οι κατάλληλες τροποποιήσεις στον κώδικα. Το πρόγραμμα εγκαθιστάται σε έναν εξυπηρετητή (server) δίνοντας την δυνατότητα πρόσβασης πολλών χρηστών σε ένα σύνολο από βάσεις δεδομένων. Ο κώδικας της MySQL είναι διαθέσιμος μέσω της GNU General Public License, καθώς και μέσω ορισμένων ιδιόκτητων συμφωνιών. Υπεύθυνη για την χρηματοδότηση και την ανάπτυξη της MySQL είναι η σουηδική μη κερδοσκοπική εταιρία MySQL AB, η οποία ανήκει στην Oracle. -9-

22 H ΜySQL είναι δημοφιλής βάση δεδομένων για διαδικτυακά προγράμματα και ιστοσελίδες. Χρησιμοποιείται σε κάποιες υπηρεσίες, όπως το Flickr, το Youtube, η Wikipedia, το Google, το Facebook και το Twitter. Κάποια απο τα πλεονεκτήματα της MySQL είναι πως επειδή είναι ανοιχτού κώδικα ο πηγαίος κώδικας είναι άμεσα διαθέσιμος και έχει χαμηλό κόστος. Ακόμη είναι εύκολη η διαδικασία μάθησης της καθώς και αυτή της παραμετροποίησης. Στην MySQL υπάρχουν τα ερωτήματα (Queries). Ένα ερώτημα είναι μια ερώτηση ή μια αίτηση (request). Mπορούμε λοιπόν να ρωτήσουμε την βάση δεδομένων για συγκεκριμένες πληροφορίες και να μας επιστρέψει τις πληροφορίες που ζητάμε. Παρακάτω ακολουθεί ένα ερώτημα (χρησιμοποιείται standard SQL) το οποίο επιλέγει όλα τα δεδομένα μέσα στο LastName από τον πίνακα Employees. SELECT LastName FROM Employees! 2.6 Στατικές ιστοσελίδες Ήδη από τις αρχές της δεκαετίας του 90 είχε αρχίσει η διάδοση των ιστοσελίδων με ταχύτατους ρυθμούς λόγω του πρωτοκόλλου HTML και την ανάπτυξη των φυλλομετρητών. Ο πρώτος φυλλομετρητής ήταν ο Mosaic και όλες οι ιστοσελίδες ήταν σε στατική μορφή, το περιεχόμενο των οποίων ήταν αποθηκευμένο σε κάποιον εξυπηρετητή. Ο υπεύθυνος για τη διαχείριση των στατικών σελίδων, ήταν συνήθως κάποιος προγραμματιστής ο οποίος σε περίπτωση που έπρεπε να αλλάξει το περιεχόμενο το έκανε χειροκίνητα. Η διαχείριση γινόταν δύσκολη, σε περίπτωση που υπήρχαν πάρα πολλές στατικές ιστοσελίδες. Έτσι αν ο διαχειριστής ιστοσελίδων ήθελε αλλάξει το περιεχόμενο πολλών ιστοσελίδων, έπρεπε να τροποποιήσει τον κώδικα της κάθε html σελίδας ξεχωριστά. Για αυτό το λόγο κυρίως έγιναν προσπάθειες να βρεθεί ένας άλλος τρόπος με τον οποίο η διαδικασία της τροποποίησης του περιεχομένου θα γινόταν με πιο εύκολο τρόπο. Μια στατική ιστοσελίδα όμως εξακολουθεί να υπάρχει και στις μέρες μας καθώς είναι κατάλληλη κυρίως για ιστοσελίδες που δεν έχουν και πάρα πολλές απαιτήσεις ενώ το αρχικό περιεχόμενο δεν πρόκειται να αλλάξει σε μεγάλο βαθμό. Σε αντίθετη περίπτωση, ο δυναμικός τρόπος ανάπτυξης ιστοσελίδων είναι μονόδρομος. Στην Εικόνα 1 παρουσιάζεται μια στατική ιστοσελίδα η οποία μεταφέρεται από τον διακομιστή στην μορφή που είναι αποθηκευμένη. -10-

23 Εικόνα 1: Απεικόνιση στατικής ιστοσελίδας. 2.7 Δυναμικές ιστοσελίδες Όταν πρωτοεμφανίστηκαν οι δυναμικές ιστοσελίδες, χρησιμοποιούσαν σενάρια εντολών σε διαφορετικές γλώσσες προγραμματισμού, όπως η C και η Perl, τα οποία σενάρια καλούνταν από την ιστοσελίδα μέσω σεναρίων εντολών CGI (Common Gateway Interface). H συγκεκριμένη τεχνική ανάπτυξης ιστοσελίδων δεν ήταν και τόσο αποδοτική με αποτέλεσμα να αναπτυχθούν διαφορετικές τεχνικές ανάπτυξης ιστοσελίδων. Στις πρωτοεμφανιζόμενες για την τότε εποχή συγκαταλέγονταν η εμπορική τεχνολογία ASP.NET (Μicrosoft) όπως επίσης και τεχνολογίες ανοικτού κώδικα όπως PHP και MySQL. Η βασική ιδέα του δυναμικού τρόπου ανάπτυξης ιστοσελίδων είναι πως ο διαχειριστής της εκάστοτε ιστοσελίδας χρησιμοποιεί κάποια σενάρια εντολών σε γλώσσες προγραμματισμού όπως αυτή της ΡΗΡ, τα οποία αποσκοπούν στην αποθήκευση του περιεχομένου της ιστοσελίδας σε βάσεις δεδομένων. Ο επισκέπτης της ιστοσελίδας από την άλλη πλευρά, όταν συνδέεται στον απομακρυσμένο εξυπηρετητή ιστοσελίδων καλεί ένα σενάριο εντολών, το οποίο αποκτά πρόσβαση στα δεδομένα από τον σκληρό δίσκο και την βάση δεδομένων (συνήθως πολυμεσικά αρχεία) και δημιουργεί την σελίδα εκείνη την χρονική στιγμή. Σε περίπτωση τώρα που ο διαχειριστής θελήσει να τροποποιήσει την γενική σχεδίαση της ιστοσελίδας ή κάποιο σημείο από το περιεχόμενο της, το μόνο που πρέπει να αλλάξει είναι ο κώδικας που έχει γραφεί με δυναμικό τρόπο (ΡΗΡ) με αποτέλεσμα ολόκληρη η ιστοσελίδα να αποκτήσει διαφορετική μορφή. Στην Εικόνα 2 παρουσιάζεται μια δυναμική ιστοσελίδα με PHP & MySQL. Έτσι λοιπόν στον διακομιστή υπάρχει ο διερμηνέας ΡΗΡ ο οποίος είναι συνδεδεμένος με μία βάση δεδομένων MySQL. Η κάθε σελίδα ξεχωριστά είναι σενάρια εντολών (scripts) σε -11-

24 γλώσσα ΡΗΡ τα οποία δημιουργούν δυναμικές σελίδες HTML αφού πρώτα έχουν αντηλήσει δεδομένα από τη βάση MySQL και των αποθηκευμένων αρχείων που βρίσκονται στον διακομιστή. Εικόνα 2: Απεικόνιση δυναμικής ιστοσελίδας. 2.8 Πλεονεκτήματα/Μειονεκτήματα Στατικών/Δυναμικών Ιστοσελίδων Πλεονεκτήματα Στατικών Ιστοσελίδων: Δεν χρειάζονται προγραμματιστικές δεξιότητες για να δημιουργήσει κάποιος μια στατική σελίδα. Χαμηλό κόστος. Εύκολη και γρήγορη δημιουργία. Η σελίδα μπορεί να βρίσκεται με εύκολο τρόπο αντεγραμμένη σε περισσότερους από έναν εξυπηρετητές. Γρήγορη ταχύτητα απόκρισης της ιστοσελίδας λόγω της μη πολυπλοκότητας. Δεν χρειάζεται ειδικό λογισμικό στον εξυπηρετητή ιστοσελίδων για την δημοσίευση στατικών σελίδων. Δυνατότητα διαφορετικής εμφάνισης του περιεχομένου σε κάθε σελίδα. Η σελίδα μπορεί να είναι διαθέσιμη στον φυλλομετρητή κατευθείαν από ένα αποθηκευτικό μέσο όπως ένα CD-ROM ή USB μνήμης χωρίς να χρειάζεται να διαμεσολαβήσει ένας εξυπηρετητής ιστοσελίδων με κατάλληλο λογισμικό χειρισμού ιστοσελίδων ( οι δυναμικές ιστοσελίδες σε γλώσσα PHP θέλουν έναν διερμηνέα PHP ο οποίος τρέχει στον εξυπηρετητή ιστοσελίδων και δημιουργεί δυναμικά την σελίδα πριν αυτή αποσταλεί στον φυλλομετρητή του χρήστη). -12-

25 Μειονεκτήματα Στατικών Ιστοσελίδων: Δεν είναι εύκολη η διαδραστικότητα με τον χρήστη. Η διαχείριση μεγάλου αριθμού στατικών ιστοσελίδων δεν είναι εύκολο χωρίς αυτόματα εργαλεία. Απαιτείται παρέμβαση προγραμματιστή για την ενημέρωση τους Υστερούν τεχνολογικά Κακή τεχνική ανάπτυξης ιστοσελίδων εφόσον επιθυμούσε το βέλτιστο αποτέλεσμα σε SEO. Παρατηρείται σταδιακή πτώση στους πίνακες κατάταξης των μηχανών αναζήτησης λόγω της μη συχνής ανανέωσης του περιεχομένου. Πλεονεκτήματα Δυναμικών Ιστοσελίδων Δυνατότητα καταχώρισης απεριόριστου περιεχομένου. Απλότητα στη διαχείριση και δυνατότητα πρόσβασης στο σύστημα διαχείρισης από οποιοδήποτε άλλο υπολογιστή στον κόσμο με σύνδεση στο ίντερνετ. Η ιστοσελίδα που δημιουργείται με δυναμικό τρόπο επιτυγχάνει να έχει περισσότερη λειτουργικότητα. Η ενημέρωση της ιστοσελίδας γίνεται με πολύ πιο εύκολο τρόπο. Επιτυγχάνουν καλύτερη αποδοτικότητα ως προς τις μηχανές αναζήτησης (SEO). Δεν απαιτείται η βοήθεια ειδικού προγραμματιστή για τη διαχείριση της ιστοσελίδας. Εξοικοινόμηση χρημάτων και πόρων Δεν υπάρχουν σχέσεις άμεσης εξάρτησης με κατασκευαστές και εταιρείες κατασκευής ιστοσελίδων. Δεν απαιτούνται ιδιαίτερες υπολογιστικές γνώσεις για τη συντήρηση υλικού. Δυνατότητα άμεσης επέμβασης και τροποίησης περιεχομένου ιστοσελίδας από τον ιδιοκτήτη ή διαχειριστή. Διαδεδομένη τεχνογνωσία, σε παγκόσμιο επίπεδο, αφού οι πλατφόρμες που χρησιμοποιούνται συνήθως είναι ανοιχτού κώδικα. Πιο εύκολη αναζήτηση πληροφοριών. -13-

26 Μειονεκτήματα Δυναμικών Ιστοσελίδων Μεγαλύτερο κόστος στη φιλοξενία της ιστοσελίδας. Μεγαλύτερο κόστος στην κατασκευή της ιστοσελίδας. Πιο χρονοβόρα η διαδικασία της ανάπτυξης. Δυσκολότερη αντιμετώπιση προβλημάτων και τεχνικών δυσκολιών Μεγάλη εξάρτηση λειτουργίας της ιστοσελίδας από πλήθος ιδιοτήτων του διακομιστή στον οποίο φιλοξενείται η ιστοσελίδα. Ανάγκη ύπαρξης βάσης δεδομένων. 2.9 Τοπικός εξυπηρετητής Apache Ο Apache HTTP γνωστός και απλά σαν Apache είναι ένας εξυπηρετητής του παγκόσμιου ιστού. Όποτε ένας χρήστης επισκέπτεται έναν ιστότοπο, το πρόγραμμα πλοήγησης (browser) επικοινωνεί με έναν διακομιστή (server) μέσω του πρωτοκόλλου HTTP, ο οποίος παράγει τις ιστοσελίδες και τις αποστέλλει στο πρόγραμμα πλοήγησης. Ο Apache είναι ένας από τους δημοφιλέστερους εξυπηρετητές ιστού, εν μέρει γιατί λειτουργεί σε διάφορες πλατφόρμες όπως τα Windows, το Linux και το Mac OS X. Κυκλοφόρησε υπό την άδεια λογισμικού Apache και είναι λογισμικό ανοιχτού κώδικα. Συντηρείται από μια κοινότητα ανοικτού κώδικα με επιτήρηση από το Ίδρυμα Λογισμικού Apache (Apache Software Foundation). Ο Apache χρησιμοποιείται και σε τοπικά δίκτυα σαν διακομιστής συνεργαζόμενος με συστήματα διαχείρισης Βάσης Δεδομένων (Oracle, MySQL). H πρώτη του έκδοση, γνωστή ως NCSA HTTPd, δημιουργήθηκε από τον Robert McCool και κυκλοφόρησε το Θεωρείται ότι έπαιξε σημαντικό ρόλο στην αρχική επέκταση του παγκόσμιου ιστού. Ήταν η πρώτη βιώσιμη εναλλακτική επιλογή που παρουσιάστηκε απέναντι στον εξυπηρετητή http της εταιρείας Netscape και από τότε έχει εξελιχθεί στο σημείο να ανταγωνίζεται άλλους εξυπηρετητές βασισμένους στο Unix σε λειτουργικότητα και απόδοση. Από το 1996 ήταν από τους πιο δημοφιλείς, όμως από τον Μάρτιο του 2006 έχει μειωθεί το ποσοστό της εγκατάστασής του κυρίως από τον Microsoft Internet Information Services και την πλατφόρμα.νετ. Τον Οκτώβριο του 2007 το μερίδιο του ήταν 47,73% από όλους τους ιστοτόπους. O Apache υποστηρίζει μια πληθώρα χαρακτηριστικών, τα περισσότερα από τα οποία υπάρχουν με την μορφή module και επεκτείνουν την λειτουργιικότητα του πυρήνα. Αυτά -14-

27 μπορούν να έχουν ένα μεγάλο εύρος διακύμανσης, από υποστήριξη σε γλώσσες προγραμματισμου για τον εξυπηρετητή μέχρι και αλγορίθμους αυθεντικοποίησης. Κάποιες από τις υποστηριζόμενες γλώσσες ειναι οι Perl, Python, Tcl και PHP. Κάποια από τα δημοφιλή modules που υποστηρίζονται είναι τα mod_access, mod_auth, mod_digest. Ένα δείγμα από άλλα χαρακτηριστικά που παρέχονται είναι τα Secure Sockets Layer (SSL), Τransport Layer Security (TLS), proxy module (mod_proxy), URL rewriter (mod_rewrite), παραμετροποιημένα αρχεία συμβάντων (log files) (mod_log_config) και υποστήριξη φιλτραρίσματος (mod_include and mod_ex_filter). Μια δημοφιλής μέθοδος συμπίεσης που συμπεριλαμβάνεται στον Apache είναι το external extension module (mod_gzip), το οποίο συνεισφέρει στην προσπάθεια για μείωση του μεγέθους των ιστοσελίδων μέσω HTTP. Το Μodule ModSecurity, είναι μία μηχανή αναζήτησης η οποία εντοπίζει και αποτρέπει εισβολές σε διαδικτυακές εφαρμογές. Τα αρχεία καταγραφής συμβάντων του Apache μπορούν να αναλυθούν μέσα από έναν φυλλομετρητή χρησιμοποιώντας script όπως το AWStats/W3Perl ή το Visitors. To Virtual Hosting επιτρέπει σε μία εγκατάσταση Apache να σερβίρει πολλά διαφορετικές ιστοσελίδες. Ακόμη ορισμένα από τα χαρακτηριστικά του Apache είναι τα παραμετροποιήσιμα μηνύματα σφαλμάτων, βάσεις δεδομένων βασισμένες σε αυθεντικοποίηση DBMS και διαχείριση περιεχομένου. Ακόμη υποστηρίζεται απο πολλά γραφικά περιβάλλοντα χρήστη (GUI).Επίσης υποστηρίζει αυθεντικοποίηση κωδικού και ψηφιακά πιστοποιητικά αυθεντικοποίησης. Λόγω του ότι ο κώδικας είναι άμεσα διαθέσιμος, ο καθένας μπορεί να προσαρμόσει τον εξυπηρετητή για τις δικές του συγκεκριμένες ανάγκες καθώς υπάρχει μια μεγάλη κοινόχρηστη βιβλιοθήκη με τις επεκτάσεις (add-ons) του Αpache PhpMyAdmin Το PhpMyAdmin είναι μία web εφαρμογή ανοικτού κώδικα η οποία έχει αναπτυχθεί σε PHP και περιέχει (όπως σχεδόν όλες οι web εφαρμογές) XHTML, CSS και JavaScript κώδικα. Παρέχει μία ολοκληρωμένη διεπαφή ιστού (Web interface) για την διαχείριση βάσεων δεδομένων MYSQL (Εικόνα 3) και είναι ευρέως αναγνωρισμένη η κυριαρχία του σε αυτόν τον τομέα. Επειδή ανήκει στην κοινότητα του ανοικτού κώδικα από την πρώτη στιγμή της ανάπτυξης του, διαθέτει υποστήριξη από πολυάριθμους προγραμματιστές και -15-

28 μεταφραστές από όλο τον κόσμο (Έχει ήδη μεταφραστεί σε 55 γλώσσες). Να σημειωθεί ακόμη πως φιλοξενείται στο SourceForge. Οι πάροχοι φιλοξενίας (host providers) δείχνουν όλο και περισσότερο την εμπιστοσύνη τους στο PhpMyAdmin εγκαθιστώντας το στους εξυπηρετητές τους. Το δημοφιλής Cpanel (εφαρμογή για διαχείριση της ιστοσελίδας) αλληλεπιδρά με το PhpMyAdmin. Επιπρόσθετα, μπορούμε να εγκαταστήσουμε ένα δικό μας αντίγραφο του PhpMyAdmin μέσα στην ιστοσελίδα μας, εφόσον ο πάροχος φιλοξενίας παρέχει τις ελάχιστες απαιτήσεις. Ο στόχος του PhpMyAdmin είναι να προσφέρει ολοκληρωμένη διαχείριση ΜYSQL εξυπηρετητών και δεδομένων, βασισμένη στον Ιστό (Web-based) και να συμβαδίζει με την MYSQL και τις διεθνείς εξελίξεις όσον αφορά το Web. Aν και δεν είναι τελειοποιημένο, ωστόσο περιλαμβάνει τα περισσότερα περιζήτητα χαρακτηριστικά και άλλα επιπρόσθετα. Η ομάδα ανάπτυξης συνεχώς ανανεώνει το προϊόν με βάση τα αναφερόμενα σφάλματα και τα χαρακτηριστικά που απαιτούν οι χρήστες, με το να βγάζει σε κυκλοφορία τακτικά νέες εκδόσεις. Το PhpMyAdmin προσφέρει χαρακτηριστικά τα οποία καλύπτουν τις βασικές ενέργειες των MySQL βάσεων δεδομένων και τις διαδικασίες πινάκων. Eπίσης διαθέτει ένα εσωτερικό σχεσιακό σύστημα που διατηρεί μεταδεδομένα (metadata) προς υποστήριξη περίπλοκων χαρακτηριστικών. Τέλος οι διαχειριστές συστήματος μπορούν να διαχειρίζονται τους χρήστες καθώς και τα δικαιώματα τους μέσω του PhpMyAdmin. Είναι σημαντικό να σημειωθεί πως η επιλογή της κατάλληλης ενέργειας του PhpMyAdmin, εξαρτάται από τα δικαιώματα του χρήστη που έχει σε συγκεκριμένο MySQL εξυπηρετητή. Μερικά από τα χαρακτηριστικά παρουσιάζονται παρακάτω: Δημιουργία βάσης δεδομένων, διαγραφή, μετονομασία και αλλαγές ιδιοτήτων. Δημιουργία πίνακα, μετονομασία, ατιγραφή και διαγραφή. Συντήρηση της δομής του πίνακα, συμπεριλαμβανωμένων ευρετηρίων. Ειδικές ενέργειες πινάκων (διόρθωση, βελτιστοποίηση και αλλαγή τύπου). Εισαγωγή δεδομένων, τροποποίηση και διαγραφή. Εμφάνιση δεδομένων με οριζόντιο/κάθετο τρόπο. -16-

29 Ευκολία πρόσβασης στα δεδομένα και ταξινόμησή τους. Αναζήτηση δεδομένων (πίνακας ή βάση δεδομένων). Πραγματοποίηση ερωτημάτων με παραδείγματα (multi-table). Εξαγωγή δομής και δεδομένων σε διάφορες μορφές με συμπίεση. Εισαγωγή μεταφορτωμένων δεδομένων (import). Ανέβασμα δυαδικών δεδομένων. Εικόνα 3: Κεντρική σελίδα του PhpMyAdmin jquery H jquery είναι μια βιβλιοθήκη JavaScript σχεδιασμένη να απλοποιήσει την υλοποίηση σεναρίων (scripting) από πλευράς του πελάτη (client-side) της ΗΤML. Εκδόθηκε τον Ιανουάριο του 2006 από τον John Resig και αυτή τη στιγμή αναπτύσσεται από μία ομάδα προγραμματιστών με επικεφαλή τον Dave Methvin. Το ποσοστό χρησιμοποίησης της jquery ανάμεσα σε ιστοτόπους με μεγάλη επισκεψιμότητα, ξεπερνά το 60%. Αυτό την καθιστά την πιο διαδεδομένη Javascript βιβλιοθήκη στον κόσμο μέχρι σήμερα. Η jquery είναι ανοικτού κώδικα, με άδεια χρήσης ΜΙΤ και διατίθεται δωρεάν στους χρήστες της. Το συντακτικό της είναι σχεδιασμένο ούτως ώστε να ακολουθεί την -17-

30 φιλοσοφία του Γράψε λιγότερα, κάνε περισσότερα. Η συγκεκριμένη φιλοσοφία βασίζεται σε 3 βασικές έννοιες. Εντοπισμός κάποιων στοιχείων (μέσω CSS επιλογέων) και στη συνέχεια πραγματοποίηση μίας ενέργειας με αυτά (μέθοδοι jquery). Ομαδοποίηση πολλών μεθόδων jquery σε μία συλλογή από στοιχεία. Xρησιμοίηση του jquery Wrapper με σκοπό την απεριόριστη επανάληψη. Έτσι δίνεται η δυνατότητα να πλοήγησης σε αρχεία, επιλογής στοιχείων DOM, δημιουργίας κινήσεων με εφέ, διαχείρησης γεγονότων και ανάπτυξης εφαρμογών Ajax. Η jquery επίσης παρέχει δυνατότητες στους προγραμματιστές να δημιουργήσουν πρόσθετα (plugins) πάνω σε στην βιβλιοθήκη Javascript. Aυτό επιτρέπει στους προγραμματιστές να δημιουργούν αφηρημένες έννοιες για χαμηλού επιπέδου αλληλεπίδραση και κινήσεων, προχωρημένων εφέ, εύκολα μορφοποιήσιμων widgets. H παραμετροποιήσιμη προσέγγιση της jquery, επιτρέπει την δημιουργία ισχυρών δυναμικών ιστοσελίδων και διαδικτυακών εφαρμογών. Στην Εικόνα 4 παρατίθεται ένα παράδειγμα σε κώδικα jquery. Κάποια από τα πλεονεκτήματα της jquery παρουσιάζονται παρακάτω: Είναι ανοικτού κώδικα, με άδειες GNU Public Licence (GPL) και ΜΙΤ και διατίθεται δωρεάν. Καταλαμβάνει μικρό μέγεθος (114KB χωρίς συμπίεση). Ευρέως διαδεδομένη, το οποίο σηματοδοτεί πως έχει μια τεράστια κοινότητα χρηστών και προγραμματιστών που προσπαθούν βελτιστοποιούν την jquery. Απαλοιφή των διαφορών μεταξύ των φυλλομετρητών. Διαθέτει έναν μεγάλο αριθμό από plugins. Η Διεπαφή Προγραμματισμού Εφαρμογών (ΑΡΙ) είναι πλήρως τεκμηριωμένη. Είναι φιλική ως προς τον χρήστη και με αυτόν τον τρόπο παρέχει χρήσιμες μεθόδους για να αποφεύγονται τα προβλήματα με άλλες βιβλιοθήκες Javascript. Διαθέτει την υποστήριξη μιας μεγάλης κοινότητας μέσω, αρκετών mailing-lists, καναλιών IRC και ένα απίστευτο όγκο από οδηγούς, άρθρα και αναρτήσεις σε ιστολόγια και ιστοσελίδες. Ακολουθεί τις τελευταίες απαιτήσεις των σύγχρονων μεθόδων ανάπτυξης ιστοσελίδων/εφαρμογών σύμφωνα με το W3C. Αξιοσημείωτο είναι πως υποστηρίζει την πλειοψηφία των CSS3 επιλογέων. -18-

31 Έχει δοκιμαστεί σε όλους όλους τους σύγχρονους φυλλομετρητές και χωρίς να παρουσιάζεται κάποια προβληματική συμπεριφορά. Η υιοθέτηση της από μεγάλους οργανισμούς (Microsoft, Dell, Bank of America, Digg, CBS, Netflix) έχει βοηθήσει στην μακροχρόνια ανάπτυξη της και στη σταθερότητά της. Μέσα από τις μεθοδολογίες και την φιλοσοφία της jquery, επηρεάζεται και ο τρόπος με τον οποίο εξελίσσεται η JavaScript. Εικόνα 4: Παράδειγμα κώδικα σε jquery 2.12 ΧΑΜΡΡ Tα αρχικά XAMPP προέρχονται από την δυνατότητα χρήσης σε κάθε λειτουργικό σύστημα (Χ), τον εξυπηρετητή Αpache (A), την ΜySQL (M), την PHP (P) και την γλώσσα προγραμματισμού Perl (Ρ). Σε περίπτωση που το λειτουργικό σύστημα είναι Windows, τότε το XAMPP μετονομάζεται σε WAMPP ( Εικόνα 5 ) και σε περίπτωση που είναι το Linux σε LAMPP. Αποτελεί μια απλή, ελαφριά διανομή Αpache που είναι αρκετά εύκολη για τους προγραμματιστές να δημιουργήσουν έναν τοπικό εξυπηρετητή ιστού για δοκιμαστικούς σκοπούς. Όλα όσα χρειάζονται να παραμετροποιηθούν σε έναν εξυπηρετητή ιστού - εφαρμμογή εξυπηρετητή (Apache), βάση δεδομένων (MySQL) και μία γλώσσα σεναρίων (scripting) (ΡΗΡ) - συμπεριλαμβάνονται σε ένα απλό αποσυμπιέσιμο αρχείο. Από την στιγμή που oι πραγματικοί εξυπηρετητές ιστού χρησιμοποιούν τα ίδια εργαλεία όπως το XAMPP, αυτό κάνει πιο εύκολη την διαδικασία της μετάβασης από έναν τοπικό δοκιμαστικό εξυπηρετητή σε έναν κανονικό εξυπηρετητή. Επίσης η ενασχόληση κάποιου -19-

32 αρχάριου με την ανάπτυξη τεχνολογιών ιστού χρησιμοποιώντας το εργαλείο XAMPP, γίνεται πολύ πιο εύκολη καθώς το XAMPP είναι ένα άκρως φιλικό εργαλείο για αρχάριους, διαθέτοντας γραφική διεπαφή για να τρέξει στον εξυπηρετητή τις πρώτες του υπηρεσίες. Aφού εγκατασταθεί το XAMPP, είναι δυνατό ο localhost να αντιμετωπιστεί σαν απομακρυσμένος host με το να συνδεθεί με έναν FTP πελάτη (client). Xρησιμοποιώντας ένα πρόγραμμα όπως ο FileZilla έχει πολλά πλεονεκτήματα όταν εγκαταστήσουμε κάποιο σύστημα διαχείρισης περιεχομένου (CMS) όπως το Drupal, Wordpress, Joomla. Eίναι επίσης εφικτό να γίνει σύνδεση του localhost μέσω FTP με έναν HTML επεξεργαστή κειμένου. Ο προεπιλεγμένος FTP χρήστης είναι ο newuser, και ο προεπιλεγμένος κωδικός είναι wampp. Ο προεπιλεγμένος MySQL χρήστης είναι ο root και δεν υπάρχει κάποιος προεπιλεγμένος κωδικός MySQL. Εικόνα 5: Πίνακας διαχείρισης WAMPP 2.13 Ανταποκρίσιμος σχεδιασμός Διαδικτύου (Responsive Web Design) Η εξάπλωση των έξυπνων κινητών (smart-phones) στην καθημερινότητα μας είναι πλέον γεγονός. Έτσι λοιπόν, ο μέσος χρήστης δεν έχει πρόσβαση στον Παγκόσμιο Ιστό μόνο από τον σταθερό του υπολογιστή ή τον φορητό του υπολογιστή. Στο προσκήνιο τώρα έρχεται και το κινητό τηλέφωνο. Δεν είναι τυχαίο πως οι επιταγές της αγοράς απαιτούν στις μέρες μας την ανάπτυξη ιστοσελίδων/εφαρμογών με υποστήριξη και για κινητά τηλέφωνα. Στον τομέα της ανάπτυξης ιστοσελίδων, το πρόβλημα που δημιουργήθηκε ήταν πως η εμφάνιση της -20-

33 ιστοσελίδας σε οθόνες μικρού μεγέθους δεν γινόταν με τον σωστό τρόπο, με αποτέλεσμα να υπάρχει αδυναμία βέλτιστης αξιοποίησης των κινητών τηλεφώνων. Μία πρώτη πρόχειρη λύση, αλλά και συνάμα πολύ χρονοβόρα και κουραστική, ήταν να αναπτύσσεται διαφορετική σχεδίαση της ιστοσελίδας για καθένα μέγεθος οθόνης ξεχωριστά. Αυτό το εγχείρημα για λόγους πρακτικούς δεν είχε την κατάλληλη απόδοση, καθώς τα μεγέθη των οθονών ήταν πάρα πολλά και διαρκώς στην λίστα τους συμπεριλαμβάνονταν και άλλα πολλά μεγέθη. Τον Μάιο του 2010, πρωτοεμφανίστηκε και ο όρος Ανταποκρίσιμος Σχεδιασμός Ιστού (Responsive Web design) από τον Ethan Marcotte σε ένα άρθρο του στο περιοδικό Α List Apart. O ανταποκρίσιμος σχεδιασμός (βλ. Εικόνα 6) είναι μία προσέγγιση που υποστηρίζει πως ο σχεδιασμός και η ανάπτυξη μιας ιστοσελίδας ή μιας εφαρμογής, θα πρέπει να αποκρίνονται στην συμπεριφορά του χρήστη και στο περιβάλλον του με βάση το μέγεθος της οθόνης, της πλατφόρμας και τον προσανατολισμό του. Εικόνα 6: Απεικόνιση ανταποκρίσιμου σχεδιασμού Η συγκεκριμένη τεχνική περιέχει έναν συνδιασμό από προσαρμόσιμα πλέγματα (grids), διατάξεις (layouts), εικόνες και μία κατάλληλη χρήση CSS media queries. Καθώς ο χρήστης μεταβαίνει από την οθόνη του σταθερού του υπολογιστή σε αυτή του κινητού του τηλεφώνου, ταυτόχρονα η ιστοσελίδα που επισκέπτεται θα πρέπει να προσαρμόζεται κατάλληλα ως προς την ανάλυση, το μέγεθος των εικόνων και τις διαθέσιμες δυνατότητες σεναρίων (scripts) με αυτή του την μετάβαση. Συνοψίζοντας θα πρέπει, η ιστοσελίδα να έχει τους κατάλληλους μηχανισμούς ούτως ώστε να αποκρίνεται αυτόματα ανάλογα με τις προτιμήσεις του χρήστη. Αυτός ο τρόπος αντιμετώπισης του προβλήματος έδωσε τελικά την βέλτιστη λύση, καθώς η προηγούμενη αντιμετώπιση με -21-

34 το να γράφονται διαφορετικές σχεδιάσεις της ίδιας τις ιστοσελίδας για τα διάφορα μεγέθη είχε αποτύχει. Παρακάτω συνοψίζονται οι βασικές λειτουργίες του ανταποκρίσιμου σχεδιασμού. Η γενική ιδέα του ευέλικτου πλέγματος απαιτεί το στοιχείο της σελίδας να αλλάζει μέγεθος σε σχετικές (relative) μονάδες, όπως επί τις εκατό αντί για απόλυτες (absolute) μονάδες όπως pixel ή points. Oι εικόνες αλλάζουν επίσης μέγεθος σε σχετικές μονάδες, ούτως ώστε να αποφεύγεται η εμφάνισή τους εκτός του περιέχομενου στοιχείου. Τα media queries, επιτρέπουν στις σελίδες να χρησιμοποιούν διαφορετικούς CSS κανόνες, βασιζόμενους στα χαρακτηριστικά της κάθε συσκευής όπου η ιστοσελίδα εμφανίζεται, κυρίως με το πλάτος του φυλλομετρητή. Από την πλευρά του εξυπηρετητή (RESS) σε συνεργασία με την πλευρά του πελάτη (client-side), τα media queries μπορούν να προσφέρουν βελτιστοποίηση ως προς την ταχύτητα φόρτωσης των ιστοσελίδων για πρόσβαση από κυψελωτά δίκτυα και επίσης για να εμπλουτίσουν την λειτουργικότητα και την χρησιμότητα προσπαθώντας να αποφύγουν τα σφάλματα. Παρακάτω ακολουθεί ένα παράδειγμα ανταποκρίσιμου σχεδιασμού με τη χρήση media (min-width: 481px) and (max-width: 768px) { #banner { width:740px; } #banner img { max-width:740px; max-height: 222px; } #main { width:740px; } #main-content { width:450px; float:left; } #widget-container { width:200px; float:right; }.widget-content { width:160px; } } 2.14 Zurb Foundation Framework To Foundation είναι μία συλλογή από εργαλεία για δημιουργία ιστοσελίδων αλλά και εφαρμογών ιστού, το οποίο είναι υπό την επίβλεψη της εταιρίας ZURB με έδρα την Καλιφόρνια των Ηνωμένων Πολιτειών της Αμερικής. Περιέχει HTML5 κώδικα και πρότυπα σχεδιασμού (design templates) με βάση το CSS3, για διάφορα είδη τυπογραφίας, φορμών, κουμπιών, τρόπων πλοήγησεως και άλλα απαραίτητα συστατικά όπως επεκτάσεις JavaScript. -22-

35 Η ανάπτυξη του ξεκίνησε το 2008, το οποίο αρχικά χρησιμοποιήθηκε για τις ανάγκες των πελατών της εταιρίας Zurb. Τελικά αποφασίστηκε πως υπήρχε ανάγκη για ένα framework που θα υποστηρίζει γρήγορη πρωτοτυποποίηση (prototype). Έτσι λοιπόν χρησιμοποιήθηκαν το ήδη υπάρχων CSS, τα πρόσθετα jquery, διάφορα στοιχεία και οι πιο αξιόπιστες τεχνικές για να δημιουργηθεί το πρώτο ανταποκρίσιμο (responsive) framework ανοικτού κώδικα με την ονομασία Foundation και να κυκλοφορήσει επίσημα το Από τις πρώτες στιγμές της κυκλοφορίας του, τράβηξε τα βλέμματα και άρχισε να γίνεται ολοένα και πιο διαδεδομένο. Αυτό συνέβει καθώς προέβλεψαν το μέλλον της ανάπτυξης ιστοσελίδων/εφαρμογών ιστού. Αν κοιτάξουμε κάποια από τα στατιστικά του Foundation αυτή την στιγμή, θα διαπιστώσουμε την άκρως επιτυχημένη έως τώρα πορεία του καθώς βρίσκεται στην 15η κατάταξη των project ανοικτού κώδικα, έχει αναζητήσεις στις μηχανές αναζήτησης καθημερινά, διαθέτει 510 άτομα που συνεισφέρουν στο όλο εγχείρημα με συνεισφορές (commits), forks στο Github και Github αστέρια. To Foundation λοιπόν περιλαμβάνει ένα δικό του σύστημα εύκολου παραμετροποίησιμου πλέγματος και ανταποκρίσιμο σχεδιασμό με 940 pixel πλάτος. Η εργαλειοθήκη που παρέχεται είναι πλήρως ανταποκρίσιμη και είναι διαθέσιμη για κάθε διαφορετική ανάλυση οθόνης και τύπου φορητής συσκευής. Το πλάτος προσαρμόζεται αυτόματα αναλόγως τις απαιτήσεις του χρήστη. Επίσης παρέχει ένα σύνολο από φύλλα στυλ (stylesheets) τα οποία προσφέρουν την δομή των βασικών στυλ για όλα τα HTML στοιχεία. Αυτά παρέχουν μία oμοιόμορφη εμφάνιση των στοιχείων στον φυλλομετρητή και στο σύστημα γενικά, όπως οι μορφοποιήσεις κειμένου, πινάκων και φορμών. Σε σύγκριση με τα κλασσικά HTML στοιχεία, το Foundation περιέχει και άλλα ευρέως χρησιμοποιούμενα στοιχεία διεπαφής (interface). Μερικά από αυτά περιέχουν κουμπιά με προχωρημένες δυνατότητες (κουμπιά ομαδοποίησης με drop-down επιλογές, δημιουργία λιστών και πλοήγηση σε αυτές, οριζόντιες και κάθετες καρτέλες, δυνατότητα πλοηγήσεως, breadcrumbs, σελιδοποίηση), ετικέτες, πολύπλοκες δυνατότητες τυπογραφίας και παραμετροποιήσιμα μηνύματα όπως οι προειδοποιήσεις. Ένα πολύ σημαντικό είναι τα επιμέρους συστατικά της JavaScript στο Foundation, τα οποία βασίζονται πλέον στην jquery, ενώ αρχικά είχε υιοθετηθεί το Zepto.js, μία ελαφρότερη εναλλακτική επιλογή με δυνατότητα Διεπαφής Προγραμματισμού -23-

36 Εφαρμογής (ΑΡΙ). Η jquery λοιπόν, παρέχει επιπρόσθετα στοιχεία διεπαφής χρήστη όπως διάλογοι, συμβουλές και εικόνες με διαφορετική προβολή (carousels). Επιπρόσθετα, επεκτείνουν την λειτουργικότητα κάποιων ήδη υπαρχόντων στοιχείων διεπαφής, συμπεριλαμβανομένου του drop-down κουμπιού. Στην πρόσφατη έκδοση (5.0) μερικά από τα διαθέσιμα JavaScript πρόσθετα είναι οι ειδοποιήσεις, φόρμες, cookies, dropdown, orbit, placeholder, joyride, reveal, section, tooltips και toolbar. Ένα από τα νεοεισαχθέντα στοιχεία στην έκδοση 5.0, είναι η τεχνολογία Fast click, κατά την οποία έχει εισαχθεί το fastclick.js ούτως ώστε οι χρήστες κινητών συσκευών να έχουν μια πολύ καλύτερη απόκριση στις οθόνες τους. Έχει προστεθεί επίσης και επιτάχυνση της κάρτας γραφικών, με τις κινήσεις να πραγματοποιούνται εμφανώς πολύ πιο ομαλά και με εμφανέστατη βελτίωση σε σχέση με πριν. Η δυνατότητα του Off Canvas ήρθε να προσφέρει με δυναμικό τρόπο στην διαδικασία δόμησης της πλοήγησης των διαφόρων τύπων οθονών. Ωστόσο αλλαγές παρατηρήθηκαν και στις ήδη υπάρχουσες φόρμες, με ευκολότερο τρόπο δημιουργίας τους μέσω κώδικα, σε ετικέτες που βρίσκονται σε σειρά (inline labels) και αρκετά ακόμη χαρακτηριστικά. Έπειτα από τις αιτήσεις των χρηστών, το Foundation περιλαμβάνει πλέον και ένα μεσαίου μεγέθους πλέγμα στο οποίο υπάρχει η δυνατότητα με πιο απλό τρόπο γίνεται ανύπτυξη ενός project μεταξύ του μικρού και του μεγάλου πλέγματος. Αυτό αποσκοπεί στην μείωση του όγκου του απαιτούμενου κώδικα αλλά ταυτόχρονα και της δυσκολίας, για την ανάπτυξη ιστοσελίδων/εφαρμογών σε μεσαίου μεγέθους σελίδες. Τέλος προστέθηκε μία Διεπαφή Γραμμής Εντολών (Control Line Interface) για να απλουστεύσει ακόμη περισσότερο την διαδικασία ανάπτυξης ενός project. Στην λίστα με τα νέα χαρακτηριστικά ήρθαν να προστεθούν καινούρια templates ιστοσελίδων καθώς και ο επεξεργαστής Sass με την ονομασία Libsass, o οποίος είναι 32 φορές ταχύτερος. Αξίζει να σημειωθεί κλείνοντας, πως ο διαδεδομένος επεξεργαστης κειμένου Sublime, προσέθεσε συντομεύσεις ειδικά για το Foundation, το οποίο έχει σαν σκοπό να αυξηθεί η ταχύτητα με την οποία αναπτύσσεται ο κώδικας Github/Bitbucket Tο Github είναι ένα Git αποθετήριο (repository) το οποίο βασίζεται σε μια υπηρεσία φιλοξενίας Ιστού (web-based hosting service) η οποία προσφέρει όλες τις απαραίτητες λειτουργίες του git όπως επίσης να προσθέτει και πολλά άλλα δικά του χαρακτηριστικά. Αντιθέτως με το Git που είναι ένα αυστηρό εργαλείο της γραμμής εντολών, το Github -24-

37 παρέχει γραφικό περιβάλλον μέσω του Web (web-based graphical interface) καθώς επίσης και εκδόσεις για σταθερούς υπολογιστές όπως και για κινητά τηλέφωνα. Παρέχει έλεγχο προσβασιμότητας και χαρακτηριστικά που αφορούν ομαδική συνεισφορά όπως wikis, διαχείριση εργασιών (task management), εντόπιση σφαλμάτων κώδικα (bug tracking) και απαιτήσεις χαρακτηριστικών (feature requests) για καθένα project ξεχωριστά. Το Github (βλ. Εικόνα 7) προσφέρει ιδιωτικά αποθετήρια επί πληρωμή και δωρεάν δημόσια αποθετήρια, τα οποία συνήθως αξιοποιούνται από project ανοιχτού κώδικα. Μέχρι στιγμής η υπηρεσία Github διαθέτει πάνω απο χρήστες, καθιερώνοντάς την, έτσι ως την μεγαλύτερη υπηρεσία φιλοξενίας κώδικα (code host). To Github έγινε τόσο διαδεδομένο ανάμεσα στην κοινότητα του ανοικτού κώδικα με αποτέλεσμα να αναθεωρηθεί ο συμβατικός τρόπος παρουσίασης του κώδικα των προγραμματιστών. Για αυτό αρκετοί εργοδότες σε μεγάλες επιχειρήσεις στον τομέα της πληροφορικής, ζητούν από τους υποψηφίους προς εργασία να έχουν συνεισφέρει σε κάποιο project ανοικτού κώδικα μέσω Github. Εικόνα 7: Προβολή αποθετηρίου του PHP framework Codeigniter στο Github. -25-

38 To Bitbucket (βλ. Εικόνα 8) είναι μια υπηρεσία φιλοξενίας project που χρησιμοποιούν είτε το Mercurial (υποστήριξη από την αρχή της κυκλοφορίας) είτε το Git σύστημα (υποστήριξη από το 2011). Προσφέρει όπως και το Github δύο τύπους λογαριασμών, ο ένας είναι δωρεάν και ο άλλος επί πληρωμή. Η διαφορά του σε σύγκριση με το Github είναι πως οι δωρεάν λογαριασμοί μπορούν να έχουν απεριόριστο αριθμό ιδιωτικών αποθετηρίων. Ο μόνος περιορισμός ως προς αυτό είναι πως σε κάθε ιδιωτικό αποθετήριο μπορεί να έχει έως 5 χρήστες. Στον χρήστη δίνεται η δυνατότητα να αυξήσει αυτό το όριο έως 8 χρήστες συνολικά για κάθε ιδιωτικό αποθετήριο, με το να προσκαλέσει κάποιο επιπλέον τρία άτομα να δημιουργήσουν λογαριασμό στο bitbucket. Τα ιδιωτικά αποθετήρια δεν είναι προσβάσιμα απο τα προφίλ των χρηστών, έτσι σε περίπτωση που ένας χρήστης έχει μόνο ιδιωτικά αποθετήρια, όταν κάποιος άλλος ελέγξει το προφίλ του, θα δει πως δεν εμφανίζεται κανένα αποθετήριο του παρά μόνο αν δημιουργήσει ένα δημόσιο αποθετήριο. Η γλώσσα προγραμματισμού με την οποία έχει αναπτυχθεί η υπηρεσία Bitbucket είναι η python σε συνδιασμό με το Framework Django. Εικόνα 8: Προβολή αποθετηρίου του Framework Django στο Bitbucket. -26-

39 3 Drupal CMS Στο κεφάλαιο που ακολουθεί θα γίνει μία εκτενέστερη ανάλυση για το σύστημα διαχείρισης περιεχομένου με την ονομασία Drupal. Επίσης θα γίνει αναφορά στον τρόπο δημιουργίας του, στα πλεονεκτήματα αλλά και στα μειονεκτήματα του αλλά και στα επιμέρους συστατικά του. Τέλος θα παρουσιαστεί και η εν δυνάμει εξέλιξη του Drupal, το Drupal Τι είναι το Σύστημα Διαχείρισης Περιεχομένου (CMS) Τα Συστήματα Διαχείρισης Περιεχομένου (ΣΔΠ, Content Management Systems, CMS) είναι διαδικτυακές εφαρμογές που επιτρέπουν τη δημιουργία, διαχείριση, διανομή, δημοσίευση και τον εντοπισμό της πληροφορίας, τη δυνατότητα διαχειρισμού της δομής της ιστοσελίδας, την εμφάνιση των δημοσιευμένων σελίδων και την πλοήγηση που προσφέρεται στους επισκέπτες και χρήστες της. Οι διαχειριστές μέσω του διαδικτύου ενημερώνουν το περιεχόμενο στο ΣΔΠ, το οποίο είναι εγκατεστημένο σ' ένα διακομιστή. Οι αλλαγές αυτές γίνονται αυτόματα διαθέσιμες πάλι μέσω του διαδικτύου, σε όλους τους επισκέπτες και χρήστες του δικτυακού τόπου. Είναι αυτό που αποκαλείται πολλές φορές "δυναμικό περιεχόμενο" σε μία ιστοσελίδα και δεν είναι άλλο παρά οι πληροφορίες που παρουσιάζονται στην ιστοσελίδα και μπορούν να δημιουργηθούν και ν αλλάξουν οποιαδήποτε στιγμή από τους ίδιους τους διαχειριστές του χωρίς να είναι απαραίτητες ειδικές γνώσεις σχετικές με τη δημιουργία ή επεξεργασία ιστοσελίδων, καθώς τα περιεχόμενα συντάσσονται μέσω κάποιων online WYSIWYG ("What You See Is What You Get") HTML editors, ειδικών δηλαδή κειμενογράφων, παρόμοιων με το MS Word. Έτσι για μια ιστοσελίδα, που απαιτεί εύλογα καθημερινή ενημέρωση αλλά δεν χρησιμοποιεί κάποιο Σύστημα Διαχείρισης Περιεχομένου (ΣΔΠ, Content Management Systems, CMS), θα πρέπει ο υπεύθυνος για το σχεδιασμό του (designer) να δημιουργήσει μια σελίδα με τα γραφικά, την πλοήγηση και το περιβάλλον διεπαφής (interface) του website, ο υπεύθυνος ύλης να εισάγει το περιεχόμενο στα σημεία της ιστοσελίδας που -27-

40 θέλει, και να ενημερωθούν οι σύνδεσμοι των υπόλοιπων σελίδων ώστε να συνδέονται με την καινούργια. Αφού γίνει η αποθήκευση, θα πρέπει να μεταφορτωθεί στην ιστοσελίδα μαζί με τις υπόλοιπες ιστοσελίδες που έχουν τροποποιηθεί. Αντιθέτως, αν ο δικτυακός τόπος λειτουργεί με χρήση κάποιου Συστήματος Διαχείρισης Περιεχομένου (ΣΔΠ, Content Management Systems, CMS), το μόνο που έχει να κάνει ο διαχειριστής του είναι να χρησιμοποιήσει τη σχετική φόρμα εισαγωγής νέου άρθρου στη διαχειριστική εφαρμογή της ιστοσελίδας και να εισάγει τα στοιχεία που επιθυμεί. Με την καταχώριση γίνονται αυτόματα, από το ίδιο το σύστημα διαχείρισης περιεχομένου όλες οι απαραίτητες ενέργειες, ώστε το άρθρο να είναι άμεσα διαθέσιμο στους επισκέπτες και όλοι οι σύνδεσμοι προς αυτό ενημερωμένοι. Με την αυξανόμενη τάση χρήσης των CMS σε Ελλάδα και εξωτερικό, γίνεται εμφανές ότι το μέλλον του διαδικτύου σε ότι αφορά το περιεχόμενο και τις πληροφορίες που πρέπει να ανενώνονται τακτικά, ανήκει στα προγράμματα διαχείρισης περιεχομένου, αφού προσφέρουν πολλά πλεονεκτήματα, ταχύτητα και ευκολίες στη χρήση τους. Τα Συστήματα Διαχείρισης Περιεχομένου, μπορούν να χρησιμοποιηθούν και να ανταπεξέλθουν επάξια στις πολύπλοκες απαιτήσεις των χρηστών τους με μεγάλη ευκολία. Παρακάτω αναφέρονται κάποια ενδεικτικά είδη ιστοσελίδων που μπορούν να δημιουργηθούν με βάση τα Συστήματα Διαχείρισης Περιεχομένου. Ειδήσεις (εφημερίδες, περιοδικά, πρακτορεία ειδήσεων κ.λ.π.) Παρουσιάσεις εταιριών και προσωπικού Καταλόγους προϊόντων Παρουσιάσεις προϊόντων Online υποστήριξη Αγγελίες και ανακοινώσεις Παρουσιάσεις και προβολή γεωγραφικών περιοχών Διαφημίσεις Δελτία Τύπου Όρους και συμβόλαια Χάρτες, κατευθύνσεις, οδηγίες -28-

41 Ένα ολοκληρωμένο Σύστημα Διαχείρισης Περιεχομένου, μπορεί και πρέπει να διαχειρίζεται όλες τις δυναμικές πληροφορίες της ιστοσελίδας και να προσφέρει υπηρεσίες που εξυπηρετούν πλήρως τις ανάγκες των διαχειριστών του. Στην Εικόνα 9 περιγράφεται ο τρόπος λειτουργίας ενός ΣΔΠ με τα επιμέρους συστατικά του περιβάλλοντος του. Εικόνα 9: Τρόπος αλληλεπίδρασης του ΣΔΠ με το περιβάλλον του. 3.2 Ιστορική αναδρομή του CMS Ο όρος Σύστημα Διαχείρισης Περιεχομένου (ΣΔΠ) αρχικά χρησιμοποιήθηκε για να ορίσει τα συστήματα δημοσίευσης ιστοσελίδων στο διαδίκτυο γενικότερα, καθώς επίσης και για τα προγράμματα διαχείρισης περιεχομένου ευρύτερα. Τα πρώτα Συστήματα ιαχείρισης Περιεχομένου αναπτύσσονταν εσωτερικά στους οργανισμούς από το τεχνικό τους τμήμα, καθώς ήταν απαραίτητα για την δημοσιοποίηση ενός μεγάλου όγκου υλικού, από ηλεκτρονικά περιοδικά και εφημερίδες των επιχειρήσεων μέχρι την δημοσίευση και αποστολή των εταιρικών newsletters. Κατά τις πρώτες ημέρες του Παγκόσμιου Ιστού , τα ΣΔΠ χρησιμοποιούνταν μόνο από μεγάλου προϋπολογισμού ιστοσελίδες όπως το Amazon.com. Είχαν προγραμματιστεί ως επί το πλείστον σε C + + και χρησιμοποιηούσαν εμπορικές βάσεις δεδομένων όπως Oracle. Οι δαπάνες αυτών την εγχειρημάτων -29-

42 αντιστοιχούσαν σε εκατομμύρια δολάρια. Αργότερα δημιουργήθηκαν ΣΔΠ σε PHP όπως τα PhpNuke και PostNuke. Το 2000 κυκλοφόρησε η PHP 4.0, η οποία ήταν μια τεράστια βελτιωμένη έκδοση σε σχέση με όλες τις προηγούμενες και έτσι ξεκίνησε η επανάσταση του Διαδικτύου. Ο συνδυασμός ενός ελεύθερου σταθερού λειτουργικού συστήματος (Linux), δωρεάν web server (Apache), βάσης δεδομένων (MySQL), καθώς και η ευκολία της PHP προς εκμάθηση επέτρεψε στους προγραμματιστές Διαδικτύου να δημιουργούν και να διαχειρίζονται πολύπλοκες ιστοσελίδες με μικρό κόστος και χωρίς πολυετή ενασχόληση. Αυτά τα τέσσερα εργαλεία μαζί είναι ένα καλά ολοκληρωμένο πακέτο που ονομάστηκε LAMP: Linux Apache MySQL PHP. Στην διάρκεια της δεκαετίας που ακολούθησε η αγορά εξελίχτηκε, καθώς σήμερα υπολογίζεται ότι υπάρχουν περίπου 500 εφαρμογές CMS κάθε είδους. Η αγορά εξελίσσεται συνεχώς αναγκάζοντας τους οργανισμούς να ενημερώνονται ακατάπαυστα για τις εξελίξεις και να μεταβαίνουν στα συστήματα διαχείρισης περιεχομένου, που πλέον καλύπτουν τις ανάγκες τους σε ακόμη μεγαλύτερο βαθμό. 3.3 Είδη Συστημάτων Διαχείρισης Περιεχομένου Τα συστήματα διαχείρισης περιεχομένου χωρίζονται σε δύο κατηγορίες, στα ανοικτού κώδικα και εμπορικού σκοπού. Η δημοτικότητα των συστημάτων ανοικτού κώδικα, όπως τα Drupal, WordPress και Joomla αυξάνονται όλη την ώρα. Αυτό συμβαίνει λόγω της αποτελεσματικότητας των, του χαμηλού κόστους αλλά και της ευκολίας χρήσης τους. Έτσι λοιπόν πίσω από κάθε ΣΔΠ ξεχωριστά υπάρχει ένας οργανισμός ο οποίος έχει δημιουργηθεί με συλλογικό τρόπο από τα μέλη μιας συγκεκριμένης κοινότητας ανοικτού κώδικα με σκοπό την προσφορά του ως προς την ανάπτυξη, τον συντονισμό και την συντήρηση του όλου αυτού εγχειρήματος. Στο τελικό βήμα, πραγματοποιείται η διαδικασία της διανομής του συγκεκριμένου λογισμικού ΣΔΠ με δωρεάν τρόπο προς τα μέλη της εκάστοτε κοινότητας κάτω από διαφόρων ειδών ελευθέρων αδειών. Αξίζει να σημειωθεί πως η συνεισφορά της κοινότητας έχει καταλυτικό ρόλο σε όλη αυτή την προσπάθεια, καθώς μέσα από τις αλληλεπιδράσεις καταφέρνουν να επιτύχουν το όσο δυνατόν καλύτερο αποτέλεσμα. -30-

43 Υπάρχουν αρκετά συστήματα ανοικτού κώδικα για να επιλέξουμε. Ορισμένα από τα πιο δημοφιλή είναι τα: Drupal, Wordpress, Typo3 και Joomla. Τα εμπορικά συστήματα διαχείρισης περιεχομένου είναι ακόμα μια δημοφιλής επιλογή για πολλά άτομα καθώς δεν απατείται η ανησυχία τους για θέματα όπως η τεχνική υποστήριξη, το επίπεδο υπηρεσιών και η ασφάλεια, μιας και όλα αυτά τα αναλαμβάνει η αντίστοιχη εταιρία που είναι υπεύθυνη για το εκάστοτε ΣΔΠ. Tο γεγονός ότι πολλά εμπορικά συστήματα είναι ήδη έτοιμα και ρυθμισμένα από την κατασκευή τους, το οποίο σημαίνει πως έχουν γρηγορότερη εγκατάσταση και χρήση σε σύγκριση με συστήματα ανοικτού κώδικα. Τα συστήματα αυτά έχουν σχεδιαστεί άρτια και παρουσιάζουν σημάδια μακροζωίας, σταθερότητας αλλά και αξιοπιστίας. Ακόμη υποστηρίζονται πλήρως από τα συνοδευτικά έγγραφα, οδηγίες χρήσης και εγχειρίδια χρήσης τα οποία είναι απαραίτητα για τους συντάκτες περιεχομένου. Κάποια απο τα εμπορικά ΣΔΠ είναι τα Sitecore, EpicServe, Ektron, Alterion, Amaxus και Sitefinity. 3.4 Πλεονεκτήματα/Μειονεκτήματα ΣΔΠ εμπορικού σκοπού Υπάρχουν αρκετοί λόγοι σύμφωνα με τους οποίους θα μπορούσε να επιλεγεί ένα ΣΔΠ εμπορικού σκοπού. Κάποιοι από αυτούς είναι αναφέρονται παρακάτω: Σταθερότητα: ένα εμπορικό σύστημα είναι πιθανό να είναι πιο σταθερό σε σύγκριση με ένα ανοικτό σύστημα πράγμα το οποίο οφείλεται στην δοκιμή και την αξιολόγηση. Τα συγκεκριμένα ΣΔΠ έχουν μια ειδική ομάδα προγραμματιστών, οι οποίοι παρέχουν υποστήριξη σε διαρκή βάση. Ευχρηστία: Το ΣΔΠ εμπορικού σκοπού λαμβάνει τις ανάγκες των μη έμπειρων χρηστών υπόψην του, εξασφαλίζοντας ότι το σύστημα θα χαρακτηρίζεται από ευκολία χρήσης και θα συνοδεύεται από εγχειρίδια και εκπαιδευτικούς οδηγούς. Υπάρχει περίπτωση να έχει υποβληθεί σε δοκιμαστικούς ελέγχους λαμβάνοντας υπ 'όψιν τη συνολική εμπειρία του χρήστη. Ένα εμπορικό σύστημα έχει σχεδιαστεί για να χρησιμοποιείται από έμπειρους και μη έμπειρους χρήστες παρέχοντας ταυτόχρονα την κατάλληλη βοήθεια από μία αρμόδια ομάδα τεχνικής υποστήριξης. Λαμβάνοντας υπόψην ότι ένα σύστημα ανοικτού κώδικα συχνά σχεδιάζεται για έμπειρους χρήστες οι οποίοι διαθέτουν κατανόηση και εξοικείωση με τη λειτουργικότητά του ενώ παράλληλα -31-

44 έχουν και προγραμματιστικό υπόβαθρο, η επιλογή ενός ΣΔΠ εμπορικού σκοπού αποτελεί μία πολύ κλαή επιλογή για κάποιον πολύ αρχάριο χρήστη. Υποστήριξη και συμβουλές: Τα εμπορικά συστήματα έχουν οδηγούς και εγχειρίδια εκπαίδευσης για τους χρήστες τους, ενώ επίσης προσφέρουν και βοήθεια μέσω της τεχνικής υποστήριξης. Από την άλλη πλευρά, ένα σύστημα ανοικτού κώδικα εξαρτάται από την κοινότητα που παρέχει αυτό το επίπεδο της υποστήριξης και μπορεί να μην είναι και τόσο ελκυστικός τρόπος για κάποιον αρχάριο, καθώς δεν διαθέτει άμεση παροχή τεχνικής υποστήριξης μέσω κάποιου τεχνικού τμήματος. Τεκμηρίωση: Ένα από τα πολλά πλεονεκτήματα του εμπορικού CMS είναι η τεκμηρίωση του προϊόντος η οποία είναι πολύ καλά γραμμένη και η ευκολία κατανόησής της. Η τεκμηρίωση λοιπόν έχει αναπτυχθεί με προδιαγραφές που επιτυγχάνουν τις απαιτήσεις τόσο των χρηστών όσο και των επιχειρήσεων, όπως ακόμη και των μηχανών αναζήτησης. Αντίθετα, κάθε τεκμηρίωση που παρέχεται από ένα σύστημα ανοικτού κώδικα αναπτύσσεται κυρίως με τις ανάγκες των προγραμματιστών και όχι με των τελικών χρηστών οι οποίοι με αυτόν τον τρόπο αποκτούν μία δυσκολία με την πρώτη τους επαφή. Προηγουμένως αναφέρθηκαν ορισμένα από τα πλεονεκτήματα των εμπορικών ΣΔΠ, αλλά όπως και σε άλλες περιπτώσεις υπάρχουν και τα μειονεκτήματα τα οποία θα αναφερθούν παρακάτω και αφορούν τα εξής: Κόστος: Τα εμπορικά συστήματα μπορεί να είναι ακριβά, ενώ ένα ανοικτού κώδικα είναι συνήθως φθηνό ή και σε ορισμένες περιπτώσεις εντελώς δωρεάν. Υπάρχει ακόμη περίπτωση για πολύπλοκες ιστοσελίδες, ο προϋπολογισμός να επιβαρύνεται και από τον πάροχο φιλοξενίας της ιστοσελίδας. Περιορισμοί: Αυτό αναφέρεται στο γεγονός ότι ο χρήστης ενός εμπορικού ΣΔΠ συχνά συνδέεται με τον συγκεκριμένο πάροχο. Με άλλα λόγια, επιβάλλονται περιορισμοί που αφορούν την αρχιτεκτονική, το σχεδιασμό διεπαφής και τα χαρακτηριστικά που εμποδίζουν την προσαρμογή των χρηστών. Το σύστημα δεν είναι επεκτάσιμο. Αυτό σημαίνει πως αν ένας χρήστης ή επιχείρηση απαιτεί ένα ιδιαίτερο χαρακτηριστικό, τότε ο πάροχος ΣΔΠ θα κάνει μια ανάλυση κόστους-οφέλους για να δει αν αυτή είναι βιώσιμη. Εάν ο πάροχος αποφασίσει ότι υπάρχει αρκετό ενδιαφέρον και είναι εφικτό να το πράξει, τότε θα προσφέρει αυτή την υπηρεσία, αλλά συχνά με σημαντικό κόστος για τον χρήστη. Για πολλές επιχειρήσεις η δυνατότητα να επεκτείνουν ένα CMS για να ταιριάζει τις -32-

45 απαιτήσεις της επιχείρησής τους είναι ένας σημαντικός παράγοντας κατά τη λήψη αποφάσεων σε ένα κατάλληλο σύστημα. Κίνδυνος εξαγοράς: Στο σημερινό κλίμα της αγοράς υπάρχει ο κίνδυνος της εξαγοράς ενός εμπορικού συστήματος από άλλο πάροχο ΣΔΠ. Αυτό σημαίνει ότι το εμπορικό ΣΔΠ που έχει αγοραστεί με τη σχετική άδεια,μπορεί να πάψει πλέον να υποστηρίζεται η ανάπτυξή του από τον νέο του πάροχο. Εάν το σύστημα αυτό δεν είναι πλέον διαθέσιμο λόγω της εξαγοράς, τότε είναι σχεδόν αδύνατο να αποκτήσουν την απαραίτητη βοήθεια και τις απαραίτητες συμβουλές που απαιτούνται για την εξασφάλιση της ομαλής του λειτουργίας τα άτομα που το χρησιμοποιούν. 3.5 Πλεονεκτήματα/Μειονεκτήματα ΣΔΠ ανοικτού κώδικα Υπάρχουν αρκετά πλεονεκτήματα για τη χρήση ενός συστήματος ανοικτού κώδικα τα οποία συνοψίζονται παρακάτω: Χαμηλό κόστος: Η πρόσβαση στον πηγαίο κώδικα είναι μια εύκολη διαδικασία και χωρίς κανένα αντίτιμο. Επιπροσθέτως η υποστήριξη που παρέχεται σε ένα τέτοιου είδους σύστημα είναι συχνά φθηνότερη από ότι σε ένα εμπορικό ΣΔΠ. Ευελιξία στην προσαρμογή: η εύκολη διαθεσιμότητα του κώδικα σημαίνει ότι το σύστημα μπορεί να προσαρμοστεί κατάλληλα για να ταιριάζει σε κάθε απαίτηση των χρηστών του. Υποστήριξη: λύσεις στα προβλήματα των ΣΔΠ μπορούν να βρεθούν μέσω μιας κοινότητας προγραμματιστών και όχι μόνο, οι οποίοι παρέχουν συμβουλές για κάθε θέμα. Ανοιχτή πλατφόρμα: ένα ανοικτού κώδικα ΣΔΠ είναι σχεδιασμένο με οποιαδήποτε ανοικτή γλώσσα προγραμματισμού όπως Java, Python, PHP, κλπ. Αυτές οι δημοφιλείς πλατφόρμες λογισμικού έχουν έναν πλούτο υποστήριξης και πληροφοριών που τις συνοδεύουν. Διαμοιρασμός πόρων: Ένα ανοικτού κώδικα ΣΔΠ δίνει την ικανότητα να μοιράζεται τους πόρους μεταξύ των επιχειρήσεων και μεγάλων οργανισμών, όπως φορείς του δημόσιου/ιδιωτικού τομέα. Με αυτόν τον κατανεμημένο τρόπο λειτουργίας μεταξύ των επιχειρήσεων αποσκοπούν στην εξοικονόμηση χρόνου, μείωση του κόστους και αύξηση της παραγωγικότητας. -33-

46 Επεκτασιμότητα: Η ικανότητα να επεκτείνετε και να διαμορφώσετε ένα ΣΔΠ ανοικτού κώδικα σηματοδοτεί πως μπορεί να ενσωματωθεί σε άλλα λογισμικά ή γλώσσες προγραμματισμού. Αξιολόγηση: Τα συστήματα αυτά μπορούν να μεταφορτωθούν για σκοπούς αξιολόγησης πριν από την εφαρμογή. Αυτό επιτρέπει στον προγραμματιστή να δοκιμάσει πλήρως το σύστημα και να το συγκρίνει με άλλα άτομα, πριν τη λήψη μιας απόφασης. Περαιτέρω σχόλια με τη μορφή της ανατροφοδότησης μπορούν να ληφθούν από την υποστήριξη της κοινότητας. Άμεση επίλυση λάθους: Τα συστήματα αυτά από τη φύση τους είναι ανοικτά στις απόψεις από την κοινότητά τους. Έτσι, αν προκύψει κάποιο πρόβλημα ένα μέλος της κοινότητας θα προσφέρει μια λύση στο πρόβλημα. Η εύκολη πρόσβαση στον πηγαίο κώδικα σημαίνει πολύ συχνά, πως το πρόβλημα μπορεί να επιλυθεί από τον δημιουργό και όχι μόνο του έργου. Κανένα εμπορικό σύστημα δεν είναι απολύτως αψεγάδιαστο. Το ίδιο ισχύει λοιπόν και για τα συστήματα ανοικτού κώδικα. Ορισμένα από αυτά τα προβλήματα των συστημάτων αυτών ακολουθούν παρακάτω: Αδυναμία στο σχεδιασμό του συστήματος: Aυτό μπορεί να περιλαμβάνει προβλήματα με τη backend βάση δεδομένων ή μια κακή εμπειρία χρήστη. Πολλά συστήματα ανοικτού κώδικα έχουν επικεντρωθεί από τις τεχνικές πτυχές όπως η δομή και τα χαρακτηριστικά (πρότυπα σε βάρος της ευχρηστίας). Αυτό είναι ένα σημαντικό μειονέκτημα, όπως πολλοί χρήστες των συστημάτων αυτών είναι συχνά «αρχάριοι χρήστες» χωρίς τεχνικές δεξιότητες. Θα πρέπει να εργάζονται μόνο από το front end και θα πρέπει να είναι σε θέση να δημιουργήσουν και να δημοσιεύσουν περιεχόμενο με τον ελάχιστο κόπο. Ευχρηστία και μάλιστα προσβασιμότητα είναι σοβαρά ζητήματα σε σχέση με τα εμπορικά συστήματα. Μη ικανοποιητική τεκμηρίωση: Ενώ υπάρχει υποστήριξη από την κοινότητα, πολλά συστήματα ανοικτού κώδικα παρέχουν ελάχιστη τεκμηρίωση για να συνοδεύσει το σύστημά τους. Αυτή η πληροφορία είναι πιο εύκολα διαθέσιμη με ένα εμπορικό σύστημα το οποίο είναι χρήσιμο για τους συντάκτες, σχεδιαστές και προγραμματιστές. Αβεβαιότητα αέναης ανάπτυξης: Υπάρχουν εταιρείες που θα διστάσουν να χρησιμοποιήσουν άμεσα ένα ΣΔΠ ανοικτού κώδικα που δεν έχει αναπτυχθεί με τον καλύτερο δυνατό τρόπο και με αμφιβολίες για το μέλλον του. Έτσι καταφεύγουν σε πιο -34-

47 σταθερές εμπορικές λύσεις οι οποίες διαθέτουν αναβαθμίσεις και Service Pack, σε αντίθεση με τα συστήματα ανοικτού κώδικα τα οποία έχουν ένα αβέβαιο σχετικά μέλλον. Κίνδυνος «υπερ-εξατομίκευσης»: Ένα από τα δυνατά σημεία ενός συστήματος ανοικτού κώδικα είναι η ικανότητά τους να προσαρμόζονται πολύ εύκολα το οποίο όμως μπρεί πολύ εύκολα να οδηγήσει στην αποτυχία τους. Υπάρχει ο κίνδυνος λόγω του ότι πάρα πολλά άτομα έχουν πρόσβαση στον πηγαίο κώδικα, να προκαλέσει συνεχείς αλλαγές, αύξηση του αριθμού των χαρακτηριστικών και της υπερβολικής προσαρμοστικότητας. 3.6 Τι είναι το Drupal Eίναι ένα ελεύθερο και ανοικτού κώδικα Σύστημα ιαχείρισης Περιεχομένου (CMS) γραμμένο στην γλώσσα PHP. Χρησιμοποιείται σε πολλούς διαφορετικούς τύπους δικτυακών τόπων, που κυμαίνονται από μικρά προσωπικά blogs σε μεγάλες εταιρικές και απλές ιστοσελίδες. ιανέμεται ελεύθερα υπό την άδεια της GNU General Public License. Η βασική έκδοση του Drupal, γνωστή ως Drupal core, περιέχει βασικά χαρακτηριστικά τα οποία είναι κοινά στα περισσότερα CMS. Αυτά περιλαμβάνουν τη δυνατότητα να δημιουργούνται και να διατηρούνται ατομικοί λογαριασμοί χρηστών, μενού διαχείρισης, RSS-feeds, προσαρμόσιμη διάταξη της ιστοσελίδας, προσαρμόσιμα προνόμια για κάθε τύπο χρήστη, blogs, forums, και επιλογές δημιουργίας μιας κλασσικής ιστοσελίδας ή μια διαδραστικής κοινότητας χρηστών. Σχεδιάστηκε έτσι ώστε να επιτρέπει την προσθήκη νέων δυνατοτήτων και λειτουργιών από τους ίδιους τους χρήστες ώστε να καλύπτονται και συγκεκριμένες ανάγκες λειτουργικότητας. Για το λόγο αυτό, το Drupal μερικές φορές περιγράφεται και ως ένα Πλαίσιο ιαχείρισης Περιεχομένου. Αν και το Drupal προσφέρει ένα εξειδικευμένο περιβάλλον για προγραμματιστές, δεν απαιτούνται γνώσεις προγραμματισμού για την εγκατάσταση και διαχείριση της βασικής ιστοσελίδας. Το Drupal μπορεί να τρέχει σε οποιαδήποτε πλατφόρμα η οποία υποστηρίζει ένα web server ικανό να εκτελέσει την PHP (συμπεριλαμβανομένων των Apache, IIS, Lighttpd, και nginx) και μια βάση δεδομένων (όπως MySQL ή PostgreSQL) για την αποθήκευση του περιεχομένου και των ρυθμίσεων. Γραμμένο αρχικά από τον Dries Buytaert ως μία διαδικτυακή ιστοσελίδα συζητήσεων, το Drupal έγινε ένα project ανοικτού κώδικα το H oνομασία του -35-

48 προέρχεται από μια αγγλική απόδοση της ολλανδικής λέξης "druppel», που σημαίνει "σταγόνα". Το όνομα δόθηκε από την μη ενεργή πια ιστοσελίδα Drop.org, ο κώδικας της οποίας εξελίχθηκε στο Drupal. Ο Buytaert ήθελε να ονομάσει την τοποθεσία "dorp" (ολλανδικά για το "χωριό") λόγω των χαρακτηριστικών κοινότητας που προσφέρει, αλλά έκανε ένα ορθογραφικό λάθος κατά την καταχώρηση του domain name και σκέφτηκε ότι ακούγεται καλύτερα. Μια μεγάλη κοινότητα βοηθάει τώρα για την ανάπτυξη του. Η δημοτικότητα του αυξάνεται ραγδαία. Πάνω από 70 γνωστές εμπορικές εταιρίες και μηκερδοσκοπικοί οργανισμοί χρησιμοποιούν το Drupal. 3.7 Γιατί Drupal Επιλέχθηκε το Drupal διότι σε σχέση με ανταγωνιστές του υπερτερεί στα ακόλουθα: Ελεύθερο λογισμικό - δεν χρειάζεται άδεια για την εγκατάσταση ή τη χρήση του. Μηδενικά έξοδα - ο προϋπολογισμός συγκεντρώνεται για τη συνεχή υποστήριξη του συστήματος. Απεριόριστη επεκτασιμότητα και ευελιξία. Μεγάλη κοινότητα που το υποστηρίζει και το αναπτύσσει. Βελτίωση ασφάλειας μέσω συνεχής ενημέρωσης εκδόσεων Τεράστια ποικιλία έτοιμων εφαρμογών για εμπορικούς, διαφημιστικούς και κοινωνικούς ιστοτόπους. Σύστημα Override γι απόλυτο έλεγχο θεματικών παραλλαγών. Επεκτάσιμο API με Hooks. Το Drupal έχει βελτιωμένο έλεγχο των διευθύνσεων URL, δίνοντας τον ακριβή έλεγχο πάνω στη δομή των διευθύνσεων URL. Αντίθετα με άλλα συστήματα διαχείρισης περιεχομένου το Drupal προσφέρει στις σελίδες του ευδιάκριτες διευθύνσεις URLs. Τύποι περιεχομένου και Views. Τα περισσότερα συστήματα διαχείρισης περιεχομένου απαιτούν την αποτύπωση κώδικα για την επίτευξη αυτών των στόχων, αντίθετα στο Drupal δεν απαιτείται καμία προγραμματιστική γνώση. Στο Drupal υπάρχει ένα ισχυρό σύστημα ταξινόμησης (κατηγοριοποίησης) το οποίο επιτρέπει ευκολότερη κατηγοριοποίηση περιεχομένου και να απόδοση ετικετών.. Κάθε λεξιλόγιο του Drupal (σύνολο από κατηγορίες) μπορεί να περιοριστεί στους κύριους τύπους περιεχομένου. -36-

49 Πολυγλωσσική υποστήριξη: Διεθνοποίηση όχι μόνο των διαεπαφών αλλά και του περιεχομένου με διαχείριση μεταφραστικών ομάδων για πραγματικά πολυγλωσσικούς ιστοτόπους. Υπάρχει η δυνατότητα της ομαδικής συνεισφοράς σε εργασίες αφού κάθε μέλος έχει τα απαραίτητα δικαιώματα για να επεξεργάζεται ή να δημοσιεύει περιεχόμενο στον ιστότοπο. ιαθέτει μια πλήρη συλλογή από δωρεάν αλλά και επί πληρωμή, πρόσθετων εφαρμογών (addons,components, modules, bots κλπ), που δίνουν τη δυνατότητα να δοθεί ακριβώς ο επιθυμητός χαρακτήρας της ιστοσελίδας. Το Drupal χρησιμοποιεί την PHP Template μηχανή, η οποία δεν απαιτεί καμία γνώση PHP. Περιλαμβάνει τα επίσημα εγχειρίδια, αρκετούς εκπαιδευτικούς οδηγούς, blogs και videos. Τέλος, το Drupal μπορεί να εγκατασταθεί σε Windows, Linux, MacOSX, Solaris κ.α. 3.8 Ο πυρήνας του Drupal Το Drupal έχει ένα βασικό στρώμα ή αλλιώς πυρήνα, που παρέχει τα βασικά χαρακτηριστικά του Drupal και υποστηρίζει αρθρωτές μονάδες που προσθέτουν επιπλέον λειτουργικότητα ή χαρακτηριστικά. Οι μονάδες που περιέχονται στο πυρήνα του Drupal παρέχουν στους χρήστες τη δυνατότητα να υποβάλλουν, αναθεωρούν, κατηγοριοποιούν ύλη, να εκτελούν αναζητήσεις, να υποβάλλουν, σχόλια, να λαμβάνουν μέρος σε φόρουμ συζητήσεων, να ψηφίζουν σε ψηφοφορίες και να δουλεύουν σε συνεργατικά εγγραφικά έργα, χωρίς την απαίτησξ να γνωρίζουν HTML. Οι μονάδες του πυρήνα επιτρέπουν επίσης στους χρήστες να υποβάλουν και να βλέπουν προσωπικά προφίλ, να επικοινωνούν μεταξύ τους ή και με τους διαχειριστές του ιστοτόπου. Το σύστημα διαχείρισης εκδόσεων του Drupal, επίσης ένα χαρακτηριστικό του πυρήνα, παρακολουθεί τις αλλαγές του περιεχομένου, το άτομο που έκανε την τελευταία τροποποίηση, το σημείο που τροποποιήθηκε καθώς και την ημερομηνία και την ώρα της αλλαγής. Το σύστημα παρέχει ένα ημερολόγιο με σχόλια αλλαγών και παρέχει τη δυνατότητα για μετάβαση του περιεχομένου σε προηγούμενη έκδοση. Επίσης στον πυρήνα του Drupal υπάρχουν μονάδες που επιτρέπουν στους διαχειριστές του ιστοτόπου την αλλαγή της εμφάνισής του με έτοιμες ή τροποποιημένες -37-

50 θεματικές παραλλαγές, τη δημιουργία μενού με πολλά επίπεδα και την παροχή στους χρήστες μιας διεπαφής στη μητρική τους γλώσσα. Ακόμη, ο πυρήνας του Drupal επιτρέπει στους διαχειριστές να παρέχουν ροές RSS, καθώς και τη συλλογή περιεχομένου από ροές RSS άλλων ιστοτόπων. Άλλες μονάδες του πυρήνα παρέχουν την εγγραφή χρηστών, τον καθορισμό ρόλων χρηστών από τους διαχειριστές, με απεριόριστο ορισμό αδειών (permissions) στους χρήστες για τη χρησημοποίηση επιλεγμένων χαρακτηριστικών του ιστοτόπου. Οι διαχειριστές μπορούν επίσης να χρησημοποιούν κανόνες για την απαγόρευση πρόσβασης σε συγκεκριμένες περιοχές ή λειτουργίες του ιστοτόπου σε συγκεκριμένα ονόματα χρηστών ή ρόλου εγγεγραμένων. Ο πυρήνας του Drupal περιλαμβάνει ένα χαρακτηριστικό που επιτρέπει τη δημιουργία φιλικών στο χρήστη αλλά και στις μηχανές αναζήτησης url είτε αυτόματα είτε χειροκίνητα. Οι μονάδες του πυρήνα παρέχουν στατιστικά και αναφορές για τους διαχειριστές, ενώ τους επιτρέπουν να διαχειρίζονται θέματα λανθάνουσας μνήμης και απόδοσης του ιστοτόπου. Ακόμη οι διαχειριστές μπορούν να κατασκευάζουν και να καθορίζουν διάφορα φίλτρα εισόδου και μορφότυπους ύλης χωρίς να χρειάζεται να γνωρίζουν PHP ή HTML. -38-

51 3.9 Σύστημα αρχείων στο Drupal Παρακάτω παρατίθεται ο ιεραρχικός τρόπος δόμησης του συστήματος αρχείων του Drupal. /includes /database /mysql /pgsql /sqlite /filetransfer /misc /farbtastic /ui /images /modules /profiles /minimal /standard /testing /scripts /sites /all /modules /themes /default /files /field /pictures /styles /themes -39-

52 Οι φάκελοι στο σύστημα αρχείων του Drupal εξηγούνται αναλυτικά παρακάτω. includes περιέχει φακέλους με php functions και κλάσεις που χτίζουν το Drupal APII misc διάφορα αρχεία όπως JavaScript και εικόνες modules Drupal core modules profiles Προφίλ εγκατάστασης scripts shell scripts για προγραμματιστές και διαχειριστές sites περιέχει όλα τα αρχεία που προσθέτει ό προγραμματιστής sites/all/libraries 3rd party libraries, π.χ. a wysiwyg editor sites/all/modules νέα modules που επεκτείνουν τις δυνατότητες sites/all/themes αρχεία της θεματικής παραλλαγής της ιστοσελίδας sites/default περιέχει το settings.php με τις βασικές ρυθμίσεις λειτουργίας του Drupal sites/default/files περιέχει ότι εικόνες ή αρχεία ανεβάζει ο χρήστης στην ιστοσελίδα themes περιέχει τα θέματα που έρχονται με τον πυρήνα του Drupal Κάποια από τα σημαντικότερα αρχεία του Drupal αναλύονται παρακάτω: authorize.php authorize.php είναι ένα script που περιέχει συγκεκριμένα δικαιώματα για εργασίες όπως αναβάθμιση για συγκεκριμένο χρήστη. cron.php cron.php είναι ένα script που χρησιμοποιείτε για περιοδικές εργασίες όπως έλεγχος για νέα έκδοση επεκτάσεων. index.php index.php είναι το αρχείο που σερβίρει την ιστοσελίδα. install.php install.php είναι το αρχείο που εκτελείτε κατά την εγκατάσταση του Drupal. update.php update.php είναι το αρχείο που ανανεώνει την βάση δεδομένων μετά από την αναβάθμιση κάποιας επέκτασης. -40-

53 3.10 Τύποι περιεχομένου του Drupal (Content types) Στο Drupal, ένας τύπος περιεχομένου είναι μία συλλογή από τύπους πεδίων (Fields) που σχετίζονται σε ένα πληροφοριακό πλαίσιο. Οι τύποι περιεχομένου βοηθάνε τους συγγραφείς μιας ιστοσελίδας, να μπορούν να προσθέσουν περιεχόμενο σε μία Drupal ιστοσελίδα με πολύ πιο γρήγορο και απλό τρόπο. Ένας προγραμματιστής ή διαχειριστής μπορεί να προσθέσει νέους διαφορετικούς τύπους περιεχομένου για να συλλέγει διαφορετικά δεδομένα και να τα εμφανίζει στην ιστοσελίδα. Οι υπάρχοντες τύποι περιεχομένου μπορούν να επεκταθούν προσθέτοντας νέα πεδία τύπων αρχείων. Οι αρχικοί τύποι περιεχομένων που υπάρχουν εξ ορισμού στον πυρήνα του Drupal είναι η σελίδα και το άρθρο. Όλες οι αναρτήσεις που βρίσκονται σε μια ιστοσελίδα είναι πληροφοριακά πλαίσια τύπων περιεχομένου. Κάθε φορά που δημιουργείται μία ανάρτηση, χρησιμοποιείται ένας τύπος περιεχομένου για να αποθηκεύσει τα δεδομένα που πρόκειται να αναρτηθούν. Οι τύποι περιεχομένου έχουν και αυτοί δικαιώματα. Έτσι μπορούν να οριστούν διαφορετικοί ρόλοι χρηστών με πρόσβαση στην επεξεργασία, στην διαγραφή ή και στην δημιουργία συγκεκριμένων τύπων περιεχομένου. Ο πυρήνας του Drupal προσφέρει εξ ορισμού δύο τύπους περιεχομένου. Υπάρχει η δυνατότητα της μετονομασίας, επεξεργασίας, τροποποίησης ή ακόμα και διαγραφής τους. Στη συνέχεια αναλύονται οι δύο βασικοί τύποι περιεχομένων του Drupal. Σελίδα (Basic Page) - Μία σελίδα, είναι παρόμοια με μία στατική σελίδα. Συνήθως χρησιμοποιείται για την αποθήκευση δεδομένων που σπάνια θα υποστούν επεξεργασία όπως η σελίδα About σε μία ιστοσελίδα. Από προεπιλογή, δεν επειτρέπονται τα σχόλια σε αυτό τον τύπο περιεχομένου αλλά μπορούμε με πολύ εύκολο τρόπο να το αλλάξουμε. Άρθρα (Article) - Είναι παρόμοιο στην λειτουργία με μία σελίδα. Από προεπιλογή εμφανίζεται στην πρώτη σελίδα και αποτελεί την ροή κειμένων μιας ιστοσελίδας όπως για παράδειγμα τα Νέα για μια ενημερωτική ιστοσελίδα. Από προεπιλογή, επειτρέπονται τα σχόλια σε αυτό τον τύπο περιεχομένου. Ο πυρήνας του Drupal περιέχει και άλλους τύπους περιεχομένου που υπάρχει η δυνατότητα να ενεργοποιηθούν από το μενού διαχείρισης. Ανάμεσα στην πληθώρα των τύπων αυτών αναφέρονται ενδεικτικά ορισμένοι μεταξύ των οποίων ο τύπος περιεχομένου blog, forum, book και δημοσκόπηση ( poll). -41-

54 3.11 Χρήστες και δικαιώματα Στο Drupal μας δίνεται η επιλογή να γίναι κατηγοριοποίηση των χρηστών σε ρόλους. Διαφορετικοί ρόλοι έχουν και διαφορετικά δικαιώματα πάνω στην ιστοσελίδα με αποτέλεσμα την καλύτερη και ευκολότερη διαχείρισή της. Τα δικαιώματα δίνουν την δυνατότητα ως προς τον έλεγχο της πρόσβασης των χρηστών στην ιστοσελίδα (Εικόνα 10). Κάθε ρόλος των χρηστών (που ορίζεται στη σελίδα ρόλων χρηστών) έχει το δικό του σύνολο δικαιωμάτων. Έτσι με πολύ εύκολο τρόπο θα μπορούσε να δωθεί άδεια διαχείρισης θεμάτων στους χρήστες με τον όρο κατηγοριοποίησης "Διαχειριστές", αλλά ταυτόχρονα να μην δωθούν τα ίδια δικαιώματα στους απλούς μη εγγεγραμμένους χρήστες. Η συγκεκριμένη τεχνική κατηγοριοποίησης δίνει την ευκαιρία μέσα από ορισμένα δικαιώματα να αξιοποιηθούν νέα χαρακτηριστικά σε προνομιούχους ή μη χρήστες. Εάν εκχωρηθεί μια άδεια σε έναν ανώνυμο χρήστη, η άδεια δεν κληρονομείται από άλλους ρόλους. Ωστόσο, τυχόν δικαιώματα εκχώρησης στον ρόλο του εγγεγραμμένου χρήστη κληρονομούνται από τους άλλους συνδεδεμένους χρήστες. Έτσι, αν έχει δωθεί στο ρόλο Anonymous η άδεια για να υποβάλλει σχόλια, αυτό δεν σημαίνει ότι ο ρόλος του εγγεγραμμένου χρήστη αποκτά επίσης την άδεια για να δημοσιεύσει σχόλια. Ωστόσο, αν έχει δωθεί η άδεια στον εγγεγραμμένο χρήστη για να υποβάλλει σχόλια, αυτό σημαίνει ότι όλοι οι άλλοι ρόλοι που έχουν δημιουργηθεί, αποκτούν αυτόματα την άδεια αυτή Εικόνα 10: Καθορισμός δικαιωμάτων σε ανώνυμους και αυθεντικοποιημένους χρήστες.

55 3.12 Αρθωτές μονάδες (Modules) Ο πυρήνας του Drupal έχει σχεδιαστεί βάση ενός συστήματος από hook, ή callback, που επιτρέπει στις γραμμένες από την κοινότητα μονάδες να εισάγουν συναρτήσεις στο μονοπάτι εκτέλεσης του Drupal. Οι μονάδες που περιέχονται στον πυρήνα του Drupal παρέχουν στους χρήστες τη δυνατότητα να: Υποβάλλουν, αναθεωρούν και να κατηγοριοποιούν την ύλη. Εκτελούν αναζητήσεις. Υποβάλλουν σχόλια. Λαμβάνουν μέρος σε φόρουμ συζητήσεων. Ψηφίζουν σε ψηφοφορίες. Δουλεύουν σε συνεργατικά συγγραφικά έργα. Τροποποιούν και να βλέπουν προσωπικά προφίλ. Επικοινωνούν μεταξύ τους ή και με τους διαχειριστές του ιστοτόπου. Αλλάζουν την εμφάνιση του ιστοτόπου με έτοιμες ή φτιαγμένες με το χέρι θεματικές παραλλαγές. Δημιουργούν μενού με πολλαπλά επίπεδα. Βλέπουν τη γραφική διεπαφή και τα μηνύματα στην μητρική τους γλώσσα Παρέχουν ροές RSS. Συλλέγουν περιεχόμενο από ροές RSS άλλων ιστοτόπων. Εγγράφονται ως χρήστες και να διαχειρίζονται τους λογαριασμούς τους. Καθορίζουν ρόλους χρηστών, με τον ορισμό αδειών (permissions) στους χρήστες για τη χρησιμοποίηση επιλεγμένων χαρακτηριστικών του ιστοτόπου. Χρησιμοποιούν κανόνες πρόσβασης για την άρνηση πρόσβασης στον ιστοτόπο σε συγκεκριμένα ονόματα χρηστών, διευθύνσεις ηλεκτρονικού ταχυδρομείου και διευθύνσεις IP. Λαμβάνουν στατιστικά και αναφορές για τους διαχειριστές. Χειρίζονται θέματα λανθάνουσας μνήμης και απόπνιξης ώστε να βελτιώσουν την απόδοση του ιστοτόπου σε περιόδους μεγάλης κίνησης. Δημιουργούν και καθορίζουν διάφορα φίλτρα εισόδου και μορφότυπους ύλης. Δημιουργούν φιλικές στο χρήστη, εύκολες προς απομνημόνευση, διευθύνσεις URL ("www.mysite.com/products" αντί για "www.mysite.com/?q=node/432"). Επιπροσθέτως, ο επίσημος ιστοτόπος του Drupal παρέχει εκατοντάδες δωρεάν μονάδες (modules) γραμμένες από την κοινότητα του Drupal, όπου ο κάθε χρήστης έχει την δυνατότητα να χρησιμοποιήσει στην ιστοσελίδα του, μέσα από τον πίνακα διαχείρισης των modules (Εικόνα 11). -43-

56 Ορισμένες από τις δυνατότητες που παρέχονται, παραθέτονται παρακάτω: Δυνατότητες συστημάτων ηλεκτρονικού εμπορίου (e-commerce). Χαρακτηριστικά ροής εργασιών. Γκαλερί φωτογραφιών. Σελίδες ομάδων (οργανικά γκρουπ). Χάρτες ιστοτόπου για το Google. Αντικείμενα Amazon. Διαχείριση λιστών ηλεκτρονικού ταχυδρομείου. Ένα σύστημα διαχείρισης των συστατικών στοιχείων σχέσεων (Customer relationship management, CRM), το CiviCRM. Ενσωμάτωση με ένα "Concurrent Versions System" (CVS). Εικόνα 11: Πίνακας διαχείρισης των modules στο Drupal Θεματικές παραλλαγές (Themes) To Drupal, διαχωρίζει απόλυτα τα δεδομένα από την εμφάνισή τους. Για τον τρόπο εμφάνισης της σελίδας, των εικόνων, των χρωμάτων, των γραμματοσειρών κλπ υπεύθυνες είναι οι θεματικές παραλλαγές. Ο πυρήνας του Drupal εγκαθιστά 6 βασικές θεματικές παραλλαγές οι οποίες βρίσκονται στο φάκελο themes. Εκτός από τις 6 αυτές παραλλαγές, υπάρχει η δυνατότητα να επιλέξουμε και να χρησιμοποιήσουμε δεκάδες άλλες που υπάρχουν στην ιστοσελίδα του Drupal. -44-

57 Η τροποποίηση της εμφάνισης της ιστοσελίδας πραγματοποιείται από το μενού διαχείρισης όπως φαίνεται στην Εικόνα 12, κατεβάζοντας μία έτοιμη θεματική παραλλαγή από την ιστοσελίδα του drupal.org ή οποιαδήποτε άλλη ιστοσελίδα. Επειδή το Drupal είναι ανοικτού κώδικα, παρέχεται η δυνατότητα τροποποίησης της επιθυμητής θεματικής παραλλαγής και να εξελιχθεί ο κώδικάς της έτσι ώστε να καλύπτει ακριβώς τις επιθυμητές ανάγκες. Αυτή η προσπάθεια γίνεται με πολύ απλοϊκό τρόπο καθώς δεν είναι απαραίτητες εξεζητημένες γνώσεις. Υπάρχει μια πληθώρα επιλογών ως προς τις ενέργειες που μπορούν να πραγματοποιηθούν όσον αφορά τις θεματικές παραλλαγές. Έτσι μπορεί να αλλάξει άρδην ολόκληρος ο τρόπος εμφάνισης του θέματος ή ακόμη να αλλάξει μία μόνο μικρή λεπτομέρεια που μπορεί να μην είναι επιθυμητή. Με πολύ κατανοητό τρόπο μπορούν να τροποποηθούν επίσης και ο τρόπος εμφάνισης συγκεκριμένων σημείων, άρθρων, τύπων περιεχομένου ή και ακόμα σελίδων. Μία συνηθισμένη τεχνική, είναι η τροποποίηση της αρχικής σελίδας εμφάνισης σε σχέση με τις υπόλοιπες σελίδες της ιστοσελίδας. Εικόνα 12: Τροποποίηση θεματικής παραλλαγής Ασφάλεια στο Drupal Το Drupal έχει μία πολύ αξιόλογη πορεία όλα αυτά τα χρόνια στον τομέα της ασφάλειας και διαθέτει οργανωμένους μηχανισμούς για ανίχνευση κενών ασφαλείας, επιβεβαίωσης των και δημοσίευσης πιθανών προβλημάτων ασφάλειας. Η ομάδα ασφαλείας του Drupal -45-

58 διαρκώς συνεργάζεται με την κοινότητα προκειμένου να διευθετήσει προκύπτοντα κενά ασφαλείας, ενώ περισσότερες πληροφορίες σχετικά με αυτή την διαδικασία μπορούν να βρεθούν στο αντίστοιχο χωρίο του εγχειριδίου. Ο κάθε χρήστης του Drupal μπορεί να εγγραφεί στην επίσημη λίστα ηλεκτρονικού ταχυδρομείου με θέμα την ασφάλεια του Drupal προκειμένου να ενημερώνεται άμεσα για τα πιθανά κενά ασφαλείας. Πολλά άτομα προβληματίζονται λόγω του ότι επειδή είναι ένα σύστημα ανοικτού κώδικα και ο κώδικας είναι ευρέως διαδεδομένος, θα υπάρχουν περισσότερα κενά ασφαλείας σε σχέση με τα εμπορικά συστήματα διαχείρισης περιεχομένου. Ωστόσο κάτι τέτοιο δεν ισχύει, ενώ αντιθέτως το Drupal είναι πιο ασφαλές από άλλα εμπορικά ΣΔΠ όπως δείχνουν διάφορες εμπερειστατομένες αναφορές. Η Διεπαφή Προγραμματισμού Εφαρμογών (API) του Drupal και οι προκαθορισμένες ρυθμίσεις, έχουν σχεδιαστεί ούτως ώστε να είναι ασφαλείς όταν χρησιμοποιείται η κανονική έκδοση. Προβλήματα όπως SQL Injection, Cross Site Scripting, Session Management, Cross Site Request Forgeries και διάφορες άλλες παρόμοιες κακόβουλες τεχνικές αντιμετωπίζονται με πολύ εύκολο τρόπο μέσα από την ΔΠΕ του Drupal. Ελέγχοι ασφαλείας που πραγματοποιήθηκαν από επαγγελματίες σε ιστοσελίδες οι οποίες είχαν αναπτυχθεί βασιζόμενες στο Drupal, διαπίστωσαν πως η συντριπτική πλειοψηφία των κενών ασφαλείας (90%) προέρχονταν από τις τροποποήσεις των themes όσο και των modules, που πραγματοποιήθηκαν από τους προγραμματιστές των εκάστωτε ιστοσελίδων. Αυτό συνέβη καθώς δεν υπήρχε ο κατάλληλος έλεγχος εγκυρότητας του τροποποιημένου πλέον κώδικα σε αντίθεση με τον κάθε κώδικα που ανεβαίνει ξεχωριστά στο drupal.org. Επιπλέον, τα προβλήματα που μπορεί να προκύψουν αφορούν το κομμάτι του εξυπηρετητή (χρησιμοποίηση μη ασφαλών πρωτοκόλλων όπως το FTP) και με αυτόν τον τρόπο αποτελούν τα πιο συχνά τρωτά σημεία του Drupal και στα οποία στοχεύουν οι κακόβουλες επιθέσεις Το μέλλον του Drupal Το μέλλον του Drupal διαγράφεται λαμπρό. Είναι ένα από τα πιο δυναμικά CMS με μία πολύ αξιόλογη κοινότητα που συνεχώς ανανεώνει και επιθυμεί να ενσωματώνει ότι πιο σύγχρονο βρίσκεται στον τομέα του ίντερνετ. Ο λόγος για το Drupal 8 την ερχόμενη -46-

59 ανανεωμένη και επαναστατική έκδοση που θα ενσωματώνει σύγχρονες τεχνολογίες βοηθώντας τους προγραμματιστές ακόμα περισσότερο στην δημιουργία οποιουδήποτε είδους ιστοσελίδας. Το Drupal 8 θα στηρίζεται πλέον στο Symfony 2 ένα πολύ διαδεδομένο PHP framework. Κάποια από τα οφέλη χρήσης του Symfony 2 είναι: Μερικό caching στις σελίδες Καλύτερη απόδοση και αξιοπιστία Ευκολότερη συντήρηση του Drupal core Βελτίωση στον τομέα των πολυγλωσσικών ιστοσελίδων. Στο Drupal 8 θα προστεθεί επίσης μεγαλύτερη ομοιομορφία στις δομές δεδομένων (Universal Unique IDs (UUIDs)). Σε προηγούμενες εκδόσεις του Drupal υπήρχαν αναγνωριστικά (id) για τις σελίδες, τους όρους ταξινόμησης και πολλών άλλων ειδών περιεχομένου. Με την απόδοση των Universal Unique IDs (UUIDs) σε πολλαπλούς τύπους περιεχομένου, η ανάπτυξη θα γίνεται πιο γρήγορα καθώς και η μεταφορά μιας εγκατάστασης Drupal. Συνήθως, μια ιστοσελίδα λαμβάνει ένα HTTP request από έναν περιηγητή ιστοσελίδων και επιστρέφει HTML κώδικα. Όμως, υπάρχουν περιπτώσεις που τα δεδομένα πρέπει να αποσταλούν και να ληφθούν μεταξύ ιστοσελίδων. Στο Drupal 8, το Drupal θα γίνει μία RESTful διεπαφή, με τις εξής ιδιότητες: Επικοινωνία μεταξύ μηχανημάτων - Μία κοινή περίπτωση γι αυτό είναι ο διαμοιρασμός feeds μεταξύ ιστοσελίδων Drupal. Διαφορετικές ΗΤΤP μέθοδοι χρησημοποιπούνται ανάλογα με τις ανάγκες - POST για δημιουργία, PUT για την αναβάθμιση, GET για την αίτση δεδομένων και DELETE για την διαγραφή δεδομένων. Caching - Συχνά απαιτείτε τα δεδομένα να είναι cached για καλύτερη λειτουργία της ιστοσελίδας. Με την πρωτοβουλία της διαχείρισης ρυθμίσεων, οι προγραμματιστές θα είναι σε θέση να κατεβάσουν ένα στιγμιότυπο των συνολικών ρυθμίσεων Drupal σε μια συγκεκριμένη χρονική στιγμή. Αυτό θα είναι ένα πολύτιμο εργαλείο, παρόμοιο με το featurization, που θα συμβάλει στη βελτιστοποίηση της ανάπτυξης και της μεταφοράς μιας ιστοσελίδας. Όταν μια ρύθμιση αλλάζει θα αποθηκεύεται σε ένα αρχείο config καθώς και στην DB. Επιτρέποντας τη διαμόρφωση να αποθηκεύεται σαν ένα αρχείο στο σύστημα αρχείων του Drupal και την δυνατότητα ελέγχου ανάπτυξης μέσω του ελέγχου έκδοσης (version control). -47-

60 Η υποστήριξη του Drupal για φορητές συσκευές βελτιώνεται. Με την γρήγορη ανάπτυξη των φορητών συσκευών είναι απαραίτητο για το Drupal να βελτιώσει την υποστήριξή του. Έτσι τα θέματα που θα υπάρχουν στην εγκατάσταση του Drupal θα είναι πιο ανταποκρίσιμα και περισσότερο φιλικά προς τις φορητές συσκευές. To Drupal θα χρησημοποιεί το Twig framework. Αυτό θα αντικαταστήσει τα μέχρι πρότινος κλασικά php αρχεία θεμάτων με έναν πιο γρήγορο, ασφαλέστερο κώδικα ο οποίος θα εχει την δυνατότητα να αποθηκεύεται στη RAM για καλύτερες επιδόσεις. Τέλος το Drupal 8, θα χρησιμοποιεί το πρόγραμμα Spark που υποστηρίζει απευθείας (online) επεξεργασία κειμένου. Αυτό θα επιτρέπει γρηγορότερες ενημερώσεις στο περιεχόμενο μέσω AJAX αντί της παραδοσιακής μορφής επεξεργασίας ροών εργασιών. Επιπλέον, η μονάδα πολυμέσων (Media) αναμένεται να μεταφερθεί στο πυρήνα που θα επιτρέψει την ευκολότερη χρήσιμοποίηση τεχνικών που αφορούν τις πολυμεσικές εφαρμογές. -48-

61 4 Υλοποίηση Στο παρόν κεφάλαιο αναλύεται η διαδικασία της ανάπτυξης της ιστοσελίδας. Για να πραγματοποιηθεί χρειάστηκε να αποκτηθούν γνώσεις στις τεχνολογίες που αναφέθηκαν στα προηγούμενα κεφάλαια. Έπειτα αναλύονται όλα τα απαραίτητα βήματα και η σειρά εφαρμογής τους ούτως ώστε αφού πρώτα δημιουργηθεί το κατάλληλο περιβάλλον για την ανάπτυξη της ιστοσελίδας, στη συνέχεια να αποκτήσει την τελική της μορφή. 4.1 Ανάλυση προβλήματος Για τις ανάγκες επίλυσης του προβλήματος, χρειάζεται να είναι γνωστές κάποιες βασικές αρχές γλωσσών προγραμματισμού (PHP,SQL), η μελέτη του περιβάλλοντος και η δομή ενός άρθρου, μιας ανακοίνωσης. Απαραίτητη ακόμη είναι η γνώση για το Drupal και τις βασικές ρυθμίσεις αλλά και τη διαχείρισή του. Επίσης πρέπει να γίνει έρευνα για τα modules του Drupal την χρήση τους και την λειτουργία τους. Η βασική θεωρία για την υλοποίηση της ιστοσελίδας είναι η επίλυση του προβλήματος αλλά και να γίνει όσο το δυνατόν πιο απλή και κατανοητή στον τρόπο χρήσης της από τους μελλοντικούς χρήστες. Τέλος η απαίτηση από την δημιουργία της ιστοσελίδας είναι να είναι φιλική προς τους επισκέπτες και να μπορεί να εξυπηρετήσει τις ανάγκες τους. 4.2 Απαιτήσεις συστήματος Οι απαιτήσεις του συστήματος από την πλευρά του διαχειριστή είναι να υπάρχει ένας server με μία εγκατάσταση Drupal, μία βάση δεδομένων MySQL και η πρόσβαση σε αυτόν να είναι μέσω FTP και ένας Mail server. Από την πλευρά του χρήστη πρέπει να υπάρχουν τα απαραίτητα πεδία για την καταχώρηση των άρθρων καθώς και εύκολη πρόσβαση στην επικύρωση των χρηστών αλλά και ανάθεσης δικαιωμάτων και ρόλων σε αυτούς. -49-

62 4.3 Σχεδιασμός Υλοποίησης Για τον σχεδιασμό της υλοποίησης ακολουθήθηκαν τα απαραίτητα βήματα τα οποία περιλαμβάνουν: Μελέτη άλλων σελίδων του διαδικτύου, όπου παρατηρήθηκε ότι ο στόχος ήταν η απλή και φιλική εμφάνιση στον χρήστη και η γρήγορη εύρεση των ζητούμενων πληροφοριών. Έρευνα για τη δομή της ιστοσελίδας και του περιεχομένου της. Τι είναι CMS και ποια υπάρχουν διαθέσιμα δωρεάν στην αγορά. Τι είναι το Drupal και ποιες οι δυνατότητές του. Πως μπορούν να αλλάξουν οι θεματικές παραλλαγές του. Έρευνα για Modules που θα μπορούσαν να χρησιμοποιηθούν με βάση τις λειτουργίες που απαιτούνται. (π.χ. newsletter, block, forum, views) Εγκατάσταση του Drupal σε server. 4.4 Απαραίτητη προετοιμασία για το Drupal Προκειμένου να γίνει η εγκατάσταση του συστήματος Drupal με τον κατάλληλο τρόπο και χωρίς να δημιουργηθούν προβλήματα, θα πρέπει πρώτα να προηγηθεί η απαραίτητη διαδικασία για την προετοιμασία του συστήματος στο οποίο θα φιλοξενηθεί το Drupal. Όπως και πολλές άλλες υπηρεσίες που είναι διαθέσιμες μέσω του Διαδικτύου, χρειάζονται την φιλοξενία τους σε κάποιον εξυπηρετητή, έτσι και στο Drupal απαιτείται η ύπαρξη ενός εξυπηρετητή. Ο πλέον διαδεδομένος εξυπηρετητής είναι ο Apache, αλλά υπάρχουν στην διαθεσιμότητα και άλλοι εξυπηρετητές όπως ο IIS της Μicrosoft, o nginx της εταιρείας NGINX καθώς και ο GWS της Google. Aκόμη το Drupal για να λειτουργήσει χρειάζεται εγκατεστημένη και κάποια έκδοση της ΡΗΡ (5.2 και μετά) όπως και την ύπαρξη ενός εξυπηρετητή βάσεων δεδομένων. Το Drupal λειτουργεί είτε με την MySQL, είτε με την PostgreSQL είτε με την SQLite. Ωστόσο συνηθίζεται να επιλέγεται η MySQL. Όλα τα παραπάνω συστατικά συγκατελέγονται στην λίστα με τα project ανοικτού κώδικα και μπορούν να αξιοποιηθούν με πολύ εύκολο τρόπο μέσω του Διαδικτύου. Μία ευρέως διαδεδομένη τεχνική ως προς την ανάπτυξη ιστοσελίδων, είναι να επεξεργάζεται η ιστοσελίδα τοπικά σε κάποιον υπολογιστή και όταν έχει διαμορφωθεί κατάλληλα με τα απαιτούμενα χαρακτηριστικά, τότε να διατίθεται στο κοινό μέσω της φιλοξενίας σε κάποιον εξυπηρετητή. Η προηγούμενη διαδικασία ακολουθήθηκε και στην ανάπτυξη της ιστοσελίδας του ΕΛΚΕ. Στους τοπικούς υπολογιστές υπήρχε -50-

63 εγκατεστημένο LAMPP κάνοντας τις δοκιμαστικές τροποποιήσεις στην ιστοσελίδα και στη συνέχεια αφού γινόταν διαπίστωση πως δεν υπήρχε κανένα πρόβλημα, οι αλλαγές αυτές περνούσαν στο τελικό εξυπηρετητή που διέθετε την ιστοσελίδα στο Διαδίκτυο. 4.5 Εγκατάσταση LAMPP σε περιβάλλον Linux Παρακάτω ακολουθεί η διαδικασία της εγκατάστασης του LAMPP σε περιβάλλον Linux. Η διανομή Linux που χρησιμοποιήθηκε τοπικά στους υπολογιστές ήταν αυτή τoυ opensuse bit. To πρώτο βήμα που προηγείται είναι αυτό της εγκατάστασης του εξυπηρετητή βάσεων δεδομένων MySQL μέσω κονσόλας. Έτσι λοιπόν μέσω της κονσόλας γίνεται η εισαγωγή της παρακάτω εντολής. zypper install mysql-community-server mysql-community-server-client Στη συνέχεια θα πρέπει να γίνει ενεργοποίηση της MySQL και η αυτόματη ενεργοποίηση της υπηρεσίας κατά την εκκίνηση του συστήματος. systemctl enable mysql.service && systemctl start mysql.service H διαδικασία που ακολουθεί είναι αυτή της παραμετροποίησης της ασφάλειας της MySQL μέσω της ακόλουθης εντολής. mysql_secure_installation Μετά την εισαγωγή των απαραίτητων στοιχείων για την ασφαλή λειτουργία της MySQL (εισαγωγή κωδικών διαχειριστή, αφαίρεση ανώνυμων χρηστών, απομακρυσμένη σύνδεση), προκύπτει ένα ολοκληρωμένο σύστημα στο οποίο μπορούν να δημιουργηθούν βάσεις δεδομένων καθώς και όλες οι αναγκαίες ενέργειες που κρίνονται απαραίτητες. Εφόσον έχει εγκατασταθεί με επιτυχία η MySQL, σειρά έχει η διαδικασία εγκατάστασης του εξυπηρετητή Apache όπου γίνεται με πολύ απλό τρόπο μέσω των ακόλουθων εντολών. zypper install apache2 Όπως και προηγουμένως, έτσι και τώρα θα πρέπει να παραμετροποιηθεί η υπηρεσία αυτή για να ξεκινήσει καθώς και να ξεκινάει αυτόματα κάθε φορά με την εκκίνηση του συστήματος. systemctl enable apache2.service && systemctl start apache2.service Tα προεπιλεγμένα αρχεία διαχείρισης του Apache βρίσκονται στο κατάλογο /srv/www/htdocs/ και το αρχείο με τις απαραίτητες ρυθμίσεις στο -51-

64 /etc/apache2/httpd.conf. Επιπρόσθετες ακόμη ρυθμίσεις βρίσκονται στο /etc/apache2/conf.d. Για να διαπιστώσουμε πως έχει εγκατασταθεί ο εξυπηρετητής Apache χωρίς κανένα πρόβλημα, πραγματοποιείται μία δοκιμή με την διεύθυνση όπου φορτώνει τα προεγκατεστημένα αρχεία του καταλόγου /srv/www/htdocs και το αρχείο index.html. Στη συνέχεια μπορεί να εγκαταστασταθεί η PHP5 και το PHP 5 module με τον παρακάτω τρόπο. zypper install apache2-mod_php5 Μετά την εγκατάσταση η επανεκκίνηση του Apache είναι απαραίτητη. Έπειταγια να γίνει διαπίστωση της ομαλής λειτουργίας της PHP, δημιουργείται ένα αρχείο index.php στον κατάλογο /srv/www/htdocs, το οποίο καλείται από τον φυλλομετρητή. Αν όλα έχουν γίνει όπως πρέπει, θα πρέπει να εμφανιστεί το αποτέλεσμα της php σελίδας που έχει δημιουργηθεί. Στη συνέχεια θα γίνει εγκατάσταση του PhpMyAdmin εκτελώντας την παρακάτω εντολή. zypper install phpmyadmin Για να διασφαλιστεί πως η πρόσβαση στο PhpMyAdmin μπορεί να γίνεται μέσω του alias /phpmyadmin και /PhpMyAdmin, ανοίγουμε το αρχείο που βρίσκεται στον κατάλογο /etc/apache2/conf.d/phpmyadmin.conf και προσθέτουμε δύο γραμμές κώδικα στην αρχή του αρχείου όπως φαίνεται στην Εικόνα 13. Πρώτα όμως απαιτείται το άνοιγμα του αρχείου με κάποιον επεξεργαστή κειμένου, το οποίο γίνεται με την ακόλουθη εντολή. vim /etc/apache2/conf.d/phpmyadmin.conf -52-

65 Εικόνα 13: Τροποποίηση του αρχείου PhpMyAdmin.conf Έπειτα από μία επανεκκίνηση του Apache, είμαστε σε θέση να έχουμε πρόσβαση στο phpmyadmin (Εικόνα 14). Εικόνα 14: Πίνακας διαχείρισης του PhpMyAdmin. 4.6 Εγκατάσταση Drupal Προκειμένου να ξεκινήσει η διαδικασία της εγκατάστασης του συστήματος Drupal θα πρέπει πρώτα να είναι διαθέσιμα τα αρχεία που παρέχονται από την επίσημη ιστοσελίδα του Drupal (drupal.org). Αφού γίνουν διαθέσιμα, στη συνέχεια θα πρέπει να τοποθετηθούν στον φάκελο htdocs του εξυπηρετητή Apache. Κατά την διαδικασία της -53-

66 εγκατάστασης θα απαιτηθεί η ύπαρξη μιας βάσης δεδομένων που μπορεί πολύ εύκολα να δημιουργηθεί μέσω του PhpMyAdmin όπως παρουσιάζεται στην Εικόνα 15. Εικόνα 15: Δημιουργία νέας βάσης δεδομένων μέσω του PhpMyAdmin. Εφόσον έχει δημιουργηθεί η βάση δεδομένων, μπορεί πλέον να ξεκινήσει η διαδικασία της εγκατάστασης του Drupal όπου το πρώτο βήμα είναι αυτό της επιλογής του κατάλληλου επιθυμητού προφίλ (Εικόνα 16). Συνηθέστερη επιλογή είναι αυτή του στάνταρ προφίλ καθώς παρέχει κάποια παραπάνω χαρακτηριστικά σε σχέση με το minimal προφίλ. Εικόνα 16: Επιλογή προφίλ εγκατάστασης. -54-

67 Το επόμενο βήμα που ακολουθεί είναι αυτό της επιλογής της γλώσσας του συστήματος όπως εμφανίζεται στην Εικόνα 17. Εικόνα 17: Επιλογή γλώσσας. Αφού γίνει η μετάβαση στο επόμενο βήμα, θα γίνει εύκολα αντιληπτό πως προκύπτουν δύο σφάλματα όπως φαίνεται και στην Εικόνα 18. Εικόνα 18:Βήμα επικύρωσης των απαιτήσεων -55-

68 To πρώτο σφάλμα αφορά το σύστημα αρχείων και έχει να κάνει με τα δικαιώματα των αρχείων. Κατά την τοποθέτηση του φακέλου του Drupal στο συγκεκριμένο μονοπάτι του Apache χωρίς πρώτα να του έχουν εκχωρηθεί τα κατάλληλα δικαιώματα, παρουσιάζονται προβλήματα όπως και το παραπάνω καθώς δεν μπορεί το σύστημα του Drupal να πραγματοποιήσει τις απαραίτητες αλλαγές. Έτσι λοιπόν για την επίλυση αυτού του προβλήματος απαιτείται η εκχώρηση των κατάλληλων δικαιωμάτων στον φάκελο του Drupal όπως παρουσιάζεται στην Εικόνα 19. Ο τρόπος είναι πολύ απλός, απλά επιλέγεται ο φάκελος και στην καρτέλα των δικαιωμάτων δίνονται τα προβλεπόμενα δικαιώματα όπως δείχνει και η παρακάτω εικόνα. Πρέπει όμως να επισημανθεί πως τα ίδια δικαιώματα θα πρέπει να εκχωρηθούν και στους υποφακέλους καθώς και στα αρχεία που περιέχονται σε αυτούς. Εικόνα 19: Παράθυρο εκχώρησης δικαιωμάτων στους φακέλους. Το δεύτερο σφάλμα που παρατηρείται είναι και αυτό αρκετά κοινό και δεν υπάρχει λόγος ανησυχίας. Όπως μας προειδοποιεί το μήνυμα του σφάλματος, το αρχείο ρυθμίσεων δεν υπάρχει. Η διαδικασία της εγκατάστασης του Drupal απαιτεί από τον διαχειριστή την δημιουργία ενός αρχείου ρυθμίσεων, το οποίο είναι απαραίτητο -56-

69 συστατικό της διαδικασίας της εγκατάστασης. Αυτό που παροτρύνει ο οδηγός εγκατάστασης τον διαχειριστή είναι να αντιγράψει αφού πρώτα έχει μετονομάσει το αρχείο default.settings.php σε settings.php από την τοποθεσία /srv/www/htdocs/drupal/sites/default/default.settings.php στην τοποθεσία /srv/www/htdocs/drupal/default/settings.php. Αφού γίνουν αυτές οι δύο αναγκαίες αλλαγές γίνεται εύκολα αντιληπτό πως το βήμα της επιβεβεβαίωσης των απαιτήσεων δεν αντιμετωπίζει κανένα πρόβλημα. Η συνέχεια του οδηγού εγκατάστασης έχει να κάνει με την σύνδεση του Drupal με την βάση δεδομένων που έχει δημιουργηθεί. Δίνεται η δυνατότητα να επιλεγεί ο κατάλληλος τύπος της βάσης δεδομένων είτε MySQL, ΜariaDB ή ισοσύναμης, είτε SQLite. Έπειτα δίνεται το όνομα της βάσης δεδομένων καθώς και το όνομα του χρήστη και ο κωδικός του όπως παρουσιάζεται στην Εικόνα 20. Εικόνα 20: Εισαγωγή στοιχείων της βάσης δεδομένων. Eφόσον εκχωρηθούν με εγκυρότητα τα απαιτούμενα στοιχεία που αφορούν την βάση δεδομένων ακολουθεί η διαδικασία της εγκατάστασης του προφίλ (Εικόνα 21). -57-

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

71 Εικόνα 22: Εισαγωγή πληροφοριών του διαχειριστή της ιστοσελίδας. Σε περίπτωση που δεν υπάρξει κανένα σφάλμα κατά την παραπάνω διαδικασία θα εμφανιστεί το ακόλουθο μήνυμα πως η διαδικασία εγκατάστασης του Drupal, στέφθηκε με απόλυτη επιτυχία και έπειτα θα παρουσιαστεί η αρχική ιστοσελίδα που έχει δημιουργηθεί όπως φαίνεται στην Εικόνα 23 και στην Εικόνα

72 Εικόνα 23: Επιτυχής ολοκλήρωση διαδικασίας εγκατάστασης του συστήματος Drupal. Εικόνα 24: Αρχική σελίδα του Drupal μετά την διαδικασία της εγκατάστασης. -60-

73 4.7 Γενική διευθέτηση ιστοτόπου Η περιοχή διαχείρισης του Drupal χωρίζεται σε 6 κύριες κατηγορίες και έναν τομέα βοήθειας. Αυτές οι κατηγορίες είναι: Content (content management): Διαχείριση του περιεχομένου της ιστοσελίδας Structure: Έλεγχος της εμφάνισης και της δομής της ιστοσελίδας, καθώς και η διαχείριση των μενού και των τύπων περιεχομένων αλλά και διάφορων modules. Appearance: Διαχείριση των θεματικών παραλλαγών, εγκατάσταση και ενεργοποίησή τους. People: Διαχείριση των χρηστών, των ρόλων (ομάδων) και των δικαιωμάτων πρόσβασης αυτών. Modules: Εγκατάσταση, ενεργοποίηση αναβάθμιση και διαγραφή των modules που χρησιμοποιούνται στην ιστοσελίδα. Configuration: Έλεγχος των βασικών ρυθμίσεων της ιστοσελίδας. Reports: Εδώ βρίσκονται όλες οι αναφορές που δημιουργούνται από διάφορες καταγραφές συμβάντων του συστήματος (π.χ. αναβαθμίσεις, σφάλματα). Content (content management) Τα εργαλεία του τομέα Content (Εικόνα 25) επιτρέπουν την διαχείριση του περιεχομένου της ιστοσελίδας και συνεπώς είναι ένας από τους σημαντικούς τομείς διαχείρισης του Drupal. Τα εργαλεία αυτά παρέχουν την δυνατότητα ρυθμίσεων που αφορούν τα: Επεξεργασία περιεχομένου Διαγραφή περιεχομένου Αναζήτηση με διάφορα φίλτρα Προσθήκη περιεχομένου Διαχείριση σχολίων Διαχείριση όλων των τύπων περιεχομένου -61-

74 Εικόνα 25: Πίνακας διαχείρισης περιεχομένου. Δόμηση (Structure) Τα εργαλεία του τομέα Structure επιτρέπουν την διαχείριση και τον έλεγχο της όψης και της δομής της ιστοσελίδας, καθώς και τη διαχείριση των μενού και των τύπων περιεχωμένων αλλά και διάφορων modules. Τα εργαλεία αυτά παρέχουν την δυνατότητα ρυθμίσεων που αφορούν τα: Blocks Blocks Contact form Content Types Menus Taxonomy Με αυτό το μενού ο διαχειριστής έχει την δυνατότητα να ρυθμίσει σε ποιό σημείο (Region) θα εμφανίζεται το περιεχόμενο που επιθυμεί. Μπορεί να δημιουργήσει τα δικά του blocks δεδομένων και να τα ρυθμίσει να εμφανίζονται στο Region που επιθυμεί, σε διαφορετικούς ρόλους αλλά και τύπους περιεχομένου. Στην Εικόνα 26 που ακολουθεί παρουσιάζεται ο πίνακας διαχείρισης των block. -62-

75 Εικόνα 26: Πίνακας διαχείρισης των block. Κάθε θεματική παραλλαγή έχει διαφορετικά Regions. Επίσης μετά από την επεξεργασία μιας θεματικής παραλλαγής μπορεί να προστεθούν ή να επεξεργαστούν τα διαθέσιμα Regions. Για να μπορεί ο διαχειριστής να δεί που εμφανίζονται τα Regions στην ιστοσελίδα του για να μπορέσει να προσθέσει τα blocks δεδομένων του εκεί που επιθυμεί υπάρχει η επιλογή Demonstrate Block Regions όπως φαίνεται στην Εικόνα 27. Εικόνα 27: Η διάταξη των Regions Contact Form Με αυτό το μενού (Εικόνα 28) ο διαχειριστής έχει την δυνατότητα να ρυθμίσει το module που υπάρχει στον πυρήνα το οποίο παράγει μία φόρμα επικοινωνίας στο elke.teilar.gr/contact. -63-

76 Εικόνα 28: Σελίδα διαχείρισης της φόρμας επικοινωνίας. Content Types Τα περιεχόμενα στο Drupal κατηγοριοποιούνται σε διάφορους τύπους. Αυτό το μενού (Εικόνα 29) επιτρέπει την διαγραφή ή την μεταβολή των χαρακτηριστικών των ήδη υπαρχόντων τύποων περιεχομένου καθώς και να δημιουργηθούν καινούριοι τύποι που ικανοποιούν τις εκάστοτε ανάγκες μας. Αρχικά οι μόνοι διαθέσιμοι τύποι είναι Article και Basic Page αλλά καινούριοι τύποι μπορούν να εισαχθούν είτε από τον διαχειριστή είτε από διάφορα modules τα οποία έχουν εγκατασταθεί. Στην Εικόνα 29 παραθέτονται ορισμένοι από τους τύπους περιεχομένου που έχουν προστεθεί. Εικόνα 29: Σελίδα διαχείρισης των Content types. -64-

77 Menus Το συγκεκριμένο μενού (Εικόνα 30) παρέχει επιλογές για την δημιουργία και επεξεργασία των μενού της ιστοσελίδας. Ο διαχειριστής μπορεί να επεξεργαστεί και να προσθέσει συνδέσουμς στο Main menu της ιστοσελίδας ή να δημιουργήσει ένα δικό του και μέσω των Blocks που είδαμε νωρίτερα να το τοποθετήσει στην ιστοσελίδα. Εικόνα 30: Σελίδα διαχείρισης των μενού. Taxonomy Το μενού Taxonomy (Εικόνα 31) παρέχει επιλογές για την κατηγοριοποίηση και την ταξινόμηση των περιεχομένων χρησιμοποιώντας ορισμούς. Οι χρήστες μπορούν (εάν τους δοθεί το δικαίωμα) να κατηγοριοποιήσουν το περιεχόμενό τους χρησιμοποιώντας ορισμούς (terms) τους οποίους μπορούν να ομαδοποιήσουν σε λεξικά (vocabularies), δυνατότητα που σε συγκεκριμένες περιπτώσεις είναι ιδιαίτερα χρήσιμη. -65-

78 Εικόνα 31: Σελίδα διαχείρισης της κατηγοριοποίησης. Appearance Τα εργαλεία του τομέα Appearance (Εικόνα 32) επιτρέπουν την διαχείριση και τον έλεγχο των θεματικών παραλλαγών, την εγκατάσταση, αναβάθμιση και ενεργοποίησή τους. Εικόνα 32: Σελίδα διαχείρισης των θεματικών παραλλαγών. People Τα εργαλεία του τομέα People (Εικόνα 33) επιτρέπουν την διαχείριση και τον έλεγχο των χρηστών, των ρόλων αλλά και των δικαιωμάτων τους. Έτσι από το μενού -66-

79 Permissions μπορούμε να αφαιρέσουμε ή να προσθέσουμε δικαιώματα σε κάποιον ρόλο χρηστών. Εικόνα 33: Πίνακας διαχείρισης των ρόλων. Μodules Τα εργαλεία του τομέα Modules (Εικόνα 34) επιτρέπουν την εγκατάσταση, ενεργοποίηση, αναβάθμιση και διαγραφή των modules που χρησιμοποιούνται στην ιστοσελίδα. Εικόνα 34: Σελίδα διαχείρισης των Modules. -67-

80 Configuration Τα εργαλεία του τομέα Configuration (Εικόνα 35) επιτρέπουν τον έλεγχο των βασικών ρυθμίσεων της ιστοσελίδας. Μερικά από αυτά παραθέτονται παρακάτω: Site information: Εδώ ρυθμίζονται το όνομα της ιστοσελίδας, το slogan, το και ο σκοπός της Performance: Επιτρέπει να προσαρμοστούν οι επιδόσεις της ιστοσελίδας ανάλογα με τις εκάστοτε συνθήκες. Υπάρχουν επιλογές page caching, βελτιστοποίηση CSS και Javascript. Input formats: Καθορίζει τον τρόπο με τον οποίο το Drupal επεξεργάζεται τα δεδομένα που λαμβάνει από τον χρήστη. Filtered HTML όπου επιτρέπει την χρήση μερικών μόνο html tags και μετατρέπει αυτόματα τις διευθύνσεις ιστοσελίδων σε συνδέσμους και Full HTML όπου επιτρέπει την χρήση όλων των html tags καθώς και την χρήση Javascript. Image styles: Καθορίζει το μέγεθος και τον τρόπο που θα ανέβουν οι εικόνες σε ένα τύπο περιεχομένου Clean URLs: Ρυθμίζει τις διευθύνσεις στην ιστοσελίδα μας να είναι φιλικές προς τις μηχανές αναζήτησης. URL aliases: Περιέχει όλες τις αλλαγές που έχουμε κάνει στις διεθύνσεις του περιεχομένου της ιστοσελίδας. Εικόνα 35: Πίνακας ρυθμίσεων. Reports Στον τομέα Reports βρίσκονται όλες οι αναφορές που δημιουργούνται από διάφορες καταγραφές συμβάντων του συστήματος (π.χ. αναβαθμίσεις, σφάλματα). -68-

81 4.8 Modules Σε αυτή την ενότητα παρατίθενται ορισμένα κομβικά modules που χρησιμοποιήθηκαν κατά την ανάπτυξη της ιστοσελίδας του ΕΛΚΕ ΤΕΙ ΘΕΣΣΑΛΙΑΣ. Ο κατάλληλος συνδυασμός των modules που βρίσκονται στον πυρήνα του Drupal με επιπλέον modules που διατίθενται από την κοινότητα του Drupal παρέχουν την δυνατότητα δημιουργίας ακόμη και της πιο εξεζητημένης ιστοσελίδας, χωρίς ωστόσο να δαπανούνται άσκοπα οι πολύτιμοι πόροι του εξυπηρετητή και χωρίς να μειώνεται η αξιοπιστία της ιστοσελίδας ως προς την ασφάλεια και την ταχύτητα. Τα εν λόγω modules επιλέχθηκαν με βάση τις απαιτήσεις που προέκυψαν για την ομαλή λειτουργία της ιστοσελίδας. Παρακάτω αναφέρονται ορισμένα από αυτά. Views Το συγκεκριμένο module επιτρέπει στους διαχειριστές να δημιουργούν, να ελέγχουν αλλά και να εμφανίζουν λίστες περιεχομένου. Η κάθε λίστα που ελέγχεται από το module views είναι γνωστή ως view και η έξοδος ενός view είναι η λεγόμενη εμφάνιση (display). Οι διαφορετικές εμφανίσεις μπορούν να αφορούν κάποιο block ή μία σελίδα. Επίσης κάθε view μπορεί να έχει πολλαπλές εμφανίσεις. Προαιρετικά βοήθεια ως προς την πλοήγηση, συμπεριλαμβανομένου και ενός συστήματος μονοπατιού (path) και ενός στοιχείου μενού, μπορούν οριστούν για κάθε εμφάνιση σελίδας ενός view. Ένα view μπορεί να αφορά κάποια άτομα ενός συγκεκριμένου ρόλου χρηστών και μπορούν να προστεθούν, να επεξεργαστούν ή ακόμη και να διαγραφούν από την σελίδα διαχείρισης. Ο μηχανισμός ανάπτυξης των views παρέχει αξιοπιστία και μεγάλη προσαρμοστικότητα, επιτρέποντας τον ορισμό παραμέτρων μόνο όταν είναι απαραίτητο. Καθώς ένα περίπλοκο view μπορεί να χρησιμοποιεί όλες τις διαθέσιμες παραμέτρους για την δημιουργία περίπλοκων και αυξημένης διαδραστικότητας εφαρμογών, μία απλή λίστα περιεχομένου μπορεί να καθορίζει μόνο μερικές επιλογές. Όλα τα views βασίζονται πάνω σε ένα εννοιολογικό framework που περιλαμβάνει πεδία ή ξεχωριστά κομμάτια δεδομένων προς εμφάνιση, σχέσεις ή πληροφορίες σχετικά με το πως τα δεδομένα αλληλοσχετίζονται μεταξύ τους, επιχειρήματα (arguments) ή επιπρόσθετοι παράμετροι που βελτιώνουν δυναμικά το αποτέλεσμα του view, κριτήρια ταξινόμησης τα οποία είναι υπεύθυνα για την σειρά εμφάνισης των στοιχείων των τελικών αποτελεσμάτων, φίλτρα τα οποία περιορίζουν τα στοιχεία εμφάνισης των αποτελεσμάτων, εμφανίσεις (displays) όπου ελέγχουν που θα εμφανιστεί η έξοδος του -69-

82 view καθώς και μία επιλογή για ύπαρξη header και footer στο τελικό αποτέλεσμα του view. Views Foundation Το views Foundation module βοηθά στην μετατροπή οποιουδήποτε view σε χαρακτηριστικά του Zurb Foundation (orbit slider, tabs, accordion κτλ). Έτσι αναπτύχθηκε ένα slideshow όπως φαίνεται και στην Εικόνα 36 για την αρχική σελίδα, βασιζόμενο στα εργαλεία που παρέχονται από το εν λόγω module. Εικόνα 36: Slideshow αρχικής σελίδας. Quick tabs To Quick Tabs module δίνει την δυνατότητα για την δημιουργία blocks περιεχομένου τα οποία εσωκλείονται σε tabs, συγκεκριμένα views, blocks, nodes και άλλα quicktabs. Ακόμη μπορούν να δημιουργηθούν blocks στην ιστοσελίδα τα οποία περιέχουν πολλαπλά tabs με το κατάλληλο περιεχόμενο. Με την επιλογή του επιθυμητού tab (Εικόνα 37), εμφανίζεται το κατάλληλο περιεχόμενο στιγμιαία χρησιμοποιώντας jquery. Εικόνα 37: Εφαρμογή σε quicktabs

83 Leaflet Το Leaflet είναι μία σύγχρονη ανοικτού κώδικα βιβλιοθήκη JavaScript που σκοπό έχει να παρέχει διαδραστικούς χάρτες με responsive χαρακτηριστικά. Αναπτύχθηκε από τον Vladimir Agafonkin και την ομάδα του με κύρια χαρακτηριστικά την απλότητα, την αποδοτικότητα και την ευκολία χρήσης. Λειτουργεί ομαλά σε όλες τις πλατφόρμες, τόσο για desktop όσο και για mobile χρησιμοποιώντας τα προτερήματα της HTML5 και του CCS3. Μπορούν να επεκταθούν οι λειτουργίες του από έναν πολύ μεγάλο αριθμό από plugins αλλά επίσης διαθέτει και ένα πολύ καλό οδηγό χρήσης του API του και ο πηγαίος του κώδικας είναι άμεσα διαθέσιμος για οποιοδήποτε θελήσει να τον μελετήσει και να συνεισφέρει. Οι δυνατότητες του Leaflet έχουν ενσωματωθεί και παρέχονται στο Drupal μέσω του αντίστοιχου module. Έτσι λοιπόν, όπως φαίνεται και στην Εικόνα 38, δημιουργήθηκε ένας χάρτης ο οποίος προστέθηκε κάτω από την φόρμα επικοινωνίας. Εικόνα 38: Χάρτης Leaflet -71-

84 Backup and Migrate Το συγκεκριμένο module κρατά αντίγραφα ασφαλείας (Εικόνα 39) της MySQL βάσης δεδομένων, του κώδικα και των αρχείων του Drupal καθώς επίσης δίνει την δυνατότητα της μεταφοράς της ιστοσελίδας σε διαφορετικά περιβάλλοντα. Υποστηρίζει gzip, bzip και zip συμπίεση καθώς και προγραμματισμένη διαδικασία αυτόματης δημιουργίας αντιγράφων ασφαλείας. Εικόνα 39: Διαδικασία δημιουργίας backup. Advanced Forum Επειδή το module πυρήνα forum δεν προσφέρει πάρα πολλές δυνατότητες για την κατάλληλη ανάπτυξη ενός ολοκληρωμένου φόρουμ, έχει αναπτυχθεί από την κοινότητα του Drupal το Advanced Forum. Έτσι αυτό βασίζεται στο Forum module επεκτείνοντας τις λειτουργίες του. Σε συνδυασμό με διάφορα άλλα modules του Drupal (όπως Forum Access), πολλά από τα οποία χρησιμοποιούνται αυτόματα από το Advanced Forum, μπορούν να έχουν το ίδιο τελικό αποτέλεσμα σε σύγκριση με αυτόνομα προγράμματα για την ανάπτυξη forum. Επειδή χρησιμοποιεί το core module Forum, χρησιμοποιεί επίσης τους κόμβους (nodes) και τα σχόλια (comments) το οποίο το καθιστά ολοκληρωμένο. Παρακάτω στην Εικόνα 40 που ακολουθεί, εμφανίζεται το τελικό αποτέλεσμα. -72-

85 Εικόνα 40: Προβολή Φόρουμ. Simple News To Simple News δημοσιεύει και στέλνει newsletters σε λίστες στις οποίες έχουν εγγραφεί χρήστες. Μερικές από τις δυνατότητες του συγκεκριμένου module παρουσιάζονται παρακάτω. Αποστολή κόμβων (nodes) σαν newsletter στους χρήστες. Πολλαπλές κατηγορίες newsletter με ξεχωριστές ρυθμίσεις. Προαιρετική αποστολή επιβεβαίωσης εγγραφής σε ανώνυμους χρήστες. Παραμετροποιήσιμα θέματα . Υποστήριξη για πολυγλωσσικά newsletters. One Click Upload Στο Drupal δεν υπάρχει εξ ορισμού η δυνατότητα για ανέβασμα αρχείων μέσα απο κάποιον text editor (Εικόνα 41). Έτσι λοιπόν έχει αναπτυχθεί ένα module που καλύπτει αυτό την αστοχία στους text editors. Εικόνα 41: Ανέβασμα αρχείων μέσω του text editor. -73-

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης Σελίδα 1από ΤΕΙ ΚΑΒΑΛΑΣ Πτυχιακή εργασία Δικτυακή Εφαρμογή διαχείρισης ηλεκτρονικών εγγράφων υπηρεσίας. ΕΙΣΑΓΩΓΗ Μιλτιάδης Κακλαμάνης Σελίδα 2από Κατάλογος περιεχομένων ΕΙΣΑΓΩΓΗ...1 Σχετιζόμενα πρόσωπα...3

Διαβάστε περισσότερα

Τεχνικός Εφαρμογών Πληροφορικής

Τεχνικός Εφαρμογών Πληροφορικής Τεχνικός Εφαρμογών Πληροφορικής ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΙΣΑΓΩΓΗ Εξάμηνο: 2014Β Διδάσκουσα: Ηλεκτρονική Τάξη: Κανελλοπούλου Χριστίνα_ΠΕ19 Πληροφορικής Περιεχόμενα 1.Τι είναι η Php; 2.Πως γίνετε η γραφή

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος... 13. Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος... 13. Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος... 13 Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15 1.1 Εισαγωγή... 16 1.2 Διαδίκτυο και Παγκόσμιος Ιστός Ιστορική αναδρομή... 17 1.3 Αρχές πληροφοριακών συστημάτων

Διαβάστε περισσότερα

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής Εργαλεία και τεχνικές από την πλευρά του πελάτη Java Applet

Διαβάστε περισσότερα

Σταύρος Καουκάκης Ευτύχιος Βαβουράκης

Σταύρος Καουκάκης Ευτύχιος Βαβουράκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Βασικές Έννοιες Διαδικτύου Wordpress & Κοινωνικά Δίκτυα (Part 1) Σταύρος Καουκάκης Ευτύχιος Βαβουράκης 1 Περιεχόμενα Γενικές Έννοιες Διαδικτύου Η αρχιτεκτονική του Web Συστήματα Διαχείρισης

Διαβάστε περισσότερα

Τι είναι ένα σύστημα διαχείρισης περιεχομένου; δυναμικό περιεχόμενο

Τι είναι ένα σύστημα διαχείρισης περιεχομένου; δυναμικό περιεχόμενο Τι είναι ένα σύστημα διαχείρισης περιεχομένου; Παρά την μεγάλη εξάπλωση του διαδικτύου και τον ολοένα αυξανόμενο αριθμό ιστοσελίδων, πολλές εταιρείες ή χρήστες δεν είναι εξοικειωμένοι με την τεχνολογία

Διαβάστε περισσότερα

Μια καλή επιλογή θα ήταν www.epipla-onomasas.gr (χωρίζοντας τις λέξεις με παύλα -) ή

Μια καλή επιλογή θα ήταν www.epipla-onomasas.gr (χωρίζοντας τις λέξεις με παύλα -) ή Τι είναι ένα CMS CMS ή Σύστημα Διαχείρισης Περιεχομένου (Content Management System) ονομάζουμε ένα λογισμικό που μας βοηθά να ελέγχουμε και να διαχειριζόμαστε έναν ιστότοπο δημόσιας ή περιορισμένης πρόσβασης.

Διαβάστε περισσότερα

1 ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΑΣ ΓΕΩΠΟΝΙΑΣ - ΤΜΗΜΑ ΦΥΤΙΚΗΣ ΠΑΡΑΓΩΓΗΣ

1 ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΑΣ ΓΕΩΠΟΝΙΑΣ - ΤΜΗΜΑ ΦΥΤΙΚΗΣ ΠΑΡΑΓΩΓΗΣ 1 2 Περιεχόμενα 1. Εισαγωγή... 5 2. Επεξήγηση των εργαλείων που χρησιμοποιήθηκαν για την δημιουργία της ιστοσελίδας... 6 2.1 Γλώσσα προγραμματισμού ΗΤML για την δημιουργία της Ιστοσελίδας... 6 2.2 Γλώσσα

Διαβάστε περισσότερα

ΑΡΧΕς ΛΕΙΤΟΥΡΓΙΑς CMS (Content Management System) ΚΑΙ ΕΦΑΡΜΟΓΗ ΤΟΥς ςε ΜΙΚΡΟΜΕςΑΙΕς ΕΠΙΧΕΙΡΗςΕΙς

ΑΡΧΕς ΛΕΙΤΟΥΡΓΙΑς CMS (Content Management System) ΚΑΙ ΕΦΑΡΜΟΓΗ ΤΟΥς ςε ΜΙΚΡΟΜΕςΑΙΕς ΕΠΙΧΕΙΡΗςΕΙς ΑΡΧΕς ΛΕΙΤΟΥΡΓΙΑς CMS (Content Management System) ΚΑΙ ΕΦΑΡΜΟΓΗ ΤΟΥς ςε ΜΙΚΡΟΜΕςΑΙΕς ΕΠΙΧΕΙΡΗςΕΙς Χρήστος Γεωργιάδης Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Περιεχόμενα 1. Η εικόνα του διαδικτύου

Διαβάστε περισσότερα

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες Εισαγωγή-Σκοπός. Τρόποι δημιουργίας δυναμικών ιστοσελίδων. Dynamic Web Pages. Dynamic Web Page Development Using Dreamweaver. Τρόποι δημιουργίας δυναμικών

Διαβάστε περισσότερα

Οι διαδικασίες ενος CMS είναι σχεδιασμένες για να:

Οι διαδικασίες ενος CMS είναι σχεδιασμένες για να: CMS Content Management System Σύστημα Διαχείρισης Περιεχομένου Ένα σύστημα διαχείρισης περιεχομένου (CMS) είναι μια συλλογή απο διαδικασίες που χρησιμοποιούνται για τη διαχείριση της ροής εργασίας σε ένα

Διαβάστε περισσότερα

Ανάπτυξη Υπηρεσίας Καταλόγου LDAP με τα στοιχεία του προσωπικού του TEI Πειραιά. Νίκος Πασσαράς. Εισηγητής: Πρεζεράκος Γεώργιος

Ανάπτυξη Υπηρεσίας Καταλόγου LDAP με τα στοιχεία του προσωπικού του TEI Πειραιά. Νίκος Πασσαράς. Εισηγητής: Πρεζεράκος Γεώργιος ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΙΔΡΥΜΑ ΠΕΙΡΑΙΑ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ανάπτυξη Υπηρεσίας Καταλόγου LDAP με τα στοιχεία του προσωπικού του TEI Πειραιά Νίκος Πασσαράς

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΜΕ ΧΡΗΣΗ PHP

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΜΕ ΧΡΗΣΗ PHP Αντώνης Χρυσόπουλος Κατερίνα Κυπριώτη Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΜΕ ΧΡΗΣΗ PHP Για να γίνουμε όλοι καλύτεροι άνθρωποι Τι έχει το μενού σήμερα??? 1. Τι είναι η PHP??? Τι είναι

Διαβάστε περισσότερα

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet.

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet. ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet. ΩΡΕΣ ΔΙΔΑΣΚΑΛΙΑΣ: ΕΙΔΟΣ ΜΑΘΗΜΑΤΟΣ: Μικτό Γενικός σκοπός είναι να αποκτήσει ο καταρτιζόμενος τις αναγκαίες γνώσεις σχετικά με εργαλεία και τις τεχνικές για

Διαβάστε περισσότερα

6 Εισαγωγή στο Wordpress 3.x

6 Εισαγωγή στο Wordpress 3.x Περιεχόμενα 1 Εγκατάσταση του WordPress... 11 Ελάχιστες απαιτήσεις... 11 Easy PHP... 12 Εγκατάσταση Easy PHP... 12 Βήματα εγκατάστασης EasyPHP με εικόνες... 13 Το EasyPHP στα Ελληνικά... 17 Κατέβασμα και

Διαβάστε περισσότερα

Εισαγωγή στις αρχές του CMS. Joomla Training. Wordpress Training.

Εισαγωγή στις αρχές του CMS. Joomla Training. Wordpress Training. Εισαγωγή στις αρχές του CMS. Joomla Training. Wordpress Training. Τι είναι το CMS? Η ιστορία των CMSs Δυνατότητες των CMS Είναι τα CMSs οι σωστές λύσεις; Server-side λογισμικό που εξειδικεύεται στην απλοποιήσει,

Διαβάστε περισσότερα

Θέμα: «Σχεδιασμός και Ανάπτυξη Εφαρμογής Διαδραστικού Βιβλίου»

Θέμα: «Σχεδιασμός και Ανάπτυξη Εφαρμογής Διαδραστικού Βιβλίου» ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΟΜΕΑΣ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Θέμα: «Σχεδιασμός και Ανάπτυξη Εφαρμογής Διαδραστικού Βιβλίου» ΠΤΥΧΙΚΗ ΕΡΓΑΣΙΑ ΑΘΑΝΑΣΙΑΔΟΥ ΑΙΜΙΛΙΑ Α.Ε.Μ : 1342

Διαβάστε περισσότερα

Σεμινάριο joomla! 3. Διοργάνωση: Άλφα Εκπαιδευτική Εισηγητής: Μοτσενίγος Ιωάννης Ηλεκτρονικός Μηχανικός-Σύμβουλος Internet Marketing- Web Designer

Σεμινάριο joomla! 3. Διοργάνωση: Άλφα Εκπαιδευτική Εισηγητής: Μοτσενίγος Ιωάννης Ηλεκτρονικός Μηχανικός-Σύμβουλος Internet Marketing- Web Designer Σεμινάριο joomla! 3 Διοργάνωση: Άλφα Εκπαιδευτική Εισηγητής: Μοτσενίγος Ιωάννης Ηλεκτρονικός Μηχανικός-Σύμβουλος Internet Marketing- Web Designer Ξεκινώντας:Τι είναι τα CMS Η Joomla είναι λογισμικό κατασκευής

Διαβάστε περισσότερα

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής 4 φάσεις διαδικτυακών εφαρμογών 1.Εφαρμογές στατικής πληροφόρησης

Διαβάστε περισσότερα

Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης. Μικρομεσαίες Επιχειρήσεις και Καινοτομία

Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης. Μικρομεσαίες Επιχειρήσεις και Καινοτομία Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης Μικρομεσαίες Επιχειρήσεις και Καινοτομία Ηλεκτρονικό Εμπόριο H δυνατότητα των καταναλωτών και των εμπορικών καταστημάτων να κάνουν

Διαβάστε περισσότερα

GoDigital.CMS Content Management System. Πλήρης διαχείριση περιεχομένου ιστοσελίδας

GoDigital.CMS Content Management System. Πλήρης διαχείριση περιεχομένου ιστοσελίδας GoDigital.CMS Content Management System Πλήρης διαχείριση περιεχομένου ιστοσελίδας Γενική περιγραφή Πλήρης λύση ηλεκτρονικής παρουσίας Το GoDigital.CMS είναι μία πλήρη εφαρμογή διαχείρισης ηλεκτρονικής

Διαβάστε περισσότερα

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAVIS-V1-2012 TRAVIS Λογισμικό Διαχείρισης Παραβάσεων Φωτοεπισήμανσης Το σύστημα διαχείρισης παραβάσεων φωτοεπισήμανσης

Διαβάστε περισσότερα

Σημασιολογικοί Ιστοχώροι: Γιατί Drupal. 18/3/2014 Μυρτώ Αμοργιανού Μονάδα Σημασιολογικού Ιστού

Σημασιολογικοί Ιστοχώροι: Γιατί Drupal. 18/3/2014 Μυρτώ Αμοργιανού Μονάδα Σημασιολογικού Ιστού Σημασιολογικοί Ιστοχώροι: Γιατί Drupal 18/3/2014 Μυρτώ Αμοργιανού Τι είναι CMS Τα Συστήματα Διαχείρισης Περιεχομένου (ΣΔΠ, Content Management Systems, CMS) είναι διαδικτυακές εφαρμογές που επιτρέπουν την

Διαβάστε περισσότερα

hel-col@otenet.gr Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής (ΠΕ19 MSc) Ελληνικό Κολλέγιο Θεσσαλονίκης kparask@hellenic-college.

hel-col@otenet.gr Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής (ΠΕ19 MSc) Ελληνικό Κολλέγιο Θεσσαλονίκης kparask@hellenic-college. Χρήση της Διεπαφής Προγραμματισμού Εφαρμογής Google Maps για τη δημιουργία διαδραστικού χάρτη με τα Μνημεία Παγκόσμιας Πολιτιστικής Κληρονομιάς της ΟΥΝΕΣΚΟ στη Θεσσαλονίκη Εμμανουήλ Τσάμης 1, Κωνσταντίνος

Διαβάστε περισσότερα

Σχεδίαση και Υλοποίηση μιας Διαδικτυακής Βάσης Δεδομένων για Δεδομένα Τουρισμού

Σχεδίαση και Υλοποίηση μιας Διαδικτυακής Βάσης Δεδομένων για Δεδομένα Τουρισμού Τ.Ε.Ι ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ Τ.Ε.Ι ΚΑΒΑΛΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗ ΠΛΗΡΟΦΟΡΙΩΝ Σχεδίαση και Υλοποίηση μιας Διαδικτυακής Βάσης Δεδομένων για Δεδομένα Τουρισμού ΠΤΥΧΙΑΚΗ

Διαβάστε περισσότερα

Ημερομηνία Παράδοσης: 4/4/2013

Ημερομηνία Παράδοσης: 4/4/2013 Δράση 9.14 / Υπηρεσία εντοπισμού λογοκλοπής Κυρίως Παραδοτέο / Σχεδιασμός και ανάπτυξη λογισμικού (λογοκλοπής) και βάσης δεδομένων (αποθετηρίου) Επιμέρους Παραδοτέο 9.14.1.4 / Πληροφοριακό σύστημα υπηρεσίας

Διαβάστε περισσότερα

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α Τεχνολογικό Εκπαιδευτικό Ίδρυμα Πειραιά Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α Θέμα της εργασίας Κατασκευή Σύγχρονης Ιστοσελίδας του Τμήματος Ηλεκτρολογίας ΤΕΙ Πειραιά Subject of Work Construction of Modern Website

Διαβάστε περισσότερα

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι Λειτουργικά Συστήματα 1 Λογισμικό του Υπολογιστή Για να λειτουργήσει ένας Η/Υ εκτός από το υλικό του, είναι απαραίτητο και το λογισμικό Το σύνολο των προγραμμάτων που συντονίζουν τις λειτουργίες του υλικού

Διαβάστε περισσότερα

Linux Terminal Server Project

Linux Terminal Server Project Linux Terminal Server Project Ένα κεντρικό σύστημα διαχείρισης των τερματικών κοινού της Βιβλιοθήκης & Κέντρου Πληροφόρησης του Πανεπιστημίου Μακεδονίας Κολοβός Φίλιππος filippos@uom.gr Ευάγγελος Μπάνος

Διαβάστε περισσότερα

ΕΛΑΧΙΣΤΕΣ ΑΠΑΙΤΗΣΕΙΣ ΕΞΟΠΛΙΣΜΟΥ... 22 ΕΠΙΚΟΙΝΩΝΙΑ... 23

ΕΛΑΧΙΣΤΕΣ ΑΠΑΙΤΗΣΕΙΣ ΕΞΟΠΛΙΣΜΟΥ... 22 ΕΠΙΚΟΙΝΩΝΙΑ... 23 Πλατφόρµα Ασύγχρονης Τηλεκπαίδευσης GUnet e-class Ακαδηµαϊκό ιαδίκτυο GUnet Οµάδα Ασύγχρονης Τηλεκπαίδευσης Τίτλος Πλατφόρµα Ασύγχρονης Τηλεκπαίδευσης Συντάκτης Ακαδηµαϊκό ιαδίκτυο GUnet Οµάδα Ασύγχρονης

Διαβάστε περισσότερα

Don t hire us if you want average. We only do exceptional.

Don t hire us if you want average. We only do exceptional. Εισαγωγή Το i-flexible είναι ένα εργαλείο σύγχρονης εταιρικής παρουσίασης, αμφίδρομης επικοινωνίας, δειγματισμού και λήψης παραγγελιών, με δυνατότητες διαχείρισης ομάδων χρηστών και ορισμού δικαιωμάτων

Διαβάστε περισσότερα

φιλοξενία & διαχείριση ιστοσελίδων

φιλοξενία & διαχείριση ιστοσελίδων φιλοξενία & διαχείριση ιστοσελίδων για Ηλεκτρονικό Εμπόριο και Internet Marketing κατάλογος προϊόντων & υπηρεσιών 2015 Πακέτα φιλοξενίας - Περιγραφή Cloud Hosting - Κατοχύρωση ονόματος - Οικονομικό START

Διαβάστε περισσότερα

Χαρακτηριστικά ιστοσελίδας

Χαρακτηριστικά ιστοσελίδας Χαρακτηριστικά ιστοσελίδας COSMOS4U e-shop Χαρακτηριστικά Επιπλέον Δυνατότητες Κατάλογος προϊόντων για πώληση Δυνατότητα δημιουργίας καταλόγου απεριόριστου αριθμού προϊόντων και κατηγοριών. Εμφάνιση χαρακτηριστικών

Διαβάστε περισσότερα

Internet Business Hellas

Internet Business Hellas Internet Business Hellas Περιεχόμενα Εισαγωγή email marketing IBNEWSLETTER Χαρακτηριστικά Πλεονεκτήματα Επικοινωνία Εισαγωγή email marketing «Το μάρκετινγκ μέσω ηλεκτρονικού ταχυδρομείου συνίσταται στην

Διαβάστε περισσότερα

Τίτλος Πλατφόρµα Ασύγχρονης Τηλεκπαίδευσης. Συντάκτης. Ακαδηµαϊκό ιαδίκτυο GUnet Οµάδα Ασύγχρονης Τηλεκπαίδευσης

Τίτλος Πλατφόρµα Ασύγχρονης Τηλεκπαίδευσης. Συντάκτης. Ακαδηµαϊκό ιαδίκτυο GUnet Οµάδα Ασύγχρονης Τηλεκπαίδευσης Τίτλος Πλατφόρµα Ασύγχρονης Τηλεκπαίδευσης Συντάκτης Ακαδηµαϊκό ιαδίκτυο GUnet Οµάδα Ασύγχρονης Τηλεκπαίδευσης Ηµεροµηνία Μάιος 2004 Πίνακας Περιεχοµένων ΕΙΣΑΓΩΓΗ 3 ΦΙΛΟΣΟΦΙΑ ΠΛΑΤΦΟΡΜΑΣ 4 ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ

Διαβάστε περισσότερα

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΡΑΣΤΙΚΗΣ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΕΞΥΠΗΡΕΤΗΣΗ ΑΣΘΕΝΩΝ ΣΥΜΒΕΒΛΗΜΕΝΟΥΣ ΜΕ ΤΟΝ Ε.Ο.Π.Υ. Τ.Ε.Ι ΚΑΒΑΛΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΡΑΣΤΙΚΗΣ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΕΞΥΠΗΡΕΤΗΣΗ ΑΣΘΕΝΩΝ» ΟΝΟΜΑΤΕΠΩΝΥΜΑ ΣΠΟΥΔΑΣΤΩΝ : ~ΔΕΛΗΓΙΑΝΝΗ ΚΥΡΙΑΚΗ, 1925~

Διαβάστε περισσότερα

Συςτήματα Διαχείριςησ Περιεχομένου

Συςτήματα Διαχείριςησ Περιεχομένου Συςτήματα Διαχείριςησ Περιεχομένου Ο όροσ Συςτήματα Διαχείριςησ Περιεχομένου (Content Management Systems - CMS) αναφέρεται ςτισ εφαρμογέσ που επιτρέπουν ςτο χρήςτη να διαχειρίζεται το δικτυακό του περιεχόμενο,

Διαβάστε περισσότερα

Χαρακτηριστικά ιστοσελίδας

Χαρακτηριστικά ιστοσελίδας Χαρακτηριστικά ιστοσελίδας COSMOS4U Web Site Pro Χαρακτηριστικά Επιπλέον Δυνατότητες Προφίλ Εταιρίας Παρουσίαση της εταιρίας σας με φωτογραφικό υλικό και κείμενα. Τήρηση προδιαγραφών και χρήση λέξεων κλειδιά

Διαβάστε περισσότερα

Δημιουργία και συντήρηση ιστοτόπου με χρήση WordPress

Δημιουργία και συντήρηση ιστοτόπου με χρήση WordPress Δημιουργία και συντήρηση ιστοτόπου με χρήση WordPress Διήμερο σεμινάριο για δημιουργία ιστοσελίδων με WordPress στο περιβάλλον του ΠΣΔ για τους εκπαιδευτικούς ΠΕ19/20 Βερύκιος Α., ΚΕΠΛΗΝΕΤ Λευκάδας Διήμερο

Διαβάστε περισσότερα

Μέρος Ι: Εγκατάσταση και ιαμόρφωση των MySQL, Apache και PHP

Μέρος Ι: Εγκατάσταση και ιαμόρφωση των MySQL, Apache και PHP Εισαγωγή... 1 Σε Ποιους Απευθύνεται το Βιβλίο... 1 Η Οργάνωση του Βιβλίου... 2 Ο Πηγαίος Κώδικας του Βιβλίου... 3 Συμβάσεις που Χρησιμοποιούνται σε Αυτό το Βιβλίο... 3 Μέρος Ι: Εγκατάσταση και ιαμόρφωση

Διαβάστε περισσότερα

XAMPP Apache MySQL PHP javascript xampp

XAMPP Apache MySQL PHP javascript xampp XAMPP Το xampp είναι ένα δωρεάν πρόγραμμα με το οποίο μπορούμε να κάνουμε εγκατάσταση τον Apache, τη MySQL και την PHP. Apache. Ο Apache είναι ένας Web Server. Είναι δηλαδή πρόγραμμα το οποίο τρέχει μόνιμα

Διαβάστε περισσότερα

Δημιουργία ιστοσελίδας με Wordpress - Βασικές λειτουργίες

Δημιουργία ιστοσελίδας με Wordpress - Βασικές λειτουργίες Δημιουργία ιστοσελίδας με Wordpress - Βασικές λειτουργίες Περιεχόμενα Εγγραφή και αρχικές ρυθμίσεις Διαχείριση Ιστοσελίδας Δημιουργία Menu Δημιουργία σελίδας Δημιουργία Αρχικής Σελίδας Δημιουργία Άρθρου

Διαβάστε περισσότερα

Παρουσίαση υπηρεσιών Τηλεδιάσκεψης και Aσύγχρονης εξ αποστάσεως εκπαίδευσης στο Πανελλήνιο Σχολικό Δίκτυο

Παρουσίαση υπηρεσιών Τηλεδιάσκεψης και Aσύγχρονης εξ αποστάσεως εκπαίδευσης στο Πανελλήνιο Σχολικό Δίκτυο Παρουσίαση υπηρεσιών Τηλεδιάσκεψης και Aσύγχρονης εξ αποστάσεως εκπαίδευσης στο Πανελλήνιο Σχολικό Δίκτυο Δρ. Αύγουστος Τσινάκος ΠΛΗΝΕΤ Δυτικής Θεσ/νίκης tsinakos@uom.gr Παν. Μακεδονίας Ομάδα Εργασίας

Διαβάστε περισσότερα

Internet Marketing. www.webkey.gr info@webkey.gr 694 8888 640

Internet Marketing. www.webkey.gr info@webkey.gr 694 8888 640 Internet Marketing www.webkey.gr info@webkey.gr 694 8888 640 Τι είναι το Internet Marketing? To Marketing είναι η διαδικασία η οποία συνδέει ένα προϊόν ή μια υπηρεσία με τον καταναλωτή. Το Internet Marketing

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΕΣ ΣΧΕΔΙΑΣΗΣ ΔΙΑΔΙΚΤΥΑΚΟΥ ΤΟΠΟΥ (Web Site Design Technologies)

ΤΕΧΝΟΛΟΓΙΕΣ ΣΧΕΔΙΑΣΗΣ ΔΙΑΔΙΚΤΥΑΚΟΥ ΤΟΠΟΥ (Web Site Design Technologies) ΕΠΛ 012 ΤΕΧΝΟΛΟΓΙΕΣ ΣΧΕΔΙΑΣΗΣ ΔΙΑΔΙΚΤΥΑΚΟΥ ΤΟΠΟΥ (Web Site Design Technologies) Διδάσκων Καθηγητής: Δημήτριος Τσουμάκος Εαρινό Εξάμηνο 2010 Βασικές Πληροφορίες Πότε: Δευτέρα & Πέμπτη 10:30-12μμ Πού: ΧΩΔ01

Διαβάστε περισσότερα

Σταύρος Καουκάκης Ευτύχιος Βαβουράκης

Σταύρος Καουκάκης Ευτύχιος Βαβουράκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 1) Σταύρος Καουκάκης Ευτύχιος Βαβουράκης 1 Λίγα Λόγια για το Σχολείο Μονάδες

Διαβάστε περισσότερα

Κατασκευή Ιστολόγιου

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

Διαβάστε περισσότερα

Δράση Α8. Πρακτική εκπαίδευση του προσωπικού ενδοσχολικής τεχνικής υποστήριξης. Υπηρεσίες Πανελλήνιου Σχολικού Δικτύου

Δράση Α8. Πρακτική εκπαίδευση του προσωπικού ενδοσχολικής τεχνικής υποστήριξης. Υπηρεσίες Πανελλήνιου Σχολικού Δικτύου Οριζόντιο Έργο Υποστήριξης Σχολείων, Εκπαιδευτικών και Μαθητών στο Δρόμο για το ΨΗΦΙΑΚΟ ΣΧΟΛΕΙΟ, νέες υπηρεσίες Πανελλήνιου Σχολικού Δικτύου και Στήριξη του ΨΗΦΙΑΚΟΥ ΣΧΟΛΕΙΟΥ Δράση Α8 Πρακτική εκπαίδευση

Διαβάστε περισσότερα

ΕΛΟΤ ΕΝ ISO 9001:2008 QMSCERT - cert No.: 120908/1480. ΕΛΟΤ ΕΝ ISO 14001:2004 QMSCERT - cert No.: 120908/1481

ΕΛΟΤ ΕΝ ISO 9001:2008 QMSCERT - cert No.: 120908/1480. ΕΛΟΤ ΕΝ ISO 14001:2004 QMSCERT - cert No.: 120908/1481 Εισαγωγή Το active3 είναι ένα εργαλείο σύγχρονης εταιρικής παρουσίασης, αμφίδρομης επικοινωνίας, δειγματισμού και λήψης παραγγελιών, με δυνατότητες διαχείρισης ομάδων χρηστών και ορισμού δικαιωμάτων πρόσβασης,

Διαβάστε περισσότερα

Προγραμματισμός διαδικτυακών εφαρμογών με PHP

Προγραμματισμός διαδικτυακών εφαρμογών με PHP ΕΣΔ516: Τεχνολογίες Διαδικτύου Προγραμματισμός διαδικτυακών εφαρμογών με PHP Ερωτήματα μέσω Περιεχόμενα Περιεχόμενα Λογισμικό για εφαρμογές Web Η τριεπίπεδη αρχιτεκτονική (3-tier architecture) Εισαγωγή

Διαβάστε περισσότερα

Λιόντα Αναστασία Μεταπτυχιακή Φοιτήτρια

Λιόντα Αναστασία Μεταπτυχιακή Φοιτήτρια ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΗΣ ΜΕ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ PHP, JAVASCRIPT ΚΑΙ ΔΗΜΙΟΥΡΓΙΑ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ MYSQL ΓΙΑ ΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΥΝΑΜΙΚΟΥ ΙΣΤΟΤΟΠΟΥ ΕΜΠΟΡΙΚΟΥ ΠΕΡΙΕΧΟΜΕΝΟΥ ΓΙΑ ΑΝΑΝΕΩΣΙΜΕΣ ΜΟΡΦΕΣ ΕΝΕΡΓΕΙΑΣ ΚΑΙ ΗΛΕΚΤΡΟΛΟΓΙΚΑ

Διαβάστε περισσότερα

Μεταπτυχιακή Διατριβή

Μεταπτυχιακή Διατριβή Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική» Μεταπτυχιακή Διατριβή Τίτλος Διατριβής Υπηρεσία Αυτόματης Ανάκτησης Συνδεδεμένης Δομής Θεματικών Επικεφαλίδων μέσω

Διαβάστε περισσότερα

Social Network : Programming on FACEBOOK

Social Network : Programming on FACEBOOK Social Network : Programming on FACEBOOK Συντελεστές: Παύλος Τούλουπος Ευθυμία Παπαδοπούλου Ξάνθη Μάρκου Κοινωνικά Δίκτυα Κοινωνικό δίκτυο προέρχεται από την ψυχολογία αφορά μια κοινωνική δομή ατόμων τα

Διαβάστε περισσότερα

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Πλωτάρχης Γ. ΚΑΤΣΗΣ ΠΝ Γιατί χρησιµοποιούµε δίκτυα? Δίκτυο Σύνολο Η/Υ και συσκευών Συνδεδεµένα µε κάποιο µέσο Stand-alone

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ της Πλατφόρμας Τηλεκατάρτισης ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή...2 2. Αρχική σελίδα, Εισαγωγή & Περιβάλλον Συστήματος...3 2.1. Αρχική σελίδα εισαγωγής...3 2.2. Εισαγωγή στην Πλατφόρμα Τηλε-κατάρτισης...4

Διαβάστε περισσότερα

Περιεχόμενα. Τεχνικό εγχειρίδιο χρήσης IBNEWSLETTER

Περιεχόμενα. Τεχνικό εγχειρίδιο χρήσης IBNEWSLETTER Περιεχόμενα ΣΤΟΙΧΕΙΑ ΕΠΙΚΟΙΝΩΝΙΑΣ... 2 Τμήμα Υποστήριξης (Help Desk and Client Support)... 2 ΕΙΣΑΓΩΓΗ... 3 Εισαγωγή Email marketing... 3 Σχετικά με το IBNEWSLETTER... 3 Μεθοδολογία... 4 Χαρακτηριστικά...

Διαβάστε περισσότερα

5 ο ΚΕΦΑΛΑΙΟ: ΠΡΑΚΤΙΚΟ ΚΟΜΜΑΤΙ

5 ο ΚΕΦΑΛΑΙΟ: ΠΡΑΚΤΙΚΟ ΚΟΜΜΑΤΙ 5 ο ΚΕΦΑΛΑΙΟ: ΠΡΑΚΤΙΚΟ ΚΟΜΜΑΤΙ 5.1 Εισαγωγή Το πρακτικό κομμάτι της πτυχιακής μας εργασίας αφορά την δημιουργία μιας λειτουργικής ιστοσελίδας με την χρήση της πλατφόρμας του Weebly, που αποτελεί μια σύγχρονη

Διαβάστε περισσότερα

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών World Wide Web (WWW) Θέματα Επεξεργασία δεδομένων στο Web Δημιουργία απλών σελίδων HTML Περιγραφή κάποιων XHTML στοιχείων (tags) Εξέλιξης του WWW Το WWW

Διαβάστε περισσότερα

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή 1 Πίνακας Περιεχομένων 1. Εισαγωγή... 4 1.1 Περιβάλλον Moodle...4 1.2 Χρήση ονόματος χρήστη και κωδικού...4 1.3 Δημιουργία νέου μαθήματος...4 1.3.1

Διαβάστε περισσότερα

Χαρακτηριστικά ιστοσελίδας

Χαρακτηριστικά ιστοσελίδας Χαρακτηριστικά ιστοσελίδας COSMOS4U Web Portal Χαρακτηριστικά Επιπλέον Δυνατότητες Έως 10 κατηγορίες αρθρογραφίας και 10 υποκατηγορίες Δημιουργούμε έως 10 κατηγορίες αρθρογραφίας που η κάθε μια μπορεί

Διαβάστε περισσότερα

ΠΡΟΛΟΓΟΣ. Σε ποιους απευθύνεται αυτό το βιβλίο... vi Διάρθρωση του βιβλίου... vi

ΠΡΟΛΟΓΟΣ. Σε ποιους απευθύνεται αυτό το βιβλίο... vi Διάρθρωση του βιβλίου... vi Πίνακας Περιεχομένων ΠΡΟΛΟΓΟΣ V Σε ποιους απευθύνεται αυτό το βιβλίο... vi Διάρθρωση του βιβλίου... vi 1η Ενότητα: Κινητός ιστός... vii 2η Ενότητα: Κινητές εφαρμογές στην πλατφόρμα Android... vii 3η Ενότητα:

Διαβάστε περισσότερα

Σχεδιασμός και Ανάπτυξη Ιστοσελίδων ΙΙ ΙΕΚ ΤΡΙΑΝΔΡΙΑΣ ΓΡΑΦΙΣΤΑΣ ΕΝΤΥΠΟΥ ΚΑΙ ΗΛΕΚΤΡΟΝΙΚΩΝ ΜΕΣΩΝ. CMS Content Management Systems Joomla

Σχεδιασμός και Ανάπτυξη Ιστοσελίδων ΙΙ ΙΕΚ ΤΡΙΑΝΔΡΙΑΣ ΓΡΑΦΙΣΤΑΣ ΕΝΤΥΠΟΥ ΚΑΙ ΗΛΕΚΤΡΟΝΙΚΩΝ ΜΕΣΩΝ. CMS Content Management Systems Joomla Σχεδιασμός και Ανάπτυξη Ιστοσελίδων ΙΙ ΙΕΚ ΤΡΙΑΝΔΡΙΑΣ ΓΡΑΦΙΣΤΑΣ ΕΝΤΥΠΟΥ ΚΑΙ ΗΛΕΚΤΡΟΝΙΚΩΝ ΜΕΣΩΝ CMS Content Management Systems Joomla Τι είναι ένα CMS; Ένα Content Management System (CMS) είναι μία μορφή

Διαβάστε περισσότερα

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

Αποτελεί την πρόταση του GUnet. ασύγχρονης τηλεκπαίδευσης. Είναι ένα ανοικτό αρθρωτό σύστημα διαχείρισης ηλεκτρονικών μαθημάτων Open eclass -GUnet Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης ης ΣΥΝΕ ΡΙΟ ΗΜΙΟΥΡΓΩΝ ΕΛΛΑΚ 19-20 Ιουνίου 2009 ΤΣΙΜΠΑΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ Υπεύθυνος Ομάδας Ασύγχρονης Τηλεκπαίδευσης GUnet η πλατφόρμα με δυο λόγια Αποτελεί

Διαβάστε περισσότερα

Liveschool Marketing Services

Liveschool Marketing Services Liveschool Marketing Services Περιεχόμενα Βελτιστοποίηση website SEO... 3 Social media design & creation... 4 Social media management... 4 Διαγωνισμοί Facebook... 5 Google Adwords... 5 Facebook Ads...

Διαβάστε περισσότερα

Υλοποίηση ιστότοπου πολιτιστικού. Σερβίων-Κοζάνης

Υλοποίηση ιστότοπου πολιτιστικού. Σερβίων-Κοζάνης ΑΤΕΙ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ Τμήμα Μηχανικών Πληροφορικής ΤΕ Υλοποίηση ιστότοπου πολιτιστικού χαρακτήρα για την περιοχή Σερβίων-Κοζάνης ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Τσικόπουλος Αθανάσιος (ΑΜ: Τ-2974)

Διαβάστε περισσότερα

GoDigital.Store E-Commerce Platform

GoDigital.Store E-Commerce Platform GoDigital.Store E-Commerce Platform Πλήρης διαχείριση καταλόγου και καταστήματος banet Α.Ε. Βαλαωρίτου 20 54625 Θεσσαλονίκη Τ.2310253999 F.2310253998 www.banet.gr info@banet.gr GoDigital.Store Γενική περιγραφή

Διαβάστε περισσότερα

Η HTML 5 θα αλλάξει το Web?

Η HTML 5 θα αλλάξει το Web? Η HTML 5 θα αλλάξει το Web? (ή αλλιώς, έρχεται το τέλος των plugins?) Αλέξανδρος Καράκος Εργαστήριο Προγραµµατισµού και Επεξεργασίας Πληροφοριών Internet 2... Είναι ένα ξεχωριστό µέσο δηµοσίευσης πληροφοριών

Διαβάστε περισσότερα

Εισαγωγή στον Παγκόσμιο ιστό και στη γλώσσα Html. Χρ. Ηλιούδης

Εισαγωγή στον Παγκόσμιο ιστό και στη γλώσσα Html. Χρ. Ηλιούδης Εισαγωγή στον Παγκόσμιο ιστό και στη γλώσσα Html Χρ. Ηλιούδης Παγκόσμιος Ιστός (WWW) Ο Παγκόσμιος Ιστός (World Wide Web WWW), ή απλώς Ιστός, βασίζεται στην ιδέα των κατανεμημένων πληροφοριών. Αντί όλες

Διαβάστε περισσότερα

Ιδρυματικό Αποθετήριο ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ.

Ιδρυματικό Αποθετήριο ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Ιδρυματικό Αποθετήριο ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Οδηγίες κατάθεσης εργασίας στο σύστημα διαχείρισης αποθετηρίου DSpace 2 Κατάθεση εργασίας στο σύστημα Ιδρυματικού Αποθετηρίου 1. Είσοδος στο σύστημα 1. Ανοίγουμε

Διαβάστε περισσότερα

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ, ΠΛΗΡΟΦΟΡΙΚΗΣ & ΙΚΤΥΩΝ Εργ. Τεχνολογίας Λογισμικού & Υπηρεσιών S 2 E Lab Π Τ Υ Χ Ι

Διαβάστε περισσότερα

Αν Ναι, δείτε πως με το λογισμικό axes μπορείτε!

Αν Ναι, δείτε πως με το λογισμικό axes μπορείτε! Θέλετε να μάθετε πως μπορείτε να έχετε πρόσβαση στις 5250 οθόνες μέσω browser, χωρίς αλλαγή στις υπάρχουσες εφαρμογές και χωρίς εγκατάσταση στον client? Αν Ναι, δείτε πως με το λογισμικό axes μπορείτε!

Διαβάστε περισσότερα

Περιεχόμενα. Εισαγωγή Αρχιτεκτονική - Σχεδιασμός - Υλοποίηση Προδιαγραφές Χαρακτηριστικά Templates Επικοινωνία

Περιεχόμενα. Εισαγωγή Αρχιτεκτονική - Σχεδιασμός - Υλοποίηση Προδιαγραφές Χαρακτηριστικά Templates Επικοινωνία Περιεχόμενα Εισαγωγή Αρχιτεκτονική - Σχεδιασμός - Υλοποίηση Προδιαγραφές Χαρακτηριστικά Templates Επικοινωνία Εισαγωγή «Το ηλεκτρονικό εμπόριο καλύπτει οποιαδήποτε μορφή επιχειρηματικής ή διοικητικής συναλλαγής

Διαβάστε περισσότερα

Χαρακτηριστικά ιστοσελίδας

Χαρακτηριστικά ιστοσελίδας Χαρακτηριστικά ιστοσελίδας COSMOS4U Web Site Biz Χαρακτηριστικά Επιπλέον Δυνατότητες Προφίλ Εταιρίας Παρουσίαση της εταιρίας σας με φωτογραφικό υλικό και κείμενα. Τήρηση προδιαγραφών και χρήση λέξεων κλειδιά

Διαβάστε περισσότερα

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr»

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr» Επεξήγηση web site με λογικό διάγραμμα «Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr» Web : www.e-base.gr E-mail : support@e-base.gr Facebook : Like Twitter : @ebasegr Πολλοί άνθρωποι

Διαβάστε περισσότερα

Λογισμική Εφαρμογή Διαχείρισης Ερωτηματολογίων ΟΔΗΓΟΣ ΧΡΗΣΗΣ System Συμβουλευτική Α.Ε

Λογισμική Εφαρμογή Διαχείρισης Ερωτηματολογίων ΟΔΗΓΟΣ ΧΡΗΣΗΣ System Συμβουλευτική Α.Ε σχετικά με τον έλεγχο της καπνιστικής συνήθειας 1 22 Λογισμικές εφαρμογές καταγραφής και αξιοποίησης πληροφοριών σχετικά με τον έλεγχο της καπνιστικής συνήθειας Λογισμική Εφαρμογή Διαχείρισης Ερωτηματολογίων

Διαβάστε περισσότερα

Γαβαλάς Δαμιανός dgavalas@aegean.gr

Γαβαλάς Δαμιανός dgavalas@aegean.gr Δικτυακά Πολυμέσα ΙΙ Διάλεξη #1 η : Οργάνωση & στόχοι μαθήματος, καλές αρχές σχεδιασμού στο web, τα μεγαλύτερα λάθη στον web σχεδιασμό Γαβαλάς Δαμιανός dgavalas@aegean.gr 1 Στόχοι μαθήματος Κατανόηση της

Διαβάστε περισσότερα

www.companyname.gr/webstat

www.companyname.gr/webstat ICOP - ΥΠΗΡΕΣΙΕΣ - INTERNET WEBSOLUTIONS Θρασυμάχου 14, Αθήνα - 6ος όροφος Τηλέφωνο: 210 2139880 Fax: 210 2139916 E-mail: sales@icop.gr www.icop.gr ΠΡΟΤΑΣΗ-ΑΝΑΘΕΣΗ ΕΡΓΟΥ Ημερομηνία:.. E-mail: Εταιρεία:..

Διαβάστε περισσότερα

Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α

Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α 1 Windows 8.1 1.1 Βασικές Έννοιες Πληροφορικής και Επικοινωνιών Εισαγωγή 19 Τι είναι ο Ηλεκτρονικός Υπολογιστής 20 Κατηγορίες Υπολογιστών 21 Κύρια μέρη ενός Προσωπικού Υπολογιστή

Διαβάστε περισσότερα

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης

ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης ΕΓΚΑΤΑΣΤΑΣΗ & ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗ INTERNET INFORMATION SERVER (IIS) ΓΙΑ ΥΛΟΠΟΙΗΣΗ ΥΠΗΡΕΣΙΩΝ ΔΙΑΔΙΚΤΥΟΥ (WEB SERVICES) ΣΠΟΥΔΑΣΤΡΙΑ:Μπάρδα Μαρία ΕΙΣΗΓΗΤΗΣ: Τσιαντής

Διαβάστε περισσότερα

1. Celly Social Network Development

1. Celly Social Network Development 1. Celly Social Network Development Η περιγραφή Το Celly προσφέρει τη δυνατότητα δημιουργίας κοινωνικών δικτύων ειδικά προσαρμοσμένων σε φορητές συσκευές καθώς είναι προσβάσιμο και από Android και ios

Διαβάστε περισσότερα

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Εισαγωγή Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής Στόχος του μαθήματος Στόχος του μαθήματος είναι να

Διαβάστε περισσότερα

Ως Διαδίκτυο (Internet) ορίζεται το παγκόσμιο (διεθνές) δίκτυο ηλεκτρονικών υπολογιστών (international network).

Ως Διαδίκτυο (Internet) ορίζεται το παγκόσμιο (διεθνές) δίκτυο ηλεκτρονικών υπολογιστών (international network). ΙΔΡΥΜΑ ΝΕΟΛΑΙΑΣ ΚΑΙ ΔΙΑ ΒΙΟΥ ΜΑΘΗΣΗΣ ΥΠΗΡΕΣΙΕΣ ΔΙΑΔΙΚΤΥΟΥ Καλαμάτα, 2015 Το Διαδίκτυο Ως Διαδίκτυο (Internet) ορίζεται το παγκόσμιο (διεθνές) δίκτυο ηλεκτρονικών υπολογιστών (international network). Πρόκειται

Διαβάστε περισσότερα

Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας

Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας Β5.1.2 Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας Τι θα μάθουμε σήμερα: Να ορίζουμε τι είναι πρωτόκολλο επικοινωνίας Να εξηγούμε τη χρησιμότητα των πρωτοκόλλων επικοινωνίας Να ονομάζουμε τα σημαντικότερα

Διαβάστε περισσότερα

Cloud Computing with Google and Microsoft. Despoina Trikomitou Andreas Diavastos Class: EPL425

Cloud Computing with Google and Microsoft. Despoina Trikomitou Andreas Diavastos Class: EPL425 Cloud Computing with Google and Microsoft Despoina Trikomitou Andreas Diavastos Class: EPL425 Σχεδιάγραμμα Εισαγωγή Τεχνολογίες Cloud Computing Περιγραφή Εργασίας Επιτεύγματα Εργασίας Συμπεράσματα Cloud

Διαβάστε περισσότερα

Εγχειρίδιο εγκατάστασης και χρήσης περιοδικών etwinning

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

Διαβάστε περισσότερα

Εργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου

Εργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Εργαλεία CASE Computer Assisted Systems Engineering Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2011-2012 1 Εργαλεία CASE

Διαβάστε περισσότερα

Bread Online. Παναγιώτης Ιωαννίδης Επιβλέπων καθηγητής: Μηνάς Δασυγένης

Bread Online. Παναγιώτης Ιωαννίδης Επιβλέπων καθηγητής: Μηνάς Δασυγένης Bread Online Σχεδιασμός και μετατροπή μιας απλής οικιακής συσκευής σε επαναπρογραμματιζόμενη συσκευή IP Παναγιώτης Ιωαννίδης Επιβλέπων καθηγητής: Μηνάς Δασυγένης Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών

Διαβάστε περισσότερα

SITEBUILDER ΠΛΑΤΦΟΡΜΑ ΑΥΤΟΝΟΜΗΣ ΚΑΤΑΣΚΕΥΗΣ & ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΑΚΩΝ ΤΟΠΩΝ (WEBSITE) ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ. Version 2.0

SITEBUILDER ΠΛΑΤΦΟΡΜΑ ΑΥΤΟΝΟΜΗΣ ΚΑΤΑΣΚΕΥΗΣ & ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΑΚΩΝ ΤΟΠΩΝ (WEBSITE) ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ. Version 2.0 SITEBUILDER ΠΛΑΤΦΟΡΜΑ ΑΥΤΟΝΟΜΗΣ ΚΑΤΑΣΚΕΥΗΣ & ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΑΚΩΝ ΤΟΠΩΝ (WEBSITE) ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Version 2.0 Περιεχόμενα 1. Οδηγίες πρόσβασης... 3 2. Οδηγίες Σχεδιασμού Website... 4 2.1. Έναρξη...

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΑ 1. ΕΙΣΑΓΩΓΗ ΚΑΙ ΠΡΩΤΑ ΒΗΜΑΤΑ 10 2. ΕΡΓΑΣΙΑ ΜΕ ΚΕΙΜΕΝΑ 20 3. ΜΟΡΦΟΠΟΙΗΣΗ 15

ΚΕΦΑΛΑΙΑ 1. ΕΙΣΑΓΩΓΗ ΚΑΙ ΠΡΩΤΑ ΒΗΜΑΤΑ 10 2. ΕΡΓΑΣΙΑ ΜΕ ΚΕΙΜΕΝΑ 20 3. ΜΟΡΦΟΠΟΙΗΣΗ 15 Vellum Open Office Web Authoring Professional Certificate Πιστοποιητικό ανάπτυξης εφαρµογών διαδικτύου µε εξειδίκευση στην γλώσσα Open Office Vellum Global Educational Services Σελίδα 1 από 1 Vellum Open

Διαβάστε περισσότερα

Προγραμματισμός Διαχείρισης Συστημάτων Ι

Προγραμματισμός Διαχείρισης Συστημάτων Ι Προγραμματισμός Διαχείρισης Συστημάτων Ι Μάθημα 7ο X Window System Μιχαηλίδης Παναγιώτης Tι είναι παραθυρικό σύστημα; Ένα παραθυρικό σύστημα (window system) είναι μια γραφική διεπαφή χρήστη (Graphical

Διαβάστε περισσότερα

Συστήματα διαχείρισης περιεχομένου

Συστήματα διαχείρισης περιεχομένου Content Management Systems Συστήματα διαχείρισης περιεχομένου Συμεωνίδης Ευστάθιος BSc in Information Technology MSc in Information Systems MSc in Management Linked In: http://gr.linkedin.com/pub/stathis-simeonidis/24/217/92

Διαβάστε περισσότερα

Ψηφιακό Σχολείο 2.0. Βασικές έννοιες Υποδομές Ηλεκτρονική Μάθηση Διαχείριση Ηλεκτρονικής Τάξης Οργάνωση Ηλεκτρονικού Μαθήματος

Ψηφιακό Σχολείο 2.0. Βασικές έννοιες Υποδομές Ηλεκτρονική Μάθηση Διαχείριση Ηλεκτρονικής Τάξης Οργάνωση Ηλεκτρονικού Μαθήματος Βασικές έννοιες Υποδομές Ηλεκτρονική Μάθηση Διαχείριση Ηλεκτρονικής Τάξης Οργάνωση Ηλεκτρονικού Μαθήματος Βασικές έννοιες Υποδομές H ενσωμάτωση των Τεχνολογιών Πληροφορικής και Επικοινωνίας (ΤΠΕ) στην

Διαβάστε περισσότερα

Πειραιάς S 2 Ε Lab Ιούνιος 2012. Εισηγητής: Δ. Ν. Καλλέργης, MSc. Εργ. Συνεργάτης

Πειραιάς S 2 Ε Lab Ιούνιος 2012. Εισηγητής: Δ. Ν. Καλλέργης, MSc. Εργ. Συνεργάτης Πειραιάς S 2 Ε Lab Ιούνιος 2012 Εισηγητής: Δ. Ν. Καλλέργης, MSc. Εργ. Συνεργάτης Πνευµατικά δικαιώµατα Τα πνευµατικά δικαιώµατα χρησιµοποίησης του µη πρωτότυπου υλικού της εργασίας ανήκουν στο/στη φοιτητή/-τρια

Διαβάστε περισσότερα

Συνέδριο ΕΛΛΑΚ 2010. Open Source λογισμικό σε εφαρμογές του δημόσιου και ιδιωτικού τομέα

Συνέδριο ΕΛΛΑΚ 2010. Open Source λογισμικό σε εφαρμογές του δημόσιου και ιδιωτικού τομέα Συνέδριο ΕΛΛΑΚ 2010 Open Source λογισμικό σε εφαρμογές του δημόσιου και ιδιωτικού τομέα Μπαλασάς Αντώνης (antoniom@tessera.gr) Εφόπουλος Βασίλης (efop@tessera.gr) Θεσσαλονίκη, Μάϊος 2010 1 Ταυτότητα εταιρείας

Διαβάστε περισσότερα

Μπορείτε τα δείτε βιντεάκι με τη διαδικασία εδώ: http://www.greektuts.net/greek-in-joomla/

Μπορείτε τα δείτε βιντεάκι με τη διαδικασία εδώ: http://www.greektuts.net/greek-in-joomla/ 1) Εμφάνιση ιστοσελίδας Ανοίγουμε το πρόγραμμα πλοήγησης (Firefox, Chrome, Internet Explorer κτλ) και στη γραμμή διευθύνσεων πληκτρολογούμε τη διεύθυνση http://localhost ή http://127.0.0.1. Αν δεν βλέπουμε

Διαβάστε περισσότερα

Εφαρμογή Διαχείρισης Ψηφιακής Πληροφορίας ΟΔΗΓΟΣ ΧΡΗΣΗΣ System Συμβουλευτική Α.Ε

Εφαρμογή Διαχείρισης Ψηφιακής Πληροφορίας ΟΔΗΓΟΣ ΧΡΗΣΗΣ System Συμβουλευτική Α.Ε σχετικά με τον έλεγχο της καπνιστικής συνήθειας 1 25 Λογισμικές εφαρμογές καταγραφής και αξιοποίησης πληροφοριών σχετικά με τον έλεγχο της καπνιστικής συνήθειας Λογισμική Εφαρμογή Διαχείρισης Ψηφιακής

Διαβάστε περισσότερα