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

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

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

Δυναμικές Ιστοσελίδες στο Πανελλήνιο Σχολικό Δίκτυο

Εισαγωγη στην html. Η δομή μιας ιστοσελίδας (αρχείο html) Η βασική δομή ενός αρχείου html είναι η εξής: <html> <head>

Σύστημα διαχείρισης περιεχομένου (Content Management System)

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

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP.

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

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

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

Σεμινάριο Wordpress CMS (Δημιουργία Δυναμικών Ιστοσελίδων)

Πληροφορική Τμήμα Σχεδιασμού & Τεχνολογίας Ξύλου & Επίπλου Αντώνιος Καραγεώργος Ευανθία Τσιλιχρήστου. Μάθημα 5 ο Τεχνολογίες Διαδικτύου: HTML I

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7

Εργαστήριο 9. Προγραμματιστικές Εφαρμογές στο Διαδίκτυο. Στόχος. Προετοιμασία περιβάλλοντος εργασίας

Βασικές Έννοιες Web Εφαρμογών

TEC510 Ανάπτυξη Δικτυακών Τόπων (Ε εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Επιστημονικός συνεργάτης Εργαστηρίου: Γιώργος Μηλιώτης

ΠΡΟΣΟΧΗ: Οι απαντήσεις πολλαπλής επιλογής µόνο πάνω στο ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ

Σχεδίαση και ανάπτυξη ιστοχώρου του εργαστηρίου Μηχανικής Λογισμικού. Παληόπουλος Αποστόλης-Παπαναγιώτου Παναγιώτης

XAMPP Apache MySQL PHP javascript xampp

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Εισαγωγή στις ΤΠΕ ΙΙ Γιάννης Βρέλλης ΠΤΔΕ-Πανεπιστήμιο Ιωαννίνων. World Wide Web. Παγκόσμιος Ιστός

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

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP)

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress

PHP/MySQL και Project

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

Εργαστήριο #10 (Ε10) 1

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

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS

Σχεδιασμός Βάσεων Δεδομένων

JOOMLA CMS ΒΑΣΙΚΗ ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗ (PART I)

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)

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

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

Συλλογή και Επεξεργασία Δεδομένων με Φόρμες

Οδηγίες Χρήσης της MySQL

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Βάσεις Δεδομένων 2η εργαστηριακή άσκηση

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access Κεφάλαιο 2: Microsoft Access

Διαχείριση Πληροφοριών στο Διαδίκτυο. Εργαστήριο 2

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΟ 2

Μπορείτε τα δείτε βιντεάκι με τη διαδικασία εδώ:

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

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

Σημειώσεις για τις Ιστοσελίδες του Google

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

Σχεδίαση Βάσεων Δεδομένων

Προγραμματισμός ΙI (Θ)

Ανάπτυξη διαδικτυακών εφαρμογών με την Python Το εργαλείο Flask

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED σχεδιασμός ιστοσελίδας ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

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

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

Περιεχόμενα. Πρόλογος... xiii

Βάσεις δεδομένων (Access)

Εργαστήριο 8. Προγραμματιστικές Εφαρμογές στο Διαδίκτυο

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου

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

Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)

9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers. Αποθηκευμένες Διαδικασίες (Stored Procedures):

Τεχνολογίες Διαδικτύου. Server Side Scripting I PHP

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)

ΤΕΣΤ ΠΙΣΤΟΠΟΙΗΣΗΣ ΓΝΩΣΕΩΝ ΚΑΙ ΔΕΞΙΟΤΗΤΩΝ

Βάσεις Δεδομένων. Εισαγωγή για το Εργαστήριο. Δρ. Τιάκας Ελευθέριος. Τμήμα Πληροφορικής ΑΠΘ

Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~

ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ

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

Σχεδίαση Βάσεων Δεδομένων

ΔΗ Μ Ι Ο ΥΡ Γ Ι Α W I K I με τ η χρήση τ η ς υπ ηρεσίας h t t p : / id ot.com /

Η HTML χρησιμοποιεί εντολές που ονομάζονται HTML tags δίνοντας εντολές στους Web browsers για το πώς να εμφανίζουν την κάθε ιστοσελίδα.

PHP 1. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

FROM TESTOTA.REGISTRY

Η γλώσσα προγραμματισμού C

SQL Τύποι Δεδομένων Δημιουργία Πίνακα Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1)

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ. Κεφάλαιο 5. Αλληλεπιδραστικές ιστοσελίδες (χρήση ετικέτας <FORM> και η τεχνική CGI)

Εργαστήριο Βάσεων Δεδομένων

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

Διαχείριση Πολιτισμικών Δεδομένων

Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής (ΠΕ19 MSc) Ελληνικό Κολλέγιο Θεσσαλονίκης

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

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

Υπολογιστικά Συστήματα

Προγραμματισμός Διαδικτύου Ασκήσεις Εργαστηρίου

Επαναληπτική Άσκηση ΕΤΙΚΕΤΕΣ HTML

Θέματα Προγραμματισμού Διαδικτύου ~ MySQL & PHP ~

ΟΝΟΜΑ : ΚΩΝΣΤΑΝΤΙΝΟΣ ΕΠΩΝΥΜΟ : ΚΟΚΟΛΟΓΟΣ Α.Μ. : Ε11060 ΕΞΑΜΗΝΟ : ΕΠΙ ΠΤΥΧΙΟ ΤΜΗΜΑ : ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΑΘΗΜΑ : ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ : ΕΦΑΡΜΟΓΗ

Οδηγίες Χρήσης της MySQL

Γαβαλάς αµιανός

Εγκατάσταση Joomla 1. Στο Π.Σ.Δ. ( 2. Τοπικά 3. Σε δωρεάν Server

Διαδικτυακές Εφαρμογές Ενότητα 1: JPA

Άσκηση 6 Επαναληπτική Άσκηση HTML

Εργαστήριο 6. Προγραμματιστικές Εφαρμογές στο Διαδίκτυο. Στόχος. Προετοιμασία περιβάλλοντος εργασίας. a) Εκκίνηση XAMPP

ΑΣΚΗΣΗ. Συγκομιδή και δεικτοδότηση ιστοσελίδων

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ.

Transcript:

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

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

Πίνακας περιεχομένων Περίληψη...4 Εισαγωγή...5 Κεφάλαιο 1 Module...7 Κεφάλαιο 2 Εργαλεία που χρησιμοποιήθηκαν...9 2.1 HTML...9 2.2 PHP...11 2.3 XML...13 2.4 MySQL...14 2.5 Joomla...14 2.6 Xampp...16 Κεφάλαιο 3 Περιγραφή της βάσης δεδομένων...18 3.1 Δημιουργία βάσης δεδομένων...17 3.2 Δημιουργία Πινάκων...18 3.2.1 Δομή πίνακα jos_tmima...18 3.2.2 Δομή πίνακα jos_company...18 3.2.3 Δομή πίνακα jos_foit...18 3.2.4 Δομή πίνακα jos_thesei...19 3.2.5 Δομή πίνακα jos_user...19 3.2.6 Δομή πίνακα jos_log...19 Κεφάλαιο 4 Περιγραφή της εφαρμογής...20 4.1 Σχεδίαση των αρχείων...20 4.2 Αναλυτική παρουσίαση των αρχείων...20 4.2.1 Αρχείο mod_8eseis.xml...20 4.2.2 Αρχείο helper.php...22 4.2.3 Αρχείο mod_8eseis.php...27 4.2.4 Αρχείο index.html...28 4.2.5 Αρχείο default.php...28 Κεφάλαιο 5 Πλεονεκτήματα και μειονεκτήματα του module...33 5.1 Πλεονεκτήματα...33 5.2 Μειονεκτήματα...33 Επίλογος...35 Βιβλιογραφία...36 Παράρτημα...37 3

Περίληψη Αντικείμενο της παρούσας πτυχιακής εργασίας είναι η δημιουργία ενός module(εφαρμογή διαδικτύου) για την ιστοσελίδα του Γραφείου Διασύνδεσης του ΤΕΙ Καβάλας. Το module αυτό θα είναι υπεύθυνο για την διαχείριση των θέσεων εργασίας που θέτουν οι επιχειρήσεις στην ιστοσελίδα του γραφείου, καθώς και την εξατομίκευση στην εμφάνιση των άρθρων στους επισκέπτεςφοιτητές της ιστοσελίδας. Κίνητρο για την ενασχόληση με την παρούσα θεματική αποτέλεσε η πρακτική άσκηση του γράφοντος στο Γραφείου Διασύνδεσης του ΤΕΙ Καβάλας. Μέσα από την εξάμηνη πρακτική και τις αρμοδιότητες που μου ανατέθηκαν, καταβλήθηκε προσπάθεια για την δημιουργία της ιστοσελίδας του Γραφείου με κύριους άξονες την προβολή των δράσεων του στη φοιτητική κοινότητα του ΤΕΙ και την εξυπηρέτηση των επισκεπτών-φοιτητών της ιστοσελίδας Το πρώτο κεφάλαιο κάνει μια γενική εισαγωγή στη δημιουργία ενός module. Από ποιους κανόνες διακατέχεται, ποιες είναι οι βασικές ρυθμίσεις του και ποιες οι εφαρμογές του. Ειδικότερα, αναφέρονται τα απαραίτητα αρχεία που θα πρέπει να εμπεριέχονται σε ένα module και αναλύετε η δομή τους. Στο δεύτερο κεφάλαιο αναφέρονται τα διαθέσιμα εργαλεία που χρησιμοποιήθηκαν για την ολοκλήρωση μας εργασίας. Πρόκειται για τα εργαλεία HTML, PHP, XML, MySQL, Joomla και Xampp Το τρίτο κεφάλαιο αναλύει τα αρχεία που δημιουργήθηκαν για την κατασκευή μας βάσεις δεδομένων, καθώς και περιγραφή της βάσης αυτής. Στη τέταρτο κεφάλαιο αναφέρονται τα αρχεία που αποτελούν το module, καθώς και μια ανάλυση για την ιεραρχία των δομών του κάθε αρχείου. Στο πέμπτο κεφάλαιο αναλύονται τα πλεονεκτήματα και μειονεκτήματα, τόσο για το module αυτής της εργασίας, όσο και για τα γενικότερα στοιχεία των modules. Τέλος, στο παράρτημα της παρούσας εργασίας περιλαμβάνονται τα αρχεία σε ολοκληρωμένη μορφή. 4

Εισαγωγή Από την πρώτη εμπορική αξιοποίηση του Internet υπάρχει μια συνεχής αγώνας για την βελτίωση των εφαρμογών που χρησιμοποιούνται σε αυτό. Ένα βήμα σε αυτό το αγώνα είναι και η δημιουργία ενός προγράμματος ανοιχτού κώδικα για την δημιουργία και συντήρηση ιστοσελίδων, του προγράμματος Joomla, για άτομα με μικρές ή και καθόλου γνώσεις από δημιουργία ιστοσελίδων μέσω των γλωσσών HTML και PHP. Με τη βοήθεια του συγκεκριμένου προγράμματος και με την συνεχή προσφορά ανεξάρτητων προγραμματιστών το πρόγραμμα Joomla αποτελεί μια ολοκληρωμένη πρόταση στην ανάπτυξη δυναμικών ιστοσελίδων. Παρόλο που η κατασκευή μιας ιστοσελίδας πλέον είναι πολύ εύκολη υπόθεση με την χρήση ενός CMS, όπως είναι η Joomla, πάντα θα υπάρχει η ανάγκη δημιουργίας εφαρμογών διαδικτύου που να μπορεί να κάνει την ιστοσελίδα αυτή να ξεχωρίσει ανάμεσα στην πλειάδα ιστοσελίδων που μπορεί να βρει ένας χρήστης στο διαδίκτυο. Για αυτό το λόγο η Joomla επιτρέπει την εισαγωγή μιας σειράς από μικρά αρχεία, η σειρά αυτή αποτελεί ένα module, με σκοπό την ένταξη μιας εφαρμογής στην ιστοσελίδα. Ταυτόχρονα με την χρήση ενός CMS, όπως είναι η Joomla, επιτρέπεται η δημιουργία μεγάλων και επαγγελματικών ιστοσελίδων σε πολύ μικρό χρονικό διάστημα και με μικρή ή καθόλου γνώση κάποιας γλώσσας, όπως είναι η HTML. Αυτή η μείωση στο χρόνο κατασκευής μιας ιστοσελίδας αποτελεί σημαντικό πλεονέκτημα. Καθώς ο χρόνος που χρειάζεται για την σχεδίαση, την υλοποίηση και τον έλεγχο μεγάλων και πολύπλοκων ιστοσελίδων, είναι μεγάλος, ίσως και αρκετοί μήνες. Με την χρήση ενός CMS ο χρόνος αυτός μπορεί να είναι και μερικές μέρες, καθώς με την χρήση ενός CMS αυτό που σχεδιάζουμε είναι και το τελικό αποτέλεσμα που παίρνουμε, ο χρόνος που χρειάζεται για τον έλεγχο της ιστοσελίδας συχνά εξαφανίζεται. Αυτό έχει σαν αποτέλεσμα να μπορούμε να σχεδιάσουμε και να υλοποιήσουμε μεγαλύτερο αριθμό ιστοσελίδων στο ίδιο χρονικό διάστημα που χρειαζόταν εάν χρησιμοποιούσαμε παραδοσιακά μέσα, όπως είναι η χρήση της γλώσσας HTML ή PHP. Παρόλο που υπάρχουν πλέον αρκετά συστήματα CMS για την εύκολη κατασκευή και συντήρηση ιστοσελίδων, για ποιο λόγο να χρησιμοποιήσει κανείς τη Joomla συγκεκριμένα; Ο λόγος είναι ότι για οποιαδήποτε αλλαγή που θέλουμε να πραγματοποιήσουμε στην ιστοσελίδα μας, από την αλλαγή στην εμφάνιση της μέσω του template(το φόντο που έχει η ιστοσελίδα) έως την εγκατάσταση μιας επέκτασης ή την εγκατάσταση μιας εφαρμογής, μπορούμε να την πραγματοποιήσουμε με μεγάλη ευκολία, μόνο με μερικά κλικ του ποντικιού μας. Ακόμα και η αναβάθμιση της έκδοσης που χρησιμοποιούμε γίνεται με μεγάλη ευκολία, καθώς είναι μια αυτοματοποιημένη διαδικασία χωρίς να χρειάζεται μεγάλη γνώση από την πλευρά του διαχειριστή. Αυτή η ευκολία στη χρήση και στην διαχείριση είναι που καθιστά την Joomla τόσο επιτυχημένη. Και παρόλα τα προβλήματα που συναντώνται, γίνεται συνεχής προσπάθεια για την επίλυση των προβλημάτων αυτών. 5

Ακόμη με τη συνεχή κυκλοφορία καινούργιων εκδόσεων που εξαλείφουν τα προβλήματα των προηγούμενων, για την Joomla συγκεκριμένα, η εκμάθηση της κρίνεται να είναι μία καλή κίνηση από τη πλευρά των προγραμματιστών. Βέβαια, σε καμία περίπτωση δεν θα πρέπει να παραμελείται η γνώση παραδοσιακών μεθόδων, όπως είναι η HTML και η PHP. Σε μία περίοδο που ο χρόνος παίζει σημαντικό παράγοντα τόσο από την πλευρά των επιχειρήσεων που θέλουν την ιστοσελίδα τους άμεσα και γρήγορα, όσο από την πλευρά των προγραμματιστών που θέλουν όσο το δυνατόν μεγαλύτερο αριθμό εργασιών, η χρήση ενός CMS ίσως να είναι μονόδρομος, με κυριότερο λόγο τον κερδισμένο χρόνο που παρέχουν και στις δύο πλευρές. Ακόμα και ιδιώτες-ερασιτέχνες που θέλουν να κατασκευάσουν μία απλή ιστοσελίδα και δεν θέλουν ούτε να μάθουν μια γλώσσα προγραμματισμού ούτε να μισθώσουν κάποιον προγραμματιστή μπορούν να επωφεληθούν από την χρήση ενός CMS όπως είναι η Joomla. Και αυτό γιατί όπως αναφέρθηκε και πιο πριν δεν χρειάζεται γνώση προγραμματισμού. Παρά την μεγάλη ευκολία που παρέχουν τα CMS για την δημιουργία μίας ιστοσελίδας, η ικανοποίηση που παρέχει η δημιουργία μίας ιστοσελίδας ή και μίας εφαρμογής με τη χρήση μίας γλώσσας προγραμματισμού είναι διαφορετική. 6

1. Module Τα modules του Joomla αποτελούν τη κινητήρια δύναμη του, καθώς για την οποιαδήποτε εμφάνιση περιεχομένου στην ιστοσελίδα θα πρέπει να χρησιμοποιηθεί κάποιο module. Τα modules αποτελούν κομμάτια κώδικα σε PHP, σε αντικειμενοστραφή λογική, τα οποία έχουν μια συγκεκριμένη λειτουργία, όπως μια φόρμα login ή την εμφάνιση ενός άρθρου. Τα modules αποτελούνται από μια σειρά εφτά περίπου αρχείων σε PHP, HTML και XML τα οποία αποθηκεύονται σε έναν φάκελο με το όνομα του module όπως mod_name. Η εγκατάσταση του module είναι μια απλή μεταφορά του φακέλου αυτού στον φάκελο modules του Joomla στον server. Για την κυκλοφορία του αρχείου στο ευρύ κοινό το μόνο που χρειάζεται είναι η συμπίεση του σε μορφή zip, και για την χρήση του μια απλή αποσυμπίεση στο folder που βρίσκονται τα αρχεία module. Τα αρχεία PHP του module αποτελούν τον πηγαίο κώδικα και ευθύνονται για την εκτέλεση της εφαρμογής. Σε ένα αρχείο φτιάχνεται η τάξη που χρησιμοποιεί το module, σε άλλο ο πηγαίος κώδικας και τέλος σε ένα τρίτο η χρήση των συναρτήσεων της τάξης. Από τα τουλάχιστον τρία αρχεία ο κώδικας που υπάρχει στο καθένα είναι διαφορετικός. Στο αρχείο helper.php υπάρχουν οι τάξεις και οι συναρτήσεις που χρησιμοποιεί το module. Στο αρχείο με το όνομα του module (παράδειγμα mod_name.php) υπάρχει η εκτέλεση των συναρτήσεων του αρχείου helper καθώς και μία διακήρυξη για την χρήση του αρχείου helper. Και τέλος στο αρχείο default.php υπάρχει ο κώδικας PHP που θα εμφανίζει αποτελέσματα για τους χρήστες και τον διαχειριστή. Το αρχείο XML αποτελεί βοηθητικό αρχείο στο οποίο καταγράφονται γενικότερες πληροφορίες του module όπως ο προγραμματιστής, το έτος κυκλοφορίας, τρόποι επικοινωνίας με τον προγραμματιστή, ενότητα copyright, η τρέχουσα έκδοση του module και άλλα. Επίσης μέσω του αρχείου αυτού εμφανίζονται και οι πληροφορίες στο επίπεδο διαχείρισης στο Joomla. Η χρήση του αρχείου XML μπορεί να φαίνεται προαιρετική αλλά πρέπει να εμπεριέχεται μέσα στο module καθώς μέσω του αρχείου αυτού παίρνουν της πληροφορίες η χρήστες για το σκοπό της λειτουργίας του. Τέλος τα αρχεία HTML αποτελούνται από ελάχιστο κώδικα, του τύπου <html> </html> <body bgcolor="#ffffff"> </body>, χρησιμοποιούνται για να διασφαλίσουν ότι θα εμφανιστεί η default σελίδα εάν γίνει προσπάθεια για απευθείας πρόσβαση στον φάκελο που υπάρχουν τα αρχεία χωρίς να υπάρχει διακήρυξη όλων των αρχείων. 7

Τα αρχεία αυτά αποτελούν το πρότυπο για την δημιουργία ενός module, καθώς ανάλογα με την εφαρμογή που θέλουμε να δημιουργήσουμε μπορεί να έχουμε μεγαλύτερο ή και μικρότερο αριθμό αρχείων, ανάλογα με την λειτουργία που θέλουμε να ενσωματώσουμε στο module. Για την μετατροπή μίας εφαρμογής διαδικτύου σε module για την Joomla παίζει σημαντικό ρόλο η διάσπαση της εφαρμογής σε εφτά διαφορετικά αρχεία. Σημαντικό ρόλο παίζει η γνώση προγραμματιστικών τεχνικών, για να γνωρίζει σε ποιο αρχείο πρέπει να πηγαίνει το κάθε τμήμα κώδικα, αλλά και καλή γνώση της λειτουργίας της ίδιας της Joomla, για το πώς ενσωματώνονται οι εφαρμογές στη λειτουργία της. Παρά την μεγάλη ευκολία που παρέχει η Joomla στη δημιουργία ιστοσελίδων, η δημιουργία ενός module για αυτήν αποτελεί ένα αρκετά δύσκολο εγχείρημα, το οποίο χρειάζεται και αρκετή γνώση από πλευράς του εκάστοτε προγραμματιστή. Θετικό σημείο αποτελεί ότι ο αριθμός και ρόλος του κάθε αρχείου που βρίσκεται σε κάθε module είναι καθορισμένο, καθώς και το περιεχόμενο που πρέπει να έχει το κάθε αρχείο. Για την διάδοση ενός module το μόνο που χρειάζεται είναι η συμπίεση του φακέλου στον οποίο υπάρχουν τα αρχεία στην μορφή ενός απλού zip αρχείου, και η διάδοση του μέσω διαδυκτίου. 8

2. Εργαλεία που χρησιμοποιήθηκαν 2.1 HTML Το 1980 ο φυσικός Tim Berners-Lee, ο οποίος ήταν τοποθετημένος στο CERN, πρότεινε τη δημιουργία ενός συστήματος στο CERN για να μπορούν οι επιστήμονες του να χρησιμοποιούν και να ανταλλάζουν αρχεία. Το 1989 ο Berners-Lee πρότεινε ένα σύστημα hypertext με βάση το Internet, ανάφερε συγκεκριμένα την HTML και στα τέλη του 1990 έγραψε τα λογισμικά για browser και server. Την ίδια χρονιά με την βοήθεια του μηχανικού Robert Cailliau ζήτησαν χρηματοδότηση από το CERN, αλλά το έργο δεν πραγματοποιήθηκε. Η γλώσσα HTML(HyperText Markup Language - γλώσσα μορφοποίησης υπερκειμένου) με την οποία καθορίζεται η μορφή εμφάνισης των σελίδων στο διαδίκτυο, εμφανίστηκε για πρώτη φορά το 1993. Η HTML είναι δημιούργημα του Tim Berners-Lee και προέρχεται από την γλώσσα SGML(Standard Generalized Markup Language). Η SGML είναι δύσκολο να εφαρμοστεί σωστά και επακριβώς από ένα φυλλομετρητή για αυτό και δεν δικαιολογείται η επί πλέον δαπάνη για την απλή εμφάνιση περιεχομένου στον παγκόσμιο ιστό. Η γλώσσα HTML είναι μια γλώσσα που χρησιμοποιούν οι browsers για να μεταφράζουν και να συνθέτουν κείμενα, εικόνες και άλλα στοιχεία για να παράγουν οπτικά ολοκληρωμένες ιστοσελίδες. Τα σταθερά χαρακτηριστικά για κάθε αντικείμενο της HTML ορίζονται από τον browser. Το μόνο που χρειάζεται για την εκτέλεση ενός αρχείου HTML είναι η ύπαρξη ενός browser, αυτό σημαίνει ότι δεν χρειάζεται σύνδεση με το Internet, οπότε μπορούμε να δημιουργήσουμε ολοκληρωμένα αρχεία με την χρήση της HTML και το μόνο που χρειάζεται είναι η ύπαρξη ενός απλού κειμενογράφου και η χρήση ενός browser όπως είναι ο Inernet Explorer thw Microsoft ή το Chrome της Google. Τη δεκαετία του 90 υπήρχε μια μεγάλη ανάπτυξη γύρο από την HTML με τις εκδόσεις των version 2.0, version 3.2, και 4.0(στο ίδιο έτος), και τέλος με την έκδοση τις version 4.01 το 1999. Μετά την γρήγορη ανάπτυξη τεσσάρων εκδόσεων μέσα σε τόσο μικρό χρονικό διάστημα θεωρήθηκε ευρέως ότι η HTML δεν είχε να προσφέρει τίποτε άλλο, για αυτό το λόγο η προσοχή έπεσε στις γλώσσες XML και XHTML. Παρόλα αυτά το μεγαλύτερο 9

μέρος του περιεχομένου του διαδικτύου συνεχίστηκε να προσφέρεται με την χρήση της HTML. Λόγω της μεγάλης απήχησης που έχει η γλώσσα HTML και για την ανάπτυξη νέων εφαρμογών αλλά και για την περαιτέρω ανάπτυξη της, νέα πρότυπα και νέες δυνατότητες έπρεπε να αναπτυχθούν. Για να προωθήσουν την πλατφόρμα του διαδικτύου σε νέα επίπεδα, μια ομάδα ατόμων δημιούργησε την Web Hypertext Application Working Group(WHATWG) το 2004. Μεταξύ άλλων έθεσε και τα νέα πρότυπα για την γλώσσα HTML5. Αυτή τη στιγμή η HTML5 αναπτύσσεται από τρεις οργανισμούς, την WHATWG, την World Wide Web Consortium(W3C) και την Internet Engineering Task Force (IETF). Τα αρχεία που δημιουργούνται με την χρήση της HTML είναι απλά αρχεία κειμένου που αποθηκεύονται με την κατάληξη.html ή.htm. Η διαφοροποίηση που υπάρχει στην γλώσσα HTML και επιτρέπει την ανάγνωση των αρχείων από κάποιο browser έγκειται στη χρήση κάποιων ταμπελών (tags). Ένα παράδειγμα αρχείου HTML είναι το ακόλουθο, <!DOCTYPE html> <html> <head> <title>hello HTML</title> </head> <body> <p>hello World!</p> </body> </html> στο παράδειγμα αυτό τα στοιχεία <html>,<head>, <title>, <body> αποτελούν μερικά παραδείγματα των tags. Ενώ τα στοιχεία Hello HTML και Hello World! αποτελούν το περιεχόμενο τις ιστοσελίδας. Υπάρχει ένα μεγάλο εύρος από tags που μπορούμε να χρησιμοποιήσουμε για να έχουμε τα αποτελέσματα που επιθυμούμε από την τελική εμφάνιση της ιστοσελίδας. Τα tags αυτά κυμαίνονται από το στυλ της γραμματοσειράς, το μέγεθος που θα έχουν τα γράμματα έως και την εμφάνιση κάποιας εικόνας ή και τη δημιουργία ενός υπερσυνδέσμου σε κάποια άλλη ιστοσελίδα. 10

Παρά το μεγάλο εύρος από παραμέτρους που μπορούμε να θέσουμε με τα tags που μας προσφέρει η HTML, το μεγαλύτερο μειονέκτημα της γλώσσας αυτής είναι ότι οι ιστοσελίδες που κατασκευάζονται με την χρήση της δεν μπορούν να έχουν κάποια αλληλεπίδραση με κάποια άλλη ιστοσελίδα, είναι δηλαδή στατικές σελίδες. Για να λυθεί αυτό το πρόβλημα δημιουργήθηκε η γλώσσα PHP η οποία συνδυάζεται μαζί με τη χρήση της HTML. Για αυτό το λόγο η γνώση της HTML για κάποιον που θέλει να δημιουργήσει μια ιστοσελίδα, χωρίς τη χρήση κάποιου CMS, αποτελεί μονόδρομο. 2.2 PHP Η γλώσσα PHP(PHP:Hypertext Preprocessor) αποτελεί μία γλώσσα προγραμματισμού που χρησιμοποιείται στην ανάπτυξη εφαρμογών διαδικτύου για την δημιουργία δυναμικών ιστοσελίδων. Ο όρος δυναμική ιστοσελίδα σημαίνει ότι υπάρχει κάποιος βαθμός αλληλεπίδρασης μεταξύ της ιστοσελίδας και του χρήστη. Για το σκοπό αυτό ο PHP κώδικας ενσωματώνεται μέσα σε αρχεία HTML, μεταγλωττίζεται από τον server με αποτέλεσμα να παράγεται μια δυναμική ιστοσελίδα που βλέπει ο χρήστης από τον υπολογιστή του. Η γλώσσα PHP αναπτύχθηκε αρχικά από τον Rasmus Lerdorf το 1995. Πλέον την ανάπτυξη της PHP έχει η The PHP Group και λειτουργεί ως de facto πρότυπο της PHP καθώς δεν έχουν καθοριστεί επίσημα πρότυπα. Η PHP αποτελεί δωρεάν γλώσσα προγραμματισμού. Η ανάπτυξη της PHP το 1994 από τον προγραμματιστή Rasmus Lerdorf, ο οποίος αρχικά δημιούργησε μερικά scripts με βάση την Perl ονομάζοντας τα Personal Home Page Tools για να διατηρεί την προσωπική του ιστοσελίδα. Τα scripts εκτελούσαν διεργασίες όπως την εμφάνιση του βιογραφικού του και την παρακολούθηση της κίνησης στην ιστοσελίδα του. Το 1997 οι Zeev Suraski και Andi Guitmans ξανάγραψαν τον parser και δημιούργησαν την βάση για την PHP 3, αλλάζοντας και το όνομα της γλώσσας σε PHP:Hypertext Preprocessor. Μετά από μια περίοδο public testing της PHP 3, η γλώσσα κυκλοφόρησε επίσημα τον Ιούνιο του 1998. 11

Το 2008 η PHP 5 έγινε η μόνη σταθερή έκδοση η οποία βρίσκεται υπό ανάπτυξη. Ταυτόχρονα υπήρχε μια ακόμα έκδοση η οποία ήταν υπό ανάπτυξη μαζί με την PHP 5 για αρκετά χρόνια. Η έκδοση αυτή ήταν αρχικά να κυκλοφορήσει ως PHP 6 λόγω των μεγάλων αλλαγών που είχε, μια από αυτές ήταν και η πλήρης υποστήριξη Unicode. Επειδή όμως η ενσωμάτωση χρειάστηκε περισσότερο χρόνο από ότι είχε αρχικά σχεδιαστεί, η ολοκλήρωση του έργου μεταφέρθηκε για αργότερα. Για την δημιουργία ενός script σε PHP το μόνο που χρειάζεται είναι ένας απλός κειμενογράφος αλλά για την εκτέλεση του, επειδή είναι γλώσσα ανάπτυξης εφαρμογών διαδικτύου, χρειάζεται η χρήση κάποιου server που να υποστηρίζει τη έκδοση της PHP που χρησιμοποιούμε, ακόμα και εικονικού με την χρήση του XAMPP, καθώς ο server είναι υπεύθυνος για την μετάφραση των εντολών της PHP σε εντολές που να μπορεί να αναγνωρίσει ο φυλλομετρητής μας. Αυτό γίνεται με τον ακόλουθο τρόπο, ο server διατρέχει τον κώδικα και εκτελεί τον κώδικα που είναι γραμμένος με την χρήση της PHP, έπειτα μετατρέπει τον κώδικα αυτό σε μία μορφή που να μπορεί να αναγνωρίσει ο φυλλομετρητής που χρησιμοποιεί ο χρήστης, αυτή η μορφή είναι με την χρήση της HTML. Δηλαδή αυτό που διαβάζει ο φυλλομετρητής του χρήστη είναι μονάχα κώδικας HTML. Η εμφάνιση που μπορεί να έχει ένα αρχείο το οποίο είναι κατασκευασμένο με την χρήση της PHP ενσωματωμένο με ένα παράδειγμα HTML φαίνετε στο ακόλουθο παράδειγμα <html> <head> <title>τίτλος</title> </head> <body bgcolor='#ffffff' text='#000000'> <?php echo "Μια απλή ανακοίνωση";?> </body> </html> 12

το σημείο που κάνει το κομμάτι της PHP να ξεχωρίζει από το υπόλοιπο τμήμα της HTML, είναι ότι το τμήμα της PHP θα πρέπει να βρίσκεται πάντα ανάμεσα από το τμήμα <?php και?>, το οποίο δηλώνει ότι ο κώδικας που ακολουθεί είναι γραμμένος σε PHP, έτσι ώστε να αναγνωρίζει ο server σε ποιο τμήμα να παρεμβαίνει. Στο κομμάτι κώδικα που αποτελεί το PHP μπορούμε να θέσουμε συνθήκες ελέγχου όπως είναι η χρήση μίας if ή και δομές επανάληψης όπως είναι μία for ή μία while, ανάλογα με την λειτουργία που θέλουμε να πραγματοποιήσουμε. 2.3 XML XML(Extensible Markup Language) είναι μια σειρά από κανόνες για την κωδικοποίηση αρχείων σε μια μορφή την οποία να μπορούν να αναγνωρίσουν οι υπολογιστές. Οι κανόνες αυτοί καθορίζονται από τις απαιτήσεις του XML 1.0 που τέθηκαν από την W3C και από άλλες απαιτήσεις, δημιουργώντας έτσι μια ανοιχτή σταθερά. Ο σχεδιαστικός σκοπός της XML στοχεύει κυρίως στην απλότητα, την γενίκευση και την χρησιμότητα μέσω του διαδικτύου. Για την κατασκευή ενός αρχείου XML το μόνο που χρειάζεται είναι η χρήση ενός κειμενογράφου, καθώς ακολουθεί την ίδια σχεδιαστική λογική με την HTML με τη διαφορά ότι τα αρχεία αποθηκεύονται με την κατάληξη.xml. Παρόλο που σχεδιάστηκε με κύριο σκοπό για την χρήση της σε απλά αρχεία κειμένου, η XML χρησιμοποιείται αρκετά και για την δημιουργία εφαρμογών διαδικτύου. Η XML είναι μια παραλλαγή του SGML. Η ελαστικότητα της SGML για την δυναμική εμφάνιση περιεχομένου θεωρήθηκε σημαντική ακόμα και από την δεκαετία του 80, πολύ πριν την άνθηση του διαδικτύου. Κατά την διάρκεια της δεκαετίας του 90 αρκετοί χρήστες του SGML αποκτώντας εμπειρία με το τότε καινούργιο World Wide Web, πιστεύανε ότι το SGML θα ήταν η πιθανή λύση για τα πιθανά προβλήματα που θα αντιμετώπιζε το διαδίκτυο. Στην υλοποίηση της η XML ακολουθεί τις ίδιες βασικές αρχές με την HTML, όπως είναι η χρήση των ετικετών, με την διαφορά ότι η XML έχει δικούς της κανόνες καθώς και ξεχωριστές ετικέτες. Ένα απλό παράδειγμα κατασκευής ενός XML αρχείου είναι ο ακόλουθος <?xml version="1.0" encoding="utf-8"?> <install> <!-- χρήση κώδικα -- > </install> αυτό που ξεχωρίζει στο παράδειγμα αυτό είναι η διακήρυξη ότι το αρχείο αυτό είναι σε XML με την χρήση της ετικέτας <?xml?> καθώς το είδος της κωδικοποίησης που υπάρχει σε αυτό. Επίσης παρατηρείται και η χρήση της 13

ετικέτας <install> η οποία είναι και η κυριότερη διαφορά της XML από την HTML. 2.4 MySQL Η MySQL είναι ένα σύστημα διαχείρισης σχεσιακών βάσεων δεδομένων(relationla Database Management System). Είναι παγκοσμίως η πιο διαδεδομένη βάση δεδομένων ανοικτού κώδικα. Επίσης είναι ένα πολύ γρήγορο και δυνατό σύστημα διαχείρισης βάσεων δεδομένων. Μια βάση δεδομένων μας επιτρέπει να αποθηκεύσουμε, να αναζητήσουμε, να χρησιμοποιήσουμε και να ταξινομήσουμε μεγάλο όγκο δεδομένων. Η MySQL επιτρέπει την πρόσβαση στα δεδομένα από αρκετούς χρήστες ταυτόχρονα αλλά για λόγους ασφαλείας επιτρέπει την οποιαδήποτε αλλαγή αυτών μόνο από πιστοποιημένους χρήστες. Για την χρήση της MySQL χρειάζεται γνώση της SQL(Structured Query Language) η οποία αποτελεί ένα πρότυπο για την γλώσσα ερωτημάτων. Η χρήση της MySQL στο διαδίκτυο είναι αρκετά διαδεδομένη για διάφορους λόγους. Κάποιοι από αυτούς είναι η ευκολία που παρέχει στον προγραμματιστή και στην αλληλεπίδραση με την ιστοσελίδα αλλά και στην μεταφορά της σε άλλο server. Επίσης είναι εύκολη στην δημιουργία αντιγράφων ασφαλείας, επίσης παρέχει αρκετή ασφάλεια από κακόβουλες επιθέσεις και υποστηρίζετε συνεχώς από συνεχείς επανεκδόσεις για την διατήρηση της ασφάλειας. Επειδή είναι λογισμικό ανοιχτού κώδικα παρέχεται δωρεάν, και στηρίζεται δυνατά από μια κοινότητα προγραμματιστών. 2.5 Joomla Λόγω της μεγάλης άνθησης του διαδικτύου και του μεγάλου όγκου περιεχομένου που υπάρχει σε αυτό, είναι δύσκολη η συνεχής βελτίωση, αλλά και συντήρηση, των ιστοσελίδων. Για το λόγο αυτό δημιουργήθηκαν τα Content Management System(CMS), όπως η Joomla. Τα CMS παρέχουν τον πλήρη σκελετό μίας ιστοσελίδας και επιτρέπουν στον σχεδιαστή να παρέχει το περιεχόμενο, χωρίς την ανάγκη γνώσης κάποιας γλώσσας όπως η HTML ή η PHP, επιτρέποντας την διατήρηση μιας ιστοσελίδας με επαγγελματικό τρόπο χωρίς ιδιαίτερο κόπο. H Joomla είναι ένα δωρεάν CMS ανοιχτού κώδικα, και επιτρέπει την δημιουργία πλούσιων ιστοσελίδων σε λίγο χρόνο. Η δημιουργία μιας ιστοσελίδας με την χρήση της γλώσσας HTML πρέπει να γίνει από το μηδέν και επίσης να σχεδιαστεί και ο τρόπος εμφάνισης του περιεχομένου. Με την χρήση της Joomla αυτό γίνεται αυτόματα, αποτρέποντας έτσι πιθανά λάθη 14

στη σχεδίαση, μειώνοντας έτσι το χρόνο που χρειάζεται για την διόρθωση του κώδικα. Το σύστημα Joomla είναι γραμμένο στην γλώσσα PHP και χρησιμοποιεί τεχνικές αντικειμενοστραφή προγραμματισμού, αποθήκευση δεδομένων σε MySQL βάσεις δεδομένων και παρέχει τη δυνατότητα δημιουργίας blog, πεδίων search, δημοσκοπήσεις και άλλα. Η ιδιαιτερότητα της Joomla είναι ότι δεν χρειάζεται να κατασκευαστεί κάθε αρχείο που θα εμφανίζεται στην ιστοσελίδα, όπως γίνεται με τη χρήση της HTML, απλά χρειάζεται να δημιουργήσουμε τον σκελετό της ιστοσελίδας, να εισάγουμε το περιεχόμενο(άρθρα, εικόνες και άλλα) και να θέσουμε την γενικότερη εμφάνιση που θέλουμε. Όλες αυτές οι επιλογές αποθηκεύονται στη βάση δεδομένων που χρησιμοποιεί η Joomla σε διάφορα πεδία. Η εμφάνιση ενός άρθρου που βρίσκεται για παράδειγμα σε μια υποκατηγορία θα δημιουργηθεί μόνο εάν κάποιος χρήστης επιλέξει αυτή την υποκατηγορία. Με αυτό τον τρόπο η εμφάνιση του περιεχομένου γίνεται on the fly για κάθε χρήστη ξεχωριστά, αποτρέποντας έτσι το χάσιμο των σχεδιαστών όταν κατασκευάζουν μεγάλες ιστοσελίδες που απαιτούν έναν μεγάλο όγκο αρχείων, ταυτόχρονα καθιστούν εύκολη την συντήρηση της και την επίλυση πιθανών προβλημάτων που μπορεί να προκύψουν. Υπάρχουν πολλοί λόγοι για την επιτυχία του Joomla αλλά ο κυριότερος είναι η ελαστικότητα που παρέχει στον χρήστη του, ακόμα και αν δεν έχει τις απαραίτητες τεχνικές γνώσεις, στην δημιουργία μίας ιστοσελίδας. Ο διαχειριστής έχει την δυνατότητα να παρέχει διάφορα επίπεδα πρόσβασης στους χρήστες, δίνοντας σε κάποιους τη δυνατότητα να έχουν πρόσβαση και να φτιάξουν νέες σελίδες και σε άλλους να έχουν μόνο πρόσβαση και τη δυνατότητα να τις αλλάξουν. Επίσης τα επίπεδα πρόσβασης μπορούν να θέτουν σαν όριο την πρόσβαση σε συγκεκριμένα σημεία του ιστότοπου. Επιπλέον το μεγαλύτερο πλεονέκτημα του Joomla είναι ότι παρέχεται στους χρήστες εντελώς δωρεάν. Ένα ακόμα μεγάλο πλεονέκτημα για την χρήση της Joomla είναι ότι οποιαδήποτε λειτουργία ή εφαρμογή θελήσουμε να ενσωματώσουμε στην ιστοσελίδα μας, είναι πολύ πιθανό να έχει κατασκευαστεί από άλλους και να βρίσκεται έτοιμη προς διάθεση. Σημαντική παραμένει και η δυνατότητα αλλαγής του template της ιστοσελίδας. Το template είναι υπεύθυνο για την εμφάνιση που θα έχει η ιστοσελίδα μας, από το χρώμα στο υπόβαθρο μέχρι και στην εμφάνιση συγκεκριμένων εικόνων. Η αλλαγή αυτή γίνεται μέσω της διαχείρισης των template και εφαρμόζεται αυτόματα σε όλη την ιστοσελίδα χωρίς να χρειάζεται να αλλάξουμε τον κώδικα σε κάθε αρχείο που χρησιμοποιεί η ιστοσελίδα μας. Σε αρκετές περιπτώσεις τα template αυτά ακολουθούν την λογική του λογισμικού ανοιχτού κώδικα, και οι δημιουργοί τους μας παρέχουν πρόσβαση στον πηγαίο κώδικα, επιτρέποντας μας με αυτό τον τρόπο να αλλάξουμε την εμφάνιση που θα έχει το template ανάλογα με τις ανάγκες μας. Οι αλλαγές αυτές μπορεί να είναι από την αλλαγή της γραμματοσειράς έως και την αλλαγή των εικόνων που θα εμφανίζονται. Από την άλλη το μεγαλύτερο μειονέκτημα των CMS όπως η Joomla είναι ότι αποτελούν πολύπλοκα ολοκληρωμένα συστήματα με μία πλειάδα από αρχεία τα οποία συνεργάζονται μεταξύ τους και με την βάση 15

δεδομένων. Οποιαδήποτε προσπάθεια για αλλαγή σε κάποια από της λειτουργίες που παρέχει η Joomla θα μπορούσε να αποτελέσει αρκετά προβληματική. Επειδή το Joomla αποτελεί CMS ανοιχτού κώδικα, έχει μια μεγάλη κοινότητα από προγραμματιστές οι οποίοι κατασκευάζουν συνεχώς νέες επεκτάσεις ή και templates για το Joomla, τα οποία συνήθως παρέχονται δωρεάν καθώς υπάρχουν και επεκτάσεις ή εφαρμογές που δημιουργούνται από εταιρίες και χρειάζεται η αγορά τους, και βελτιώνουν συνεχώς τα ήδη υπάρχοντα. Παρόλο που η Joomla αποτελεί ένα ολοκληρωμένο σύστημα για την δημιουργία και τη συντήρηση ιστοσελίδων, το αν θα χρησιμοποιηθεί από κάποιον σχεδιαστή βρίσκεται καθαρά στην επιλογή του, καθώς η σχεδίαση και ανάπτυξη μίας ιστοσελίδας με τη χρήση των γλωσσών PHP και HTML παρέχει τα δικά της πλεονεκτήματα και μειονεκτήματα και διαφορετικό βαθμό ικανοποίησης μετά την ολοκλήρωση της. Η έκδοση που χρησιμοποιήθηκε είναι η 1.5. Αυτή τη στιγμή οι εκδόσεις που παρέχονται προς χρήση είναι οι 1.0, 1.5, 1.6, 1.7 και προσεχώς η 2.5. Αν υπάρχουν διαφορετικές εκδόσεις της Joomla οι σχεδιαστές του έχουν προνοήσει για την αναβάθμιση της έκδοσης που μπορεί να χρησιμοποιούν οι χρήστες, με αποτέλεσμα να μην χρειάζεται να ξανακατασκευαστούν από την αρχή τα site που έχουν δημιουργηθεί με παλαιότερη σε κάποια καινούργια έκδοση. 2.6 Xampp Το Xampp είναι ένα πακέτο προγραμμάτων ανοιχτού κώδικα το οποίο αποτελείτε από Apache HTTP server, βάσει δεδομένων MySQL, διερμηνείς για της γλώσσες PHP και Perl, επίσης παρέχει και την εφαρμογή SQL MyAdmin η οποία επιτρέπει την αυτόματη και εύκολη δημιουργία βάσεων δεδομένων σε MySQL. Η βασική λειτουργία του Xampp είναι η δημιουργία ενός εικονικού server στον ηλεκτρονικό υπολογιστή, επιτρέποντας μας με αυτό τον τρόπο να έχουμε όλες της λειτουργίες ενός server με εύκολο και γρήγορο τρόπο, χωρίς να χρειάζεται να καταβάλουμε κάποιο αντίτιμο, για την χρήση ενός κανονικού server, προς τους διαχειριστές του. Με την βοήθεια του Xampp μπορούμε να έχουμε όλες τις λειτουργίες ενός server χωρίς να χρειάζεται σύνδεση με το διαδίκτυο, επιτρέποντας έτσι τη δημιουργία και τον έλεγχο ολόκληρων ιστοσελίδων αλλά και εφαρμογών διαδικτύου χωρίς να μας εμποδίζουν τυχόν επισκέπτες στην ιστοσελίδα αυτή. Ταυτόχρονα με τη εφαρμογή SQL MyAdmin που παρέχεται μαζί με το Xampp μπορούμε να δημιουργήσουμε εύκολα και γρήγορα πίνακες στην βάση δεδομένων χωρίς να χρειάζεται η γνώση σύνταξης ερωτημάτων σε SQL. Η χρήση του Xampp αποτελεί πάγια τακτική από πλευράς προγραμματιστών γιατί επιτρέπει την σχεδίαση και τον έλεγχο για την σωστή λειτουργία των εφαρμογών χωρίς να ανησυχούν από πιθανή διατάραξη της εργασίας αυτής από την απόπειρα πρόσβασης στη σελίδα από άλλους 16

χρήστες. Είναι ιδιαίτερα σημαντική η χρήση του Xampp όταν γίνεται έλεγχος της ασφάλειας πού παρέχει η ιστοσελίδα στους χρήστες, και αυτό γιατί με την χρήση του Xampp μπορούμε να αποτρέψουμε πιθανά κενά ασφάλειας χωρίς να θέτουμε σε κίνδυνο ευαίσθητο υλικό. Έπειτα από τους διάφορους ελέγχους μεταφέρονται τα αρχεία στον server. 17

3. Περιγραφή της Βάσης Δεδομένων 3.1 Δημιουργία Βάσης Δεδομένων Για τις ανάγκες της εφαρμογής δημιουργήθηκε μια βάση δεδομένων σε SQL. Δημιούργησα την βάση με όνομα theseis_ergasias. 3.2 Δημιουργία Πινάκων Στη βάση theseis_ergasias που δημιουργήθηκε χρειάστηκε να δημιουργηθούν τέσσερις πίνακες: jos_tmima jos_company jos_foit jos_thesei jos_user jos_log Αναλυτική περιγραφή των πινάκων σχετικά με την δομή τους γίνεται παρακάτω. 3.2.1 Δομή πίνακα jos_tmima Ο πίνακας αυτός αποτελείται από τα πεδία tmimaid και name. Το πεδίο tmimaid είναι το πρωτεύον κλειδί του πίνακα jos_tmima και είναι ένας ακέραιος αριθμός αυτόματης αρίθμησης. Το πεδίο name είναι τύπου char εύρους 50 χαρακτήρων και είναι τα ονόματα των σχολών του ΤΕΙ Καβάλας. 3.2.2 Δομή πίνακα jos_company Ο πίνακας αυτός αποτελείται από τα πεδία compid, tmimaid και compname. Το πεδίο compid είναι ένας ακέραιος αριθμός αυτόματης αρίθμησης και αποτελεί το πρωτεύον κλειδί του πίνακα αυτού. Το πεδίο tmimaid είναι ξένο κλειδί και δηλώνει την σχέση του πίνακα jos_company με τον πίνακα jos_user. Τέλος το πεδίο compname είναι τύπου varchar εύρους 255 χαρακτήρων και είναι η επωνυμία της επιχείρησης. 3.2.3 Δομή πίνακα jos_foit Ο πίνακας αυτός αποτελείται από τα πεδία id, tmimaid, name και lastname. Το πεδίο id είναι ακέραιος αριθμός αυτόματης αρίθμησης και αποτελεί το πρωτεύον κλειδί του πίνακα. Το πεδίο tmimaid είναι ξένο κλειδί και δηλώνει το τμήμα στο οποίο είναι ο κάθε φοιτητής. Τέλος τα πεδία name και lastname είναι και τα δύο τύπου varchar εύρους 50 χαρακτήρων και δηλώνουν το όνομα και το επίθετο αντίστοιχα, για των κάθε φοιτητή. 18