...

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής

by user

on
Category: Documents
20632

views

Report

Comments

Transcript

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης
Σχολή Τεχνολογικών Εφαρμογών
Τμήμα Μηχανικών Πληροφορικής
Πτυχιακή Εργασία
Τίτλος: Υλοποίηση μιας δυναμικής ιστοσελίδας για ένα ερευνητικό εργαστήριο του
τμήματος Ηλεκτρολογίας.
Ευθύμιος Πορταράκης (ΑΜ:1259)
Μάνoς Σαββιδάκης(ΑΜ:1478)
Επόπτης Καθηγητής: Νίκος Παπαδάκης
Ευχαριστίες
Με την ολοκλήρωση της παρούσας πτυχιακής θα θέλαμε να ευχαριστήσουμε
θερμά τον κ. Νίκο Παπαδάκη, καθηγητή του τμήματος Μηχανικών Πληροφορικής
του Τ.Ε.Ι. Κρήτης και επιβλέποντα της πτυχιακής μας, για την εμπιστοσύνη που μας
έδειξε με την ανάθεση της συγκεκριμένης εργασίας και για την καθοδήγηση που μας
προσέφερε κατά την εκπόνησή της.
Επίσης θα θέλαμε να ευχαριστήσουμε θερμά τις οικογένειές μας για την ηθική
και οικονομική συμπαράσταση όχι μόνο κατά τη διάρκεια της εκπόνησης της
πτυχιακής εργασίας μας, αλλά και καθ’ όλη τη διάρκεια των σπουδών μας.
Σελίδα 2
Abstract
This thesis deals with the upgrading of Electrology Department’s existing
website using Joomla content management system. The issues to be addressed in this
thesis are the following.
General information of the internet in education, content management systems
(CMS), and additional tools for the site’s construction. It will also analyze Joomla’s
features and the development tools we used, as also it will be given a detailed
description of their installation.
Then, we will analyze site’s construction in backend-frontend level as well as
the use of plugins that contributed to correct configuration.
Additional, reference will be made on correct site shielding and its effective
confrontation of risks-threats.
Finally, we get a preview of the site and its potential.
Σελίδα 3
Περίληψη
Η παρούσα πτυχιακή εργασία ασχολείται με την αναβάθμιση της ήδη
υπάρχουσας ιστοσελίδας του τμήματος χρησιμοποιώντας το σύστημα διαχείρισης
περιεχόμενου Joomla. Τα θέματα που θα αναλυθούν στην πτυχιακή εργασία είναι τα
παρακάτω.
Γενικές πληροφορίες για το διαδίκτυο στην εκπαίδευση, τα συστήματα
διαχείρισης περιεχομένου (CMS), και πρόσθετα εργαλεία για την κατασκευή της
ιστοσελίδας. Επίσης, θα γίνει ανάλυση των χαρακτηριστικών του Joomla και των
εργαλείων ανάπτυξης που χρησιμοποιήσαμε, όπως επίσης θα δοθεί και αναλυτική
περιγραφή της εγκατάστασης τους.
Κατόπιν, θα αναλύσουμε την κατασκευή της ιστοσελίδας σε backend-frontend
επίπεδο καθώς επίσης και την χρήση των πρόσθετων(plugins) που συντέλεσαν στη
σωστή διαμόρφωσή της.
Επιπρόσθετα, θα γίνει αναφορά πάνω στη σωστή θωράκιση του site και την
αποτελεσματική αντιμετώπιση των κινδύνων-απειλών.
Τέλος, γίνετε προεπισκόπηση της ιστοσελίδας και των δυνατοτήτων της.
Σελίδα 4
ΠΕΡΙΕΧΟΜΕΝΑ
Περιεχόμενα
Κεφάλαιο 1 Εισαγωγή....................................................................................................7
1.1 Γενικά για το ΤΕΙ.................................................................................................7
1.2 Τμήμα Ηλεκτρολογίας.........................................................................................8
1.3 Η ιστοσελίδα του τμήματος Ηλεκτρολογίας.......................................................8
Κεφάλαιο 2 Τεχνολογία και Εργαλεία ανάπτυξης.........................................................9
2.1 Διαδίκτυο και χρησιμότητα στην εκπαίδευση.....................................................9
2.1.1 Διαδίκτυο........................................................................................................9
2.1.2 Χρησιμότητα του διαδικτύου και της πληροφορικής στην εκπαίδευση........9
2.1.3 Εξέλιξη της πληροφορικής στην εκπαίδευση..............................................10
2.2 Ιστοσελίδα.........................................................................................................11
2.2.1 Στατικές Ιστοσελίδες....................................................................................12
2.2.2 Δυναμικές Ιστοσελίδες.................................................................................12
2.3 Σύστημα διαχείρισης περιεχομένου...................................................................13
2.4 Σύστημα διαχείρισης διαδικτυακού περιεχομένου...........................................13
2.5 Δημοφιλή συστήματα διαχείρισης περιεχομένου.............................................15
2.5.1 WordPress....................................................................................................15
2.5.2 Joomla..........................................................................................................16
2.5.3 Drupal...........................................................................................................17
2.5.4 Επιλογή καταλληλότερου συστήματος διαχείρισης περιεχομένου..............18
Κεφάλαιο 3 Joomla......................................................................................................19
3.1 Περιγραφή.........................................................................................................19
3.2 Οι δυνατότητες του Joomla...............................................................................19
3.3 Τα χαρακτηριστικά του Joomla.........................................................................20
3.4 Εκτεταμένη διαχείριση......................................................................................20
3.5 Η δομή του Joomla............................................................................................21
3.6 Απόκτηση Joomla..............................................................................................21
3.7 Πόσο κοστίζει....................................................................................................21
Κεφάλαιο 4 Χρήση του Joomla στον ιστότοπο...........................................................22
4.1 Τεχνολογίες και εργαλεία..................................................................................22
4.1.1 Apache..........................................................................................................22
4.1.2 PHP..............................................................................................................24
4.1.3 SQL..............................................................................................................25
4.1.4 PhpMyAdmin...............................................................................................26
4.1.5 Wamp...........................................................................................................27
4.2 Προετοιμασία και εγκατάσταση........................................................................28
4.2.1 Εγκατάσταση λογισμικού Wampserver.......................................................29
4.2.2 Δημιουργία βάσης δεδομένων.....................................................................30
4.2.3 Δημιουργία χρήστη......................................................................................31
4.2.4 Εγκατάσταση του Joomla............................................................................33
4.2.5 Εγκατάσταση ελληνικής γλώσσας στο Joomla...........................................38
Σελίδα 5
ΠΕΡΙΕΧΟΜΕΝΑ
Κεφάλαιο 5 Υλοποίηση της ιστοσελίδας.....................................................................40
5.1 Εγκατάσταση template για την ιστοσελίδα.......................................................40
5.2 Επεξεργασία ιστοσελίδας σε επίπεδο Βackend................................................42
5.2.1 K2.................................................................................................................42
5.2.1.1 Δημιουργία άρθρων................................................................................43
5.2.1.2 Δημιουργία κατηγορίας άρθρων.............................................................44
5.2.1.3 Δημιουργία extra fields...........................................................................45
5.2.1.4 Δημιουργία extra fields groups...............................................................47
5.2.2 Δημιουργία-Επεξεργασία-μενού..................................................................48
5.2.3 Akeeba backup.............................................................................................51
5.2.4 Falang...........................................................................................................52
5.2.5 CoalaWeb traffic..........................................................................................54
5.3 Επεξεργασία ιστοσελίδας σε επίπεδο Frontend...............................................55
5.3.1 JQuery..........................................................................................................55
5.3.2 HTML5........................................................................................................58
5.3.3 CSS3.............................................................................................................60
5.3.4 Bootstrap......................................................................................................63
5.4 Γενικές ρυθμίσεις..............................................................................................65
5.4.1 Γενικές ρυθμίσεις-Site.................................................................................65
5.4.2 Γενικές ρυθμίσεις-System............................................................................67
5.4.3 Γενικές ρυθμίσεις-Server.............................................................................68
5.4.4 Γενικές ρυθμίσεις-Permissions....................................................................70
5.4.5 Γενικές ρυθμίσεις-Text Filters.....................................................................71
Κεφάλαιο 6 Ασφάλεια.................................................................................................72
6.1 Γενικά................................................................................................................72
6.2 Κίνδυνοι.............................................................................................................72
6.3 Αντιμετώπιση Κινδύνων....................................................................................74
6.4 Πώς να θωρακίσουμε το Joomla.......................................................................75
6.5 Γιατί να επιλέξουμε το Joomla 2.5....................................................................76
6.5.1 Χαρακτηριστικά του Joomla 2.5..................................................................76
6.5.2 Διαφορές Joomla 2.5 με προηγούμενες εκδόσεις........................................78
Κεφάλαιο 7 Προεπισκόπηση της ιστοσελίδας.............................................................80
Συμπεράσματα..............................................................................................................89
Μελλοντικές επεκτάσεις της ιστοσελίδας....................................................................90
Βιβλιογραφία................................................................................................................91
Σελίδα 6
Κεφάλαιο 1ο - Εισαγωγή
Κεφάλαιο 1 - Εισαγωγή
1.1 Γενικά για το TEI
Το T.E.I Κρήτης ιδρύθηκε το 1983 με σκοπό να παρέχει τεχνολογική εκπαίδευση
στους φοιτητές της Ελλάδας. Από τότε έχει επεκταθεί σε μεγάλο βαθμό
περιλαμβάνοντας:
 Σχολή Τεχνολογικών Εφαρμογών (με παραρτήματα στα Χανιά και το
Ρέθυμνο)
 Σχολή Διοίκησης & Οικονομίας(με παραρτήματα στον Άγιο Νικόλαο και
την Ιεράπετρα)
 Σχολή Επαγγελμάτων Υγείας & Πρόνοιας
 Σχολή Τεχνολογίας Γεωπονίας
Οι οποίες υποστηρίζονται από τα τμήματα Γενικών Θετικών Επιστημών και το
Κέντρο Ξένων Γλωσσών & Φυσικής Αγωγής. Ο κύκλος σπουδών ολοκληρώνεται σε
4 χρόνια και περιλαμβάνει διαλέξεις και μαθήματα, θεωρητικά και εργαστηριακά.
Επιπλέον, οι φοιτητές καλούνται πριν την αποφοίτηση τους να κάνουν την πρακτική
και την πτυχιακή τους εργασία.
Η φοίτηση στο Τ.Ε.Ι. προσφέρει εκπαίδευση σε τεχνολογικά θέματα και
προετοιμάζει τους φοιτητές έτσι ώστε να αποτελέσουν ειδικευμένα και υπεύθυνα
μέλη της κοινωνίας. Με μόνιμο εκπαιδευτικό προσωπικό 200 περίπου μέλη και
10.000 περίπου φοιτητές, το ΤΕΙ είναι μια πετυχημένη ακαδημαϊκή κοινότητα, με
καλά εξοπλισμένη βιβλιοθήκη, εστίες, αθλητικές εγκαταστάσεις και ιατρείο.
Σελίδα 7
Κεφάλαιο 1ο - Εισαγωγή
1.2 Τμήμα Ηλεκτρολογίας
Το Τμήμα Ηλεκτρολόγων Μηχανικών Τ.Ε. ανήκει στη Σχολή Τεχνολογικών
Εφαρμογών του Τ.Ε.Ι. Κρήτης. Έχει ως αποστολή του να προάγει με τη διδασκαλία
και την εφαρμοσμένη έρευνα, την ανάπτυξη και τη μετάδοση των γνώσεων στον
τομέα της Ηλεκτρολογίας. Για την απόκτηση των απαραίτητων γνώσεων, το Τμήμα
αναπτύσσει κατάλληλο θεωρητικό υπόβαθρο σπουδών με υψηλού επιπέδου
εργαστηριακή και πρακτική άσκηση, καθώς επίσης και οργάνωση υποδομής για
εφαρμοσμένη τεχνολογική έρευνα. Με τη θεωρητική και εφαρμοσμένη επιστημονική
κατάρτιση οι πτυχιούχοι του Τμήματος εφοδιάζονται με τις απαραίτητες γνώσεις και
ικανότητες, ώστε να ανταποκρίνονται στις ιδιαίτερα αυξημένες απαιτήσεις της
αγοράς εργασίας με τον καλύτερο δυνατό τρόπο.
Το τμήμα έχει σημαντικό ρόλο στην ανώτατη τεχνολογική εκπαίδευση. Η
δραστηριοποίηση στις νέες τεχνολογίες αποτελεί βασική προϋπόθεση, αλλά και
ουσιαστικό μοχλό στην κατεύθυνση της οικονομικής και κοινωνικής ανάπτυξης. Η
διάδοση της αυτοματοποίησης, των ηλεκτρονικών, των τηλεπικοινωνιών και της
τεχνολογίας πληροφοριών, αλλά και ο εκσυγχρονισμός εγκαταστάσεων ηλεκτρισμού
και ενεργειακών συστημάτων που χρησιμοποιούν μη ανανεώσιμες πρώτες ύλες και η
ανάπτυξη συστημάτων ανανεώσιμων πηγών ενέργειας, έχει οδηγήσει στον καθορισμό
των τομέων δράσης προτεραιότητας του τμήματος.
Το πρόγραμμα σπουδών του τμήματος στοχεύει στην παροχή ποιοτικών
γνώσεων, που ανταποκρίνονται στις απαιτήσεις αυτού του κύκλου δραστηριοτήτων
και αποτελούν αφενός ένα σταθερό υπόβαθρο της επαγγελματικής υπόστασης των
εκπαιδευομένων, αφετέρου προσφέρουν συμπληρωματικές προχωρημένες γνώσεις
και ικανότητες, μετατρέψιμες και προσαρμόσιμες στις μεταβαλλόμενες ανάγκες της
οικονομίας και της κοινωνίας.
1.3 Η ιστοσελίδα του Τμήματος Ηλεκτρολογίας
Παίρνοντας υπόψη το ρόλο της εκπαίδευσης στην εποχή μας προσπαθούμε να
συνδυάσουμε όλα τα δυνατά μέσα που μπορούμε να χρησιμοποιήσουμε ώστε να γίνει
πιο εύκολη και πιο προσβάσιμη στους σπουδαστές. Παρατηρώντας ότι το διαδίκτυο
είναι ένα από τα πιο διαδεδομένα μέσο μαζικής ενημέρωσης προσπαθήσαμε να το
συνδυάσουμε με το κλάδο της εκπαίδευσης ώστε να καλύψουμε τις ανάγκες της
εποχής.
Δημιουργήσαμε έτσι ένα site λαμβάνοντας υπόψη τους φοιτητές του
τμήματος Ηλεκτρολογίας και τις ανάγκες τους. Η ιστοσελίδα μας σχεδιάστηκε με
σκοπό να βελτιώσει και να αναβαθμίσει το υπάρχον site. Ιδιαίτερη έμφαση δώσαμε
στη λειτουργικότητα, την ευχρηστία καθώς και στην ασφάλεια.
Σελίδα 8
Κεφάλαιο 2ο – Τεχνολογία και Εργαλεία ανάπτυξης
Κεφάλαιο 2 - Τεχνολογία και Εργαλεία ανάπτυξης
2.1 Διαδίκτυο και χρησιμότητα στην εκπαίδευση
2.1.1 Διαδίκτυο
Το Διαδίκτυο, γνωστό και με την αγγλική ονομασία Internet, ανήκει στα μέσα
μαζικής επικοινωνίας (ΜΜΕ), όπως είναι για παράδειγμα και η τηλεόραση αν και η
τελευταία έχει πολύ περιορισμένο αμφίδρομο χαρακτήρα. Το Διαδίκτυο είναι ένα
επικοινωνιακό μέσον, το οποίο επιτρέπει την ανταλλαγή δεδομένων μεταξύ
οποιουδήποτε διασυνδεδεμένου υπολογιστή. Έτσι, δίνεται η δυνατότητα σε κάθε
χρήστη ηλεκτρονικού υπολογιστή συνδεδεμένου στο Διαδίκτυο, να πληροφορηθεί
αλλά και να πληροφορήσει, ανταλλάσσοντας απόψεις μέσω ενός λιγότερο
ελεγχόμενου διαύλου επικοινωνίας.
Η τεχνολογία του είναι κυρίως βασισμένη στην διασύνδεση επιμέρους δικτύων
ανά τον κόσμο και σε πολυάριθμα τεχνολογικά πρωτόκολλα, με κύριο το TCP/IP.
Μερικές από τις πιο γνωστές διαδικτυακές υπηρεσίες που χρησιμοποιούν αυτά τα
πρωτόκολλα είναι:
 Το ηλεκτρονικό ταχυδρομείο (e-mail),
 Οι ομάδες συζητήσεων (newsgroups),
 Η διαμοίραση αρχείων (file sharing)
 Η μεταφορά αρχείων (file transfer)
 Ο Παγκόσμιος Ιστός (World Wide Web).
Από αυτές, το ηλεκτρονικό ταχυδρομείο και ο Παγκόσμιος Ιστός είναι οι πιο
ευρέως χρησιμοποιούμενες, ενώ πολλές άλλες υπηρεσίες έχουν βασιστεί πάνω σε
αυτές, όπως οι ταχυδρομικές λίστες (mailing lists) και τα αρχεία καταγραφής ιστού
(blogs). Το διαδίκτυο καθιστά δυνατή τη διάθεση υπηρεσιών σε πραγματικό χρόνο,
όπως το ραδιόφωνο και οι προβλέψεις μέσω Ιστού, που είναι προσπελάσιμες από
οπουδήποτε στον κόσμο.
2.1.2 Χρησιμότητα διαδικτύου και πληροφορικής στην εκπαίδευση
Η κοινωνία μας επηρεάζεται από την σταδιακά αυξανόμενη είσοδο των
υπολογιστών στην καθημερινότητά μας, με αποτέλεσμα να δημιουργείται η αντίληψη
ότι η απόκτηση βασικών γνώσεων στις υπολογιστικές και δικτυακές τεχνολογίες είναι
απαραίτητη για κάθε νέο. Φαίνεται λοιπόν πως η εκπαίδευση της πληροφορικής
εφοδιάζει τους μαθητές πρωτοβάθμιας και δευτεροβάθμιας εκπαίδευσης με τις
απαραίτητες δεξιότητες ώστε να μπορούν να ανταποκριθούν στα σύγχρονα κοινωνικά
δεδομένα. Καθ’ αυτό τον τρόπο νέες μορφές κοινωνικού αποκλεισμού και
ανισοτήτων, καθώς και εργασιακές δυσκολίες μπορούν να καταπολεμηθούν.
Η έως τώρα ισχύουσα κατάσταση στην εκπαιδευτική διαδικασία ανατρέπεται
από τους ηλεκτρονικούς υπολογιστές και τα περιφερειακά τους μέσα, οι οποίοι
χρησιμοποιούνται πλέον ως απαραίτητα εργαλεία για την διεκπεραίωση καθημερινών
Σελίδα 9
Κεφάλαιο 2ο – Τεχνολογία και Εργαλεία ανάπτυξης
εργασιών. Επιπλέον συμβάλουν στην αλλαγή της παιδαγωγικής αντίληψης και την
καλλιέργεια της, δείχνοντας νέους τρόπους μάθησης, πιο ενεργητικούς, που προάγουν
την ανάπτυξη νέων δεξιοτήτων. Τα νέα αυτά δεδομένα καθιστούν τους
ηλεκτρονικούς υπολογιστές διεπιστημονικό εργαλείο προαγωγής της γνώσης σε
ολόκληρο το πρόγραμμα σπουδών.
Όλες ανεξαιρέτως οι βαθμίδες εκπαίδευσης, στο δημοτικό, γυμνάσιο, λύκειο
καθώς και στην τριτοβάθμια εκπαίδευση, στα πανεπιστήμια, στα τεχνολογικά
ιδρύματα και τα ινστιτούτα επαγγελματικής κατάρτισης έχουν εντάξει σε διαφορετικό
βαθμό την χρήση ηλεκτρονικών υπολογιστών ως εργαλείο αναπαράστασης και
σκέψης. Η κυκλοφορία νέων όλο και πιο φιλικών προς τον χρήστη συστημάτων, και
λογισμικών καθιστά την χρήση του υπολογιστή και των ηλεκτρονικών μέσων
περισσότερο προσφιλή στο ευρύ κοινό.
Μία σημαντική δυνατότητα που προσφέρουν τα σύγχρονα ηλεκτρονικά
συστήματα, είναι η πρόσβαση μέσω του υπολογιστή σε θεωρητικά άπειρες πηγές
πληροφοριών για κάθε θέμα που μπορεί να τους απασχολεί. Συνεπώς το μέγεθος της
μεταδιδόμενης πληροφορίας στην οποία μπορούν να έχουν πρόσβαση οι μαθητές την
σήμερον ημέρα μπορεί να καλύψει όλες τους τις μαθησιακές ανάγκες, χωρίς να
χρειάζεται να μετακινηθούν από το γραφείο τους. Με ένα απλό “κλικ” μπορούν να
εισέλθουν σε μία ψηφιακή βιβλιοθήκη με απεριόριστη πληροφορία. Βιβλία,
βοηθήματα, περιοδικά, εφημερίδες είναι μόνο λίγα από τα ψηφιακά αρχεία που
μπορεί κάποιος να εντοπίσει στο διαδίκτυο, καθώς και να τα χρησιμοποιήσει εντελώς
δωρεάν.
2.1.3 Εξέλιξη της πληροφορικής στην εκπαίδευση
Για τις αναπτυγμένες χώρες η εξέλιξη της πληροφορικής στο σχολείο υπήρξε
ταχύτατη. Θεωρείται από τις κορυφαίες αλλαγές που έχουν γίνει τα τελευταία χρόνια.
Η εξέλιξη αυτή σηματοδοτείται από:


Τον βομβαρδισμό της κοινωνίας μας από πληροφορία και τον ρόλο που
καλείται να διαδραματίσει σ’ αυτή την κοινωνία το σχολείο.
Την γενικευμένη κρίση του εκπαιδευτικού συστήματος και την καθολική
απαίτηση της κοινωνίας για παιδαγωγική ανανέωση.
Ο υπολογιστής θεωρείται το άριστο μέσο που συνδέει την διδασκαλία με την
πράξη. Επεξεργάζεται τρομερό όγκο δεδομένων ταχύτατα συνδυάζοντας ταυτόχρονα
πολλά μέσα. Χρησιμοποιείται ως, video, πίνακας, διαφανοσκόπιο, ηχητικό μέσο ή
συνδυασμός όλων αυτών με τεχνολογίες πολυμέσων. Ο χρήστης έχει στη διάθεση του
ένα εργαλείο που ανάλογα με το μοντέλο που χρησιμοποιεί ως εκπαιδευτικός και με
τις ανάγκες που επιθυμεί να καλύψει, χρησιμοποιεί τελικά τον υπολογιστή σαν
εργαλείο όπως θέλει.
Σημαντικό στοιχείο για τον υπολογιστή αποτελεί και η δυνατότητα επιλογής από
τον δάσκαλο να έχει οποιαδήποτε πληροφορία την στιγμή που την επιθυμεί
χρησιμοποιώντας κείμενο, ήχο, εικόνα video και τρισδιάστατη αναπαράσταση.
Αποτελεί πλέον κοινή συνείδηση όλων των ανθρώπων που εμπλέκονται με
οποιοδήποτε τρόπο με την εκπαίδευση πως ο υπολογιστής, στον βαθμό που οι
γενικότερες συνθήκες το επιτρέπουν, δηλ. διαθεσιμότητα hardware/software, είναι
Σελίδα 10
Κεφάλαιο 2ο – Τεχνολογία και Εργαλεία ανάπτυξης
πλέον ο κατ’ εξοχήν διαχειριστής των σύγχρονων Μέσων Πολλαπλής ή Πολύμορφης
επικοινωνίας προκειμένου να διεκπεραιώνεται με τον καλύτερο δυνατόν τρόπο η
εκπαιδευτική διαδικασία.
Κατέστη έτσι ο υπολογιστής αντικείμενο-εργαλείο καθημερινής χρήσης
κυριαρχώντας στα πολυμέσα και διαδίκτυο λόγω της ραγδαίας μείωσης του κόστους
γενικότερα τόσο σε hardware όσο και σε πακέτα προγραμμάτων
Η εισαγωγή του υπολογιστή στην εκπαίδευση εδώ και πάνω από μια δεκαετία
αναπόφευκτα κίνησε το ενδιαφέρον και ταυτόχρονα πυροδότησε σειρά ερευνών εάν
και κατά πόσον ενδείκνυται η πληροφορική να διδάσκεται ως αυτόνομη διδακτική
ενότητα στην Α’ βάθμια και Β’ βάθμια εκπαίδευση. Τα αποτελέσματα αυτών των
ερευνών δεν έχουν ξεκαθαρίσει το τοπίο.
Ταυτόχρονα η εκπαίδευση προσαρμόζεται και αναπτύσσει διάφορα μοντέλα
προκειμένου να υποδεχθεί την, στην κυριολεξία, έφοδο του υπολογιστή σε κάθε
πτυχή της. Σίγουρα είμαστε μάρτυρες μιας νέας σχέσης του ανθρώπου γενικά με την
γνώση. Δημιουργείται έτσι ένα πελώριο θέμα για την παρουσία, τον ρόλο και την
ευθύνη πλέον του εκπαιδευτικού μια που ο τελευταίος δεν θεωρείται ο αποκλειστικός
κάτοχος της γνώσης.
Ως συμπέρασμα για την αρχική περίοδο του υπολογιστή και των νέων
τεχνολογιών στην εκπαίδευση, μπορούμε να σημειώσουμε την προσπάθεια που
καταβλήθηκε αλλά και συνεχίζει να καταβάλλεται στη κατεύθυνση συγκερασμού των
δυνατοτήτων απ’ την πλευρά του υπολογιστή και των αναγκών και στόχων της
εκπαιδευτικής διαδικασίας απ’ την άλλη. Τα μέχρι τώρα αποτελέσματα των ποικίλων
ερευνών σ’ αυτό το θέμα παρουσιάζουν έντονο ενδιαφέρον.
2.2 Ιστοσελίδα
Η ιστοσελίδα (web page) είναι ένα είδος εγγράφου του παγκόσμιου ιστού, που
περιλαμβάνει πληροφορίες με την μορφή κειμένου, υπερκειμένου, εικόνας, βίντεο και
ήχου.
Πολλές ιστοσελίδες μαζί συνθέτουν έναν ιστότοπο (εναλλακτικές ονομασίες: ιστοχώρος ή δικτυακός τόπος, αγγλ. web site ή Internet site). Οι σελίδες ενός ιστοτόπου εμφανίζονται κάτω από το ίδιο όνομα χώρου (domain) π.χ. teiser.gr. Οι ιστοσελίδες αλληλοσυνδέονται και μπορεί ο χρήστης να μεταβεί από τη μία στην άλλη κάνοντας «κλικ», επιλέγοντας δηλαδή συνδέσμους που υπάρχουν στο κείμενο ή στις φωτογραφίες της ιστοσελίδας. Οι σύνδεσμοι προς άλλες σελίδες εμφανίζονται συνήθως
υπογραμμισμένοι και με μπλε χρώμα για να γίνεται εύκολα αντιληπτό από τον επισκέπτη ότι, πρόκειται για σύνδεσμο προς άλλη ιστοσελίδα, χωρίς όμως πάντα να είναι αυτό απαραίτητο.
Η κατασκευή ιστοσελίδων είναι κάτι που μπορεί να γίνει πολύ εύκολα με προγράμματα που κυκλοφορούν ελεύθερα, πλην όμως, υπάρχουν και αυτοματοποιημένοι
μηχανισμοί κατασκευής ιστοσελίδων που επιτρέπουν σε απλούς χρήστες να δημιουργήσουν εύκολα και γρήγορα προσωπικές ή και εμπορικές ιστοσελίδες. Από την άλλη
18 μεριά υπάρχουν και πολλές εταιρείες, που εξειδικεύονται στη δημιουργία
ελκυστικών και λειτουργικών ιστοσελίδων, οι οποίες έχουν σαν στόχο να οδηγήσουν
τους επι-σκέπτες είτε στην αγορά κάποιου προϊόντος είτε στην επικοινωνία με τον
ιδιοκτήτη του ιστοτόπου ή απλά στο ανέβασμα του εταιρικού προφίλ μιας
επιχείρησης.
Σελίδα 11
Κεφάλαιο 2ο – Τεχνολογία και Εργαλεία ανάπτυξης
2.2.1 Στατικές Ιστοσελίδες
Οι στατικές ιστοσελίδες είναι απλά ηλεκτρονικά “έγγραφα”, τα οποία περιέχουν
κείμενα, φωτογραφίες, συνδέσμους (links), αρχεία για download, κινούμενα σχέδια
(animated graphics). Είναι κατάλληλες κυρίως για την δημιουργία “μόνιμων / στατικών παρουσιάσεων”, όπου δεν υπάρχει συχνά η ανάγκη να τροποποιείται το περιεχόμενό τους. Μία στατική ιστοσελίδα θα μπορούσε να χρησιμοποιηθεί για την γενική
παρουσίαση μιας επιχείρησης.
Ο χαρακτηρισμός “στατική”, δεν αφορά την εμφάνιση της σελίδας. Σημαίνει ότι
το περιεχόμενο της κάθε σελίδας είναι σταθερό και συγκεκριμένο. Πρόκειται δηλαδή
για σταθερά ηλεκτρονικά έγγραφα.
Το κύριο μειονέκτημά τους είναι ότι η χρήση τους δεν είναι πρακτική / βολική,
όταν χρειάζεται το περιεχόμενο της ιστοσελίδας να αλλάζει συχνά, π.χ. τουλάχιστον
μία φορά την εβδομάδα να προστίθεται κάποιο άρθρο, ή να αλλάζουν τα προϊόντα
κτλ. Αυτό συμβαίνει γιατί για να τροποποιηθεί μια στατική ιστοσελίδα, πρέπει να γίνουν επεμβάσεις απευθείας πάνω στην ιστοσελίδα, με κάποιο σχετικό πρόγραμμα
(html editor είτε απλό είτε WYSIWYG), μια διαδικασία δηλαδή όμοια με το γράψιμο
ή σβήσιμο σε ένα τετράδιο, η οποία που όμως χρειάζεται μια σχετική εμπειρία.
2.2.2 Δυναμικές Ιστοσελίδες
Οι δυναμικές ιστοσελίδες σε πολλές περιπτώσεις δεν έχουν μεγάλη διαφορά
στην εμφάνιση με τις στατικές ιστοσελίδες. Όμως οι δυνατότητές τους είναι πολύ
περισσότερες από πολλές πλευρές. Ουσιαστικά μια δυναμική ιστοσελίδα είναι μία
εφαρμογή (πρόγραμμα), και όχι ένα απλό ηλεκτρονικό έγγραφο.
Συνήθως, οι δυναμικές ιστοσελίδες, χρησιμοποιούν κάποια βάση δεδομένων, όπου αποθηκεύουν πληροφορίες και απ' όπου αντλούν το περιεχόμενό τους, ανάλογα
με το τι ζητάει ο χρήστης / επισκέπτης σε κάθε του “κλικ”. Η χρήση των βάσεων δεδομένων, είναι αυτή που επιτρέπει την εύκολη προσθαφαίρεση περιεχομένου στις
δυναμικές ιστοσελίδες, καθώς δεν απαιτείται να επεξεργάζεται κανείς κάθε φορά την
ί-δια την ιστοσελίδα, αλλά απλά να διαχειρίζεται έμμεσα το περιεχόμενο στην βάση
δεδομένων. Οι υπόλοιπες διαδικασίες γίνονται αυτοματοποιημένα από τον
«μηχανισμό» της ιστοσελίδας.
Για την εύκολη διαχείριση του περιεχομένου σε μία δυναμική ιστοσελίδα,
υπάρχει πρόσθετα στην ιστοσελίδα ένας εύχρηστος μηχανισμός “CMS” (Content
Managment System), μέσω του οποίου η προσθαφαίρεση περιεχομένου μπορεί να
γίνει ακόμη και από κάποιον αρχάριο. Φυσικά, η «περιοχή διαχείρισης» της
ιστοσελίδας, προστατεύεται μέσω κωδικού πρόσβασης (password), ώστε να μη
μπορούν να εισέλθουν σε αυτή πρόσωπα μη εξουσιοδοτημένα (επισκέπτες της
ιστοσελίδας).
Σελίδα 12
Κεφάλαιο 2ο – Τεχνολογία και Εργαλεία ανάπτυξης
2.3.Σύστημα Διαχείρισης Περιεχομένου (Content Management
System - CMS)
Σύμφωνα με τον ορισμό που δίνει η Step Two Designs, ένα σύστημα
διαχείρισης περιεχομένου υποστηρίζει την δημιουργία, διαχείριση, διανομή, έκδοση
και ανεύρεση επιχειρησιακών πληροφοριών. Π.χ. μπορεί να καλύψει ολόκληρο τον
κύκλο ζωής των ιστοσελίδων ενός ιστοχώρου με την διάθεση απλών εργαλείων που
χρησιμοποιούνται από την δημιουργία περιεχομένου, μέχρι την έκδοση και τελικά
την αρχειοθέτησή του. Η χρήση του μπορεί να επεκταθεί και πέρα από την διαχείριση
ενός ιστοχώρου. Επειδή ο όρος CMS έχει ευρύτερη σημασία, έχει καθιερωθεί μια
εναλλακτική ονομασία που χρησιμοποιείται όταν ένα Σύστημα διαχείρισης
Περιεχομένου χρησιμοποιείται αποκλειστικά για διαδικτυακές εφαρμογές. Έτσι με
τον όρο διαχείριση διαδικτυακού Περιεχομένου (Web Content Management)
αναφερόμαστε στα συστήματα που επικεντρώνονται συνήθως στο διαδικτυακό
περιεχόμενο ενός εταιρικού ιστοτόπου (website) ή ενός ενδοδικτύου (intranet).).
2.4.Τι είναι ένα Σύστημα Διαχείρισης Διαδικτυακού Περιεχομένου
(Web Content Management System - WCM)
Μέχρι πριν από λίγα χρόνια, ο μόνος τρόπος για να διατηρήσει μια εταιρία τον
ιστοχώρο της ενημερωμένο ήταν να συνάψει συμβόλαιο με μια εταιρία παροχής
υπηρεσιών συντήρησης. Τα τελευταία χρόνια, όμως, οι ίδιες οι εταιρίες παροχής
τέτοιων υπηρεσιών προσφέρουν μια πολλά υποσχόμενη εναλλακτική λύση. Πολλές
από αυτές έχουν αναπτύξει ειδικά συστήματα, τα οποία μειώνουν το χρόνο και το
κόστος λειτουργίας ενός δικτυακού τόπου. Όμως τι ακριβώς είναι ένα Σύστημα
διαχείρισης διαδικτυακού Περιεχομένου;
Για να απαντήσουμε σε αυτήν την ερώτηση θα δανειστούμε τους ορισμούς που
δίνουν οι ειδικοί στον χώρο της διαχείρισης πληροφορίας. Ορισμός της Plone
Foundation: Το Σύστημα διαχείρισης διαδικτυακού Περιεχομένου, είναι μια δικτυακή
εφαρμογή σχεδιασμένη ώστε να διευκολύνει χρήστες που δεν είναι απαραίτητα
προγραμματιστές με την προσθήκη, επεξεργασία, δημοσίευση περιεχομένου και
γενικά την διαχείριση ενός ιστοχώρου χωρίς την χρήση εργαλείων ανάπτυξης
(development tools) ή γνώση HTML. Ορισμός της Step Two Designs: Ένα Σύστημα
διαχείρισης διαδικτυακού Περιεχομένου υποστηρίζει την δημιουργία, διαχείριση,
διανομή, έκδοση και ανεύρεση επιχειρησιακών πληροφοριών. Καλύπτει ολόκληρο
τον κύκλο ζωής των ιστοσελίδων ενός ιστοχώρου με την διάθεση απλών εργαλείων
που χρησιμοποιούνται από την δημιουργία περιεχομένου, μέχρι την έκδοση και
τελικά την αρχειοθέτησή του. Επίσης προσφέρει την δυνατότητα διαχείρισης της
δομής ενός ιστοχώρου, την εμφάνιση των δημοσιευμένων ιστοσελίδων και την
πλοήγηση των χρηστών.
Ορισμός της Content Management: Το Σύστημα διαχείρισης διαδικτυακού
Περιεχομένου είναι ένα εργαλείο που επιτρέπει σε ένα μεγάλο εύρος τεχνικού και μη,
προσωπικού την δημιουργία, επεξεργασία, διαχείριση και τέλος δημοσίευση μιας
ποικιλίας περιεχομένου (όπως κείμενο, γραφικά, εικόνες κτλ) ενώ ταυτόχρονα
Σελίδα 13
Κεφάλαιο 2ο – Τεχνολογία και Εργαλεία ανάπτυξης
περιορίζεται από μια κεντρική ομάδα κανόνων (set of rules), διαδικασιών (process)
και ροής εργασιών (workflow) που εξασφαλίζουν συνάφεια και κύρος στο
ηλεκτρονικό περιεχόμενο.
Συμπερασματικά, το Σύστημα 3ιαχείρισης 3ιαδικτυακού Περιεχομένου είναι
ένα εύχρηστο και μη-τεχνικό εργαλείο για την διαχείριση όλου του κύκλου ζωής της
ψηφιακής πληροφορίας που αποτελεί έναν ιστοχώρο με μεγάλο αριθμό χρηστών που
συνεισφέρουν περιεχόμενο και των οποίων οι αρμοδιότητες και τα δικαιώματα
οφείλουν να είναι σαφώς ορισμένα.
Στον παραπάνω ορισμό με τους όρους διαδικτυακού και ιστοχώρο αναφερόμαστε
σε εφαρμογές τόσο του διαδικτύου (internet) όσο και του ενδοδικτύου (intranet).
Για να γίνει ακόμα πιο κατανοητός ο ρόλος και τα πλεονεκτήματα ενός
Συστήματος διαχείρισης διαδικτυακού Περιεχομένου θα γίνει σύντομη αναφορά στην
μελέτη περίπτωσης του ιστοχώρου μιας εφημερίδας πριν και μετά την εφαρμογή ενός
WCM.
Παράδειγμα μελέτης περίπτωσης ιστοχώρου πριν και μετά την εφαρμογή ενός
Συστήματος διαχείρισης διαδικτυακού Περιεχομένου.
Για τον ιστοχώρο μιας εφημερίδας που απαιτεί εύλογα καθημερινή ενημέρωση
αλλά δεν χρησιμοποιεί κάποιο Σύστημα διαχείρισης διαδικτυακού Περιεχομένου, θα
πρέπει ο υπεύθυνος για το σχεδιασμό του (designer) να δημιουργήσει μια σελίδα με
τα γραφικά, την πλοήγηση και το περιβάλλον διεπαφής του ιστοχώρου, ο υπεύθυνος
ύλης να τοποθετήσει το περιεχόμενο στα σημεία της ιστοσελίδας που θέλει και να
ενημερωθούν οι σύνδεσμοι των υπόλοιπων σελίδων ώστε να συνδέονται με τη νέα.
Αφού την αποθηκεύσει, πρέπει να την ανεβάσει στον ιστοχώρο μαζί με τις
υπόλοιπες ιστοσελίδες που άλλαξαν. Αντιθέτως, αν ο ιστοχώρος λειτουργεί με χρήση
κάποιου Συστήματος διαχείρισης διαδικτυακού Περιεχομένου, το μόνο που έχει να
κάνει ο διαχειριστής του είναι να ανοίξει τη σχετική φόρμα εισαγωγής νέου άρθρου
στη διαχειριστική εφαρμογή του ιστοχώρου και να γράψει ή να επικολλήσει (copypaste ) τα στοιχεία που θέλει. Αυτόματα, μετά την καταχώριση γίνονται από το ίδιο
το Σύστημα διαχείρισης διαδικτυακού Περιεχομένου όλες οι απαραίτητες ενέργειες,
ώστε το άρθρο να είναι άμεσα διαθέσιμο στους επισκέπτες και όλοι οι σύνδεσμοι
προς αυτό ενημερωμένοι. Τα Συστήματα διαχείρισης διαδικτυακού Περιεχομένου
μπορούν να χρησιμοποιηθούν και να αντικαταστήσουν ένα συμβόλαιο συντήρησης
επάξια.
Καταλήγοντας, τα Συστήματα διαχείρισης διαδικτυακού Περιεχομένου
αποτελούν μια σημαντική βελτίωση όσον αφορά στη συντήρηση και ανανέωση ενός
εταιρικού ιστοχώρου. Κι αυτό γιατί, όσο η ανάγκη για ενημέρωση αυξάνεται, ακόμη
και ένα καλό συμβόλαιο συντήρησης δεν εξασφαλίζει συνεχή και αδιάλειπτη
ενημέρωση. Συνήθως οι εταιρίες που προσφέρουν ολοκληρωμένα πακέτα
συντήρησης δεσμεύονται για συγκεκριμένο αριθμό εργατοωρών το μήνα. Αν η
ανάγκη είναι μεγαλύτερη, τότε χρεώνουν επιπλέον ανά ώρα, με αποτέλεσμα η
συντήρηση να έχει υψηλό κόστος. Κατά συνέπεια, το να αποκτήσει μια επιχείρηση
ένα απλό, λειτουργικό και εύχρηστο εργαλείο που να της επιτρέπει να ενημερώνει
εσωτερικά το περιεχόμενο των ιστοσελίδων της, προσφέρει αμεσότητα, ταχύτητα και
πλήρη έλεγχο.
Σελίδα 14
Κεφάλαιο 2ο – Τεχνολογία και Εργαλεία ανάπτυξης
2.5. Δημοφιλή Συστήματα Διαχείρισης Περιεχομένου
Τα τρία δημοφιλέστερα συστήματα διαχείρισης περιεχομένου είναι το Joomla!,
το Drupal και το WordPress. Τα δύο πρώτα διεκδικούσαν εδώ και καιρό την πρώτη
θέση στα CMS, καθώς το WordPress θεωρούταν ως μία πλατφόρμα blogging και μόνο τα τελευταία δύο χρόνια άρχισε να αναπτύσσεται ως ένα ολοκληρωμένο σύστημα
διαχείρισης περιεχομένου, φτάνοντας μάλιστα στην πρώτη θέση στη χρήση από δικτυακού τόπους.
Και τα τρία συστήματα είναι ανοιχτού κώδικα και έχουν αναπτυχθεί με βοήθεια
από εκατοντάδες μέλη από τις αντίστοιχες κοινότητες. Καθένα από αυτά μπορεί να
χρησιμοποιηθεί για την δημιουργία ιστότοπων, με μεγάλη γκάμα δυνατοτήτων, και
για οποιαδήποτε χρήση, από ένα απλό προσωπικό blog έως πλήρες ecommerce site.
2.5.1 WordPress
Το WordPress είναι ελεύθερο και ανοικτού κώδικα λογισμικό ιστολογίου
και πλατφόρμα δημοσιεύσεων, γραμμένο σε PHP και MySQL. Συχνά τρο-ποποιείται
για χρήση ως σύστημα διαχείρισης περιεχομένου (ΣΠΔ ή CMS). Έχει πολλές
δυνατότητες, συμπεριλαμβανομένων μιας αρχιτεκτονι-κής για πρόσθετες λειτουργίες,
και ενός συστήματος προτύπων. Κυκλοφόρησε για πρώτη φορά στις 27 Μαΐου 2003.
Δυνατότητες






Οι χρήστες του μπορούν να αλλάζουν τη θέση διαφόρων στοιχείων του γραφικού περιβάλλοντος χωρίς να χρειάζεται να επεξεργάζονται κώδικα PHP ή
HTML.
Μπορούν επίσης να εγκαθιστούν και να αλλάζουν μεταξύ διαφόρων οπτικών
θεμάτων.
Μπορούν ακόμα να επεξεργαστούν τον κώδικα PHP και HTML στα οπτικά
θέματα, προκειμένου να επιτύχουν προχωρημένες τροποποιήσεις.
Το WordPress έχει επίσης δυνατότητα ενσωματωμένης διαχείρισης συνδέσμων, μόνιμους συνδέσμους οι οποίοι είναι φιλικοί προς τις μηχανές αναζήτησης, δυνατότητα ανάθεσης πολλαπλών κατηγοριών και υποκατηγοριών στα
άρθρα, και υποστήριξη για ετικέτες στα άρθρα και τις σελίδες.
Συμπεριλαμβάνονται επίσης αυτόματα φίλτρα, τα οποία παρέχουν προτυποποιημένη μορφοποίηση του κειμένου (για παράδειγμα μετατροπή των διπλών
εισαγωγικών σε “έξυπνα” εισαγωγικά (δηλαδή “ “ σε ””).
Το WordPress υποστηρίζει επίσης τα πρότυπα Trackback και Pingback για
προβολή συνδέσμων προς άλλους ιστότοπους, οι οποίοι με τη σειρά τους έχουν συνδέσμους προς μια δημοσίευση ή άρθρο.
Σελίδα 15
Κεφάλαιο 2ο – Τεχνολογία και Εργαλεία ανάπτυξης

Τέλος, το WordPress έχει μια πλούσια αρχιτεκτονική πρόσθετων λειτουργιών,
η οποία επιτρέπει στους χρήστες και στους προγραμματιστές να επεκτείνουν
τη λειτουργικότητά του πέρα από τις δυνατότητες οι οποίες αποτελούν μέρος
της βασικής εγκατάστασης.
Πλεονεκτήματα



Απλό στη χρήση - αποφεύγονται οι πολλές τροποποιήσεις.
Άριστο για blogging και για διαμοιρασμό ιδεών με διαδοχικό τρόπο.
Ακόμα και οι αρχάριοι χρήστες μπορούν να το μάθουν εύκολα και γρήγορα.
Μειονεκτήματα



Δεν είναι φιλικό προς τον προγραμματιστή.
Η κοινότητα φαίνεται να κάνει συχνά παράπονα.
Οι αναβαθμίσεις συνήθως δημιουργούν περισσότερα σφάλματα από αυτά που
διορθώνουν.
2.5.2 Joomla
Το Joomla! είναι ένα ελεύθερο και ανοικτού κώδικα σύστημα διαχείρισης περιεχομένου. Χρησιμοποιείται για τη δημοσίευση περιεχομένου στον
παγκόσμιο ιστό (World Wide Web) και σε τοπικά δίκτυα - intranets. Είναι γραμμένο
σε PHP και αποθηκεύει τα δεδομένα του στη βάση MySQL. Το βασικό
χαρακτηριστικό του είναι ότι οι σελίδες που εμφανίζει είναι δυναμικές, δηλαδή
δημιουργούνται την στιγμή που ζητούνται. Ένα σύστημα διακομιστή (server) όπως
είναι ο Apache λαμβάνει τις αιτήσεις των χρηστών και τις εξυπηρετεί.
Με ερωτήματα προς τη βάση λαμβάνει δεδομένα τα οποία μορφοποιεί και αποστέλλει στον εκάστοτε φυλλομετρητή (web browser) του χρήστη. Το Joomla! έχει και
άλλες δυνατότητες εμφάνισης όπως η προσωρινή αποθήκευση σελίδας, RSS feeds,
εκτυπώσιμες εκδόσεις των σελίδων, ειδήσεις, blogs, δημοσκοπήσεις, έρευνες, καθώς
και πολύγλωσση υποστήριξη των εκδόσεών του.
Πλεονεκτήματα



Φιλικό για όλους τους τύπους χρηστών: σχεδιαστές, προγραμματιστές και διαχειριστές.
Υπάρχουν πολλές επεκτάσεις που βοηθούν στην κατασκευή ιστοσελίδας (και
στα ελληνικά).
Πληθώρα προτύπων ώστε να αλλάζει με ευκολία την εμφάνιση του ιστοχώρου.
Σελίδα 16
Κεφάλαιο 2ο – Τεχνολογία και Εργαλεία ανάπτυξης


Υπάρχει ελληνική κοινότητα που είναι τεράστια και βοηθάει πολύ στην υποστήριξη.
Απλή συντήρηση του ιστοχώρου.
Μειονεκτήματα


Υπάρχουν μερικοί τύποι (κυρίως αρχάριων) χρηστών που μπορεί να δυσκολευτούν στη χρήση του.
Δεν είναι τόσο ισχυρό όσο το Drupal
2.5.3 Drupal
Το Drupal είναι ένα αρθρωτό σύστημα διαχείρισης περιεχομένου
(Content Management System, CMS) ανοικτού / ελεύθερου λογισμικού, γραμμένο
στη γλώσσα προγραμματισμού PHP. Το Drupal, όπως πολλά σύγχρονα CMS,
επιτρέπει στο διαχειριστή συστήματος




να οργανώνει το περιεχόμενο,
να προσαρμόζει την παρουσίαση,
να αυτοματοποιεί διαχειριστικές εργασίες και
να διαχειρίζεται τους επισκέπτες του ιστοτόπου και αυτούς που συνεισφέρουν.
Παρόλο που υπάρχει μια πολύπλοκη προγραμματιστική διεπαφή, οι
περισσότερες εργασίες μπορούν να γίνουν με λίγο ή και καθόλου προγραμματισμό.
Το Drupal ορισμένες φορές περιγράφεται ως “υποδομή για εφαρμογές ιστού”, καθώς
οι δυνατότητές του προχωρούν παραπέρα από τη διαχείριση περιεχομένου,
επιτρέποντας ένα με-γάλο εύρος υπηρεσιών και συναλλαγών. Μπορεί να εκτελεστεί
σε διάφορες πλατφόρμες, συμπεριλαμβανομένων των λειτουργικών συστημάτων
Windows, Mac OS X, Linux, FreeBSD, ή οποιασδήποτε πλατφόρμας που
υποστηρίζει είτε το διακομιστή ιστοσελίδων Apache HTTP Server (έκδοση 1.3+),
είτε το Internet Information Services (έκδοση IIS5+), καθώς επίσης και τη γλώσσα
προγραμματισμού PHP (έκδο-ση 4.3.3+). Το Drupal απαιτεί μια βάση δεδομένων
όπως η MySQL και η PostgreSQL για την αποθήκευση του περιεχομένου και των
ρυθμίσεών του.
Σελίδα 17
Κεφάλαιο 2ο – Τεχνολογία και Εργαλεία ανάπτυξης
Πλεονεκτήματα



Εξαιρετικά φιλικό προς τον προγραμματιστή.
Ισχυρή κοινότητα που βοηθάει στην κατανόηση των δεκάδων
(εκατοντάδων)λειτουργιών και ετικετών που είναι διαθέσιμα.
Μπορεί να χρησιμοποιηθεί για τη δημιουργία εξαιρετικών ιστότοπων με υψηλότερες επιδόσεις και περισσότερες λειτουργίες από αντίστοιχους στην ίδια
κατηγορία.
Μειονεκτήματα



Δεν είναι φιλικό προς τον σχεδιαστή και τον απλό χρήστη. Για να κάνεις λίγο
πιο σύνθετα πράγματα είναι απαραίτητη η γνώση κώδικα.
Τα διαθέσιμα θέματα εμφάνισης μειονεκτούν δραματικά σε σχέση με των ανταγωνιστών.
Η δημοσίευση ενός ιστότοπου με Drupal μπορεί να στοιχίσει περισσότερο
χρόνο και χρήμα σε σχέση με το WordPress ή το Joomla.
2.5.4 Επιλογή καταλληλότερου συστήματος διαχείρισης περιεχομένου
Και τα τρία συστήματα είναι πολύ ισχυρά και διαρκώς αναπτυσσόμενα.
Συνεπώς, δεν μπορεί να χαρακτηριστεί κάποιο από αυτά ως η μοναδική καλύτερη
επιλογή για την κατασκευή διαδικτυακών εφαρμογών. Η επιλογή πρέπει να γίνεται
κάθε φορά ανάλογα με τις απαιτήσεις της εκάστοτε εφαρμογής. Στη συγκεκριμένη
εργασία επιλέχθηκε το σύστημα διαχείρισης περιεχομένου Joomla! για τους εξής
λόγους:


Παρέχει περισσότερες δυνατότητες σχεδίασης (η εμφάνιση της εφαρμογής
παίζει πολύ σημαντικό ρόλο στην περίπτωση μας).
Υπάρχει Ελληνική κοινότητα υποστήριξης (Joomla.gr) αλλά και άλλες ιστοσελίδες οι οποίες παρέχουν χρήσιμες πληροφορίες και οδηγίες όπως
Joomladay.gr και Joomlafans.gr και γενικά το Joomla! είναι πιο διαδεδομένο
σε σχέση με τα υπόλοιπα στην Ελλάδα.
Σελίδα 18
Κεφάλαιο 3ο – Joomla
Κεφάλαιο 3 - Joomla
3.1 Περιγραφή
Το Joomla είναι ένα διαδικτυακό σύστημα διαχείρισης περιεχομένου ανοιχτού κώδικα. Χρησιμοποιείται για τη δημοσίευση περιεχομένου στον παγκόσμιο ιστό
ή σε τοπικά δίκτυα. Ο κώδικας του λογισμικού είναι σε γλώσσα PHP και για την
αποθήκευση των δεδομένων χρησιμοποιεί βάση τύπου MySQL. Χαρακτηριστική
λειτουργία του είναι η εμφάνιση δυναμικών ιστοσελίδων. Για τη λειτουργία του
απαιτείται ένα σύστημα εξυπηρετητή όπως είναι ο Apache, ο οποίος εξυπηρετεί τις
αιτήσεις που λαμβάνει από τους χρήστες. Η λήψη των δεδομένων γίνεται με
αποστολή ερωτημάτων προς τη βάση, ακολουθεί η μορφοποίηση τους και τέλος η
αποστολή στον εκάστοτε φυλλομετρητή του χρήστη. Το Joomla! παρέχει αρκετές
δυνατότητες εμφάνισης μερικές από αυτές είναι τα RSS feeds, οι εκτυπώσιμες
εκδόσεις των σελίδων, ιστολόγια, έρευνες, δημοσκοπήσεις κ.ά. Επίσης πολύ
σημαντική δυνατότητα είναι ότι έχει πολύγλωσση υποστήριξη στις εκδόσεις του. Το
Joomla κυκλοφορεί και διανέμεται υπό την GNU General Public License.
Το όνομα «Joomla» είναι μια φωνητική γραφή της γλώσσας Σουαχίλι
(Swahili) στην οποία η λέξη “jumla” σημαίνει “όλοι μαζί” ή “ως σύνολο”. Επέλεξαν
αυτό το όνομα για να αντικατοπτρίζει τη δέσμευση της κοινότητας και την ομάδα
ανάπτυξης του έργου.
Η πρώτη έκδοση του Joomla (Joomla 1.0.0) ανακοινώθηκε στις 16 Σεπτεμβρίου 2005. Αυτή ήταν μια νέα ονομασία της έκδοσης Mambo 4.5.2.3 σε συνδυασμό
με διορθώσεις κάποιων σφαλμάτων (bugs) στο περιβάλλον διαχείρισης και στον
κώδικα της ασφαλείας. Στη συνέχεια, για την πορεία ανάπτυξης του project, οι
προγραμματιστές του πυρήνα προβλέπουν ότι το Joomla! 2.0 θα είναι ένα εντελώς
ανανεωμένο και ξαναγραμμένο σε νέο κώδικα βασισμένο σε PHP 5.0
Η επίσημη ιστοσελίδα του Joomla project βρίσκεται στο www.joomla.org
και για την Ελλάδα η επίσημη ιστοσελίδα βρίσκετε www.joomla.gr
3.2 Οι δυνατότητες του Joomla
Οι δυνατότητες του Joomla είναι πάρα πολλές και θα χρειαζόντουσαν αρκετά κεφάλαια για να αναλυθούν πλήρως. Συνοπτικά, αναφέρονται ορισμένες δυνατότητες:



Το περιεχόμενο στον ιστότοπo μπορεί να ενημερωθεί από οποιονδήποτε υπολογιστή διαθέτει σύνδεση στο διαδίκτυο.
Όσοι μπορούν να συμβάλλουν στην επεξεργασία του περιεχομένου μπορούν
να συνεργαστούν χωρίς να χρειάζεται να έχουν ιδιαίτερες γνώσεις. Οι συνεργάτες μπορούν να δημοσιεύσουν περιεχόμενο, σε πλαίσιο συγκεκριμένο που
δεν ξεπερνά τις αρμοδιότητες τους.
Δεν υπάρχουν περιορισμοί στη δημοσίευση των ιστοσελίδων, ενώ η αναζήτηση συγκεκριμένου περιεχομένου και η αρχειοθέτηση είναι πολύ απλές διαδικασίες.
Σελίδα 19
Κεφάλαιο 3ο – Joomla

Ενδεικτικά, η προσθήκη έκθεσης φωτογραφιών, βιβλιοθήκης αρχείων, βιβλίου
επισκεπτών και φόρμας επικοινωνίας γίνεται πολύ εύκολα με την εγκατάσταση πρόσθετων εφαρμογών που κυκλοφορούν για το Joomla και υπάρχουν
μερικές εκατοντάδες διαθέσιμες.
3.3 Τα χαρακτηριστικά του Joomla
Μερικά από τα βασικά χαρακτηριστικά του Joomla είναι:

 Πλήρης μηχανισμός διαχείρισης της βάσης δεδομένων του site,
 Νέα, προϊόντα ή υπηρεσίες, τμήματα και ενότητες πλήρως επεξεργάσιμα και
εύχρηστα,
 Οι θεματικές ενότητες μπορούν να προστεθούν από τους συντάκτες,
 Πλήρως παραμετροποιημένο περιεχόμενο και περιβάλλον, συμπεριλαμβανομένων των θέσεων του αριστερού, κεντρικού και δεξιού μενού,
 Χρησιμοποιείστε τον browser για να ανεβάσετε εικόνες στη δική σας βιβλιοθήκη για χρήση σε οποιοδήποτε σημείο του site,
 Δυναμικό Forum / Poll / Voting για άμεσα επί τόπου αποτελέσματα,
 Εύκολη εγκατάσταση εφαρμογών και προσθέτων,
 Τρέχει σε Linux, FreeBSD, MacOSX server, Solaris και AIX.
3.4 Εκτεταμένη Διαχείριση
















Λειτουργία ταξινόμησης της προβολής των νέων FAQs, articles.
Module για απομακρυσμένη υποβολή από τον συγγραφέα για νέα, άρθρα,
FAQs και Links.
Δημοσίευση απεριόριστων σελίδων.
Δυνατότητα προσθήκης forum, photo galleries, βιβλιοθήκες αρχείων, βιβλία
επισκεπτών και φόρμες επικοινωνίας.
Εύκολη διαχείριση online των PNGs, PDFs, DOCs, XLSs, GIFs και JPEGs με
τη βοήθεια του Image library.
Αυτόματο Path-Finder.
News feed manager. Δυνατότητα επιλογής από πάνω από 360 news feeds από
όλο τον κόσμο.
Archive manager. Tα παλαιά άρθρα μπορούν να μπουν στην «κατάψυξη» αντί
να διαγραφούν εντελώς.
Email-a-friend και Print-format για κάθε άρθρο.
Ενσωματωμένος επεξεργαστής κειμένου αντίστοιχος του Word Pad.
Εμφάνιση και αισθητική την οποία διαμορφώνει ο χρήστης.
Δημοσκοπήσεις και Έρευνες. Δυνατότητα τοποθέτησης σε κάθε σελίδα.
Custom Page Modules.
Διαχείριση των προτύπων (templates).
Δυνατότητα προεπισκόπησης. Υπάρχει η δυνατότητα προβολής του site πριν
παρουσιαστεί οnline.
Banner manager.
Σελίδα 20
Κεφάλαιο 3ο – Joomla
3.5 Η δομή του Joomla
Τα κυριότερα κομμάτια που απαρτίζουν το Joomla είναι:






Δημόσιο τμήμα (Front-end).
Το δημόσιο τμήμα είναι ουσιαστικά αυτό που εμφανίζεται στον φυλλομετρητή του τελικού χρήστη. Τα άρθρα, τα μενού και γενικά όλα τα στοιχεία της ιστοσελίδας που θέλουμε να εμφανίζονται στον χρήστη βρίσκονται στο δημόσιο τμήμα.
Περιοχή διαχείρισης (Backend).
Η περιοχή διαχείρισης ο “πίνακας ελέγχου” του Joomla. Μέσα από εκεί ο διαχειριστής (administrator) κάνει όλες τις τροποποιήσεις που αφορούν στον ιστότοπο. Μπορεί χειριστεί λειτουργίες όπως πρόσθεση περιεχόμενου, εμφάνιση ή απόκρυψη στοιχείων, δημιουργία χρηστών και γενικά ότι έχει σχέση με
το Joomla.
Μενού.
Η πλοήγηση του χρήστη στην ιστοσελίδα γίνεται με την χρήση των μενού. Η
δημιουργία τους γίνεται δυναμικά και συνδέονται με αντικείμενα του Joomla
(ενότητες, κατηγορίες, άρθρα). Δεν υπάρχει περιορισμός στον αριθμό των μενού σε μια ιστοσελίδα Joomla.
Εφαρμογές (Components).
Η χρήση των εφαρμογών αποσκοπεί στην δυνατότητα επέκτασης του Joomla!.
Χωρίζονται σε εμπορικές εφαρμογές και σε εφαρμογές που διανέμονται ελεύθερα. Για παράδειγμα υπάρχουν εφαρμογές για διαδικτυακά καταστήματα,
και για εκθέσεις φωτογραφιών.
Πρόσθετα (plug-ins).
Τα πρόσθετα είναι μικρά πακέτα κώδικα τα οποία χρησιμοποιούνται για κάποιες ειδικές λειτουργίες. Για παράδειγμα η μηχανή αναζήτησης του Joomla!
είναι ένα πρόσθετο.
Πρότυπα (Templates).
Τα πρότυπα χρησιμοποιούνται για τον διαχωρισμό του περιεχόμενο από την
εμφάνιση. Στα πρότυπα γενικά ορίζονται οι σχεδιαστικοί κανόνες που αφορούν στην ιστοσελίδα, όπως είναι τα χρώματα, οι γραμματοσειρές και η θέση
των ενθεμάτων.
3.6 Απόκτηση Joomla
Η τελευταία έκδοση του Joomla βρίσκεται στην ιστοσελίδα του Joomlacode
(http://joomlacode.org/gf/project/joomla/frs/) άλλα και σε πολλές άλλες ιστοσελίδες.
3.7 Πόσο κοστίζει;
Η χρήση του Joomla είναι απολύτως δωρεάν! Δίνει ελεύθερα την δυνατότητα
χρή-σης, τροποποίησης και να διερεύνησης των δυνατοτήτων του χωρίς να πρέπει να
πληρωθεί κάποια άδεια χρήσης. Το Joomla είναι ελεύθερο λογισμικό με γραμμένο
κώδικα υπό την GPL License (http://www.gnu.org/copyleft/gpl.html).
Σελίδα 21
Κεφάλαιο 4ο – Χρήση του Joomla στον ιστότοπο
Κεφάλαιο 4 - Χρήση του Joomla στον ιστότοπο
4.1 Τεχνολογίες και εργαλεία
Για την ανάπτυξη ενός δυναμικού ιστότοπου θα χρειαστούμε κάποια εργαλεία όπως
είναι η βάση δεδομένων μας, ο εξυπηρετητής και η γλώσσα προγραμματισμού:

 Apache Server.
 MySQL
 PHP
 PhpMyAdmin
 Wamp
4.1.1 Apache
Ο Apache HTTP server, συχνά αναφερόμενος απλά σαν Apache, είναι ένας web
server o οποίος διαδραμάτισε καίριο ρόλο στην αρχική ανάπτυξη του παγκόσμιου
ιστού. Το 2009 έγινε ο web server που ξεπέρασε το όριο των εκατό εκατομμυρίων
σελίδων στο διαδίκτυο. Ο Apache ήταν η πρώτη βιώσιμη εναλλακτική λύση απέναντι
στον Netscape Corporation web server(γνωστό σήμερα ως Sun Java System web
server), και από τότε εξελίχθηκε σε υπολογίσιμο αντίπαλο άλλων web server που
βασίζονται σε Unix όσον αφορά την λειτουργικότητα και τις επιδόσεις.
Ο Apache αναπτύσσεται και συντηρείται από μια ανοικτή κοινότητα
προγραμματιστών υπό την αιγίδα του Apache Software Foundation. Η εφαρμογή
είναι διαθέσιμη για μια μεγάλη ποικιλία λειτουργικών συστημάτων στα οποία
περιλαμβάνονται τα Unix, GNU, FreeBSD, Linux,Solaris,Novell NetWare, Mac OS
X, Microsoft Windows, OS/2, TPF και eComStation. Ο Apache χαρακτηρίζεται ως
ένα λογισμικό ανοικτού κώδικα. Από τον Απρίλιο του 1996 και μετά, ο Apache είναι
ο πιο δημοφιλής HTTP server του διαδικτύου. Επίσης μετά από μέτρηση που
πραγματοποιήθηκε τον Αύγουστο του 2009, ο Apache εξυπηρετεί το 54,32% όλων
των σελίδων του διαδικτύου και το 66% από τις 1.000.000 πιο δημοφιλείς.
Η πρώτη έκδοση του Apache δημιουργήθηκε από τον Robert McCool, ο οποίος
συμμετείχε στην ανάπτυξη του National Center of Supercomputing Applications web
server, γνωστό απλά ως NCSA HTTPd. Όταν ο McCool έφυγε από την NCSA στα
μέσα του 1994, η ανάπτυξη του HTTPd σταμάτησε, αφήνοντας μια ποικιλία από
προσθήκες για βελτιώσεις να κυκλοφορεί μέσω email.Αυτές τις προσθήκες παρείχε
ένας αριθμός προγραμματιστών οι οποίοι βοήθησαν να δημιουργηθεί η αρχική ομάδα
ανάπτυξης του Apache γνωστή και ως “Apache Group”.
Σελίδα 22
Κεφάλαιο 4ο – Χρήση του Joomla στον ιστότοπο
Υπάρχουν δύο επεξηγήσεις όσον αφορά το όνομα του project. Συμφώνα με το
Apache Foundation, το όνομα επελέγη από σεβασμό στην φυλή των αυτοχθόνων
Αμερικανών Apache οι οποίοι ήταν γνωστοί για την αντοχή και τις ικανότητες τους
στην μάχη. Παρ’ όλα αυτά, κατά την περίοδο 1996-2001, η επεξήγηση που έδινε η
ιστοσελίδα του Apache project ήταν ότι επειδή πρόκειται για έναν server ο οποίος
δημιουργήθηκε βασισμένος σε προσθήκες(patches),ονομάστηκε patchy server και με
τον καιρό κατέληξε να αποκαλείται Apache.
Ο Apache υποστηρίζει μία πολύ μεγάλη ποικιλία χαρακτηριστικών και
δυνατοτήτων. Πολλά από αυτά προσαρτώνται στον πυρήνα με την μορφή modules
επεκτείνοντας τις δυνατότητες του. Αυτά περιλαμβάνουν από υποστήριξη server-side
γλωσσών προγραμματισμού έως και αλγόριθμους αυθεντικοποίησης. Κάποιες από τις
δημοφιλείς γλώσσες που υποστηρίζονται είναι οι Perl, Python, Tcl και PHP. Κάποια
από τα δημοφιλή modules αυθεντικοποίησης που υποστηρίζονται είναι τα
mod_access, mod_auth, mod_digest και mod_auth_digest. Κάποιες από τις άλλες
δυνατότητες περιλαμβάνουν υποστήριξη των πρωτοκόλλων SSL και TLS(mod_ssl),
ένα proxy module, ένα URL rewriter(mod_rewrite), παραμετροποιημένες καταγραφές
συμβάντων (mod_log_config) καθώς και υποστήριξη φίλτρων(mod_ext_filter).
Μια δημοφιλείς μέθοδος συμπίεσης πού χρησιμοποιείται στον Apache είναι το
external extension module(mod_gzip) το οποίο βοήθα στον να μειωθεί το μέγεθος
των ιστοσελίδων που εξυπηρετούνται μέσω HTTP. Επίσης δημοφιλές είναι και το
ModSecurity το οποίο είναι μια μηχανή ανοιχτού κώδικα που εντοπίζει και εμποδίζει
εισβολές σε διαδικτυακές εφαρμογές. Το ιστορικό του Apache μπορεί να διαχειριστεί
μέσω ενός web browser χρησιμοποιώντας ελεύθερες εφαρμογές όπως
AWStats/W3Perl ή το Visitors.
Κάποια επιπλέον χαρακτηριστικά του Apache είναι το Virtual Hosting, που
επιτρέπει σε πολλές διαφορετικές ιστοσελίδες να εξυπηρετούνται από μία μόνο
εγκατάσταση του server, παραμετροποιήσιμα μηνύματα σφάλματος, Βάσεις
δεδομένων βασισμένες σε αυθεντικοποίηση DBMS, διαχείριση περιεχομένου και
υποστήριξη διαφόρων GUIs(Graphical User Interfaces).
Ο Apache χρησιμοποιείται κυρίως για την εξυπηρέτηση στατικών και
δυναμικών σελίδων στο διαδίκτυο. Πολλές διαδικτυακές εφαρμογές σχεδιάζονται με
βάση το περιβάλλον και τα χαρακτηριστικά που προσφέρει ο Apache. Ο
συγκεκριμένος server αποτελεί κομμάτι της δημοφιλούς ομάδας εφαρμογών LAMP
την οποία αποτελούν ο Apache, το λειτουργικό Linux, το σύστημα διαχείρισης
βάσεων δεδομένων MySQL και οι γλώσσες προγραμματισμού PHP/Perl/Python. Ο
Apache αποτελεί βασικό κομμάτι πολλών πακέτων εφαρμογών όπως : Oracle
Database, IBM WebSphere application server, WebObject application server, Mac OS
X, Novell NetWare6.5 καθώς και σε πολλές διανομές του λειτουργικού συστήματος
Linux.
Σελίδα 23
Κεφάλαιο 4ο – Χρήση του Joomla στον ιστότοπο
4.1.2 PHP
Η PHP είναι μια scripting γλώσσα που αρχικά είχε σχεδιαστεί για την παραγωγή
δυναμικών ιστοσελίδων. Command line interface standalone graphical
applications.Έχει εξελιχθεί στο να περιλαμβάνει μια γραμμή εντολών και μπορεί να
χρησιμοποιηθεί σε standalone γραφικών εφαρμογών.
Ενώ η PHP δημιουργήθηκε αρχικά από Rasmus Lerdorf το 1995, η κύρια
εφαρμογή της PHP είναι τώρα παράγεται με την ομάδα της PHP και χρησιμεύει ως το
de facto πρότυπο για την PHP, διότι δεν υπάρχει επίσημων προδιαγραφών.
Η PHP είναι μια ευρέως χρησιμοποιούμενη, γενικού σκοπού scripting γλώσσα η
οποία είναι ειδικά κατάλληλη για ανάπτυξη web και μπορεί να ενσωματωθεί στην
HTML. Γενικά εκτελείται σε έναν web server, λαμβάνοντας ως PHP κώδικα και να
δημιουργήσει ιστοσελίδες ως παραγωγή. Μπορεί να αναπτυχθεί σε web servers και
σε σχεδόν κάθε λειτουργικό σύστημα και πλατφόρμα δωρεάν. Η PHP είναι
εγκατεστημένη σε πάνω από 20 εκατομμύρια ιστοσελίδες και 1 εκατ. web servers.
Η PHP 5 ήταν ένα μεγάλο βήμα μπροστά για τη γλώσσα, αν και όχι τόσο μεγάλο
όσο η μετάβαση από την PHP 3 στην PHP 4. Η PHP 5 προσφέρει scripts για
αντικειμενοστραφή προγραμματισμό (object-oriented). Επίσης, υπάρχει μια μεγάλη
ποικιλία από συναρτήσεις για αντικείμενα (objects)που τα κάνει πολύ πιο ευέλικτα
και εύκολα στη χρήση τους.Ακόμη,τα αντικείμενα αντιμετωπίζονται πάντα ως
αναφορές (references) ώστε να βοηθηθούν οι προγραμματιστές που δυσκολεύονται
να εργαστούν με τα αντικείμενα.
Η PHP χρησιμοποιεί μια μίξη από διερμήνευση (interpretation) και
μεταγλώττιση(compilation) έτσι ώστε να μπορέσει να δώσει στους προγραμματιστές
τον καλύτερο δυνατό συνδυασμό απόδοσης και ευελιξίας. Στο παρασκήνιο, η PHP
μεταγλωττίζει το script σε μια σειρά από εντολές (instructions), που είναι γνωστές με
τον όρο opcodes, οι οποίες εντολές εκτελούνται μία-μία μέχρι να τελειώσει το script.
Αυτό είναι κάτι διαφορετικό από τις παραδοσιακές γλώσσες που μεταγλωττίζονται,
όπως είναι η C++, όπου ο κώδικας μεταγλωττίζεται σε εκτελέσιμο κώδικα μηχανής,
ενώ η PHP μεταγλωττίζει εκ νέου το script κάθε φορά που αυτό απαιτείται. Αυτή η
συνεχής μεταγλώττιση μπορεί να φαίνεται ως απώλεια χρόνου, αλλά δεν είναι
καθόλου κακή καθώς δεν χρειάζεται να κάνουμε συνέχεια εμείς τη μεταγλώττιση των
scripts όταν γίνονται κάποιες αλλαγές σ’ αυτά.
Σελίδα 24
Κεφάλαιο 4ο – Χρήση του Joomla στον ιστότοπο
4.1.3 SQL
Η MySQL είναι ένα σύστημα διαχείρισης σχεσιακών βάσεων δεδομένων
(RDBMS) το οποίο μετρά περισσότερες από 10 εκατομμύρια εγκαταστάσεις. Έλαβε
το όνομά του από την κόρη του Μόντυ Βιντένιους, την Μάι. Το πρόγραμμα τρέχει
έναν εξυπηρετητή (server) παρέχοντας πρόσβαση πολλών χρηστών σε ένα σύνολο
βάσεων δεδομένων. Η βάση δεδομένων MySQL έχει γίνει η πιο δημοφιλής βάση
δεδομένων ανοιχτού λογισμικού εξαιτίας της σταθερά υψηλής απόδοσής της, της
αξιοπιστίας της και της ευκολίας της χρήσης της. Χρησιμοποιείται παγκοσμίως τόσο
από μεμονωμένους δημιουργούς διαδικτυακών χώρων όσο και από πολλούς από τους
μεγαλύτερους και τους πιο ραγδαία αναπτυσσόμενους οργανισμούς για την
εξοικονόμηση χρόνου και χρήματος. Επίσης, χρησιμοποιείται για τη δημιουργία
διαδικτυακών χώρων με μεγάλο όγκο δεδομένων, κρίσιμων συστημάτων για τη
λειτουργία εταιρικών εφαρμογών και πακέτων λογισμικού μεγάλων εταιρειών. Η
MySQL δεν είναι μόνο η πιο δημοφιλής βάση δεδομένων ανοιχτού λογισμικού, αλλά
συγχρόνως έχει γίνει και η επιλεγμένη βάση δεδομένων για τη νέα γενιά εφαρμογών
που βασίζεται στο LAMP (Linux, Apache, MySQL,PHP/Perl/Python). Η MySQL
τρέχει σε περισσότερες από 20 πλατφόρμες συμπεριλαμβανομένων του Linux, των
Windows, του OS/X, του HP-UX, του AIX και του Netware, παρέχοντας στο χρήστη
όλη την απαιτούμενη ευελιξία.
Η έκδοση της MySQL Enterprise Server 5.5 διαθέτει τα ακόλουθα
χαρακτηριστικά:











Συναλλαγές ACID για τη δημιουργία αξιόπιστων και ασφαλών κρίσιμων
εταιρικών
εφαρμογών.
Αποθηκευμένες διαδικασίες για τη βελτίωση της παραγωγικότητας των
προγραμματιστών.
Διαδικασίες πυροδότησης για την επιβολή πολύπλοκων επιχειρηματικών
κανόνων στο επίπεδο της βάσης δεδομένων.
Μεθόδους προστασίας των ευαίσθητων δεδομένων.
Σχήμα Πληροφοριών για την παροχή εύκολης πρόσβασης σε μεταδεδομένα.
Κατανεμημένες Συναλλαγές για την υποστήριξη πολύπλοκων συναλλαγών
εντός
πολλαπλών βάσεων δεδομένων.
Αρχιτεκτονική Μηχανής Αποθήκευσης για την παροχή της μέγιστης δυνατής
ευελιξίας.
Μηχανή Αποθήκευσης Αρχείων για την καταγραφή του ιστορικού και των
δεδομένων λογιστικού ελέγχου.
Ενοποιημένη Μηχανή Αποθήκευσης για τη δημιουργία μίας λογικής βάσης
δεδομένων από πολλούς φυσικούς εξυπηρετητές.
Εκδόσεις με διορθώσεις των πιο σημαντικών σφαλμάτων.
Σελίδα 25
Κεφάλαιο 4ο – Χρήση του Joomla στον ιστότοπο
Με τη βοήθεια της PHP μπορούμε να συνδεθούμε σε έναν οποιοδήποτε MySQL
Server στον οποίο έχουμε λογαριασμό, να πάρουμε δεδομένα από ήδη υπάρχουσες
βάσεις, να εισάγουμε δεδομένα σε πίνακες βάσεων, να ανανεώσουμε κάποια
υπάρχοντα δεδομένα, να φτιάξουμε νέες βάσεις και νέους πίνακες και γενικά να
κάνουμε οτιδήποτε γίνεται με μια MySQL βάση δεδομένων.
Επομένως, μέσα από τις Web σελίδες μας μπορούμε να διαχειριστούμε εύκολα
μια MySQL βάση δεδομένων και έτσι οι σελίδες μας να αποκτήσουν πολλές άλλες
δυνατότητες που απαιτούν οι σύγχρονες απαιτήσεις των χρηστών δηλαδή να γίνουν
δυναμικές, ελκυστικές και ανταγωνιστικές. Μια τυπική διαδικτυακή συναλλαγή
βάσεων δεδομένων αποτελείται από τις παρακάτω φάσεις:






Ο web browser ενός χρήστη κάνει μια HTTP αίτηση για μια συγκεκριμένη
διαδικτυακή σελίδα.
Ο διαδικτυακός διακομιστής (Apache Server) λαμβάνει την αίτηση για τη
σελίδα,
ανακαλεί το αρχείο και το περνά στη μηχανή PHP για επεξεργασία.
Η μηχανή PHP αρχίζει την ανάλυση του script. Μέσα στο script, υπάρχει μια
εντολή που συνδέει τη βάση δεδομένων και εκτελεί ένα ερώτημα. Η PHP
ανοίγει μια σύνδεση με το MySQL διακομιστή (server) και στέλνει το
κατάλληλο ερώτημα.
Ο MySQL διακομιστής (server) λαμβάνει το ερώτημα της βάσης δεδομένων,
το
επεξεργάζεται και στέλνει τα αποτελέσματα ξανά στη μηχανή PHP.
Η μηχανή PHP σταματά την εκτέλεση του script, που συνήθως περιλαμβάνει
τη
μορφοποίηση των αποτελεσμάτων του ερωτήματος σε HTML. Επιστρέφει
μετά την
τελική HTML σελίδα στον web διακομιστή (Apache Server).
Ο διαδικτυακός διακομιστής (Apache Server) περνά την HTML σελίδα ξανά
στο browser,όπου ο χρήστης μπορεί να δει τα αποτελέσματα που ζήτησε.
4.1.4 PhpMyAdmin
Το phpMyAdmin είναι ένα σύνολο από php scripts με το οποίο διαχειριζόμαστε
τις βάσεις δεδομένων που έχουμε μέσο web. Το phpMyAdmin μπορεί να διαχειριστεί
ένα ολόκληρο mysql server ή ακόμα και απλές βάσεις δεδομένων όπου ο κάθε
χρήστης έχει ένα λογαριασμό και μπορεί να δημιουργήσει και να διαχειριστεί τις
δικές του βάσεις δεδομένων. Υποστηρίζει 47 γλώσσες μεταξύ των οποίων και τα
Ελληνικά και είναι λογισμικό ανοιχτού κώδικα.
Σελίδα 26
Κεφάλαιο 4ο – Χρήση του Joomla στον ιστότοπο
Οι δυνατότητες του PhpMyAdmin είναι οι εξής:
















Δημιουργεί και να διαγράφει βάσεις δεδομένων
Δημιουργεί, τροποποιεί, διαγράφει, αντιγράφει και μετονομάζει πίνακες
Κάνει συντήρηση της βάσης
Προσθέτει, διαγράφει και τροποποιεί πεδία πινάκων
Εκτελεί Sql ερωτήματα, ακόμα και ομαδικά (batch)
Διαχειρίζεται κλειδιά σε πεδία
“Φορτώνει” αρχεία κειμένου σε πίνακες
Δημιουργεί και διαβάζει πίνακες (που προέρχονται από dump βάσης)
Εξάγει δεδομένα σε μορφή CVS, Latex, XML
Διαχειρίζεται πολλούς διακομιστές
Διαχειρίζεται τους χρήστες MySQL και τα δικαιώματά τους
Ελέγχει την αναφορική ακεραιότητα των δεδομένων των MyISAM πινάκων
Δημιουργεί PDF γραφικών του layout της βάσης δεδομένων
Εκτελεί αναζητήσεις σε όλη τη βάση ή μέρος αυτής
Υποστηρίζει πίνακες InnoDB και ξένα κλειδιά
Υποστηρίζει MySQLi, μια βελτιωμένη επέκταση της MySQL
4.1.5 Wamp
Το όνομα WAMP είναι το ακρωνύμιο των:
 Windows. Δηλαδή οτι ο server αυτός λειτουργεί σε περιβάλλον windows.
Αντίστοιχα υπάρχει LAMP για λειτουργικό Linux και MAMP για λειτουργικο
Mac
 Apache. Ο Apache είναι web server.
 MySQL. Το MySQL είναι μια βάση δεδομένων
 PHP. Η PHP είναι μια γλώσσα προγραμματισμού για τη δημιουργία
σελίδων web με δυναμικό περιεχόμενο.
Σελίδα 27
Κεφάλαιο 4ο – Χρήση του Joomla στον ιστότοπο
Το Wamp Server είναι ένα περιβάλλον για ανάπτυξη ιστοσελίδων σε Windows
που μας επιτρέπει να δημιουργούμε WEB εφαρμογές χρησιμοποιώντας apache, php
και βάσεις δεδομένων SQL. Παράλληλα το phpmyadmin μας επιτρέπει να
χειριστούμε εύκολα τη βάση δεδομένων. Το Wamp Server εγκαθιστά αυτόματα όλα
όσα χρειάζεται o χρήστης για να ξεκινήσει την ανάπτυξη των εφαρμογών WEB και
είναι σχεδιασμένος με τέτοιο τρόπο ώστε να μπορεί να σηκωθεί ένα τοπικός server
χωρίς να χρειαστεί να ρυθμιστεί από τον χρήστη ούτε ένα αρχείο καθώς όλα γίνονται
αυτόματα από την διεπαφή.
Τα πλεονεκτήματα που συγκεντρώνει η αρχιτεκτονική του Wamp server
συνοψίζονται στα παρακάτω:





Μπορεί να χρησιμοποιηθεί από όλους τους φυλλομετρητές.
Μπορεί να εγκατασταθεί σε οποιοδήποτε λειτουργικό σύστημα.
Είναι portable (εκτελείται σε αφαιρούμενο μέσο αποθήκευσης χωρίς να
χρειάζεται εγκατάσταση).
Έχει σπονδυλωτή δομή (αποτελείται από επιμέρους τμήματα που είναι
ανεξάρτητα ως προς τη λειτουργία τους.
Δεν απαιτείται σύνδεση στο internet για την χρήση του.
4.2 Προετοιμασία και εγκατάσταση
Η εγκατάσταση του Joomla είναι μια διαδικασία που αν γίνει προσεκτικά
διαρκεί μερικά λεπτά. Αυτό οφείλεται στο εξελιγμένο σύστημα εγκατάστασης που
αποτελεί πρότυπο ευκολίας. Προφανώς, αυτό δεν σημαίνει ότι δεν πρέπει να
αποδοθεί ιδιαίτερη προσοχή στην διαδικασία προετοιμασίας του υπολογιστή που θα
το φιλοξενήσει. Για την εγκατάσταση του Joomla απαιτείται η εγκατάσταση των
ακόλουθων λογισμικών σε έναν υπολογιστή που έχει πρόσβαση στο Internet:







Εξυπηρετητή ιστοσελίδων Apache (προτείνεται 2.x +)
Module mod_mysql
Module mod_xml
Module mod_zlib
Γλώσσα PHP (προτείνεται 5.2 + , καλό είναι να αποφεύγονται οι εκδόσεις
4.x.x μιας και έχουν κλείσει τον κύκλο ζωής τους και δεν θα υποστηρίζονται
στο εξής, όπως και η έκδοση 5.3 η οποία δεν είναι ακόμα συμβατή)
Βάση δεδομένων MySQL (προτείνεται 5.5.1 + , η έκδοση 6.x δεν έιναι ακόμα
συμβατή, καλό είναι να αποφεύγεται η έκδοση 4 και σε καμία περίπτωση την
έκδοση 3.x.x.)
Joomla CMS (δεν προτείνουμε την τελευταία διαθέσιμη έκδοση αφού δεν
υπάρχει ποικιλία διαθέσιμων επεκτάσεων)
Σελίδα 28
Κεφάλαιο 4ο – Χρήση του Joomla στον ιστότοπο
Στη συνέχεια θα παρουσιάσουμε την εγκατάσταση των ανωτέρω εργαλείων
στο λειτουργικό σύστημα των Windows. H εγκατάσταση στο περιβάλλον Windows
συνιστάται για δοκιμαστική λειτουργία αλλά και για προσωπική χρήση και εκμάθηση
και όχι για δικτυακούς τόπους οι οποίοι θα είναι μονίμως online.
4.2.1 Εγκατάσταση λογισμικού Wampserver
Σε υπολογιστές με λειτουργικό σύστημα Windows όπου επιθυμούμε να
κάνουμε μια δοκιμαστική εγκατάσταση δεν χρειάζεται να τοποθετήσουμε ένα προς
ένα τα λογισμικά τα οποία αναφέρονται παραπάνω. Για τη διαδικασία αυτή διατίθεται
δωρεάν το λογισμικό WAMPSERVER (http://www.wampserver.com/en/) τo οποίo
με ελάχιστες ρυθμίσεις και με μια απλή εγκατάσταση, παρέχει ένα πλήρες σύστημα
Apache, PHP, Mysql μαζί με το λογισμικό phpMyAdmin. Κατεβάζουμε την έκδοση
WAMPSERVER το οποίο διατίθεται σε μορφή executable συμπιεσμένου αρχείου.
Στην παρούσα εργασία χρησιμοποιούμε την έκδοση 2.2.
Εικόνα 1 - Εγκατάσταση λογισμικού
Σελίδα 29
Κεφάλαιο 4ο – Χρήση του Joomla στον ιστότοπο
Για να ξεκινήσουμε το WAMPSERVER πρέπει να βεβαιωθούμε ότι δεν
χρησιμοποιούμε τις πόρτες ( ports ) 80 και 3306 π.χ. Skype, στην περίπτωση του
οποίου μπορεί να λειτουργήσει είτε σε άλλη πόρτα μηχανικά, είτε ανοίγοντας πρώτα
το WAMPSERVER και στη συνέχεια το Skype.
Εικόνα 2 - Ολοκλήρωση εγκατάστασης λογισμικού
4.2.2 Δημιουργία βάσης δεδομένων
Απαραίτητη προϋπόθεση για να εγκατασταθεί το Joomla είναι η ύπαρξη μιας
βάσης δεδομένων MySQL η οποία θα πρέπει να υποστηρίζει το σύνολο χαρακτήρων
UTF-8 και το collation general_ci ή unicode_ci.
Επιλέγουμε για την δημιουργία της βάσης μας να γίνει με το εργαλείο
phpMyAdmin. Για να δημιουργήσουμε μέσω του εργαλείου phpMyAdmin μια βάση
δεδομένων με όνομα ‘ergasia’ ακολουθούμε τα παρακάτω βήματα:
 Ανοίγουμε έναν φυλλομετρητή στη διεύθυνση http://localhost/phpmyadmin
 Επιλέγουμε ‘Databases
 Συμπληρώνουμε στο πεδίο ‘Create new database’ το όνομα που επιθυμούμε
 Πατάμε κλικ στο πλήκτρο ‘Create’.
Σελίδα 30
Κεφάλαιο 4ο – Χρήση του Joomla στον ιστότοπο
Εικόνα 3 - Δημιουργία βάσης Δεδομένων
4.2.3 Δημιουργία χρήστη
Όπως και με την δημιουργία της βάσης μας έτσι και για την δημιουργία
χρηστών μπορεί να γίνει με το εργαλείο phpMyAdmin.
Επιλέγουμε για την δημιουργία του χρήστη μας να γίνει με το εργαλείο
phpMyAdmin. Για να δημιουργήσουμε μέσω του εργαλείου phpMyAdmin έναν
χρήστη με το όνομα ‘pantelis’ ακολουθούμε τα παρακάτω βήματα:



Ανοίγουμε έναν φυλλομετρητή στη διεύθυνση http://localhost/phpmyadmin
Επιλέγουμε ‘Privileges’
Επιλέγουμε ‘Add a new User’, συμπληρώνουμε τα στοιχεία και τα
κατάλληλα δικαιώματα.
Σελίδα 31
Κεφάλαιο 4ο – Χρήση του Joomla στον ιστότοπο
Εικόνα 4 - Δημιουργία νέου χρήστη
Στο παράθυρο που ανοίγει ορίζονται τα πεδία Username. Host και Password.
Με την επιλογή “Check All” στο πλαίσιο “Global Privileges” ορίζεται να έχει ο χρήστη πλήρη δικαιώματα. Με το πάτημα του κουμπιού “Create User” ολοκληρώνεται η
δημιουργία χρήστη.
Εικόνα 5 - Ολοκλήρωση δημιουργίας χρήστη
Σελίδα 32
Κεφάλαιο 4ο – Χρήση του Joomla στον ιστότοπο
4.2.4 Εγκατάσταση του Joomla
Εξάγουμε τα αρχεία εγκατάστασης από το αρχείο που προμηθευτήκαμε από την
ιστοσελίδα του Joomla στον φάκελο που θα φιλοξενήσει τον ιστότοπο μας και στην
συνέχεια επισκεπτόμαστε την διεύθυνση (localhost/joomla/) στον φυλλομετρητή μας
για να μας εμφανιστεί η σελίδα εγκατάστασης του Joomla.
Βήμα 1: Επιλογή γλώσσας εγκατάστασης του Joomla.
Εικόνα 6 - Επιλογή γλώσσας εγκατάστασης Joomla
Σελίδα 33
Κεφάλαιο 4ο – Χρήση του Joomla στον ιστότοπο
Βήμα 2: Προληπτικός έλεγχος για Joomla! 2.5.3. Αν κάτι δεν υποστηρίζεται
εμφανίζεται ως Όχι.
Εικόνα 7 - Προληπτικός έλεγχος Joomla!
Βήμα 3: Αποδοχή άδειας χρήσης GNU/GPL.
Εικόνα 8 - Άδεια χρήσης GNU/GPL
Σελίδα 34
Κεφάλαιο 4ο – Χρήση του Joomla στον ιστότοπο
Βήμα 4: Ρυθμίσεις βάσης δεδομένων. Εισάγονται το είδος της βάσης δεδομένων, ο
διακομιστής, ο χρήστης, ο κωδικός πρόσβασης του χρήστη και το όνομα της βάσης
δεδομένων.
Εικόνα 9 - Ρυθμίσεις βάσης δεδομένων
Βήμα 5: Εισαγωγή ρυθμίσεων FTP για τη μεταφορά αρχείων μέσω του συστήματος
Joomla.
Εικόνα 10 - Ρυθμίσεις FTP
Σελίδα 35
Κεφάλαιο 4ο – Χρήση του Joomla στον ιστότοπο
Βήμα 6: Εισαγωγή του ονόματος του ιστότοπου, του ηλεκτρονικού ταχυδρομείου,
του ονόματος χρήστη διαχειριστή και του κωδικού διαχειριστή.
Εικόνα 11 - Βασικές ρυθμίσεις Joomla
Βήμα 7: Ενημέρωση για την ολοκλήρωση της εγκατάστασης και την διαγραφή του
καταλόγου με τα αρχεία εγκατάστασης. Μετά την διαγραφή του καταλόγου υπάρχει η
δυνατότητα μετάβασης στον ιστότοπο ή στην σελίδα διαχείρισης.
Εικόνα 12 - Ολοκλήρωση εγκατάστασης Joomla
Σελίδα 36
Κεφάλαιο 4ο – Χρήση του Joomla στον ιστότοπο
Για την είσοδο στην σελίδα διαχείρισης απαιτείται το όνομα διαχειριστή και ο
κωδικός πρόσβασης.
Εικόνα 13 - Είσοδος σελίδας διαχείρισης Joomla
Μετά την σωστή καταχώρηση των στοιχείων ανοίγει η σελίδα διαχείρισης όπως
φαίνεται στην παρακάτω εικόνα.
Εικόνα 14- Κεντρική σελίδα διαχείρισης
Σελίδα 37
Κεφάλαιο 4ο – Χρήση του Joomla στον ιστότοπο
4.2.5 Εγκατάσταση ελληνικής γλώσσας στο Joomla
Τα αρχεία της ελληνικής γλώσσας, καθώς και των υπόλοιπων γλωσσών για το
Joomla βρίσκονται στην διεύθυνση http://community.joomla.org/translations.html. Τα
αρχεία είναι συμπιεσμένα. Η εγκατάσταση της ελληνικής γλώσσας γίνεται από την
σελίδα διαχείρισης χωρίς να αποσυμπιεστούν τα αρχεία εγκατάστασης.
Βήμα 1: Άνοιγμα της καρτέλας «Extensions” και επιλογή του “Extension Manager”.
Ανοίγει το ακόλουθο παράθυρο όπου ορίζεται το path του αρχείου εγκατάστασης της
ελληνικής γλώσσας. Με το πάτημα του κουμπιού “Upload and Install” ολοκληρώνεται η εγκατάσταση.
Εικόνα 15- Εγκατάσταση ελληνικής γλώσσας “Extension Manager”
Βήμα 2: Εμφάνιση μηνύματος για την επιτυχή ολοκλήρωση της εγκατάστασης.
Εικόνα 16- Μήνυμα επιτυχούς εγκατάστασης της ελληνικής γλώσσας
Σελίδα 38
Κεφάλαιο 4ο – Χρήση του Joomla στον ιστότοπο
Βήμα 3: Επιλογή ελληνικής γλώσσας ως γλώσσα περιοχής διαχείρισης μέσω του
“Language Manager”.
Εικόνα 17- Επιλογή ελληνικής γλώσσας στην περιοχή διαχείρισης
Μετά την επιτυχή εγκατάσταση και τον ορισμό της ελληνικής γλώσσας, η
περιοχή διαχείρισης του Joomla εμφανίζεται στα ελληνικά, όπως φαίνεται και στην
παρακάτω εικόνα.
Εικόνα 18 - Περιοχή διαχείρισης Joomla στην ελληνική γλώσσα
Σελίδα 39
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
Κεφάλαιο 5 - Υλοποίηση της ιστοσελίδας
5.1 Εγκατάσταση Template για την ιστοσελίδα
Για να εμφανίζεται η ιστοσελίδα σύμφωνα με το template που δημιουργήθηκε,
πρέπει να εγκατασταθεί το συγκεκριμένο template στο Joomla. Η εγκατάστασή του
γίνεται από την “Extension manager”. Μετά την επιλογή του path στο οποίο
βρίσκεται το template, ολοκληρώνεται η εγκατάστασή του μετά από το πάτημα του
κουμπιού “Upload and Install”. Στην συνέχεια εμφανίζεται μήνυμα επιβεβαίωσης της
επιτυχούς εγκατάστασής του.
Εικόνα 19 - Εγκατάσταση template
Μετά την εγκατάστασή του, το διαμορφώσαμε ώστε το design να είναι
προσαρμοσμένο στις δικές μας επιλογές. Πατώντας την επιλογή Templates του
“Template Manager” εμφανίζονται επιλογές για να κάνουμε αλλαγές στο background,
στο styling γραμματοσειρών, στα χρώματα και σχήματα αντικειμένων.
Εικόνα 20 – Επεξεργασία template
Σελίδα 40
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
Στη παρακάτω φωτογραφία φαίνεται ο τρόπος με τον όποιο μπορούμε να
κάνουμε τροποποιήσεις στον έτοιμο κώδικα του template.
Εικόνα 21 – Επεξεργασία κώδικα template
Η ενεργοποίηση του template γίνεται από την επιλογή “Template Manager”. Σε
μια λίστα εμφανίζονται όλα τα διαθέσιμα για τον ιστότοπο. Η ενεργοποίηση του
template γίνεται με την επιλογή του αστεριού στην στήλη “Default”, ώστε το αστέρι
να γίνει κίτρινο.
Εικόνα 22 - Ενεργοποίηση template
Έπειτα, με την επιλογή “view Site” που βρίσκεται πάνω δεξιά στην σελίδα,
εμφανίζεται η ιστοσελίδα σύμφωνα με το template που ενεργοποιήθηκε.
Σελίδα 41
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
5.2 Επεξεργασία ιστοσελίδας σε επίπεδο Backend
Σε αυτό το σημείο του κεφαλαίου θα αναφερθούμε αναλυτικά στα επιπρόσθετα
εργαλεία που χρησιμοποιήσαμε για την κατασκευή της ιστοσελίδας μας.
Παρακάτω θα περιγράψουμε τη λειτουργία και τα χαρακτηριστικά του κάθε
εργαλείου ξεχωριστά. Αυτά είναι:




K2 (Δημιουργία άρθρων/κατηγοριών)
Akeeba Backup (Δημιουργία αντιγράφου ασφαλείας του site μας)
Falang (Μετάφραση κειμένου σε άλλη γλώσσα)
Coalaweb Traffic(Μετρητής online επισκεπτών)
5.2.1 K2
Το K2 μας παρέχει μία ολοκληρωμένη λύση που περιέχει πλούσιες μορφές
περιεχομένου για τα στοιχεία (σκεφτείτε του Joomla τα άρθρα με επιπλέον πεδία για
τις εικόνες του άρθρου, τα βίντεο, τις εικόνες και τα συνημμένα αρχεία), ετικέτες,
σχόλια, ένα σύστημα που επεκτείνει τη βασική μορφή στοιχείου με επιπλέον πεδία,
ένα πρόσθετο API για να επεκτείνει το στοιχείο, την κατηγορία και τις φόρμες του
χρήστη, ACL, επεξεργασίας frontend, υποπρότυπα.
Χρησιμοποιώντας το K2, μπορούμε να μεταμορφώσουμε τη Joomla
ιστοσελίδα μας σε έναν ιστότοπο:
1.
2.
3.
4.
5.
Ειδήσεων
Καταλόγου προϊόντων
Βάσης γνώσεων
Διαχείρισης και λήψης εγγράφων
Κατάλογος φακέλων
Όλα αυτά ομαδοποιούνται κάτω από ένα πακέτο. Είναι εύκολο στη χρήση και
διασκεδαστικό για την ανάπτυξη ιστοσελίδων.
Χαρακτηριστικά:




nested-level κατηγορίες (χωρίς περιορισμούς σε τομείς/κατηγορίες)
Σχόλια
Ετικέτες
Προσθήκη εικόνων στοιχείου(χρήσιμο σε άρθρα και καταλόγους)
Σελίδα 42
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας







Λίστα εικόνων
Προσθήκη βίντεων
Επισύναψη αρχείων
Σελίδες χρηστών(blogs και προφίλ)
ACL πρόσθετο για frontend επεξεργασία
Plugin για επέκταση στοιχείου,κατηγορίας και φορμών χρήστη
Χρησιμοποιεί τεχνολογία AJAX για επεξεργασία frontend και σχολίων
Εικόνα 23 - Μενου Κ2
5.2.1.1 Δημιουργία άρθρων
Τα άρθρα είναι ένα από τα σημαντικότερα τμήματα του Joomla. Το μεγαλύτερο
κομμάτι του περιεχομένου που εμφανίζεται στις περισσότερες ιστοσελίδες, περιέχεται
σε άρθρα.
Η δημιουργία νέου άρθρου έγινε μέσω του K2 από το μενού Components->K2>Items και μετά επιλογή New Article. Σε αυτήν την σελίδα ορίζεται ο τίτλος του
άρθρου, η κατηγορία στην οποία ανήκει, η κατάστασή του (δημοσιευμένο, αδημοσίευτο), και το περιεχόμενο του άρθρου.
Το περιεχόμενο ενός άρθρου μπορεί να είναι απλό κείμενο, κώδικας html,
εικόνες, link. Αυτές είναι οι δυνατότητες που παρέχονται από τον Editor του Joomla.
Για περισσότερες επιλογές που αφορούν την σύνταξη των άρθρων υπάρχουν
πρόσθετα (modules) που εγκαθιστούν κάποιον άλλον Editor με περισσότερες
δυνατότητες.
Μέσω της σελίδας δημιουργίας νέου άρθρου δίνεται η δυνατότητα επιλογής
των στοιχείων του άρθρου που θα εμφανίζονται όταν αυτό είναι δημοσιευμένο. Για
παράδειγμα ορίζεται αν θα εμφανίζεται ο τίτλος του άρθρου, η κατηγορία στην οποία
ανήκει, ο συντάκτης του και πολλά άλλα στοιχεία.
Σελίδα 43
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
Εικόνα 24- Δημιουργία άρθρου
5.2.1.2 Δημιουργία κατηγορίας άρθρων
Για την ευκολότερη διαχείριση των άρθρων το Joomla δίνει την δυνατότητα δημιουργίας κατηγοριών. Με τις κατηγορίες ομαδοποιούνται τα άρθρα και έτσι ο διαχειριστής μπορεί να τροποποιεί μία φορά τα δικαιώματα μιας κατηγορίας και οι αλλαγές να επηρεάζουν όλα τα άρθρα που ανήκουν σε αυτή την κατηγορία.
Η δημιουργία κατηγορίας γίνεται μέσω του K2 από το μενού Components->K2>Categories και μετά επιλογή New Category. Με το κουμπί “ New” ξεκινάει η
δημιουργία της κατηγορίας.
Μετά το πάτημα του κουμπιού εμφανίζεται η σελίδα δημιουργίας της νέας
κατηγορίας όπως φαίνεται στην παρακάτω εικόνα. Σε αυτή την φόρμα επιλέγεται το
όνομα της κατηγορίας, η κατάστασή της (δημοσιευμένη, αδημοσίευτη κ.α.), τα
δικαιώματά της και κάποια ακόμα στοιχεία που δεν είναι υποχρεωτικό να
συμπληρωθούν όπως για παράδειγμα μια μικρή περιγραφή της κατηγορίας. Η
διαδικασία ολοκληρώνεται με το κουμπί “Αποθήκευση”.
Σελίδα 44
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
Εικόνα 25 - Δημιουργία κατηγορίας
5.2.1.3 Δημιουργία extra fields
Πολλές φορές χρειάζεται να προσθέσουμε ένα έξτρα στοιχείο εκτός του κειμένου
και αυτήν την δυνατότητα μας την παρέχει το μενού του K2, το extra fields. Στην
προκειμένη περίπτωση εμείς την χρησιμοποιήσαμε αυτή τη δυνατότητα σε ορισμένα
άρθρα για την ευκολότερη και καλύτερη παρουσίασή τους.
Συγκεκριμένα στις κατηγορίες άρθρων Staff Details και Courses Details
κατηγοριοποιήσαμε τα κείμενα και βάλαμε έξτρα πεδία για τα στοιχεία επικοινωνίας
του Προσωπικού για παράδειγμα.
Στην κατηγορία Extra Events info εμφανίζεται η ημερομηνία των τελευταίων
γεγονότων καθώς επίσης και η τοποθεσία τους.
Εικόνα 26 – Μενού Extra Fields
Σελίδα 45
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
Πατώντας το κουμπί «New» δημιουργούμε extra fields.Συμπληρώνουμε τα
απαραίτητα πεδία όπως τίτλος, κατηγορία και τύπος extra field.
Εικόνα 27 – Δημιουργία Extra Fields στην κατηγορία Staff Details
Εικόνα 28 – Δημιουργία Extra Fields στην κατηγορία Courses Details
Εικόνα 29 – Δημιουργία Extra Fields στην κατηγορία Extra Events info
Σελίδα 46
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
5.2.1.4 Δημιουργία extra fields groups
Όπως χρησιμοποιήσαμε το μενου του Κ2 για τα extra fields, ομοίως το
χρησιμοποιούμε και για τα extra fields groups για να κατηγοριοποιήσουμε τα extra
fields που δημιουργήσαμε στο προηγούμενο κεφάλαιο.
Τα extra fields groups είναι:
1. Staff Details
2. Courses Details
3. Extra Events info
Εικόνα 30 – Μενού extra fields groups
Εικόνα 31 – Δημιουργία Extra Fields groups
Σελίδα 47
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
5.2.2 Δημιουργία – Επεξεργασία μενού
Στο Joomla, το περιεχόμενο (κείμενα, φωτογραφίες κτλ.) είναι εντελώς
ανεξάρτητο από τον τρόπο με τον οποίο θέλουμε να εμφανίζεται αυτό το περιεχόμενο
στην ιστοσελίδα. Για να εμφανιστεί το περιεχόμενο αυτό στην ιστοσελίδα, συνήθως
πρέπει να δημιουργηθεί ένας σύνδεσμος σε αυτή, ο οποίος θα “οδηγεί” σε αυτό το
περιεχόμενο. Ένας ή περισσότεροι σύνδεσμοι, ενσωματώνονται συνήθως στην
ιστοσελίδα με τη βοήθεια ενός μενού. Με τη χρήση των μενού, επιτυγχάνεται η
πλοήγηση και η πρόσβαση στις διάφορες περιοχές της ιστοσελίδας.
Τα μενού, είναι στην ουσία σύνδεσμοι (links) σε Τομείς (Sections), Κατηγορίες (Categories), Συστατικά (Components), ή εξωτερικές σελίδες. Αυτοί οι σύνδεσμοι
ονομάζονται Στοιχεία Μενού (Menu Items).Κάθε μενού πρέπει να έχει ένα
αναγνωριστικό όνομα, το οποίο χρησιμοποιείται εσωτερικά από το Joomla. Μέσω
αυτών των Στοιχείων Μενού μπορούμε να περιηγηθούμε στο περιεχόμενο της ιστοσελίδας.
Η δημιουργία μενού γίνεται από τη καρτέλα “Menus” και μετά επιλέγουμε το
“bootstrap nav”. Πατώντας το κουμπί “New” εμφανίζεται η σελίδα για την
δημιουργία του μενού στην οποία καθορίζονται ο τίτλος του μενού, το είδος μενού
και μια μικρή περιγραφή. Η διαδικασία ολοκληρώνεται πατώντας το κουμπί “Save”.
Εικόνα 32 – Διαχείριση μενού
Σελίδα 48
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
Δημιουργώντας ένα στοιχείο στο μενού, εμφανίζεται το αντίστοιχο «κουμπί»
στην μπάρα του menu καθώς επίσης μας δίνεται και η δυνατότητα να το συνδέσουμε
με κάποιο άρθρο μας(πχ κείμενο, φωτογραφία, εξωτερικό σύνδεσμο),όπως φαίνεται
στην παρακάτω εικόνα.
Εικόνα 33 – Δημιουργία μενού
Από αυτήν την σελίδα ορίζεται ο τίτλος του στοιχείου(menu item), αν θα είναι
ορατό στην σελίδα ή όχι και αν ναι τότε σε ποιες σελίδες θα εμφανίζεται, η θέση στην
οποία θα εμφανίζεται καθώς και η κατάταξή του στην συγκεκριμένη θέση.
Έπειτα ορίζουμε το είδος του στοιχείου μενού, τον τίτλο του, την κατάστασή
του, τη θέση του στο μενού, και άλλα. Για την δημιουργία υπομενού επιλέγουμε το
“Γονικό Στοιχείο”.
Όλα τα παραπάνω στοιχεία του menu item μπορούμε να τα επεξεργαστούμε
ανά πάσα στιγμή τσεκάροντας το κουτάκι δίπλα σε αυτό που θέλουμε και στη
συνέχεια πατάμε το κουμπί “Edit”.
Σελίδα 49
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
Εικόνα 34 - Επεξεργασία στοιχείων μενού
Το είδος του στοιχείου μενού επιλέγεται από το κουμπί “Επιλογή” που
βρίσκεται ακριβώς δίπλα στο πεδίο. Ανάλογα με το είδος του στοιχείου μενού
εμφανίζονται οι αντίστοιχες ρυθμίσεις στις λεπτομέρειες του στοιχείου.
Εικόνα 35 - Επιλογή είδους στοιχείου μενού
Σελίδα 50
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
5.2.3 Akeeba backup
Το Akeeba Backup Core είναι ο διάδοχος της πλέον διάσημης εφαρμογής
JoomlaPack. Με λίγα λόγια, το Akeeba Backup Core είναι ένα συστατικό
δημιουργίας αντιγράφων ασφαλείας ανοιχτού κώδικα για το Joomla! CMS, αρκετά
διαφορετικό από τον ανταγωνισμό του. Η αποστολή του είναι απλή: να δημιουργήσει
ένα αντίγραφο ασφαλείας του site που μπορεί να αποκατασταθεί σε κάθε Server του
Joomla.Οι δυνατότητες του: ατελείωτες. Δημιουργεί ένα πλήρες αντίγραφο
ασφαλείας του site σας σε ένα ενιαίο αρχείο. Το αρχείο περιέχει όλα τα περιεχόμενα,
ένα στιγμιότυπο της βάσης δεδομένων και ένα πρόγραμμα εγκατάστασης παρόμοιο
σε λειτουργία με το πρόγραμμα εγκατάστασης του Joomla. Η διαδικασία δημιουργίας
αντιγράφων ασφαλείας και επαναφοράς είναι τεχνολογία AJAX ώστε να
αποφευχθούν λάθη υπέρβασης χρόνου server, ακόμη και σε μεγάλου περιεχομένου
site.
Εναλλακτικά, μπορούμε να κάνουμε ένα αντίγραφο ασφαλείας της βάσης
δεδομένων μας μόνο, ή μόνο τα αρχεία μας.
Χαρακτηριστικά:










Διαμορφώνεται για τη βέλτιστη λειτουργία με το site μας. Απλά κάνουμε κλικ
στο Configuration Wizard.
Με ένα κλικ δημιουργείται πλήρες αντίγραφο ασφαλείας.
Χρησιμοποιεί τεχνολογία AJAX.
Η ταχύτερη PHP μηχανή δημιουργίας αντιγράφων ασφαλείας.
Επιλέγει ανάμεσα σε standard ZIP ή σε πιο αποτελεσματική μορφή αρχείου
τύπου JPA.
Είναι σε θέση να αποκλείσει συγκεκριμένα αρχεία, φακέλους.
Είναι σε θέση να αποκλείσει συγκεκριμένους πίνακες της βάσης δεδομένων ή
το περιεχόμενό τους
Αυτοματοποιημένη διαδικασία δημιουργίας αντιγράφων ασφαλείας, πλήρως
συμβατή με Webcron.org
Δημιουργεί Backup χρησιμοποιώντας οποιοδήποτε κινητό τηλέφωνο
κατασκευασμένο μετά το 2007 το οποίο έχει πρόγραμμα περιήγησης στο
ίντερνετ, χρησιμοποιώντας αποκλειστικά την "Lite Mode " του Akeeba.
Μεταφέρουμε την ιστοσελίδα μας σε άλλο host server χωρίς να χρειάζεται να
«κατεβάσουμε/ανεβάσουμε» τίποτα στο Server, (χρησιμοποιώντας τη
λειτουργία της εφαρμογής της δημιουργίας αντίγραφου ασφαλείας του
DirectFTP).
Σελίδα 51
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας

Τα αρχεία μπορούν να επαναφερθούν σε οποιοδήποτε host. Χρήσιμο για τη
μεταφορά του site μας ανάμεσα σε subdomains / hosts ή ακόμη και προς / από
τον τοπικό μας server.
Εικόνα 36 - Μενού Akeeba
Εικόνα 37 - Μενού διαδικασίας backup
5.2.4 Falang
To Falang είναι ένα εργαλείο του Joomla το οποίο μας επιτρέπει να
μεταφράσουμε την ιστοσελίδα μας σε πολλές γλώσσες με τον ευκολότερο τρόπο. Το
Falang μας επιτρέπει να διαχειριστούμε όλες τις μεταφράσεις του περιεχομένου,
ακόμα και το περιεχόμενο όλων των επιπρόσθετων στοιχείων στην ιστοσελίδα μας.
Είναι τόσο ευέλικτο ώστε μπορούμε εύκολα να προσθέτουμε νέα στοιχεία σε
μεταγενέστερη ημερομηνία και έπειτα να μεταφράσουμε το νέο περιεχόμενο.
Σελίδα 52
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
Με επεκτάσεις μπορούμε να μεταφράσουμε k2, aiContactSafe, Docman,
Redshop, jDownload, phocaDownload.
Το Falang δεν χρησιμοποιεί την προεπιλεγμένη γλώσσα του Joomla 2.5 και
3.0.Δεν χρειάζεται να ορίσουμε μια γλώσσα για κάθε περιεχόμενο του άρθρου ή του
στοιχείου μενού.
Το Falang μπορεί να δημιουργήσει μια πολύγλωσση ιστοσελίδα χωρίς την
αντιγραφή κάθε αντικείμενου και την εκ νέου δημιουργία τους στη νέα γλώσσα.
Εικόνα 38 - Μενού Falang
Εικόνα 39 - Διαδικασία Μετάφρασης
Σελίδα 53
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
5.2.5 Coalaweb Traffic
Το Coalaweb Traffic είναι ένα πρόσθετο εργαλείο του joomla το οποίο μας
επιτρέπει να παρακολουθούμε τους επισκέπτες στην ιστοσελίδα μας. Αποτελείται από
ένα component, ένα module και δύο plugins. Μπορούμε να επιλέξουμε να
εμφανίζεται η συνολική επισκεψιμότητα της ιστοσελίδας μας και το πόσοι επισκέπτες
είναι online εκείνη τη στιγμή. Διαφορετικά έχουμε επιλογή να μην εμφανίζονται
τίποτα από τα παραπάνω και να έχουμε μια συνολική στατιστική εικόνα των
επισκεπτών σαν administrators.
Χαρακτηριστικά:







Πολλαπλά layouts
Ρυθμιζόμενος μετρητής επισκεπτών(συνολικών)
Εμφάνιση online επισκεπτών
Επιλογή εμφάνισης ή όχι της ip του επισκέπτη
Επιλογή εμφάνισης ή όχι ημερομηνίας και ώρας επίσκεψης
Επιλογή γλώσσας
Επιλογή εμφάνισης συνολικών επισκεπτών ημέρας/εβδομάδας/μήνα και
συνόλου
Εικόνα 40 - Coalaweb Traffic
Σελίδα 54
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
Εικόνα 41 - Menu Coalaweb Traffic
5.3 Επεξεργασία ιστοσελίδας σε επίπεδο Frontend
Σε αυτό το σημείο του κεφαλαίου θα αναφερθούμε για τα frontend εργαλεία
τα οποία είναι υπεύθυνα για την σωστή εμφάνιση όλων των στοιχείων της
ιστοσελίδας μας. Συγκεκριμένα είναι:




JQUERY(javascript)
HTML5
CSS3
BOOTSTRAP
5.3.1 JQuery
Το jQuery είναι μια ελαφριά βιβλιοθήκη Javascript, συμβατή με όλους τους
φυλλομετρητές (browsers) που κυκλοφορούν, η οποία απλοποιεί την εκμάθηση και
την χρήση της γλώσσας Javascript που χρησιμοποιείται στην δημιουργία ιστοσελίδων
και web εφαρμογών. Με την χρήση του μπορούμε να προσθέσουμε κίνηση
(animation), να αυξήσουμε την διαδραστικότητα του χρήστη (user interaction), να
αλλάξουμε το περιεχόμενο της σελίδας χωρίς ο χρήστης να πρέπει να μεταφερθεί σε
νέα σελίδα, να δημιουργήσουμε διάφορα εφέ και πολλά περισσότερα.
Σελίδα 55
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
Το jQuery δεν κάνει μόνο την χρήση της Javascript πιο εύκολη και λιγότερη
χρονοβόρα, αλλά εξαλείφει και τα προβλήματα που συνεπάγονται από την χρήση της
Javascript, όπως το πρόβλημα συμβατότητας της με τους διάφορους browsers της
αγοράς.
Κυκλοφόρησε τον Ιανουάριο του 2006 από τον John Resig και είναι ένα
ελεύθερο λογισμικό και λογισμικό ανοιχτού κώδικα (free, open source software) που
διατίθεται κάτω από τους όρους της GNU General Public License (GPL) και της MIT
License. Αυτό σημαίνει ότι ο καθένας μας μπορεί να το χρησιμοποιήσει,
κατεβάζοντας μία από τις εκδόσεις που διατίθενται στην επίσημη ιστοσελίδα του
(jQuery.com) στην μορφή .js αρχείων.
Επίσης, υπάρχει μια πολύ μεγάλη και ενεργή κοινότητα προγραμματιστών
που έχουν δημιουργήσει διάφορα plugins με την χρήση του jQuery, τα οποία μπορεί ο
καθένας να χρησιμοποιήσει, εκμηδενίζοντας έτσι τον χρόνο δημιουργίας του εφέ που
επιθυμεί. Ακόμα, υπάρχουν ορισμένα software, όπως για παράδειγμα το Glimmer, τα
οποία μπορεί κάποιος να κατεβάσει στον υπολογιστή του και πανεύκολα να
δημιουργήσει το εφέ ή την κίνηση που επιθυμεί και, στην συνέχεια, το software αυτό
να του δώσει έτοιμο τον κώδικα jQuery.
Η jQuery από µόνη της παρέχει πληθώρα εργαλείων για να χτίσετε τη σελίδα
σας όπως ακριβώς τη φανταζόσασταν. Παρ' όλα αυτά, υπάρχει και µια βιβλιοθήκηεπέκταση µε το όνοµα jQuery UI, η οποία ουσιαστικά προσθέτει νέες λειτουργίες,
animations και εφέ στην ήδη υπάρχουσα βιβλιοθήκη της jQuery. Επίσης, σας δίνει τη
δυνατότητα να χρησιμοποιήσετε έτοιµα widgets όπως ημερολόγιο, λειτουργίες για
πίνακες, αλλά και να δημιουργήσετε θέµατα χρωµάτων για τα widgets σας. Μπορείτε
να µάθετε περισσότερα γι' αυτήν στο www.jqueryui.com.
Όλα αυτά κάνουν το jQuery ένα πολύ δυνατό εργαλείο, με αποτέλεσμα όλο
και περισσότερες ιστοσελίδες να επιλέγουν την χρήση του. Σύμφωνα με το
w3techs.com, το jQuery χρησιμοποιείται στο 79% των ιστοσελίδων που
χρησιμοποιούν κάποια βιβλιοθήκη Javascript και στο 34.8% όλων των ιστοσελίδων
παγκοσμίως. Δηλαδή, ακόμα και αν το jQuery σας φάνηκε ξένο, σίγουρα το έχετε
συναντήσει κάπου, εφόσον πολλές δημοφιλείς ιστοσελίδες το χρησιμοποιούν όπως τα
Twitter.com, Msn.com, Amazon.com,Bbc.co.uk και πολλά άλλα.
Για παράδειγμα σας παρουσιάζουμε ένα κομμάτι κώδικα που
χρησιμοποιήσαμε για να εισάγουμε τη βιβλιοθήκη του JQuery.
Στο κομμάτι του Header:
<!DOCTYPE html>
<html prefix="og: http://ogp.me/ns#" lang="en">
<head>
<meta charset="utf-8">
<base href="http://localhost/index.php/el/" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta property="og:url" content="http://localhost/index.php/el/" />
<meta property="og:title" content="News" />
<meta property="og:type" content="Article" />
<meta name="generator" content="Joomla! - Open Source Content Management" />
<title>News</title>
Σελίδα 56
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
<link href="/templates/electrology/favicon.ico" rel="shortcut icon"
type="image/vnd.microsoft.icon" />
<link rel="stylesheet" href="/components/com_k2/css/k2.css" type="text/css" />
<link rel="stylesheet" href="/media/mod_falang/css/template.css" type="text/css" />
<link rel="stylesheet" href="http://localhost/media/mod_coalawebtraffic/css/cwbase.css" type="text/css" />
<link rel="stylesheet"
href="http://localhost/media/mod_coalawebtraffic/css/themes/icons-1/cw-visitors.css"
type="text/css" />
<script src="/media/k2/assets/js/jquery-1.9.1.min.js"
type="text/javascript"></script>
<script src="/media/k2/assets/js/k2.noconflict.js" type="text/javascript"></script>
<script src="/components/com_k2/js/k2.js" type="text/javascript"></script>
<script type="text/javascript">
Χαρακτηριστικά:










DOM element επιλογές χρησιμοποιώντας την ανοιχτού κώδικα μηχανή
επιλογής πολλαπλών φυλλομετρητών Sizzle.
DOM διάσχιση και τροποποίηση (υποστηρίζοντας CSS 1-3)
Xειρισμός DOM βασισμένος σε CSS επιλογές που χρησιμοποιεί τα id και
class σαν κριτήρια για να κατασκευάσει επιλογές.
Events
Εφέ και κινητά στοιχεία
AJAX
Επεκτασιμότητα μέσω plug-ins
Εργαλεία όπως πληροφορίες user-agent, ανίχνευση χαρακτηριστικών.
Μεθόδους συμβατότητας που είναι εγγενώς διαθέσιμα σε σύγχρονα
προγράμματα περιήγησης.
Υποστήριξη πολλαπλών φυλλομετρητών.
Οι λόγοι που μας οδήγησαν στο να χρησιμοποιήσουμε το JQuery στη
κατασκευή της ιστοσελίδα μας.


Ακολουθεί την αρχή KISS (Keep It Simple Stupid): Η βιβλιοθήκη JQuery
προσπαθεί να υπεραπλουστεύσει τον προγραμματισμό σε Javascript
προσφέροντας πραγματικά απλούς μηχανισμούς και εντολές μέσω του
framework της.
Παρέχει πλήρη και αναλυτικότατη τεκμηρίωση που συμπληρώνεται από την
εκτεταμένη παρουσία ηλεκτρονικών βοηθημάτων (η παρούσα σειρά άρθρων
αποτελεί ένα από αυτά): Εκτός από την πολύ καλοδουλεμένη τεκμηρίωσή του
JQuery, οι ενδιαφερόμενοι μπορούν να ανατρέξουν και στην σελίδα του
Visual JQuery όπου μπορούν να βρουν μία εναλλακτική αλλά πολύ βολική,
από άποψη δομής, τεκμηρίωση.
Σελίδα 57
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας




Υποστηρίζεται από μία πάρα πολύ ενεργή κοινότητα: Όπως για τα
περισσότερα open source έργα λογισμικού, έτσι και για το JQuery η ύπαρξη
μιας κατά το μέγιστο δυνατό ενεργής κοινότητας αποτελεί τον ακρογωνιαίο
λίθο για την ανάπτυξη και ευημερία του. Εξερευνήστε το κεντρικό site του
JQuery και θα ανακαλύψετε ότι υπάρχει πλήθος τρόπων με τους οποίους
μπορείτε να διαδράσετε με την κοινότητα.
Η έλλειψη μεγέθους μετράει: Το γεγονός ότι το βασικό πακέτο της JQuery
είναι μόλις 20Kb αφενός επιβεβαιώνει την πρώτη παρατήρηση, ότι δηλαδή η
φιλοσοφία της έγκειται στην απλότητα και αφετέρου κάνει πολύ εύκολη την
κατανόηση της αρχιτεκτονικής της.
Ποικιλία χαρακτηριστικών: Η JQuery δίνει τη δυνατότητα στον χρήστη να
χρησιμοποιήσει σχεδόν το σύνολο των δυνατοτήτων που προσφέρει η γλώσσα
JavaScript. Από απλά χαρακτηριστικά που σχετίζονται με βασικές λειτουργίες
εμφάνισης / απόκρυψης, ως Ajax κλήσεις και σύνθετα εφέ.
Επεκτασιμότητα: Η λογική με την οποία είναι φτιαγμένη η JQuery είναι απλή
πράγμα που αντικατοπτρίζεται και στον ίδιο της τον κώδικα. Αυτό κάνει πολύ
εύκολη την επέκτασή / τροποποίησή της.
5.3.2 HTML5
Το HTML5 (Hyper-Text Markup Language 5), είναι μια καινούρια
τεχνολογία στην κατασκευή ιστοσελίδων και είναι η τελευταία έκδοση του HTML, το
οποίο είναι η βασική γλώσσα προγραμματισμού ιστοσελίδων.
Η προηγούμενη έκδοση της HTML, δηλαδή η HTML 4.01, δημιουργήθηκε το
1999. Το internet έχει αλλάξει δραματικά από τότε. Το HTML5 είναι ένα υπερσύνολο
που περιλαμβάνει την HTML 4, αλλά επίσης και το XHTML 1 καθώς και το μοντέλο
DOM Level 2 για το HTML.
Η γλώσσα HTML5 σχεδιάστηκε για να διανέμει σχεδόν οτιδήποτε μπορεί να
θελήσετε να διανείμετε online χωρίς να απαιτούνται επιπλέον plugins. Η γλώσσα
κάνει τα πάντα, από animation μέχρι apps, από μουσική μέχρι ταινίες, και επίσης
μπορεί να χρησιμοποιηθεί για το χτίσιμο περίπλοκων εφαρμογών (applications) που
τρέχουν μέσα στο φυλλομετρητή (browser).
Σελίδα 58
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
Η γλώσσα HTML5 επίσης τρέχει σε κάθε πλατφόρμα, είναι δηλαδή crossplatform. Είναι αδιάφορο αν τρέχει σε tablet ή σε smartphone, ή σε netbook, ή σε
notebook ή ακόμα και σε Smart TV. Επίσης η γλώσσα HTML5 μπορεί να
χρησιμοποιηθεί για να γράψουμε διαδικτυακές εφαρμογές (web applications) που
τρέχουν ακόμα και όταν δεν είστε online.
Η ομάδα εργασίας της HTML 5 (δηλαδή το HTML 5 working group)
περιλαμβάνει τι εταιρείες Mozilla, Google, IBM, AOL, Nokia, Opera, Apple,
Microsoft καθώς και εκατοντάδες άλλους κατασκευαστές. Η γλώσσα HTML5 είναι
μια δουλειά που βρίσκεται ακόμη σε εξέλιξη. Ωστόσο, όλοι οι σημαντικοί
φυλλομετρητές (browsers) υποστηρίζουν τα πιο πολλά στοιχεία της HTML5
(HTML5 elements) και τα πιο πολλά HTML5 APIs.
Κατά τη γνώμη μας, αυτό που πρέπει να θυμάστε από την εισαγωγή στην
HTML5 είναι οτι παίζει σε κάθε συσκευή και σε κάθε browser.
Η γλώσσα HTML5 είναι μια συνεργασία μεταξύ του W3C (World Wide Web
Consortium) και του WHATWG (Web Hypertext Application Technology Working
Group).Το WHATWG εργαζόταν πάνω σε web forms και σε web applications, ενώ
το W3C εργαζόταν πάνω στο XHTML 2.0. Το έτος 2006, αποφάσισαν να
συνεργαστούν και να δημιουργήσουν μια νέα έκδοση της γλώσσας HTML.
Έτσι δημιουργήθηκαν και καθιερώθηκαν οι κανόνες της γλώσσας HTML5, με
τους οποίους συνεχίζουμε την εισαγωγή στην HTML5:






Τα νέα χαρακτηριστικά πρέπει να στηρίζονται πάνω σε HTML, CSS, DOM,
και JavaScript
Η ανάγκη για εσωτερικά plugins (external plugins) όπως είναι για παράδειγμα
το Flash πρέπει να περιοριστεί.
Η διαχείριση λαθών (Error handling) πρέπει να είναι ευκολότερη απο τις
προηγούμενες εκδόσεις.
Το scripting πρέπει να αντικατασταθεί από περισσότερο markup
Η γλώσσα HTML5 πρέπει να είναι ανεξάρτητη από τη συσκευή (deviceindependent)
Η διαδικασία ανάπτυξης πρέπει να είναι ορατή σε όλο τον κόσμο, δηλαδή να
είναι δημόσια.
Στη συνέχεια ακολουθεί ένα απλό HTML5 document, που έχει τις ελάχιστες
ετικέτες που θα μπορούσε να περιέχει:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title of the document</title>
</head>
<body>
Content of the document......
εισαγωγή στην HTML5
</body>
</html>
Σελίδα 59
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
Κλείνουμε την εισαγωγή στην HTML5 παρουσιάζοντας τα νέα χαρακτηριστικά
της γλώσσας HTML5. Κάποια από τα πιο ενδιαφέροντα χαρακτηριστικά της γλώσσας
HTML5 είναι τα εξής:





Το νέο στοιχείο canvas που χρησιμοποιείται για ζωγραφική 2 διαστάσεων (2D
drawing)
Το νέο στοιχείο video και audio που χρησιμοποιούνται για media playback
Υποστηρίζει τοπική αποθήκευση (local storage)
Νέα στοιχεία που αφορούν και προσδιορίζουν το περιεχόμενο (contentspecific elements), όπως είναι για παράδειγμα οι ετικέτες article, footer,
header, nav και section
Νέα στοιχεία ελέγχου φόρμας (form controls), όπως είναι για παράδειγμα το
calendar, το date, το time, το email, το url καθώς και το search
Παρόλα αυτά το HTML5 δεν υποστηρίζεται από όλους τους browsers. Οι
περισσότεροι από αυτούς κατά μεγάλο μέρος υποστηρίζουν το HTML5 μόνο με τα
δικά τους προθέματα, για παράδειγμα, ο Firefox, χρησιμοποιεί (στο CSS3) το
πρόθεμα -moz-, το Chrome και το WebKit το -webkit-, ενώ το Opera το πρόθεμα -o-.
O Internet Explorer υποστηρίζει μόνο κατά 30% περίπου το HTML5, παρόλο
που δεν χρειάζεται πρόθεμα. Παρ' όλα αυτά όμως, μέχρι το 2012 πιθανότατα όλοι οι
browser θα υποστηρίζουν το HTML5, το CSS3 και κάποιες επιπλέον λειτουργίες που
προστέθηκαν στο JavaScript.
5.3.3 CSS3
Το CSS3 είναι η επόμενη γενιά του CSS το οποίο βρίσκεται σε μια συνεχή
φάση ανάπτυξης και αναμένεται να αλλάξει όλο τον παγκόσμιο ιστό όταν
οριστικοποιηθεί .Τα περισσότερα προγράμματα περιήγησης υποστηρίζουν σε μεγάλο
βαθμό τις ιδιότητες του CSS 3.
Χρησιμοποιώντας CSS3 μπορούμε να δημιουργήσουμε όμορφα εφέ, που με
τις κλασικές μεθόδους χρειαζόμαστε αρκετό κόπο, javascript και περισσότερο
γράψιμο XHTML/CSS.
Σελίδα 60
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
Αντί να χρησιμοποιήσουμε λοιπόν τις εικόνες και πολύπλοκο CSS μπορούμε
να καθορίσουμε έναν νέο CSS3 κανόνα πχ. στρογγυλεμένες γωνίες και τα δεδομένα
να παράγονται από τα browsers , μειώνοντας έτσι χρόνο φόρτωσης και server
requests.
Οι CSS3 ιδιότητες επιτρέπουν να γίνει μια πολύ καλύτερη διαδικασία το web
design και αν ρίξετε μια μάτια σε ξένες ιστοσελίδες θα δείτε ότι ήδη οι περισσότεροι
web designers βασίζονται αποκλειστικά ή εν μέρη στο CSS3 για την κατασκευή
ιστοσελίδων.
Αυτήν τη στιγμή Safari, Chrome, Firefox, Opera και IE υποστηρίζουν μεγάλη
ποικιλία από συγκεκριμένες CSS3 μορφές. Το μειονέκτημα με το CSS3 όπως με όλα
τα web design είναι ότι IE δεν τα υποστηρίζει πλήρως.
Χαρακτηριστικά:













Στρογγυλεμένες γωνίες (rounded corners)
Gradients
Σκιά σε κείμενο (text shadow)
Animations
Διαφάνεια (Opacity)
Box shadow
Χρήση πολλαπλών εικόνων φόντου (Multiple background images )
RGB τιμές χρωμάτων (RGB color values)
Χρήση οποιαδήποτε γραμματοσειράς επιθυμούμε με @font-face
Border image και Multiple borders
Opacity
User interfaces,όπως box sizing και resizing
Multi –column
Παρακάτω αναφερόμαστε αναλυτικά σε κάποια από τα χαρακτηριστικά του CSS3
Rounded Corners - αγαπημένο χαρακτηριστικό
Στις προηγούμενες εκδόσεις της CSS, η χρήση στρογγυλεμένων γωνιών ήταν
μια χρονοβόρα διαδικασία καθώς κάθε φορά ήμασταν υποχρεωμένοι να ‘κόβουμε’
τέσσερις κυκλικές εικόνες και να τις τοποθετούμε σε κάθε γωνία του div ώστε να
παραχθεί το εφέ.
Πλέον, οι ιδιότητες “radius”, “-moz-border-radius” και “-webkit-borderradius” μας λύνουν τα χέρια αφού το μόνο που χρειάζεται είναι να ορίσουμε την
ακτίνα του κύκλου.
Τώρα μπορούμε να χρησιμοποιήσουμε και εικόνα ως ‘φόντο’ στο πλαίσιο και
όχι μόνο χρώμα που μας επιτρεπόταν ως τώρα.
Σελίδα 61
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
Πολλαπλές εικόνες για φόντο
Η CSS3 μας επιτρέπει να ορίζουμε πολλές εικόνες ως φόντο για ένα div, τη
θέση του καθενός μέσα στο div και το επίπεδο εμφάνισής τους.
Βέβαια είναι η ιδιότητα transition, η οποία μας δίνει τη δυνατότητα ‘κίνησης’
ενός background και όχι μόνο.
Χρώματα
Η νέα έκδοση CSS μας παρέχει μια τεράστια ποικιλία των διαθέσιμων
χρωμάτων, όπως τα νέα χρωματικά μοντέλα HSL, HSLA και RGBA.
Η νέα τιμή ‘A’ στο μοντέλο RGBA αφορά τη διαφάνεια. Μέχρι τώρα για να
επιτύχουμε διαφάνεια χρησιμοποιούσαμε εικόνες με διαφάνεια (.gif, .png). Πλέον
μπορούμε μα πειραματιστούμε με τη διαφάνεια και να δημιουργήσουμε ελκυστικά
divs εύκολα και γρήγορα.
Text Effects στις γραμματοσειρές
Τα εφέ μπήκαν και στις γραμματοσειρές. Η ιδιότητα ‘text-shadow’ μπορεί να
δημιουργήσει οποιουδήποτε πάχους, χρώματος, και σκληρότητας σκιά γύρω από
κείμενο. Μέxρι τώρα βαραίναμε το site με εικόνες όταν τα γραφικά ήταν πολύ
εντυπωσιακά. Πλέον με λίγο CSS αποδίδουμε τα γραφικά που θέλουμε σε κάθε site.
Μια ακόμα ιδιότητα που μας αρέσει να χρησιμοποιούμε είναι η ‘word wrap’
με την οποία μπορούμε να ‘απλώσουμε’ κείμενο σε περιοχές που έχουμε ορίσει εμείς.
Ένα παράδειγμα CSS3 κώδικα:
#border_radius {
border-radius: 10px; /* CSS 3 */
-moz-border-radius: 10px; /* Gecko */
-webkit-border-radius: 10px; /* Webkit */
}
div {
color: #fff;
background-color: #073749;
border: 1px solid #000;
padding: 10px; }
Σελίδα 62
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
5.3.4 Bootstrap
Σε αυτό το σημείο θα μιλήσουμε για τη χρησιμότητα του Bootstrap στο στυλ
του layout ενός site και την δυναμική προσαρμοστικότητά του σε διαφορετικές
οθόνες και διαστάσεις (responsive design).
Πολλές φορές θα θέλαμε να έχουμε μερικά έτοιμα style elements, τα οποία να
λειτουργούν σωστά σε όλους τους γνωστούς browsers, αλλά και να είναι
όμορφα, ελαφριά και εύχρηστα. Αυτήν την ανάγκη καλύπτει το Bootstrap. Θα έλεγε
κανείς, ότι είναι μία CSS βιβλιοθήκη. Είναι όμως, περισσότερο ένα User Interface
Theme, παρά βιβλιοθήκη CSS.
Σχεδιάστηκε από τον Mark Otto και τον Jacob Thornton στο Twitter ως ένα
πλαίσιο για την ενθάρρυνση της συνέπειας στα εσωτερικά εργαλεία. Περιέχει βασικά
html reset, tag και form styling, όπως επίσης και grid στα βασικά του χαρακτηριστικά. Επιπλέον παρέχει ένα μεγάλο όγκο από κλάσεις που βοηθούν σημαντικά
στην γρήγορη ανάπτυξη των web εφαρμογών μας. Ακόμα περιέχει 12 περίπου
interface elements για φόρμες και 6 JQuery plugins με την αντίστοιχη υποστήριξή από την CSS και πολλές δυνατότητες εφαρμογής τους.
Το Bootstrap έρχεται με πολλά συστατικά JavaScript σε μια μορφή JQuery
plugin. Παρέχουν πρόσθετη διεπαφή χρήστη με στοιχεία όπως παράθυρα διαλόγου,
επεξηγήσεις, και Carousel. Μπορούν επίσης να επεκτείνουν τη λειτουργικότητα
ορισμένων υφιστάμενων στοιχείων της διασύνδεσης, όπως για παράδειγμα μια
αυτόματη πλήρη λειτουργία για πεδία εισαγωγής. Στην έκδοση 2.0, υποστηρίζονται
τα ακόλουθα JavaScript plugins : Modal, Αναπτυσσόμενο, Scrollspy, Tab, Tooltip,
Popover, Alert, Button, Collapse, Carousel και Typeahead.
Στο συγκεκριμένο σημείο θα μιλήσουμε για το responsive design που μας
προσφέρει το Bootstrap. Το responsive design ουσιαστικά αποτελεί μια σειρά
τεχνικών που μας επιτρέπουν να κατασκευάζουμε σελίδες οι οποίες προσαρμόζονται
δυναμικά και “on the fly” (δηλαδή άμεσα) σε κάθε διάσταση και προσανατολισμό
(orientation) οθόνης.
Αξίζει να προσέξουμε τα εξής:
Αυτό που “προσαρμόζεται δυναμικά” δεν είναι απλά το πλάτος του
περιεχομένου. Στο responsive design μπορούμε να αλλάξουμε εντελώς τη δομή, το
layout, τις εικόνες, το μέγεθος των γραμματοσειρών και φυσικά το περιεχόμενο της
σελίδας, δίνοντας στο site μας τη δυνατότητα να προσαρμόζεται σε κάθε διάσταση
οθόνης, αλλάζοντας ακόμα και δομικά στοιχεία του, έτσι ώστε ο χρήστης να βλέπει
πάντα την καταλληλότερη έκδοση για τη συσκευή που χρησιμοποιεί.
Η προσαρμογή των responsive sites γίνεται με βάση την ανάλυση της οθόνης
του χρήστη. Όταν το site εμφανιστεί στην οθόνη μικρής ανάλυσης ενός κινητού, ο
χρήστης θα δει την αντίστοιχη έκδοση του. Το ίδιο θα συμβεί αν το site εμφανιστεί
στην οθόνη ενός tablet ή στην οθόνη ενός mini laptop κ.ο.κ. Το ότι η τεχνική του
responsive design ανιχνεύει την ανάλυση οθόνης και όχι την συσκευή, σημαίνει πως
sites που κατασκευάζονται με αυτή την τεχνική, έχουν τη δυνατότητα να
Σελίδα 63
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
προσαρμόζονται και σε μεγαλύτερες οθόνες όπως π.χ. οθόνες μεγάλης ανάλυσης των
desktop PCs.
To responsive design, εκτός από την ανάλυση λαμβάνει υπόψη του και τον
προσανατολισμό, το orientation. Έτσι, όταν π.χ. κρατάμε ένα tablet οριζόντια δηλαδή
σε landscape μπορούμε να έχουμε άλλη εμφάνιση της σελίδας από ό,τι όταν το
κρατάμε κάθετα, δηλαδή σε portrait. Το ίδιο ισχύει φυσικά και με τα κινητά
τηλέφωνα.
Ένα responsive design site μπορεί να προσαρμόζεται δυναμικά και on the fly.
Αυτό σημαίνει ότι η αλλαγή εμφάνισης γίνεται στο front end, στον ίδιο τον browser
του χρήστη με αποτέλεσμα ο χρήστης να έχει τη δυνατότητα να δει άμεσα αυτή την
αλλαγή όταν π.χ. αλλάζει το orientation της συσκευής του από landscape σε portrait.
Αυτό το ίδιο στοιχείο είναι που επιτρέπει στα responsive sites να αλλάζουν δυναμικά
όταν ο χρήστης μικρύνει με το ποντίκι του το μέγεθος του παράθυρου του browser
του. Τότε θα δει τη σελίδα να μεταμορφώνεται δυναμικά μπροστά στα μάτια του.
Πλεονεκτήματα:





Βελτιωμένο user experience (UX): Ο βασικός λόγος είναι φυσικά η παροχή
ενός θετικού user experience στους χρήστες ανεξαρτήτως μέσου και τρόπου
πρόσβασης στη σελίδα μας.
Κόστος: Αν και ακριβότερο από ένα παραδοσιακό site, η λύση του responsive
design ενδεχομένως είναι οικονομικότερη από το να προσπαθούσε κανείς να
δημιουργήσει ξεχωριστές σελίδες και εφαρμογές για κάθε συσκευή.
Future-proof: Ένα responsive site θα προσαρμοστεί σε οποιαδήποτε νέα
συσκευή ή ανάλυση, η οποία μπορεί να μην είναι ακόμα διαθέσιμη και να μην
γνωρίζουμε.
Συντήρηση: Η συντήρηση του περιεχομένου αλλά και η τεχνική συντήρηση
είναι ευκολότερη, αφού μιλάμε για ένα ενιαίο site και όχι πολλαπλές σελίδες.
Συνέπεια: Προσφέρουμε στο χρήστη μια ενιαία εικόνα, ένα brand, ένα design
και ένα περιεχόμενο ανεξαρτήτως συσκευής.
Η προσωπική μας άποψη είναι ότι ένα responsive site θα έπρεπε να είναι η
βάση της digital παρουσίας κάθε εταιρείας πια στο web. Από εκεί και πέρα, όποια
άλλη μεμονωμένη ενέργεια ή άλλη ειδική εφαρμογή απαιτείται προκειμένου η
εταιρεία να πετύχει τους στόχους της, θα πρέπει να υλοποιείται με βάση τη
στρατηγική της εταιρείας. Μπορεί ενδεχομένως να εκτιμηθεί ότι η κατάλληλη λύση
για μια συγκεκριμένη περίπτωση απαιτεί το συνδυασμό responsive site με άλλες
server side λύσεις, έτσι ώστε να δημιουργηθεί ένα υβριδικό μοντέλο που σερβίρει στο
χρήστη μόνο την πληροφορία που χρειάζεται (όπως στην περίπτωση του mobile site)
και όχι το ίδιο site σε κάποια προσαρμογή του (όπως στην περίπτωση του responsive
design).
Σελίδα 64
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
Παράδειγμα κώδικα που περιέχει τη χρήση του bootstrap:
<meta name="viewport" content="width=device-width, initial-scale=1, maximumscale=1">
<link href="http://fonts.googleapis.com/css?family=PT+Serif|Open+Sans&v2"
rel="stylesheet" type="text/css" />
<link rel="stylesheet"
href="/templates/electrology/css/bootstrap.css" type="text/css" />
<link rel="stylesheet" href="/templates/electrology/css/theme.css"
type="text/css" />
<link rel="stylesheet" href="/templates/electrology/css/customresp.css" type="text/css" />
5.4 Γενικές ρυθμίσεις
Στην οθόνη διαχείρισης των Γενικών Ρυθμίσεων, υπάρχουν πέντε καρτέλες:





Site όπου ρυθμίζεται η εμφάνιση και η διαθεσιμότητα του δικτυακού τόπου.
System όπου εμφανίζονται ρυθμίσεις για τον τρόπο που συνεργάζεται το
Joomla με το περιβάλλον στο οποίο είναι εγκατεστημένο
Server όπου μπορούν να τροποποιηθούν κάποιες ρυθμίσεις σχετικά με τον
server.
Permissions όπου καθορίζονται τα δικαιώματα και η πρόσβαση που έχει ο
κάθε χρήστης στην ιστοσελίδα.
Text filters όπου καθορίζονται τα δικαιώματα ανά ομάδα χρηστών όσο αφορά
τι μπορεί να γράψει ο καθένας.
5.4.1 Γενικές Ρυθμίσεις – Site
Στην καρτέλα Ιστότοπος υπάρχουν τρεις ενότητες:
1. Site Settings
 Site name: Στο πεδίο αυτό ονομάζουμε το τίτλο της ιστοσελίδας μας.
 Site offline: Αν για κάποιο λόγο πρέπει να θέσουμε εκτός δικτύου (offline)
την ιστοσελίδα μας, επιλέγουμε yes. Διαφορετικά, no.
 Offline message: Το μήνυμα που θα εμφανίζεται στους επισκέπτες της
ιστοσελίδας μας όταν την έχουμε θέσει εκτός δικτύου.
 Offline image: Είναι η εικόνα που θα εμφανίζεται όταν το site είναι εκτός
λειτουργίας.
 Default editor: Μια γενική ρύθμιση για τον κειμενογράφο που επιλέγουμε,
που μπορεί να τροποποιηθεί ανά χρήστη.
 Default Captcha: Ασφάλεια του site για αποφυγή spam εγγραφών και email.
 Default Acess Level: το προκαθορισμένο επίπεδο πρόσβασης από τους
χρήστες.
Σελίδα 65
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
 Default list limit: Πόσες εγγραφές να παρουσιάζονται σε κάθε λίστα του
joomla Κυμαίνεται από 5 έως 100.
 Default feed limit: πόσα στοιχεία περιεχομένου θα εμφανίζονται στις ροές
ειδήσεων. Κυμαίνεται από 5 έως 100.
2. Metadata Settings
 Site Meta Description: Η περιγραφή που παίρνουν οι μηχανές αναζήτησης.
 Site Meta Keywords: Οι λέξεις-κλειδιά (keywords) για τις μηχανές αναζήτησης
 Robots: Μπορούμε να αποκλείσουμε περιοχές του site όπου δεν πρέπει να
έχουν πρόσβαση άλλοι εκτός από τους διαχειριστές.
 Content Rights: Δηλώνουμε τα δικαιώματα που έχουν οι άλλοι στις περιοχές
που αποκλείσαμε μέσω του robots.
 Show Author Meta Tag: εμφανίζει την ετικέτα του συντάκτη όταν
προβάλλεται ένα κείμενο.
 Show Joomla Version: Εμφανίζει την έκδοση Joomla που χρησιμοποιούμε.
3. SEO Settings
 Search Engine Friendly URLs: Αν επιλέξουμε yes, αλλάζει ο τρόπος που
παρουσιάζονται οι σύνδεσμοι στη μπάρα διεύθυνσης ενός browser και οι
διευθύνσεις βελτιστοποιούνται σύμφωνα με τα βασικά κριτήρια των μηχανών
αναζήτησης. Επίσης, η μορφή των url γίνεται φιλικότερη και αντί για τον αύξοντα
αριθμό του άρθρου, για παράδειγμα, εμφανίζεται το ψευδώνυμο που έχουμε δώσει
για τον τίτλο.
 Use URL rewriting: Αυτή η δυνατότητα υπάρχει μόνον σε apache servers και
προϋποθέτει τη μετονομασία του αρχείου htaccess.txt σε .htaccess Η ενεργοποίησή
του δίνει φιλικές προς τις μηχανές αναζήτησης διευθύνσεις
 Adds Suffix to URL: Με την ενεργοποίησή του, δίνει κατάληξη .html στις
σελίδες που παράγει το joomla.
 Unicode Aliases: Η ρύθμιση αυτή μπορεί να μας χρησιμεύσει σε περίπτωση
που έχουμε έναν ιστότοπο σε μια γλώσσα διαφορετική από την Αγγλική, καθώς
επιλέγοντας yes οι διευθύνσεις μπορούν να περιλαμβάνουν και χαρακτήρες της
γλώσσας που χρησιμοποιούμε π.χ. διευθύνσεις που περιλαμβάνουν ελληνικούς
χαρακτήρες.
 Include Site Name in Page Titles: Μας επιτρέπει την εμφάνιση του τίτλου του
ιστότοπου, έτσι όπως το ορίσαμε στο πεδίο Site Name της ετικέτας Site Settings,
στους τίτλους των ιστοσελίδων.
4. Cookie Settings
 Cookie Domain: ορίζουμε ένα domain όπου μειώνεται ο αριθμός των request
που γίνονται στο site μας από χρήστες.
 Cookie Path: Είναι ο χώρος όπου βρίσκονται τα cookies.
Σελίδα 66
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
Εικόνα 42 - Site Global Configuration
5.4.2 Γενικές Ρυθμίσεις - System
Στην καρτέλα Σύστημα υπάρχουν έξι ενότητες ρυθμίσεων:
1. System Settings


Path to Log Folder: Η διαδρομή προς το φάκελο όπου αποθηκεύονται τα logs.
Help Server: Η διεύθυνση του help server.
2. Debug Settings
 Debug System: Σε περίπτωση λάθους κατά την επίσκεψη στην σελίδα μας
εμφανίζονται τα μηνύματα.
 Debug Language: Να εμφανίζονται τα λάθη στην αντίστοιχη γλώσσα
προγραμματισμού.
3. Cache Settings
 Cache: Ρυθμίσεις για την ενεργοποίηση ή όχι της προσωρινής αποθήκευσης
των αρχείων, ώστε να εμφανίζονται ταχύτερα στον επισκέπτη.
 Cache Handler: Αποθηκεύεται σε αρχείο.
 Cache Time: Ο μέγιστος χρόνος που χρειάζεται για την αποθήκευση ενός
cache αρχείου πριν ανανεωθεί.
Σελίδα 67
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
4. Session Settings
 Session Lifetime: Ο χρόνος της συνεδρίας για κάθε χρήστη. Αν υπάρξει
αδράνεια για διάστημα μεγαλύτερο του χρόνου που ορίζουμε, τότε ο χρήστης
αυτόματα αποσυνδέεται.
 Session Handler: Μηχανισμός που αναγνωρίζει αν ένας χρήστης έχει συνδεθεί
τουλάχιστον μία φορά χωρίς την χρήση των cookies.
Εικόνα 43 - System Global Configuration
5.4.3 Γενικές Ρυθμίσεις –Server
Στην καρτέλα server υπάρχουν πέντε ενότητες ρυθμίσεων:
1. System Settings
 Path to Temp Folder:Διαδρομή προς τον Φάκελο Αρχείων Προσωρινής
Αποθήκευσης.O φάκελος πρέπει να είναι εγγράψιμος.
 Gzip Page Compression: Συμπιέζει την προσωρινή σελίδα εφόσον
υποστηρίζεται.
 Error Reporting: Αναφορά σφαλμάτων με επιλογή επιπέδου.
 Force SSL: Εξαναγκασμένη επιβεβαίωση στοιχείων για την πρόσβαση σε
συγκεκριμένα πεδία στη σελίδα μας.
2. Location Settings

Server Time Zone:Επιλογή ζώνης ώρας.
Σελίδα 68
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
3. FTP Settings






Enable FTP: Ενεργοποίηση πρωτοκόλλου μεταφοράς αρχείων ιστοσελίδας.
FTP Host: Διεύθυνση του host server.
FTP Port: Θύρα σύνδεσης με το host server.
FTP Username: Λογαριασμός σύνδεσης χρήστη με τον FTP server.
FTP Password: Κωδικός χρήστη.
FTP Root: Ο φάκελος που περιέχει τα αρχεία προς μεταφορά.
4. Database Settings
 Database Type: Τύπος βάσης δεδομένων.
 Host: Διεύθυνση βάσης δεδομένων.
 Database Username: Λογαριασμός σύνδεσης χρήστη με τον Database server.
 Database Name: Όνομα βάσης δεδομένων.
 Database Tables Prefix: Το πρόθεμα των πινάκων της βάσης μας που
προκύπτει κατά την εγκατάσταση. Το επεξεργαζόμαστε μόνο σε περίπτωση που
κρίνεται αναγκαίο.
5. Mail Settings
 Mailer: Ο mail server για το email της ιστοσελίδας μας.
 From email: Ο αποστολέας που θα εμφανίζεται στα email επικοινωνίας του
site.
 From Name: Το όνομα που θα εμφανίζεται στα email.
 Sendmail Path: Ο φάκελος που αποθηκεύονται τα απεσταλμένα email.
 SMTP Authentication: Εξακρίβωση στοιχείων που ζητάει ο host server.
 SMTP Security: Τύπος ασφάλειας επικοινωνίας email.
 SMTP Port: Θύρα σύνδεσης με το mail server.
 SMTP Username: Λογαριασμός χρήστη.
 SMTP Password: Κωδικός χρήστη.
 SMTP Host: Διεύθυνση host mail server.
Σελίδα 69
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
Εικόνα 44 - Server Global Configuration
5.4.4 Γενικές Ρυθμίσεις – Permissions
Σε αυτήν την ενότητα αναφερόμαστε στα δικαιώματα που έχει η κάθε ομάδα
χρηστών σε διάφορες λειτουργίες του ιστοτόπου μας.
Οι ομάδες είναι:








Public
Manager
Administrator
Registered
Editor
Author
Publisher
Super user
Οι ενέργειες όλων των ομάδων χρηστών είναι τα εξής:










Site Login: Σύνδεση στην ιστοσελίδα.
Admin Login: Σύνδεση σαν Administrator.
Offline Access: Πρόσβαση όταν είναι εκτός σύνδεσης τo site.
Super Admin: Αναιρεί όλους τους περιορισμούς όσο αφορά την πρόσβαση.
Access Administration Interface: Πρόσβαση στο interface του Administrator.
Create: Δημιουργία ή εισαγωγή στοιχείων.
Delete: Διαγραφή στοιχείων.
Edit: Επεξεργασία στοιχείων.
Edit State: Επεξεργασία της κατάστασης των στοιχείων.
Edit Own: Επεξεργασία μόνο των στοιχείων που έχουν δημιουργήσει οι ίδιοι.
Σελίδα 70
Κεφάλαιο 5ο – Υλοποίηση της ιστοσελίδας
Ωστόσο, τα δικαιώματα και η πρόσβαση διαφέρει από ομάδα σε ομάδα.
Εικόνα 45 - Permissions Global Configuration
5.4.5 Γενικές Ρυθμίσεις – Text Filters
Το φιλτράρισμα κειμένου, το οποίο γίνεται αυτόματα από το Joomla όταν
κάποιος χρήστης εισάγει κείμενο. Αυτό είναι κατάλληλο δεδομένου ότι καλύπτει όλα
τα στοιχεία και όχι μόνο τα άρθρα. Ακόμα καλύτερα, είμαστε πλέον σε θέση να
δημιουργήσουμε το δικό μας προσαρμοσμένο blacklist. Oι blacklists είναι πιο
εύκολο να διαχειριστούν από μία whitelist επειδή περιέχουν μόνο τις απαγορευμένες
ετικέτες και χαρακτηριστικά.
Μπορούμε επίσης να χρησιμοποιήσουμε συγκεκριμένες ομάδες χρηστών (τις
οποίες αναφέραμε στην προηγούμενη ενότητα) για να δώσουμε σε ορισμένους
ανθρώπους την άδεια να χρησιμοποιήσουν μια ετικέτα/χαρακτηριστικό στη μαύρη
λίστα.
Εικόνα 46- Text Filters Global Configuration
Σελίδα 71
Κεφάλαιο 6ο – Ασφάλεια
Κεφάλαιο 6 - Ασφάλεια
6.1 Γενικά
Το αντικείμενο με το οποίο θα ασχοληθούμε σε αυτό το κεφάλαιο είναι η
θωράκιση ιστοσελίδας υψηλής κίνησης με αυξημένες απαιτήσεις ασφάλειας. Οι
τομείς ασφάλειας με τους οποίους θα ασχοληθούμε είναι η ασφάλεια της συνεδρίας
του χρήστη κατά την περιήγησή του στην ιστοσελίδα και η ασφάλιση των
διακομιστών έναντι κακόβουλων επιθέσεων (hacking).
6.2 Κίνδυνοι
Όσο τα Πληροφοριακά Συστήματα εξελίσσονται, τόσο εξελίσσονται και οι
απειλές για την ασφάλειά τους. Για να προσδιορίσουμε τις απειλές ασφαλείας πρέπει
να υπολογίσουμε δύο σημαντικές παραμέτρους:
1. Το είδος των επιθέσεων που μπορεί να αντιμετωπίσουμε.
2. Που μπορεί να συμβούν αυτές οι επιθέσεις.
Επιθέσεις στη βάση δεδομένων(sql injections)
Οι επιτυχημένες επιθέσεις στη βάση δεδομένων είναι πάντοτε αποτέλεσμα
κακού προγραμματισμού της ιστοσελίδας. Ο developer θα πρέπει να είναι σε θέση να
προβλέψει τέτοιες επιθέσεις και να μην αφήνει "ανοιχτά παράθυρα" στη σύνδεση της
ιστοσελίδας με τη βάση που να επιτρέπουν στους εισβολείς να έχουν πρόσβαση στη
βάση δεδομένων. Ένας hacker που αποκτά πρόσβαση στη βάση δεδομένων
ουσιαστικά θέτει την ιστοσελίδα υπό τον έλεγχό του και μπορεί πλέον να αλλάξει το
περιεχόμενό της, να υποκλέψει δεδομένα ή ακόμα και να την καταστρέψει
διαγράφοντας τη βάση.
Οι επιθέσεις τέτοιου είδους δεν αφορούν τις στατικές ιστοσελίδες καθώς αυτές
δεν έχουν βάση δεδομένων.
Injections στον κώδικα της σελίδας
Σε αυτήν την περίπτωση ο hacker προσπαθεί να βρει "τρύπες" στον κώδικα μια
ιστοσελίδας που θα του επιτρέψουν να προσθέσει τον δικό του κώδικα μέσα σε
αυτήν. Αφού γίνει αυτό, τότε ο ανυποψίαστος χρήστης που επισκέπτεται μια
ιστοσελίδα, τρέχει χωρίς να το γνωρίζει εκτός από τον κώδικα της ιστοσελίδας και
τον κώδικα του hacker με αποτέλεσμα αυτός να μπορεί να αποκτήσει πρόσβαση στα
δεδομένα του υπολογιστή(κωδικούς κτλ). Σε περίπτωση που υπάρχει τέτοιου είδους
επίθεση σε μια ιστοσελίδα, εάν αυτό δεν αντιμετωπιστεί άμεσα, τότε η σελίδα
κινδυνεύει να χαρακτηριστεί κακόβουλη και να αποκλειστεί από το search της
google.
Σελίδα 72
Κεφάλαιο 6ο – Ασφάλεια
Cross Site Scripting – XSS
Άλλο ένα είδος επίθεσης που βασίζεται σε μη σωστό έλεγχο των δεδομένων
που περνάει ο χρήστης στην εφαρμογή είναι οι επιθέσεις τύπου cross site scripting. Οι
επιθέσεις αυτές είναι δυνατές εάν η εφαρμογή ενσωματώσει client-side scripts του
επιτιθέμενου στις σελίδες που δημιουργεί για τους χρήστες. Αφού οι περισσότεροι
χρήστες έχουν ενεργοποιημένη την δυνατότητα εκτέλεσης script στον περιηγητή
τους, ο επιτιθέμενος μπορεί μετά να υποκλέψει όνοματα χρηστών, κωδικούς
πρόσβασης, cookies και άλλα δεδομένα που σχετίζονται με την συνεδρία και τον
λογαριασμό του χρήστη.
Denial Of Service (D.O.S.) Επιθέσεις
Οι D.O.S. επιθέσεις έχουν καταλήξει να θεωρούνται πιο επιβλαβείς από τα
(viruses)/trojans που κυκλοφορούν στο Internet.
Οι πιο συνηθισμένοι τύποι Denial Of Service Επιθέσεων είναι :



Οι επιθέσεις που εκμεταλλεύονται αδυναμίες του πρωτοκόλλου TCP/IP
Οι επιθέσεις που εκμεταλλεύονται αδυναμίες του IPv4
Οι επιθέσεις που προσπαθούν να εξαντλήσουν όλους τους πόρους (resources)
- μνήμη, CPU, Bandwidth - του συστήματος στόχου με αποτέλεσμα την
διακοπή της λειτουργίας του.
Ας δούμε μερικές D.O.S. επιθέσεις που σχετίζονται με το πρωτόκολλο TCP/IP.
Οι πιο γνωστές είναι οι Ping of Death, Teardrop, SYN Attack, Land Attack και Smurf
Attack.
Είναι εύκολο να κατανοήσει κανείς ότι στις περιπτώσεις επιθέσεων που
περιγράφηκαν πιο πάνω είναι σχετικά εύκολο να βρεθεί ο επιτιθέμενος και να
συλληφθεί. Αυτό δεν συμβαίνει όμως στις D.D.O.S. (Κατανεμημένες D.O.S.
Επιθέσεις - Distributed D.O.S. Attacks) επιθέσεις οι οποίες έχουν γίνει ιδιαίτερα
γνωστές τον τελευταίο χρόνο.
Επίθεση στον server
Εάν οι hackers αποκτήσουν πρόσβαση στον server τότε αποκτούν άμεσα
πρόσβαση σε όλες τις ιστοσελίδες και τις βάσεις δεδομένων του που βρίσκονται σε
αυτόν. Εδώ η ευθύνη δε βαρύνει τον προγραμματιστή της ιστοσελίδας αλλά την
εταιρία που παρέχει το Hosting. Η καλή κατασκευή και η ασφάλεια μιας ιστοσελίδας
παύει να έχει νόημα εάν αυτή "τρέχει" σε έναν server χωρίς ασφάλεια.
Μια άλλου είδους επίθεση στον server έχει σαν σκοπό απλά "να τον ρίξει" να
σταματήσει δηλαδή τη λειτουργία του με αποτέλεσμα να σταματήσει και η
λειτουργία των ιστοσελίδων που υπάρχουν σε αυτόν τον server. Και σε αυτήν την
περίπτωση υπεύθυνη για την αποτροπή τέτοιων επιθέσεων, που θα θέσουν πολλές
ιστοσελίδες εκτός λειτουργίας, είναι η εταιρία που παρέχει το hosting.
Σελίδα 73
Κεφάλαιο 6ο – Ασφάλεια
6.3 Αντιμετώπιση Κινδύνων
Η δουλειά στα θέματα ασφαλείας ανήκει στις περισσότερες περιπτώσεις
αποκλειστικά στον developer. Εκείνος καλείται να πάρει μια σειρά από μέτρα για να
αντιμετωπίσει πιθανές επιθέσεις.
Πέρα από τη δουλειά του developer όμως υπάρχουν κάποια βασικά πράγματα
που μπορεί και θα πρέπει να κάνει και ο ιδιοκτήτης μιας ιστοσελίδας:
Προσοχή στους κωδικούς
Εάν η ιστοσελίδα μας έχει σύστημα διαχείρισης και έχουμε κωδικό
administrator θα πρέπει να σιγουρευτούμε ότι ο κωδικός μας είναι αρκετά ισχυρός
(τουλάχιστον 6 ψηφία και να περιλαμβάνει γράμματα, αριθμούς και σύμβολα).
Anti-virus
Να έχουμε πάντα anti-virus στο pc μας. Πάρα πολλές περιπτώσεις Hacking
συμβαίνουν επειδή κάποιο trojan (ιος) μπήκε στο Pc και "έκλεψε" τους κωδικούς της
ιστοσελίδας ή του ftp.
Firewall
Το firewall (τείχος προστασίας) επιβλέπει την δικτυακή κίνηση ενός
υπολογιστή. Υπάρχουν τρόποι (και γνώστες του χώρου - hackers) που μπορούν να
προσπεράσουν ένα firewall αχρηστεύοντας το. Όμως όταν το firewall είναι καλά
ρυθμισμένο δυσκολεύει την πρόσβαση άλλων στον υπολογιστή μας - server. Κυρίως
μας προστατεύει από επιθέσεις Trojan/worms.
Προστασία από D.O.S. επιθέσεις
Υπάρχουν εταιρείες που αναλαμβάνουν τη θωράκιση ιστοσελίδων – server
ενάντια σε αυτές τις επιθέσεις όπως η HyperFilter.
Συχνά Backup
Να κρατάμε πάντοτε αντίγραφα ασφαλείας (backup) από τη βάση δεδομένων
της ιστοσελίδας μας. Με αυτόν τον τρόπο θα είμαστε σε θέση, ακόμη και μετά από
μια επιτυχημένη επίθεση, να επαναφέρουμε την ιστοσελίδα μας στην μορφή που είχε
πριν την επίθεση. Όσο πιο συχνά γίνεται το backup τόσο το καλύτερο.
Σελίδα 74
Κεφάλαιο 6ο – Ασφάλεια
6.4 Πώς να θωρακίσουμε το Joomla site
Καθώς εξελίσσονται ραγδαία οι κίνδυνοι και οι απειλές εναντίων των
ιστοσελίδων – servers παράλληλα εξελίσσονται και τα επίπεδα της ασφάλειας των
προγραμμάτων ανάπτυξής τους. Συγκεκριμένα θα αναφερθούμε για το Joomla το
οποίο χρησιμοποιήσαμε για την κατασκευή της ιστοσελίδας μας.
Το Joomla είναι ιδιαίτερα ευάλωτο και με πολλά κενά ασφαλείας, γεγονός που
οφείλεται κυρίως στα χιλιάδες πρόσθετα (plugins) που έχουν δημιουργηθεί για αυτό
και τα οποία πολλές φορές δεν δίνουν την απαραίτητη προσοχή σε θέματα
ασφαλείας.
Πολλές ιστοσελίδες που στηρίζονται στο Joomla παραβιάζονται καθημερινά σε
όλο τον κόσμο και χρησιμοποιούνται κακόβουλα για αποστολή spam, διακίνηση
παράνομου υλικού, επιθέσεις σε άλλα δίκτυα και άλλες παράνομες δραστηριότητες,
προκαλώντας σε ορισμένες περιπτώσεις ακόμη και νομικά προβλήματα στον
ιδιοκτήτη της ιστοσελίδας.
Εκτός από τα κενά ασφαλείας, ένας άλλος συνηθισμένος τρόπος για να
αποκτήσει κάποιος τρίτος πρόσβαση στο διαχειριστικό τμήμα της εφαρμογής είναι
μέσω αυτοματοποιημένων κακόβουλων προγραμμάτων. Γίνονται, έτσι, συνεχείς
απόπειρες εισόδου στο διαχειριστικό περιβάλλον της εφαρμογής Joomla
(/administrator/index.php). Τα προγράμματα αυτά προσπαθούν να μαντέψουν τον
κωδικό πρόσβασης του διαχειριστή δοκιμάζοντας τυχαίους κωδικούς (brute force
attack). Λόγω του μεγάλου αριθμού των επιθέσεων (εκατοντάδες απόπειρες το λεπτό)
οι παραπάνω ενέργειες προκαλούν υπερβολικό φόρτο στο server που φιλοξενείται η
σελίδα που δέχεται την επίθεση.
Για το λόγο αυτό είναι σημαντικό να ενισχύσουμε την ασφάλεια μιας
ιστοσελίδας που στηρίζεται στην πλατφόρμα Joomla με τις εξής ενέργειες:


Τα αρχεία του site θα πρέπει να έχουν συγκεκριμένα δικαιώματα. Λάθος
δικαιώματα είναι σαν να ξεχνάμε το κλειδί στην πόρτα. Αφού έχουμε
εγκαταστήσει το AdminTools πατάμε στο Fix Permissions και τα διορθώνει
αυτόματα.
Στις εκδόσεις Joomla 2.5 το πρόθεμα των πινάκων είναι πάντα το "jos_"
καθώς και o πρώτος λογαριασμός του administrator έχει ID=62. Οπότε
επιλέγουμε:
AdminTools >> Purge Sessions . Καθαρίζει τον πίνακα ώστε να μην
δημιουργηθεί κάποιο πρόβλημα κατά τις αλλαγές.
AdminTools >> Database table prefix editor

AdminTools >> Super Administrator ID. Τέλος εάν το username μας είναι
"admin" καλό είναι να το αλλάξουμε!
Μπλοκάρουμε την ανάγνωση των xml αρχείων και αυτό γιατί περιέχει την
έκδοση του extension. Ανοίγουμε το htaccess.txt βρίσκουμε την γραμμή ##
Deny access to extension xml files (uncomment out to activate) και αφαιρούμε
απ'το block που ακολουθεί τα # (σχόλια).
Σελίδα 75
Κεφάλαιο 6ο – Ασφάλεια
<Files ~ "\.xml$">
Order allow,deny
Deny from all
Satisfy all
</Files>
και πατάμε "Αποθήκευση ως..." και ορίζουμε όνομα αρχείου .htaccess




Εγκαθιστούμε anti-spam plugin για να προστατέψουμε τις φόρμες και antiSQL Injection plugin για μια βασική προστασία. Η λύση του EasyCalcCheck
PLUS είναι πολύ καλή και συνεργάζεται με πάρα πολλά components.
Captcha,askimet και form encryption.
Για SQL Injection υπάρχουν αρκετές λύσεις, ωστόσο φαίνεται να κάνει
καλύτερη δουλειά το Marco's SQL Injection.
Αναβαθμίζουμε στην τελευταία έκδοση joomla της σειράς που
χρησιμοποιούμε, για παράδειγμα, την τελευταία έκδοση της σειράς 1.5, 1.6,
1.7, 2.5, 3.0 κτλ. Κάθε νέα έκδοση συνήθως διορθώνει κενά ασφαλείας της
προηγούμενης έκδοσης. Αν δεν έχετε εγκατεστημένη την τελευταία έκδοση
της σειράς, πιθανότατα το site σας είναι ευάλωτο και παραβιάσιμο..
Ενημερώνουμε τα extension που έχουμε εγκαταστήσει και κάνουμε
απεγκατάσταση αυτά που ΔΕΝ χρησιμοποιούμε. Όταν κάποιο extension είναι
ανενεργό δεν σημαίνει ότι δεν αποτελεί κίνδυνο για το Joomla Site μας.
Κλείδωμα του /administrator φακέλου. Μπορούμε να κλειδώσουμε τον
φάκελου του administrator ( μπορεί να γίνει εύκολα με το Admin Tools) ή να
προσθέσουμε κάποιο plugin το οποίο θα επιτρέπει την είσοδο μόνο με κάποιο
κρυφό password-key.
6.5 Γιατί να επιλέξουμε το Joomla 2.5
6.5.1 Χαρακτηριστικά Joomla 2.5
H web πλατφόρμα joomla 2.5 έχει μια σειρά από νέα χαρακτηριστικά, όπως
νέες λειτουργίες αναζήτησης, υποστήριξη πολλαπλών βάσεων δεδομένων και
ειδοποίηση ενημερώσεων. Πολλοί άνθρωποι στην κοινότητα της Joomla συνέβαλαν
στο να γίνουν δυνατά αυτά τα χαρακτηριστικά. Οι περισσότερες επεκτάσεις που
τρέχουν σε 1.7 θα πρέπει επίσης να τρέξουν και στην 2,5 νέα έκδοση.
Παρακάτω εξετάζουμε ποιο αναλυτικά τα νέα χαρακτηριστικά της πλατφόρμας
Joomla 2.5.

Νέα Λειτουργία αναζήτησης Με βάση τον Finder, το οποίο αναπτύχθηκε από
την jXtended, η Joomla 2.5 έχει προσθέσει μια συναρπαστική νέα φυσική
λειτουργία αναζήτησης γλώσσα. Αυτό το χαρακτηριστικό ενσωματώνει
αυτόματη συμπλήρωση και Stemming. Stemming είναι η δυνατότητα για την
ενσωματωμένη, μονάδα αναζήτηση (search module), να χρησιμοποιεί τη ρίζα
Σελίδα 76
Κεφάλαιο 6ο – Ασφάλεια
της λέξης για να εντοπίσει τα κοινά στοιχεία. Ενώ υπάρχει ακόμα δουλειά να
γίνει, αυτή η αναζήτηση είναι επίσης πολύ καλύτερη για αναζήτησεις σε
άλλες γλώσσες εκτός της αγγλικής. Αυτή η νέα αναζήτηση είναι ταχύτερη και
πιο ευέλικτη από ότι η απλή αναζήτηση.
Τα δεδομένα των Website αναπροσαρμόζονται για να πάρουν αυτή την
ευελιξία και την ταχύτητα. Νέες προσθήκες (plugins) απαιτούνται για να
χρησιμοποιήσετε αυτή την αναζήτηση. Η Joomla έρχεται μαζί με τα νέα
plugins-επεκτάσεις του πυρήνα, αλλά οι προγραμματιστές επεκτάσεων θα
πρέπει να δημιουργήσουν τα δικά τους plugins για να συνεργαστούν με τη νέα
αυτή αναζήτηση. Από προεπιλογή, η βασική αναζήτηση είναι ενεργή και αυτή
η νέα αναζήτηση είναι απενεργοποιημένη. Έγινε ενεργοποίηση της νέας
μονάδας αναζήτησης και δημιουργία ευρετηρίων των αρχείων μας, εφόσον
θέλαμε να χρησιμοποιήσουμε τη νέα λειτουργία αναζήτησης.

Δυνατότητα να υποστηρίξει άλλες βάσεις δεδομένων. Η Joomla έχει τρέξει
παραδοσιακά MySQL σαν επιλεγμένη βάση δεδομένων. Εάν διαθέτουμε ένα
διαφορετικό είδος βάσης δεδομένων SQL, όπως το MS SQL, τότε θα πρέπει
να κάνουμε αλλαγές στο λογισμικό του Joomla για να το κάνουμε να
λειτουργήσει, γεγονός που καθιστά δύσκολη την ενημέρωση.
H Joomla έχει ξαναγραφτεί, έτσι ώστε διαφορετικοί οδηγοί μπορούν να
γραφτούν για τις διάφορες εκδόσεις της SQL βάσης δεδομένων. Οι τρέχοντες
drivers υπάρχουν για την MySQL και MS SQL βάση δεδομένων με τις
PostgreSQL, Oracle, SQLite και PDO drivers να είναι κοντά στο να
ολοκληρωθούν.

Ειδοποιήσεις του Joomla για αναβαθμίσεις. Το υπό αριθμόν ένα αίτημα από
το site ideas.joomla.org ήταν να ενημερώνει τον διαχειριστή όταν το Joomla
πρέπει να ενημερωθεί. Οι διαχειριστές της διαδικτυακής τοποθεσίας είμαστε
πλέον σε θέση να δούμε αμέσως μόλις συνδεθούμε, εάν η έκδοση της Joomla
είναι ξεπερασμένη. Μπορούμε στη συνέχεια να κάνουμε κλικ στο κατάλληλο
κουμπί και να μεταφερθούμε στη διαδικασία ενός κλικ ενημέρωσης του
Joomla. Ένα εικονίδιο δίπλα σε αυτό κάνει το ίδιο πράγμα για τις μη βασικές
ενημερώσεις του πυρήνα της πλατφόρμας για την one-click ενημέρωση από
τους προγραμματιστές.

Επιλογή διόρθωσης για τις Έκδοσεις Βάσης δεδομένων. Ένα νέο
χαρακτηριστικό που προστέθηκε θα ελέγξει για να δει ότι η βάση δεδομένων
μας είναι up-to-date με τις τυχόν αλλαγές του σχήματος της βάσης δεδομένων
σας, το οποίο προστίθεται κατά τη διάρκεια αναβαθμίσεων. Αν είναι
ξεπερασμένο, μπορούμε να πατήσουμε το κουμπί Διόρθωση για να εφαρμόσει
τις αναγκαίες αλλαγές. Αυτό είναι σημαντικό για εκείνους τους ανθρώπους
που έχουν συνηθίσει για τις ενημερώσεις τύπου Joomla 1,5 κάνοντας χρήση
του FTP για να ανεβάσουν τα αρχεία της κάθε έκδοσης.
Από τη στιγμή που η διαδικασία με το FTP δεν μπορεί να εφαρμόσει τις
αλλαγές στη βάση δεδομένων, αυτοί οι άνθρωποι θα πρέπει να εφαρμόσουν
τις αλλαγές στη βάσης δεδομένων με μη αυτόματο τρόπο. Δεν έχει ο καθένας
την πρόσβαση ή τη γνώση για να κάνει αυτές τις αλλαγές. Με τη βελτίωση
αυτή, το μόνο που χρειάζεται να κάνουμε είναι να πάμε στο
Extensions/Installation/Database και να πατήσουμε το κουμπί Fix.
Σελίδα 77
Κεφάλαιο 6ο – Ασφάλεια

Η λειτουργία CAPTCHA στο πυρήνα. Η λειτουργία CAPTCHA χρησιμοποιεί
κωδικοποιημένο κείμενο για την πρόληψη ρομποτικών spammers από την
υποβολή φορμών. Η Joomla 2.5 εισάγει ένα API που μας επιτρέπει να
χρησιμοποιήσουμε CAPTCHA στις φόρμες μας. Ο πυρήνας του Joomla 2.5
έρχεται με ένα plug-in που μας δίνει τη δυνατότητα να χρησιμοποιήσουμε
reCAPTCHA, η πιο προσιτή από τις CAPTCHA υπηρεσίες. Το
χαρακτηριστικό CAPTCHA διατίθεται εδώ και πολύ καιρό σε μη βασικές
επεκτάσεις, αλλά πλέον αυτή η λειτουργία δίνετε στον πυρήνα του Joomla.
Άλλα plug-ins μπορεί να δημιουργηθούν από την κοινότητα των
προγραμματιστών και να συνεργαστούν με όλες τις φόρμες, χωρίς την
τροποποίηση τους.

Σύνδεση Νέων Μενού με ένα Module (μονάδα). Modules είχαν δημιουργηθεί
αυτόματα για κάθε νέο τύπο μενού στο Joomla 1.5. Ωστόσο, δεν
χρησιμοποιούσε ο καθένας το βασικό Module του πυρήνα, αλλά αντί για αυτό
τα προσαρμοσμένα πρότυπα (custom templates) ή μη βασικά Modules. Για το
λόγο αυτό, τα μενού δεν δημιουργούσαν αυτόματα ένα Module στις
προηγούμενες εκδόσεις 1.6/1.7. Αυτή η αλλαγή μπέρδεψε τους χρήστες και
δημιούργησε επιπλέον εργασία.
Στο Joomla 2.5, αν δεν υπάρχει ενότητα που σχετίζεται με το μενού, υπάρχει
ένας σύνδεσμος που εμφανίζετε στη διαχείριση μενού, που μπορούμε να
κάνουμε κλικ και που θα μας μεταφέρει απευθείας σε ένα νέο Module που
μπορείτε να δημιουργήσετε. Στη συνέχεια, έχουμε την επιλογή να σώσουμε
αυτό το βασικό Module μενού ή να το ακυρώσουμε και να δημιουργήσουμε
ένα διαφορετικό Module μενού.
6.5.2 Διαφορές Joomla 2.5 με προηγούμενες εκδόσεις
H νέα έκδοση του Joomla (2.5) ενσωματώνει αρκετές αλλαγές σε σχέση με την
έκδοση 1.5, οι βασικότερες από τις οποίες συνοψίζονται ως ακολούθως:






Κατάργηση ενοτήτων και δόμηση ιεραρχιών περιεχομένου πολλών επιπέδων
χρησιμοποιώντας μόνο κατηγορίες
Καλύτερη διαχείριση δικαιωμάτων χρηστών με τη βοήθεια Access Control
Lists
Δυνατότητα δημιουργίας νέων ομάδων και νέων ACLs πλην των
προεγκατεστημένων. Οι χρήστες μπορούν να ανήκουν σε περισσότερες της
μιας ομάδες
Αλλαγή ονομασίας της αρχικής σελίδας ( Front Page ) σε Featured Articles.
Αντίστοιχες αλλαγές έγιναν και στο όνομα του menu item που οδηγεί σε μια
τέτοια σελίδα καθώς και του αντίστοιχου Manager στο back - end .
Ενσωμάτωση στο back-end ενός Redirect Manager
Αφαιρέθηκε το μενού Tools από το διαχειριστικό και τα menu items που
περιείχε μετακινήθηκαν σε άλλα μενού, π.χ. τα Clean Cache, Purge Expired
Cache κ.α. μεταφέρθηκαν κάτω από ένα νέo menu item με όνομα
Maintenance, στο μενού Site.
Σελίδα 78
Κεφάλαιο 6ο – Ασφάλεια






Στις γενικές ρυθμίσεις προστέθηκε ένα ακόμη tab, αυτό της διαχείρισης
δικαιωμάτων πρόσβασης
Προστέθηκε στο διαχειριστικό ένα ξεχωριστό μενού με όνομα Users που
παρέχει όλες τις λειτουργίες διαχείρισης χρηστών
Ενσωμάτωση όλων των συναφών Managers του διαχειριστικού σε ξεχωριστά
tabs της ίδιας σελίδας. Π.χ. από τον Article Manager μπορούμε να μεταβούμε
στον Category Manager ή τον Featured Articles Manager κάνοντας απλά κλικ
στο αντίστοιχο tab
Δυνατότητα κατάργησης της λειτουργίας προβολής των module positions που
χρησιμοποιεί ένα site χρησιμοποιώντας την παράμετρο ?tp=1 στο URL
Μη χρήση πινάκων από κανένα από τα προεγκατεστημένα πρότυπα
Η λειτουργία ανάθεσης προτύπων σε μεμονωμένες σελίδες ονομάζεται πλέον
στυλ (style)
Σελίδα 79
Κεφάλαιο 7ο – Προεπισκόπηση ιστοσελίδας
Κεφάλαιο 7 - Προεπισκόπηση ιστοσελίδας
Σε αυτό το κεφάλαιο θα αναλύσουμε τα τμήματα της ιστοσελίδας και θα
παρουσιάσουμε με φωτογραφίες τις λειτουργίες της.
Εικόνα 47 - Front Page της σελίδας
Σε αυτό το μέρος της ιστοσελίδας βλέπουμε
Εικόνα 48 - Menu της σελίδας
Αρχική: Μας οδηγεί στο πρωτοσέλιδο της ιστοσελίδας
Το τμήμα: Στο τμήμα μπορούμε να επιλέξουμε 3 επιλογές:
Προσωπικό: Περιέχει πληροφορίες του Προσωπικού του τμήματος όπως
email,τηλέφωνο και ονοματεπώνυμο.
Σελίδα 80
Κεφάλαιο 7ο – Προεπισκόπηση ιστοσελίδας
Εικόνα 49 - Menu Προσωπικό
Δραστηριότητες Προσωπικού: Σε αυτό το υπομενού αναφέρονται οι
δραστηριότητες του κάθε καθηγητή.
Εικόνα 50 - Menu Δραστηριότητες προσωπικού
Σελίδα 81
Κεφάλαιο 7ο – Προεπισκόπηση ιστοσελίδας
Εργαστήρια: Περιέχονται οι εργαστηριακοί χώροι του τμήματος καθώς και μια
μικρή περιγραφή με τα καθήκοντα τους.
Εικόνα 51 - Menu Εργαστήρια
Σπουδές: Στις Σπουδές υπάρχουν οι παρακάτω υποκατηγορίες με την αντίστοιχη
περιγραφή τους.






Κανονισμός Σπουδών
Δομή Σπουδών
Αποστολή
Αντικείμενο Σπουδών
Περιγραφή Πτυχιούχου
Εφαρμογή του Προγράμματος
Σελίδα 82
Κεφάλαιο 7ο – Προεπισκόπηση ιστοσελίδας
Στην παρακάτω φωτογραφία φαίνεται ένα παράδειγμα μιας υποκατηγορίας.
Εικόνα 52 - Menu Αντικείμενο Σπουδών
Μαθήματα: Χωρίζονται ανά εξάμηνο όπου αναφέρονται ο τίτλος μαθήματος, το
είδος, οι ώρες διδασκαλίας ανά εβδομάδα και ο τύπος μαθήματος.








1ο Εξάμηνο
2ο Εξάμηνο
3ο Εξάμηνο
4ο Εξάμηνο
5ο Εξάμηνο
6ο Εξάμηνο
7ο Εξάμηνο
8ο Εξάμηνο
Σελίδα 83
Κεφάλαιο 7ο – Προεπισκόπηση ιστοσελίδας
Στην παρακάτω φωτογραφία φαίνεται ένα παράδειγμα μιας υποκατηγορίας των
μαθημάτων.
Εικόνα 53 - Menu Μαθηματα
Σύνδεσμοι: Εδώ διακρίνονται 3 ενότητες στις οποίες υπάρχουν σύνδεσμοι άλλων
εκπαιδευτικών ιδρυμάτων και εταιρειών και ερευνητικών φορέων.



Εκπαιδευτικοί σύνδεσμοι
Γενικοί σύνδεσμοι
Σύνδεσμοι Εταιριών
Σελίδα 84
Κεφάλαιο 7ο – Προεπισκόπηση ιστοσελίδας
Στην παρακάτω φωτογραφία φαίνεται ένα παράδειγμα μιας υποκατηγορίας των
Συνδέσμων.
Εικόνα 54 - Menu Συνδέσμων
Σελίδα 85
Κεφάλαιο 7ο – Προεπισκόπηση ιστοσελίδας
Επικοινωνία: Στην επικοινωνία μπορούμε να στείλουμε mail στο διαχειριστή ή να
επικοινωνήσουμε σε ένα από τα τηλέφωνα που δίνονται.
Εικόνα 55 - menu αναζήτησης
Στην δεξιά πλευρά του menu της σελίδας βρίσκεται η αναζήτηση/search.
Εικόνα 56 -Search
Την αναζήτηση την χρησιμοποιούμε ώστε να βρούμε οτιδήποτε μας ενδιαφέρει στην
ιστοσελίδα πιο γρήγορα.
Εικόνα 57 -Αποτελέσματα Αναζητησης
Σελίδα 86
Κεφάλαιο 7ο – Προεπισκόπηση ιστοσελίδας
Κάτω από το search βρίσκεται ο σύνδεσμος του Τεχνολογικού Ιδρύματος Κρήτης.
Εικόνα 58 -Σύνδεσμος Τεχνολογικού Ιδρύματος Κρήτης
Κάτω από τη μπάρα του menu βρίσκετε to slideshow που περιλαμβάνει τις πιο
πρόσφατες ανακοινώσεις.
Εικόνα 59 -Slideshow
Στη συνέχεια ακριβώς από κάτω βρίσκονται τα τελευταία νέα στα αριστερά και οι
υπηρεσίες στα δεξιά.
Εικόνα 60 -Τελευταία νέα και υπηρεσίες
Σελίδα 87
Κεφάλαιο 7ο – Προεπισκόπηση ιστοσελίδας
Τα τελευταία νέα είναι οι πιο πρόσφατες ανακοινώσεις του τμήματος και στις
υπηρεσίες οι φοιτητές μπορούν να χρησιμοποιήσουν διάφορα links είτε για
πληροφορίες είτε για υπηρεσίες. Πιο συγκεκριμένα οι υπηρεσίες είναι:











Είσοδος στο Webmail
Εγγραφές online
Εύδοξος
Eclass
Βιβλιοθήκη
Δια βίου εκπαίδευση
Γραφείο Διαμεσολάβησης
Γραφείο Διασύνδεσης
Γραφείο Διεθνών Σχέσεων
Κέντρο Διαχειρ. Δικτύων
Σπουδαστική μέριμνα
Στο κάτω μέρος της ιστοσελίδας βρίσκεται η μετατροπή της γλώσσας από
ελληνικά σε αγγλικά και αντίστροφα.
Εικόνα 61 - Μετατροπέας γλώσσας
Σελίδα 88
Συμπεράσματα
Επειδή η διατιθέμενη πληροφορία παγκόσμια αυξάνεται με ραγδαίο ρυθμό, τα
συστήματα διαχείρισης περιεχομένου (CMS) είναι πλέον απαραίτητα για την
ταξινόμηση, επικαιροποίηση και δημιουργία της πληροφορίας. Αυτό φαίνεται από
την στροφή όλων των δημιουργών-εταιριών προς τα συστήματα διαχείρισης
περιεχομένου.
Η ανάπτυξη ιστοσελίδων με τη χρήση αυτων των συστημάτων μπορεί να μας
βοηθήσει να δημιουργήσουμε ιστοσελίδες υψηλού επιπέδου. Μας παρέχει πολλές
εφαρμογές που μπορούν να προσαρμοστούν στην δικιά μας περίπτωση για να έχουμε
ένα καλό αποτέλεσμα. Απεριόριστα έτοιμα πρότυπα που μπορούμε να αγοράσουμε ή
να βρούμε δωρεάν στο διαδίκτυο. Δημοσιεύονται καινούργιες εκδόσεις αρκετά συχνά
που διορθώνουν τα προβλήματα των προηγούμενων. Στόχος μας ήταν να
δημιουργήσουμε μια ιστοσελίδα για τις υπηρεσίες του τμήματος Ηλεκτρολογίας.
Φτιάξαμε μια σελίδα με βάση τις ανάγκες και τις απαιτήσεις του τμήματος με
σκοπό την ευκολότερη πρόσβαση και καλύτερη εξυπηρέτηση των σπουδαστών.
Σελίδα 89
Μελλοντικές επεκτάσεις της ιστοσελίδας
Στην υπάρχουσα ιστοσελίδα που δημιουργήσαμε, χρησιμοποιήσαμε κάποια
πρόσθετα για να καλύψουμε τις απαιτήσεις και τις ανάγκες του τμήματος και των
σπουδαστών. Παρόλο αυτά πιστεύουμε ότι μπορούν να προστεθούν και άλλα
πρόσθετα στην ιστοσελίδα ανάλογα με τις μελλοντικές απαιτήσεις που μπορεί να
προκύψουν.
Παρακάτω θα αναφέρουμε ενδεικτικά κάποιες επεκτάσεις που μπορούν να
χρησιμοποιηθούν στο ήδη υπάρχον site.
 Φόρμα log in: Δυνατότητα εγγραφής σπουδαστών και προσωπικού με
διαφορετικά δικαιώματα η κάθε κατηγορία.
 Forum: Δυνατότητα δημιουργίας forum ώστε οι σπουδαστές να έχουν
επικοινωνία μεταξύ τους αλλά και με τους καθηγητές.
 Online επικοινωνία: Δυνατότητα online επικοινωνίας μεταξύ σπουδαστών
και γραμματείας για θέματα του τμήματος.
 Social media: Δημιουργία συνδέσμων social media(facebook,twitter) για
εναλλακτική πληροφόρηση των σπουδαστών.
 Γκαλερί φωτογραφιών: Προσθήκη φωτογραφιών του τμήματος και των
εργαστηριών της Ηλεκτρολογίας.
 Ημερομηνία/Ώρα
Σελίδα 90
Βιβλιογραφία
Για την ανάπτυξη του ιστότοπου χρησιμοποιήθηκαν πληροφορίες από τους
παρακάτω δικτυακούς τόπους:














https://el.wikipedia.org/wiki/
http://joomla.gr/
http://www.joomla.org/
http://extensions.joomla.org/
http://www.php.net/
http://www.apache.org/
http://jquery.com/
http://w3techs.com/
http://www.w3schools.com/
http://www.webhostdesignpost.com/
http://www.css3.info/
http://getbootstrap.com/
http://www.projectweb.gr/joomla-seo.html
http://www.multihosting.gr/
Σελίδα 91
Fly UP