Ανάπτυξη e-commerce εφαρμογής

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

Download "Ανάπτυξη e-commerce εφαρμογής"

Transcript

1 ΑΤΕΙ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανάπτυξη e-commerce εφαρμογής με Drupal ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΚΑΛΟΥΔΗ ΧΡΙΣΤΙΝΑ (ΑΜ: Τ02622) Επιβλέπων: Σάββας Ηλίας ΛΑΡΙΣΑ 2014

2

3 «Εγώ ο/η Χριστίνα Καλούδη, δηλώνω υπεύθυνα ότι η παρούσα Πτυχιακή Εργασία με τίτλο Α- νάπτυξη e-commerce Εφαρμογής με Drupal είναι δική μου και βεβαιώνω ότι: Σε όσες περιπτώσεις έχω συμβουλευτεί δημοσιευμένη εργασία τρίτων, αυτό επισημαίνεται με σχετική αναφορά στα επίμαχα σημεία. Σε όσες περιπτώσεις μεταφέρω λόγια τρίτων, αυτό επισημαίνεται με σχετική αναφορά στα επίμαχα σημεία. Με εξαίρεση τέτοιες περιπτώσεις, το υπόλοιπο κείμενο της πτυχιακής αποτελεί δική μου δουλειά. Αναφέρω ρητά όλες τις πηγές βοήθειας που χρησιμοποίησα. Σε περιπτώσεις που τμήματα της παρούσας πτυχιακής έγιναν από κοινού με τρίτους, α- ναφέρω ρητά ποια είναι η δική μου συνεισφορά και ποια των τρίτων. Γνωρίζω πως η λογοκλοπή αποτελεί σοβαρότατο παράπτωμα και είμαι ενήμερος(-η) για την επέλευση των νομίμων συνεπειών» < υπογραφή > < ονοματεπώνυμο >

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

5 Περίληψη Τα τελευταία χρόνια, η αύξηση του επιχειρηματικού ανταγωνισμού, ωθεί ολοένα και περισσότερες επιχειρήσεις στην εγκατάλειψη των παραδοσιακών μεθόδων εμπορίου και την υιοθέτηση σύγχρονων εφαρμογών. Μια από τις πλέον διαδεδομένες μεθόδους αποτελεί το e-commerce ή αλλιώς ηλεκτρονικό εμπόριο. Καθώς οι επιχειρήσεις τείνουν στην επιλογή μιας διαδικτυακής πλατφόρμας για την παροχή προϊόντων και υπηρεσιών, οι τεχνικές απαιτήσεις για τον κόσμο του διαδικτύου αυξάνονται. Το γεγονός αυτό έγινε αφορμή για την δημιουργία έξυπνων συστημάτων διαχείρισης διαδικτυακών εφαρμογών, τα πλέον δημοφιλή συστήματα διαχείρισης περιεχομένου. Ένα από τα πιο δημοφιλή συστήματα διαχείρισης περιεχομένου αποτελεί το Drupal. Η παρούσα πτυχιακή εργασία πραγματοποιεί μια ανάλυση στην έννοια του e- Commerce και αναλύει σε τεχνικό επίπεδο τον τρόπο λειτουργίας του Drupal. Στόχος της παρούσας πτυχιακής εργασίας είναι να παρουσιάσει μια σύγχρονη διαδικτυακή ε- φαρμογή συνδέοντας τις έννοιες του e-commerce και του Drupal, χρησιμοποιώντας σύγχρονα επαγγελματικά εργαλεία και τεχνικές. -i-

6

7 Ευχαριστίες Αρχικά θέλω να ευχαριστήσω τον επιβλέποντα καθηγητή μου Σάββα Ηλία που μου έ- δωσε τόσο την ευκαιρία να μελετήσω αυτό το πολύ σύγχρονο και ενδιαφέρον θέμα όσο και τις χρήσιμες συμβουλές του σε όλη τη διάρκεια συγγραφής της πτυχιακής. Και ένα μεγάλο ευχαριστώ στον Θάνο, τον Παναγιώτη, την Κατερίνα, την Ναταλία και τον Φώτη για την στήριξη τους και την πολύτιμη βοήθεια τους. Χριστίνα Καλούδη, iii-

8

9 Περιεχόμενα ΠΕΡΙΛΗΨΗ... I ΕΥΧΑΡΙΣΤΙΕΣ... III ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΗ E-COMMERCE ΓΕΝΙΚΑ ΤΕΧΝΟΛΟΓΙΚΑ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ E-COMMERCE ΚΑΙ E-BUSINESS ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΜΕΙΟΝΕΚΤΗΜΑΤΑ ΑΣΦΑΛΕΙΑ Πελάτης Σύστημα ΒΙΒΛΙΟΓΡΑΦΙΑ DRUPAL ΤΙ ΕΙΝΑΙ ΤΟ DRUPAL ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΚΑΙ ΕΙΔΙΚΟΤΗΤΕΣ Ο DRUPAL 7 ΠΥΡΗΝΑΣ Events και Hooks MENU SYSTEM MODULE SYSTEM Είδη ενός Module Ανατομία ενός Module FORM SYSTEM THEME SYSTEM Τρόπος Λειτουργίας ενός Theme Δομή και Διαδικασία σύνθεσης ενός Theme ΑΝΑΛΥΣΗ ΤΩΝ CONTRIB MODULES

10 Entity Reference Commerce Views 40 Field Collection Features Rules 41 Devel 41 Mail System ΑΣΦΑΛΕΙΑ ΒΙΒΛΙΟΓΡΑΦΙΑ ΑΠΑΡΑΙΤΗΤΑ ΕΡΓΑΛΕΙΑ ΧAMP LAMP DRUSH ECLIPSE Τι είναι το Eclipse Plugins SASS ΚΑΙ COMPASS ΒΙΒΛΙΟΓΡΑΦΙΑ ΕΦΑΡΜΟΓΗ ΣΤΑΔΙΟ ΑΝΑΛΥΣΗΣ ΚΑΙ ΛΕΙΤΟΥΡΓΙΚΟΤΗΤΑΣ Σενάριο Διαγράμματα Ροής και Υλοποίηση Content Types Views ΣΤΑΔΙΟ ΕΜΦΑΝΙΣΗΣ Δημιουργία subtheme και ρυθμίσεων ΜΕΛΛΟΝΤΙΚΕΣ ΕΞΕΛΙΞΕΙΣ ΒΙΒΛΙΟΓΡΑΦΙΑ ΠΑΡΑΡΤΗΜΑ Α... 93

11 1 Εισαγωγή Ένα μεγάλο κομμάτι του επιχειρηματικού κόσμου στην σημερινή εποχή αποτελεί το e- Commerce ή αλλιώς ηλεκτρονικό εμπόριο. Μεγάλο ενδιαφέρον έχει εκδηλωθεί γύρω από το θέμα του e-commerce τόσο σε επιχειρηματικό επίπεδο όσο και σε τεχνικό επίπεδο. Η παρούσα πτυχιακή εργασία στο δεύτερο κεφάλαιο αναλύει την έννοια του e- Commerce και της προκλήσεις που καλείται να αντιμετωπίσει σε θέματα λειτουργικότητας και ασφάλειας, ως προς τις απαιτήσεις του καταναλωτή και κατ επέκταση του συστήματος. Επιπλέον γίνεται μια ανάλυση όσο αφορά το επιχειρηματικό πλάνο που ακολουθεί. Το ενδιαφέρον που έχει εκδηλωθεί γύρω από το e-commerce συνδέεται άμεσα με την τεχνική ανάπτυξη του διαδικτύου καθώς οι απαιτήσεις των διαδικτυακών εφαρμογών αυξάνονται ολοένα και περισσότερο. Η συνέπεια αυτού το φαινομένου έχει ως α- ποτέλεσμα την εξέλιξη του τρόπου υλοποίησης διαδικτυακών εφαρμογών. Πιο συγκεκριμένα την εύρεση νέων τρόπων δημιουργίας και διαχείρισης διαδικτυακών εφαρμογών. Η ανάγκη αυτή ήταν και ο κύριος λόγος δημιουργίας ειδικών συστημάτων διαχείρισης διαδικτυακού περιεχομένου. Στο δεύτερο κεφάλαιο η πτυχιακή επικεντρώνεται σε ένα τέτοιο είδος σύστημα διαχείρισης περιεχομένου το Drupal. Σε αυτό το κεφάλαιο αναλύονται σε συστημικό επίπεδο τα συστατικά από τα οποία αποτελείται το Drupal καθώς και ο τρόπος λειτουργίας του. Στη συνέχεια στο τέταρτο και πέμπτο κεφάλαιο συνδυάζοντας τις έννοιες του e- Commerce και του Drupal, πραγματοποιείται η σχεδίαση, ανάλυση και υλοποίηση μιας διαδικτυακής εφαρμογής με Drupal. Επιπλέον γίνεται μια ανάλυση σε όλα τα απαραίτητα εργαλεία που συμβάλουν στη διαδικασία δημιουργίας μιας διαδικτυακής εφαρμογής με Drupal. Καθώς η απαιτήσεις στο τεχνικό κόσμο του διαδικτύου αυξάνονται, η ανάγκη για εξέλιξη είναι αναμφισβήτητη. Κλείνοντας με το έκτο κεφάλαιο γίνεται μια αναφορά στο σημαντικό θέμα τις εξέλιξης και πιο συγκεκριμένα για την αναβάθμιση του Drupal από την έκδοση 7 στην έκδοση

12 2 E-Commerce Το E-Commerce ή ηλεκτρονικό εμπόριο, ως έννοια αναφέρεται στην χρήση ηλεκτρονικών μέσων για την διεξαγωγή κάποιας μορφής εμπορίου. Για παράδειγμα πωλήσεις, αγορές, μεταφορές ή ανταλλαγές προϊόντων, υπηρεσιών και πληροφοριών. Στη συνέχεια αναλύεται η έννοια του e-commerce, τα μοντέλα που χρησιμοποιεί και το θέμα της ασφάλειας που καλείται να αντιμετωπίσει. 2.1 Γενικά τεχνολογικά Χαρακτηριστικά Το E-Commerce αποτελεί μια σύγχρονη μέθοδο προώθησης προϊόντων και υπηρεσιών με ταχύτατη εξέλιξη στο χώρο του διαδικτύου. Πολλές οικογένειες αλλά και επιχειρήσεις έχουν στραφεί στην χρήση του e-commerce καθώς ανταποκρίνεται στην ανάγκη μείωσης του κόστους και παράλληλα τη βελτίωση ποιότητας των αγαθών και υπηρεσιών, αυξάνοντας παράλληλα την ταχύτητα παράδοσης. Εικόνα 1 e-commerce. Πρόκειται για ένα σύστημα εμπορικών συναλλαγών μέσω διαδικτύου και αναφέρεται σε συναλλαγές που δεν συμπεριλαμβάνουν την χρήση χαρτιού. Οι συναλλαγές αυτές χρησιμοποιούν τεχνολογίες όπως η Ηλεκτρονική Ανταλλαγή δεδομένων ( Electronic Data Exchange), η ηλεκτρονική αλληλογραφία ( ), η διαχείριση εταιρικού περιεχομένου,

13 ηλεκτρονικούς πίνακες ανακοινώσεων (Electronic Bulletin Boards), ηλεκτρονική ενημέρωση, ψηφιακές αγορές και παρακολούθηση παράδοσης προϊόντων, ηλεκτρονική μεταφορά κεφαλαίου (Electronic Fund Transfer), τραπεζικές συναλλαγές, και διαφόρων άλλου τύπου ηλεκτρονικών υπηρεσιών. Ένα μεγάλο ποσοστό των συναλλαγών αφορούν την αγορά φυσικών προϊόντων, τα οποία μέσο ενός συστήματος μεταφορών, αποστέλλονται στη συνέχεια στους αγοραστές. Οι ηλεκτρονικοί προμηθευτές συχνά αποκαλούνται e-tailers, ενώ η διαδικασία αγοράς των προϊόντων μέσω internet ονομάζεται e-tail. 2.2 E-Commerce και E-Business Το E-commerce, καθώς αποτελεί αντικείμενο επιχειρήσεων στηρίζει το είδος των συναλλαγών του σε επιχειρηματικά μοντέλα, συνδυάζοντας την έννοια του ηλεκτρονικού εμπορίου (E-Commerce) με την έννοια του ηλεκτρονικού επιχειρείν (E-Business). Εικόνα 2 e-business και e- Commerce. Ένας τρόπος διαχωρισμού των επιχειρηματικών μοντέλων σε κατηγορίες γίνεται βάση το είδος της συνεργασίας που υπάρχει σε μια συναλλαγή. Στη συνέχεια παρουσιάζονται τα επιχειρηματικά μοντέλα του e-commerce. -9-

14 Business-to-Business (B-to-B) Αφορά ανταλλαγές προϊόντων, υπηρεσιών ή πληροφοριών μεταξύ επιχειρήσεων. Παράδειγμα αποτελεί η γνωστή εταιρεία Cisco όπου οι επιχειρήσεις που αποτελούν πελάτες της, έχουν τη δυνατότητα τόσο να αγοράσουν τα προϊόντα της όσο και να επωφελούνται από τις παροχές υπηρεσιών που προσφέρει (Τεχνική Υποστήριξη). Business-to-consumer (B-to-C) Αφορά ανταλλαγές προϊόντων, υπηρεσιών ή πληροφοριών μεταξύ επιχειρήσεων και καταναλωτών συνδέοντας τους με μια σχέση λιανικού εμπορίου. Ένα παράδειγμα αποτελεί το amazon.com. Business-to-Government (B-to-G) Αφορά ανταλλαγές προϊόντων, υπηρεσιών ή πληροφοριών μεταξύ των επιχειρήσεων και της κυβέρνησης. Business-to-Peer Networks (B-to-P) Αφορά ανταλλαγές προϊόντων, υπηρεσιών ή πληροφοριών μεταξύ των επιχειρήσεων και ομότιμων δικτύων. Ένα γνωστό παράδειγμα αποτελεί το Napster το οποίο παρέχει λογισμικό και εγκαταστάσεις για την ενεργοποίηση ομότιμων δικτύων Consumer-to-Business (C-to-B) Αφορά συναλλαγές μεταξύ ανεξάρτητων ατόμων και επιχειρήσεων. Αφορά άτομα που πουλάνε υπηρεσίες σε επιχειρήσεις. Consumer-to-Consumer (C-to-C) Σε αυτό το επιχειρηματικό μοντέλο συναντάται η άμεση αλληλεπίδραση μεταξύ ανεξάρτητων ατόμων, όπου ανταλλάσουν κάποιο είδος πληροφορίας. Peer to-peer Network (P-to-P) Αφορά ένα επικοινωνιακό μοντέλο όπου κάθε μέλος έχει ισοδύναμες δυνατότητες σε υπηρεσίες επικοινωνίας. Το συγκεκριμένο μοντέλο περιγράφει εφαρμογές που μπορούν να χρησιμοποιηθούν από χρήστες και μπορούν να χρησιμοποιήσουν το διαδίκτυο για να ανταλλάξουν μεταξύ τους αρχεία μέσω ενός server. Consumer-to-Peer Networks (C-to-P) Αφορά κομμάτι του επιχειρηματικού μοντέλου peer-to-peer, με την διαφορά ότι εδώ ο καταναλωτής προσφέρει υπολογιστικές εγκαταστάσεις μόνο όταν είναι συνδεδεμένοι σε αυτό το δίκτυο.

15 Government-to-Business (G-to-B) Αφορά την ανταλλαγή πληροφοριών και υπηρεσιών μεταξύ της κυβέρνησης και των επιχειρήσεων. Με αυτό τον τρόπο αυξάνεται η ταχύτητα, μειώνεται το κόστος δίνοντας στις επιχειρήσεις οικονομικά κίνητρα να χρησιμοποιήσουν ηλεκτρονικές μορφές πληρωμής και εγκαταστάσεων. Government-to-Consumer (G-to-B) Σε αυτό το μοντέλο η κυβέρνηση δίνει την δυνατότητα χρησιμοποίησης ηλεκτρονικών μέσων τόσο για την πληρωμή λογαριασμών όσο και την εκτύπωση επίσημων εγγράφων (φορολογική δήλωση, Ε9 κτλ). Government-to-Government (G-to-G) Αφορά την ανταλλαγή πληροφοριών μεταξύ κυβερνητικών οργανώσεων. Αυτό επιτυγχάνει την ηλεκτρονική επικοινωνία και ανταλλαγή πληροφοριών μεταξύ διαφορετικών χωρών. Peer Network-to-Business (P-to-B) Αφορά την παροχή πόρων ενός δικτύου σε επιχειρήσεις. -11-

16 2.3 Πλεονεκτήματα Τα πλεονεκτήματα που δημιουργούνται χρησιμοποιώντας το e-commerce είναι πολυάριθμα και σε γενικές γραμμές κατατάσσονται σε τρείς μεγάλες κατηγορίες. Πλεονεκτήματα ως προς τις επιχειρήσεις, ως προς τους καταναλωτές και ως προς την κοινωνία. Στην συνέχεια παρουσιάζονται και αναλύονται αυτά τα πλεονεκτήματα. Η υιοθέτηση του e-commerce από τις επιχειρήσεις έχει ως αποτέλεσμα την επέκταση τους τόσο σε εθνικό όσο και σε διεθνή επίπεδο καταβάλλοντας την ελάχιστη ε- πένδυση κεφαλαίου. Επιπλέον έχουν την δυνατότητα να εντοπίσουν περισσότερους πελάτες αλλά και να βρουν τους κατάλληλους συνεργάτες σε όλο τον κόσμο που έχει ως αποτέλεσμα την δημιουργία μιας παγκόσμιας αγοράς. Οι επιχειρήσεις που χρησιμοποιούν ηλεκτρονική μορφή σε διαδικασίες που αφορούν συναλλαγές όπως την διανομή, ανάκτηση και διαχείριση εγγράφων με χρήσιμες πληροφορίες, τις βοηθά να μειώσουν τον χρόνο, το κόστος και την κατανάλωση χαρτιού. Επιπλέον βελτιώνει την εικόνα της επιχείρησης και βοηθά στην παροχή καλύτερης υποστήριξης πελατών. Αντίστοιχα από την πλευρά των καταναλωτών τα πλεονεκτήματα είναι ακόμα περισσότερα. Ο καταναλωτής έχει στην διάθεση του οπουδήποτε κατάστημα εικοσιτέσσερις ώρες το εικοσιτετράωρο και εφτά μέρες την εβδομάδα για να πραγματοποιήσει τις αγορές του από οποιοδήποτε μέρος. Επιπλέον με τις διάφορες λειτουργικότητες που προσφέρονται από το e-commerce, ο καταναλωτής μπορεί πολύ εύκολα να συγκρίνει προϊόντα, να βλέπει αναλυτικές περιγραφές προϊόντων ακόμα να βλέπει και σχόλια άλλων καταναλωτών για την ποιότητα ενός προϊόντος. Το e-commerce σε γενικότερες γραμμές βοηθά και σε άλλα πράγματα γενικότερης εμβέλειας τα οποία παραθέτονται στην παρακάτω λίστα: Αυξάνει την ανταγωνιστικότητα μεταξύ των επιχειρήσεων με αποτέλεσμα να αναγκάζει τις επιχειρήσεις παράγουν ποιοτικά καλύτερα προϊόντα αλλά και μειώνουν παράλληλα τις τιμές αγοράς κάνοντας καλύτερες τιμές σε μαζικές α- γορές αλλά και δημιουργώντας συχνότερα προσφορές. Οι καταναλωτές δεν χρειάζεται να χρησιμοποιήσουν κάποιο μέσω μεταφοράς όπως αυτοκίνητο ή αεροπλάνο με αποτέλεσμα το e-commerce να συμβάλει στην μείωση των ρύπων.

17 Συμβάλει στην δημιουργία μιας παγκόσμιας αγοράς δίνοντας την δυνατότητα στους καταναλωτές να επιλέξουν προϊόντα άλλων χωρών που μέχρι τώρα δεν μπορούσαν να αποκτήσουν. -13-

18 2.4 Μειονεκτήματα Εκτός από τα πλεονεκτήματα το e-commerce παρουσιάζει και μειονεκτήματα που α- φορούν θέματα τόσο σε τεχνικό επίπεδο αλλά και σε μη τεχνικό επίπεδο. Σε μη τεχνικό επίπεδο υπάρχουν τα παρακάτω μειονεκτήματα Ο καταναλωτής δεν μπορεί να χρησιμοποιήσει καμία άλλη αίσθηση πέρα από την όραση, πράγμα που δημιουργεί αμφισβητήσεις για την ποιότητα των προϊόντων. Ο καταναλωτής δεν εμπιστεύεται να χρησιμοποιήσει την πιστωτική του κάρτα για την πραγματοποίηση αγορών αμφισβητώντας τόσο την ασφάλεια των συναλλαγών του, αλλά και την ύπαρξη ενός άυλου ηλεκτρονικού καταστήματος. Δεν διασφαλίζεται απόλυτα η ακεραιότητα και η ασφάλεια των ευαίσθητων προσωπικών δεδομένων στις ηλεκτρονικές συναλλαγές. Πολλά καταστήματα δεν είναι εφικτό να πάρουν μέρος στο ηλεκτρονικό εμπόριο, καθώς το είδος των προϊόντων που προσφέρουν δεν είναι εύκολα μεταφέρσιμο ή η ποιότητα του αλλοιώνεται κατά τη διάρκεια της μεταφοράς. Για παράδειγμα τρόφιμα ή μεγάλου βάρους και όγκου προϊόντα όπως καναπέδες ή βιβλιοθήκες. Επιπλέον, το e-commerce συμβάλει στην αύξηση της ανεργίας, καθώς καταργεί το επάγγελμα του πωλητή και του ταμεία. Πολλά θέματα που σχετίζονται τόσο με εθνικούς αλλά και διεθνείς νόμους και κανονισμούς παραμένουν ανεπίλυτα.

19 2.5 Ασφάλεια Η ασφάλεια αποτελεί απαραίτητο κομμάτι οποιασδήποτε ηλεκτρονικής συναλλαγής καθώς ένας πελάτης δεν θα εμπιστευτεί μια αναξιόπιστη ηλεκτρονική συναλλαγή που θέτει σε κίνδυνο ευαίσθητες προσωπικές πληροφορίες. Τόσο από την πλευρά του πελάτη όσο και από την πλευρά του συστήματος υπάρχουν απαιτήσεις ασφάλειας. Ακολουθεί μια ανάλυση στο θέμα της ασφάλειας για αυτές οι απαιτήσεις και από τις δύο οπτικές γωνίες Πελάτης Από την πλευρά του πελάτη είναι απαραίτητο να ικανοποιούνται οι παρακάτω προδιαγραφές ώστε να καθιστούν μια ηλεκτρονική συναλλαγή ασφαλή. Εμπιστευτικότητα Οι πληροφορίες του πελάτη δεν θα πρέπει να είναι προσιτές σε μη εξουσιοδοτημένα άτομα καθώς και δεν θα μπορούν να υποκλαπούν κατά την μετάδοση. Ακεραιότητα Οι πληροφορίες δεν θα πρέπει να μεταβληθούν/τροποποιηθούν κατά την διάρκεια της μετάδοσης τους στο διαδίκτυο. Διαθεσιμότητα Οι πληροφορίες θα πρέπει να είναι διαθέσιμες οπουδήποτε και οποτεδήποτε ζητηθούν από τον πελάτη μέσα στα χρονικά πλαίσια μιας συναλλαγής όπως αυτή έχει καθοριστεί. Αυθεντικότητα Θα πρέπει να υπάρχει ένας μηχανισμός που θα πιστοποιεί την ταυτότητα του χρήστη πριν του δοθεί πρόσβαση σε οποιαδήποτε αποκρυμμένη πληροφορία. Μη Ευυποληψία Είναι μια προστασία κατά της άρνησης της τάξης ή της άρνησης πληρωμής. Με την έννοια ότι όταν ο αποστολέας στείλει ένα μήνυμα, ο ίδιος δεν θα μπορεί να αρνηθεί την αποστολή του μηνύματος. Αντίστοιχα και για τον δέκτη να μην του επιτρέπεται να αρνηθεί ότι έλαβε το μήνυμα. Κρυπτογράφηση Οι πληροφορίες θα πρέπει να μπορούν να κρυπτογραφηθούν και αποκρυπτογραφηθούν μόνο από τον εξουσιοδοτημένο χρήστη. -15-

20 Δυνατότητα Ελέγχου Τα δεδομένα θα πρέπει να καταγράφονται κατά τέτοιο τρόπο ώστε να μπορούν να ε- λεγχθούν για απαιτήσεις ακεραιότητας, με την έννοια ότι δεν θα μπορούν να τροποποιηθούν ή διαστρεβλωθούν εφόσον έχουν καταγραφεί Σύστημα Από την πλευρά του συστήματος για να επιτευχθούν οι απαιτήσεις των πελατών τα κυριότερα μέτρα ασφαλείας που έχουν παρθεί είναι τα παρακάτω. Κρυπτογράφηση Αποτελεί έναν αποτελεσματικό τρόπο ασφαλούς μετάδοσης δεδομένων στο διαδίκτυο. Η κρυπτογράφηση από την πλευρά του αποστολέα κρυπτογραφεί τα δεδομένα χρησιμοποιώντας ένα μυστικό κωδικό. Ο αποστολέας για να αποκρυπτογραφήσει και να δει το μήνυμα πρέπει να έχει αυτόν ή κάποιο άλλο ειδικό κωδικό. Σήμερα υπάρχουν πολλές σύγχρονες τεχνικές κρυπτογράφησης που επιτυχώς αποκρύπτουν τα μεταδιδόμενα δεδομένα. Ηλεκτρονική Υπογραφή Η ηλεκτρονική υπογραφή είναι ένας τρόπος πιστοποίησης της αυθεντικότητας των δεδομένων μιας συναλλαγής. Πιστοποιητικά ασφαλείας Τα πιστοποιητικά ασφαλείας είναι στην ουσία ένα μοναδικό ηλεκτρονικό id το οποίο χρησιμοποιείται για να πιστοποιήσει την ταυτότητα ενός ατόμου ή ενός ισότοπου. Στις ηλεκτρονικές συναλλαγές χρησιμοποιούνται πολλά πρωτόκολλα ασφαλείας όπως το SSL, SSH, SHTTP και πολλά ακόμη που συνθέτουν πολύπλοκα συστήματα ηλεκτρονικών συναλλαγών που σκοπό έχουν να καλύψουν τις απαιτήσεις ασφαλείας των καταναλωτών.

21 2.6 Βιβλιογραφία [1] Philippe Humeau, Matthieu Jung - The White Book of Ecommerce Solutions, διαθέσιμο στο [2] E-Commerce, διαθέσιμο στο [ ] [3] Τι είναι το e-commerce, Οκτώβριος 17 Γράφτηκε από τον Pavlos Chatzipapas, διαθέσιμο στο [ ] [4] Μειονεκτήματα ηλεκτρονικού εμπορίου, διαθέσιμο στο [ ] [5] Μειονεκτήματα του ηλεκτρονικού εμπορίου διαθέσιμο στο [ ] -17-

22 3 Drupal 7 Καθώς οι εξελίξεις στο χώρο του διαδικτύου προχωράνε με ταχύτατους ρυθμούς, η εμφάνιση νέων απαιτήσεων στον τεχνικό τομέα είναι πλέον καθημερινότητα. Μια από τις καινούριες σχετικά προσεγγίσεις, που κάνει ευκολότερο τον τρόπο αντιμετώπισης αυτών των τεχνικών απαιτήσεων, είναι το Drupal. Στη συνέχεια αναλύονται τα τεχνικά χαρακτηριστικά του Drupal 7 καθώς και ο τρόπος λειτουργίας του, η λογική του,η χρησιμότητα του και θέματα ασφαλείας που έχουν παρθεί για την αντιμετώπιση κακόβουλων επιθέσεων. 3.1 Τι είναι το Drupal Το Drupal είναι ένα σύστημα διαχείρισης περιεχομένου, CMS(Content Management System) που χρησιμοποιείται για την δημιουργία δυναμικών ιστοσελίδων. Είναι ελεύθερου λογισμικού και διανέμεται δωρεάν. Προσφέρει ένα ευρύ φάσμα δυνατοτήτων και λειτουργιών, που είναι ικανό να ανταπεξέλθει σε απαιτήσεις ενός μικρού προσωπικό blog μέχρι και σε μεγάλου μεγέθους συστήματα με πολλές απαιτήσεις. Για το λόγο αυτό μπορεί εύκολα να χρησιμοποιηθεί από ιδιώτες και μικρές επιχειρήσεις αλλά και από διεθνείς οργανισμούς. Εικόνα 3 Λογότυπο του Drupal. Έκανε την εμφάνιση του το 1999 ως ένας πίνακας ανταλλαγής μηνυμάτων. Μέσα σε ένα χρόνο περίπου, ολοένα και περισσότεροι άνθρωποι έδειχναν το ενδιαφέρον τους για το Drupal, και αυτός ήταν κι ο λόγος που το έκανε project ανοιχτού κώδικα (Open source). Το 2001 ήταν πλέον διαθέσιμο στο διαδίκτυο και το 2005 εξελίχθηκε, η γνω-

23 στή κοινότητα του Drupal κάνοντας πολλές συνεδρίες και ανταλλάσοντας κώδικα με σκοπό την εξέλιξη του. Μέχρι και σήμερα συνεχίζεται αυτή η παράδοση με την διεξαγωγή οργανωμένων συνεδρίων παρουσίασης του Drupal, το γνωστό Drupal Con σε όλο τον κόσμο. Όπως τα περισσότερα συστήματα διαχείρισης περιεχομένου, έτσι και το Drupal λειτουργεί με έναν συγκεκριμένο τρόπο ώστε να εμφανίζει τις html σελίδες ενός web site. Η διαδικασία αρχίζει όταν ένας χρήστης στείλει ένα έτοιμα στον web server, τότε ο web server παίρνει αυτό το αίτημα και καλεί ένα πρόγραμμα γραμμένο σε PHP γλώσσα, αυτό είναι και το πρώτο σημείο επαφής με το Drupal. Αυτό το πρόγραμμα συγκεντρώνει τα αρχεία γραφικών αλλά και άλλους πόρους, και αντλεί τα δεδομένα των πόρων που βρίσκονται συγκεντρωμένα σε μία σχεσιακή βάση δεδομένων. Στη συνέχεια το πρόγραμμα αυτό καλεί μια σειρά από άλλα προγράμματα, που με τη σειρά τους καλούν άλλα προγράμματα πολύ γρήγορα και αποτελεσματικά με σκοπό την σύνθεση μιας html σελίδας. Τέλος αυτή η html σελίδα επιστρέφεται στον χρήστη μέσα από τον web server. Η παραπάνω διαδικασία αναπαριστάται στην παρακάτω εικόνα. Εικόνα 4 Διαδικασία διαχείρισης των http request από το Drupal. -19-

24 3.2 Αρχιτεκτονική και Ειδικότητες Η αρχιτεκτονική του Drupal είναι με τέτοιο τρόπο σχεδιασμένη και κατανεμημένη σε επίπεδα, ώστε να διαχωρίζονται η διάφορες λειτουργίες σε επιμέρους κατηγορίες. Εικόνα 5 Αρχιτεκτονικά συστατικά του Drupal. Όπως φαίνεται και στην παραπάνω εικόνα. η αρχιτεκτονική του Drupal αποτελείται από τον πυρήνα του Drupal core, τα modules την μηχανή για την τροποποίηση της εμφάνισης και το theme. Ο πυρήνας του Drupal αποτελείται από όλες τις ρυθμίσεις modules και theme τα οποία εγκαθίστανται κατά την προεπιλεγμένη εγκατάσταση ενός Drupal site. Τα modules αποτελούν την επιπλέον λειτουργικότητα που μπορεί να αποκτήσει ένα drupal site. Η μηχανή για την τροποποίηση της εμφάνισης αποτελεί μια μηχανή η οποία αναγνωρίζει όλα τα συστατικά που συνθέτουν την εμφάνιση ενός theme. Είναι υπεύθυνη για το συνδυασμό των διάφορων πληροφοριών τα κατά τέτοιο τρόπο ώστε να είναι ικανή να αναγνωρίσει ένα theme. Ένα theme είναι όλα εκείνα τα συστατικά που συμβάλουν στην εμφάνιση ενός Drupal site όπως css, JavaScript, JQuery αλλά και PHP αρχεία. Ο τρόπος σχεδιασμού της αρχιτεκτονικής του Drupal έγινε κατά τέτοιο τρόπο ώστε να είναι ευκολότερος ο τρόπος ανάθεσης συγκεκριμένων αρμοδιοτήτων στις διάφορες ειδικότητες που συμβάλουν στη δημιουργία ενός site.

25 Τρείς ειδικότητες επαγγελματιών είναι αυτές που συμβάλλουν στην δημιουργία ε- νός Drupal Site. Εικόνα 6 Αναπαράσταση επαγγελματικών ειδικοτήτων στη δημιουργία ενός Drupal site. Πρώτα έρχεται ο σχεδιαστής-designer, ο οποίος σχεδιάζει το γραφικό περιβάλλον που έχει ένα site. Συνήθως σχεδιάζει την αρχική σελίδα που φαίνεται στους χρήστες αλλά και το γραφικό περιβάλλον των υπόλοιπων σελίδων που περιέχει το site. Από αυτή τη γραφική αναπαράσταση, μπορούν να αντληθούν χρήσιμες πληροφορίες για την λειτουργικότητα που χρειάζεται το site, και τις περισσότερες φορές γίνεται χρήσιμο εργαλείο επικοινωνίας με τον πελάτη. Ένας Designer, έχει την σχεδιαστική αντίληψη και γνωρίζει πώς να χρησιμοποιήσει συστήματα γραφικής σχεδίασης, ώστε να σχεδιάσει λειτουργικά περιβάλλοντα για τους χρήστες. Στη συνέχεια έρχεται ο προγραμματιστής Developer, ο οποίος είναι υπεύθυνος για την λογική και την λειτουργικότητα του site. Χρησιμοποιεί, αποθηκεύει και διαθέτει δεδομένα στο επίπεδο της εμφάνισης-theme Layer. Όπως για παράδειγμα να φτιάξει έναν χρήσιμο κώδικα με σκοπό να προσθέσει μια χρήσιμη λειτουργία στον χρήστη (όπως μια φόρμα αναζήτησης). Επιπλέον, χρησιμοποιεί μεθόδους για να αντλήσει πληροφορίες από την βάση δεδομένων με σκοπό να παρουσιάσει μια σειρά από δεδομένα με τέτοιο τρόπο ώστε να μπορεί να τα χρησιμοποιήσει ο Themer. Τέλος έρχεται ο Themer, ο οποίος βρίσκεται ανάμεσα στον προγραμματιστή και τον σχεδιαστή. Χρησιμοποιεί την γραφική αναπαράσταση του σχεδιαστή, και την λογική παρουσίαση του προγραμματιστή μετατρέποντάς την σε κώδικα HTML ώστε να καθορίσει την δομή των συστατικών στοιχείων, και σε κώδικα CSS για την οπτική αναπαράσταση. Όπως για παράδειγμα η επιλογή των χρωμάτων, το μέγεθος και την θέση των στοιχείων, ώστε να συνθέσουν την τελική εμφάνιση που θα δει ο τελικός χρήστης. -21-

26 Παρόλο που ο διαχωρισμός αυτός είναι ξεκάθαρος, τις περισσότερες φορές σε πρακτικές συνθήκες, τα πράγματα είναι διαφορετικά. Για παράδειγμα ο σχεδιαστής πρέπει να γνωρίζει τις δυνατότητες του Drupal ώστε να μπορέσει να σχεδιάσει κάτι, που να μπορεί να γίνει σε κώδικα και να μπορεί να παρουσιαστεί ως εμφάνιση. Επιπλέον ο Themer καλείται να προσθέσει λογική στην εμφάνιση και κατά συνέπεια να γνωρίζει βασικές αρχές προγραμματισμού. Για παράδειγμα να στοιχίσει τα δομικά στοιχεία μιας σελίδας χρησιμοποιώντας τις μεταβλητές που έχει δημιουργήσει ο προγραμματιστής.

27 3.3 Ο Drupal 7 Πυρήνας Το Drupal έχει ένα ξεχωριστό τρόπο λειτουργίας και μια δική του ιδιαίτερη λογική στο πως αντιλαμβάνεται τις διάφορες λειτουργικότητες που υπάρχουν σε έναν ισότοπο. Ένα ευσταθές παράδειγμα αποτελεί ένα Lego πάζλ, όπου κάθε κομμάτι μπορεί να ενωθεί με άλλα κομμάτια και αυτά με τη σειρά τους με διαφορετικά κομμάτια και να συνθέσουν μια οντότητα, έτσι και το Drupal συνδυάζει τα δικά του κομμάτια κατά τέτοιο τρόπο ώστε να συνθέσει ένα ολοκληρωμένο σύστημα. Εικόνα 7 Συστατικά στοιχεία του Drupal. -23-

28 Για κάθε διαφορετική λειτουργία που παρέχεται τόσο για την λειτουργικότητα όσο και την επεκτασιμότητα του Drupal, είναι υπεύθυνο κάθε φορά και ένα διαφορετικό υπό-σύστημα. Με την έννοια ότι αποτελείται από μια συγκεκριμένη ροή δεδομένων που παρέχει επαναχρησιμοποιούμενες συναρτήσεις, όπου εύκολα μπορούν να δημιουργήσουν ή ακόμα και να επεκτείνουν μια λειτουργία. Τα υποσυστήματα αυτά το Drupal τα ονομάζει APIs. Αν κάποιος ήθελε να παρομοιάσει την λειτουργικότητα αυτή, θα μπορούσε να πει ότι αποτελεί ένα είδος Web Service, το οποίο μπορεί να χρησιμοποιηθεί μόνο στα πλαίσια της εφαρμογής. Παρακάτω ακολουθεί μια λίστα που συμπεριλαμβάνει τα βασικά υποσυστήματα που συνθέτουν τις λειτουργίες στον πυρήνα του Drupal και είναι υπεύθυνα για την λειτουργία του Drupal ως σύστημα. Το σύστημα των Modules (Module System) Ασχολείται με τον τρόπο λειτουργίας, επέκτασης αλλά και λειτουργικότητας του Drupal και αναλύεται στο κεφάλαιο 3.5 Το σύστημα δημιουργίας φόρμας (Form Generation, Form API) Το οποίο ασχολείται με τν λειτουργικότητα των φορμών και αναλύεται στο κεφάλαιο 3.6 Το σύστημα εμφάνισης (Theme System) Το οποίο περιλαμβάνει την λειτουργικότητα για την σύνθεση της εμφάνισης και αναλύεται στο κεφάλαιο 3.7 Τo μενού σύστημα (Menu System) Το οποίο ασχολείται κυρίως με τον τρόπο λειτουργίας των url και αναλύεται στο κεφάλαιο 3.4 Το σύστημα πεδίων (Field API) Το οποίο είναι υπεύθυνο για την λειτουργία των πεδίων. Παρέχει ένα σύστημα για την δημιουργία νέων πεδίων και την επέκταση των ήδη υπαρχόντων τόσο σε επίπεδο αποθήκευσης δεδομένων όσο και σε επίπεδο χρησιμοποίησης από τον χρήστη με γραφικό περιβάλλον. Το σύστημα πρόσβασης περιεχομένου (Node Access System) Το σύστημα αυτό ασχολείται με την ανάθεση αδειών στους χρήστες για την προβολή, τροποποίηση ή ακόμα και την διαγραφή του περιεχομένου.

29 User API Στο Drupal υπάρχουν δύο τύποι χρηστών, οι διαπιστευμένοι χρήστες και οι α- νώνυμοι χρήστες. Το User API παρέχει διάφορα εργαλεία που επιτρέπει σε έναν προγραμματιστή να χρησιμοποιήσει με σκοπό να εργαστεί με αυτούς τους χρήστες. Για παράδειγμα να τροποποιήσει δεδομένα που σώζονται σε κάθε λογαριασμό χρήστη και να παρεμβαίνει σε διάφορα συμβάντα που δημιουργούνται από έναν χρήστη. Το σύστημα αναζήτησης (Search System) Το οποίο ασχολείται με τεχνικές εύρεσης περιεχομένου στον ισότοπο το γνωστό SEO, χρησιμοποιώντας κυρίως κανονικές εκφράσεις (regular expressions). Το σύστημα αρχείων (File Upload System) Το οποίο είναι υπεύθυνο για την αποθήκευση, ανάκτηση και την επεξεργασία των αρχείων. Το Στρώμα αφαίρεσης Βάση Δεδομένων (Database abstraction layer) Το οποίο είναι υπεύθυνο για τον τρόπο με τον οποίο ρέουν τα δεδομένα που υ- πάρχουν στην βάση δεδομένων και τον τρόπο επικοινωνίας μεταξύ προγραμματιστή και βάσης δεδομένων παρέχοντας ένα ειδικά σχεδιασμένο τρόπο λειτουργίας αποτρέποντας τις κακόβουλες επιθέσεις. Οι σταθερές (Constants) Το κομμάτι αυτό περιλαμβάνει σταθερές οι οποίες αλληλεπιδρούν με το σύστημα του Drupal παρέχοντας κάποιο είδος λειτουργικότητας. Οι καθολικές μεταβλητές ( Global Variables) Το κομμάτι αυτό περιλαμβάνει μεταβλητές ορατές σε όλο το σύστημα του Drupal που μπορούν να χρησιμοποιηθούν για την σύνθεση νέων λειτουργιών. Για παράδειγμα η μεταβλητή global $user αποτελείται από μια σειρά πληροφοριών για τον συνδεδεμένο χρήστη. -25-

30 3.3.1 Events και Hooks Σε ένα Drupal site δημιουργούνται Events. Ένα Event μπορεί να δημιουργηθεί όταν τεθεί κάποιο αίτημα. Για παράδειγμα όταν ένας χρήστης δημιουργήσει έναν νέο λογαριασμό ή όταν κάποιο περιεχόμενο καλέστηκε να εμφανιστεί, ή όταν ένα σχόλιο αποθηκεύτηκε δημιουργείται ένα Event. Για κάθε πάτημα ενός κουμπιού ένα Event τρέχει στο παρασκήνιο. Ένας προγραμματιστής έχει τη δυνατότητα να τροποποιήσει το αποτέλεσμα αυτών των διαδικασιών με την δημιουργία ενός Module. Η δημιουργία των Modules βασίζεται στο σενάριο hooks. Ένα hook είναι μια php συνάρτηση της μορφής foo_bar(), όπου το πρόθεμα foo αναφέρεται κάθε φορά στο όνομα του module στο οποίο εμφανίζεται (για παράδειγμα my_module) και το bar αναφέρεται στο όνομα του hook (για παράδειγμα form). Κάθε hook, μπορεί έχει ένα σετ παραμέτρων που περνάει κάθε φορά και ένα συγκεκριμένο τύπο αποτελέσματος ή έναν τύπο επιστροφής. Δηλαδή έχει την μορφή των γνωστών συναρτήσεων που παίρνουν μια ή περισσότερες μεταβλητές by reference. Μια πολύ χρήσιμη τέτοιου είδους συνάρτηση είναι η hook_form($form,$form_state), η οποία όπως φαίνεται έχει δύο παραμέτρους ($form,$form_state). Τα hooks χρησιμοποιούνται κατά μια έννοια για να αλλάξουν την προεπιλεγμένη λειτουργία του Drupal, και συγκεκριμένα για να δημιουργηθούν καινούργια blocks ή ακόμα και να τροποποιηθούν τα είδη υπάρχοντα, όπως επίσης να προστεθούν άδειες permissions), μενού, φόρμες καθώς και πολλές άλλες τροποποιήσεις. Είναι στην ουσία έτοιμες και αναγνωρίσιμες συναρτήσεις από το Drupal, που μπορούν να καλεστούν από οποιοδήποτε σημείο για να προσθέσουν ή να τροποποιήσουν μια λειτουργία. Οι προγραμματιστές τις χρησιμοποιούν όχι μόνο για να τροποποιήσουν μόνο μια ήδη υπάρχουσα λειτουργία, αλλά και να προσθέσουν με php κώδικά στις δικές τους hook συναρτήσεις. Στην Εικόνα 8 Ανάκτηση σχολίου με μια σειρά hook συναρτήσεων. φαίνεται η διαδικασία ανάκτησης ενός σχόλιου από την πλευρά των hooks.

31 Εικόνα 8 Ανάκτηση σχολίου με μια σειρά hook συναρτήσεων. Πιο συγκεκριμένα, μέσα από ένα module καλείται ένα hook με την μορφή συνάρτησης modulename_hookname(). Σε αυτή την περίπτωση ο διαθέσιμος μηχανισμός του Drupal χρησιμοποιώντας τη συνάρτηση module_invoke_all(hook_name), ψάχνει σε όλο το Drupal site που γίνεται κλήση χρησιμοποίησης αυτού του hook. Αυτή η διαδικασία ονομάζεται hook implementation και έχει ως αποτέλεσμα να συμπεριλαμβάνει των κώδικα των συναρτήσεων που το καλούν και να κάνει override τις λειτουργίες που συνθέτονται κάθε φορά. Στην Εικόνα 9 Λειτουργία των hook συναρτήσεων. Αναπαρίσταται μέσω ενός διαγράμματος ο τρόπος λειτουργίας των hook συναρτήσεων. Εικόνα 9 Λειτουργία των hook συναρτήσεων. -27-

32 Καθώς κάθε διαφορετικό module προσθέτει τις δικές του hook συναρτήσεις, υπάρχει αρκετά μεγάλος αριθμός hook συναρτήσεων όπου είναι αδιανόητο κάποιος να μπορεί να τις αποστηθίσει. Για το λόγο αυτό έχει δημιουργηθεί ένας κατάλογος που συμπεριλαμβάνει όλες τις hook συναρτήσεις, επεξηγώντας κάθε φορά την χρησιμότητα τους. Ένας προγραμματιστής κάθε φορά που αναζητά ένα hook έχει τη δυνατότητα να αναζητήσει αυτό που ψάχνει στην σελίδα που παρέχει το Drupal για την εύρεση των hooks, το λεγόμενο Drupal API,

33 3.4 Menu System Σε ένα κοινό και σε HTML βασισμένο ισότοπο, για κάθε σελίδα υπάρχει και ένα διαφορετικό αρχείο που την συνθέτει. Για παράδειγμα αν ένας χρήστης περιηγηθεί στην σελίδα επικοινωνίας θα υπάρχει ένα διαφορετικό αρχείο που την συνθέτει. Για το Drupal τα πράγματα είναι λίγο διαφορετικά καθώς κάθε σελίδα τρέχει μέσα από ένα μόνο αρχείο και αυτό το αρχείο είναι το index.php. Υπάρχουν διάφορα πλεονεκτήματα στην υιοθέτηση αυτού του προτύπου διότι όλα δρομολογούνται μέσα από μια μόνο σελίδα. Για παράδειγμα αν είναι απαραίτητο να αναβαθμιστεί ο πυρήνας του Drupal τότε το μόνο που χρειάζεται είναι να αλλάξει μια μόνο συγκεκριμένη καταχώριση στο index.php αρχείο. Το πρότυπο αυτό συναντάται σε αρκετές διαδικτυακές εφαρμογές και καλείται front controller design pattern. Αυτό που πραγματοποιεί είναι να δρομολογεί με έναν ελεγκτή όλες τις αιτήσεις για εμφάνιση σελίδων της εφαρμογής μέσα από μια μοναδική πηγή. Για το Drupal ο τρόπος με τον οποίο ανταποκρίνεται σε ένα έτοιμα για εμφάνιση μιας σελίδας είναι να κοιτάει το url μονοπάτι (path). Και για το Drupal ένα μονοπάτι είναι οτιδήποτε βρίσκεται στην δεξιά πλευρά του domain name κάνοντας ένα url να φαίνεται καθαρό. Για παράδειγμα όπου το μονοπάτι είναι το admin/modules. Στην πραγματικότητα το url έχει την μορφή όπου η παράμετρος q υποδηλώνει ένα ερώτημα (query). Ενεργοποιώντας όμως την επιλογή Clean Urls το σύστημα του Drupal αφαιρεί αυτή την παράμετρο κάνοντας το url να φαίνεται καθαρό. Οπότε αυτό που κάνει το Drupal είναι για κάθε μονοπάτι να ελέγχει πρώτα αν το συγκεκριμένο μονοπάτι υπάρχει και στη συνέχεια να καλεί μια συνάρτηση (callback function) περιμένοντας από αυτή να καθορίσει τι θα γίνει μετά. Τις περισσότερες φορές αυτό που αναμένεται να γίνει είναι να εμφανιστεί ως σελίδα κάποιο είδος περιεχομένου. Αλλά μπορεί επίσης να οδηγήσει τον χρήστη σε μια άλλη σελίδα (redirect) ή και να εμφανίσει απλά κάποιο μήνυμα. Κάθε module καθορίζει σε ποια μονοπάτια θα καλεστούν ποιές συναρτήσεις. Και όλα αυτά τα δεδομένα βρίσκονται σε ένα πίνακα της βάσης δεδομένων με όνομα menu_router. Η δομή που έχει αυτός ο πίνακας φαίνεται στην Εικόνα 10 Δομή πίνακα βάσης δεδομένων αποθήκευσης μονοπατιών. μέσω της εφαρμογής phpmyadmin. -29-

34 Εικόνα 10 Δομή πίνακα βάσης δεδομένων αποθήκευσης μονοπατιών. Κάποιες εγγραφές του πίνακα menu_router φαίνονται στην Εικόνα 11 Εγγραφές πίνακα menu_router. όπου γίνονται αντιληπτές οι αντιστοιχίες μεταξύ των μονοπατιών και των συναρτήσεων που είναι υπεύθυνες για την εμφάνιση κάποιου περιεχομένου ή μηνύματος.

35 Εικόνα 11 Εγγραφές πίνακα menu_router. -31-

36 3.5 Module System Εικόνα 12 Σχεδιάγραμμα επίδρασης λειτουργικότητας. Ένα Module χρησιμοποιείται με σκοπό να προσθέσει λειτουργικότητα σε ένα site, με την έννοια ότι έχει την δυνατότητα να τροποποιήσει δεδομένα και να αλλάξει την ήδη υπάρχουσα ροή δεδομένων σε επίπεδο δεδομένων, λογικής ή ακόμα και εμφάνισης. Αυτό έχει ως αποτέλεσμα να επεκτείνει την λειτουργικότητα του Drupal. Όταν ένα module έχει γραφτεί με τις σωστές προδιαγραφές χαρακτηρίζεται από αξιοπιστία, επεκτασιμότητα, φορητότητα και δυνατότητα αναβάθμισης. Στην συνέχεια αναλύεται η δομή ενός module Είδη ενός Module Τα Modules χωρίζονται σε τρείς γενικές κατηγορίες. Ακολουθεί μια αναλυτική λίστα με αυτές τις κατηγορίες. 1. Core Modules: Στην πρώτη κατηγορία βρίσκονται τα Module που βρίσκονται στον πυρήνα του Drupal και παρέχονται μαζί με μια εγκατάσταση Drupal. Κυρίως για λόγους α- ναβάθμισης, η τροποποίηση τους δεν συνιστάται. 2. Contrib Modules: Στην δεύτερη κατηγορία ανήκουν τα Module που είναι φτιαγμένα από την κοινότητα του Drupal και διαμοιράζονται ελεύθερα, όπως και το ίδιο το Drupal. 3. Custum Modules:

37 Στην Τρίτη και τελευταία κατηγορία ανήκουν τα Module εκείνα που είναι φτιαγμένα από προγραμματιστές και αφορούν μια συγκεκριμένη λειτουργικότητα, που συνήθως αφορά τη λειτουργικότητα κάποιου συγκεκριμένου site Ανατομία ενός Module Ένα Module είναι στην ουσία ένας φάκελος ο οποίος αποτελείται από κάποια συγκεκριμένα αρχεία. Στη συνέχεια αναλύονται τα βασικά αρχεία από τα οποία αποτελείται ένα module, στην παρακάτω λίστα. Σημειώνεται ότι όλα τα αρχεία είναι απαραίτητο να έχουν το ίδιο όνομα ως πρόθεμα, αλλά διαφορετική κατάληξη. 1.Ένα αρχείο modulename.info, το οποίο είναι ένα αρχείο κειμένου που ακολουθεί εκείνη την σύνταξη όπως αυτή ενός.ini αρχείου. Περιέχει πληροφορίες ώστε το συγκεκριμένο module να εμφανίζεται στην διαθέσιμη λίστα των modules, καθώς επίσης να εμφανίσει προαπαιτούμενα modules αν υπάρχουν. Σε αυτό το αρχείο δηλώνονται επίσης αρχεία που συμπεριλαμβάνονται στην λειτουργικότητα που προσθέτει, τα λεγόμενα.inc αρχεία που αναφέρονται στη συνέχεια. 2. Ένα αρχείο modulename.module, το οποίο είναι ένα αρχείο php και περιέχει συναρτήσεις για την επέκταση της λειτουργικότητας. Αξιοσημείωτο είναι το γεγονός ότι οι συναρτήσεις αυτές μπορεί να είναι φτιαγμένες από έναν προγραμματιστή και να ονομάζονται custum functions, και εκείνες που αλληλεπιδρούν με το σύστημα του Drupal και να ονομάζονται hook functions όπως και αναλύθηκαν στο κεφάλαιο Events και Hooks. 3. Τέλος μπορεί να περιέχουν modulename.inc αρχεία, που είναι και αυτά αρχεία php τα οποία αποτελούνται από διάφορες συναρτήσεις. Συνήθως οι συναρτήσεις αυτές καλούνται στο modulename.module αρχείο και επιστρέφουν μια τιμή. Με τα αρχεία αυτά επιτυγχάνεται η βελτίωση των επιδόσεων και η εύκολη ανάγνωση. -33-

38 3.6 Form System Το Form System είναι ένα σύστημα που είναι υπεύθυνο τόσο για την δημιουργία όσο και για την τροποποίηση των φορμών. Εικόνα 13 Διάγραμμα ροής δεδομένων του υποσυστήματος Form System. Η διαδικασία τροποποίησης μιας φόρμας μπορεί να γίνει πολύ εύκολα χρησιμοποιώντας την έτοιμη hook συνάρτηση hook_form_alter. Η συνάρτηση αυτή φέρνει μια σειρά πληροφοριών και ρυθμίσεων τις οποίες ο προγραμματιστής μπορεί να δει και να τροποποιήσει όποιο συστατικό επιθυμεί. Η διαδικασία δημιουργία μιας φόρμας μπορεί να γίνει με την χρήση μιας διαφορετικής hook συνάρτησης την hook_form(). Σε αυτό το σημείο είναι απαραίτητο να σημειωθεί ότι για να είναι ορατή σε μια σελίδα η φόρμα που θα δημιουργηθεί, προϋποθέτει την ύπαρξη μια εγγραφής στον πίνακα menu_router των διαθέσιμων μονοπατιών όπως αναφέρθηκε στο κεφάλαιο Menu System. Η διαδικασία αυτή αποτελείται από τέσσερα βασικά βήματα τα οποία και αναλύονται στην λίστα που ακολουθεί.

39 Κατασκευή της Φόρμας (Form Construction) Αυτό το βήμα περιλαμβάνει την εισαγωγή πεδίων και των ρυθμίσεων που αλληλεπιδρούν με το σύστημα εμφάνισης του Drupal. Η εισαγωγή αυτών τον πληροφοριών γίνεται με την μορφή php συστοιχίας (rendered array). Ορθότητα δεδομένων εισαγωγής χρήστη (Client side Validation) Αυτό το βήμα περιλαμβάνει ελέγχους για την σωστή εισαγωγή των δεδομένων στην φόρμα από τον χρήστη. Επιτυγχάνεται με χρήση JavaScript. Ορθότητα δεδομένων εισαγωγής δεδομένων στο σύστημα (Server side Validation) Καθώς η ασφάλεια δεν μπορεί να επιτευχθεί μέσω JavaScript, χρειάζονται επιπλέον έλεγχοι ορθότητας από την πλευρά του Server τόσο για τον έλεγχο των δεδομένων που εισήγαγε ο χρήστης όσο και για την μορφή που έχουν αυτά τα δεδομένα ώστε να μην είναι κακόβουλα προς την εφαρμογή. Επεξεργασία δεδομένων (Processing) Εφόσον ο χρήστης έχει περάσει επιτυχώς από τους απαραίτητους ελέγχους γίνεται η επεξεργασία των δεδομένων και εκτελείται κάποια λειτουργικότητα. -35-

40 3.7 Theme System Η διαδικασία που ακολουθεί ένας Web Designer είναι να κατά κύριο λόγο να καταφέρει να μετατρέψει την γραφική παρουσίαση ενός γραφίστα σε κώδικα φτιάχνοντας έ- ναν ισότοπο που εμφανισιακά θα είναι πανομοιότυπος με το σχέδιο του γραφίστα και αποτελείται από τα παρακάτω στάδια. Πρώτα σχεδιάζει μια γραφική αναπαράσταση με την χρήση κατάλληλου λογισμικού, όπως για παράδειγμα Photoshop, Illustrator, Inkscape. Στη συνέχεια τεμαχίζει σε δομικά συστατικά την γραφική αναπαράσταση και δημιουργεί τον κατάλληλο κώδικα CSS ελέγχοντας τη διάταξη ατών των συστατικών τοποθετώντας τα κατάλληλα για την σύνθεση μιας ιστοσελίδας. Ένας Drupal Themer ωστόσο πρέπει να ακολουθήσει μια τελευταία διαδικασία ώ- στε να συνθέσει το επιθυμητό αποτέλεσμα. Πρέπει να τροποποιήσει τον HTML κώδικα που συνθέτει την εμφάνιση των δομικών στοιχείων ενός ισότοπου κατά τέτοιο τρόπο ώστε να μπορεί να αναγνωριστεί από το Drupal. Αυτή είναι και η κύρια διαφορά ανάμεσα σε έναν Web Designer και έναν Drupal Themer Τρόπος Λειτουργίας ενός Theme Το σύστημα εμφάνισης του Drupal ασχολείται με την μετατροπή των δεδομένων σε μια μορφή παρουσίασης που μπορεί να γίνει ορατή μέσα οπό έναν φυλλομετρητή και τυπικά θα έχει μια HTML δομή. Αυτό επιτυγχάνεται σε συνδυασμό με την λειτουργικότητα που προσφέρει το Drupal. Όπως φαίνεται και στην παρακάτω εικόνα Εικόνα 14 Τρόπος με τον οποίο συμβάλουν τα module στο theme. μέσα από την λειτουργικότητα (αρχεία.module) όπου εξέρχονται δεδομένα διαθέσιμα για την διαδικασία του theme. Για παράδειγμα η δομή μιας φόρμας ή ενός block.

41 Εικόνα 14 Τρόπος με τον οποίο συμβάλουν τα module στο theme. Σκοπός ενός theme είναι τόσο να θέσει μια δομή στα διάφορα περιεχόμενα που θα εμφανιστούν στον τελικό χρήστη όσο και να παρέχει ένα γραφικό περιβάλλον στον διαχειριστή της ιστοσελίδας να μπορεί να τροποποιεί την εμφάνιση μέσω κάποιων ρυθμίσεων. Κοιτώντας από μια πλευρά την διαδικασία τροποποίησης της εμφάνισης ενός Drupal site(theming), παρατηρείται να είναι μια διαφορετική προσέγγιση με αυτή της δημιουργίας ενός module. Παρόλο που χρησιμοποιείται μια διαφορετική διαδικασία στο theming, τις περισσότερες φορές κατά την διαδικασία δημιουργίας λειτουργικότητας ένας προγραμματιστής αντιμετωπίζει καταστάσεις στις οποίες καλείται να προβλέψει και να συμπεριλάβει στον κώδικά του, στοιχεία που βοηθάνε στην διαδικασία της εμφάνισης Δομή και Διαδικασία σύνθεσης ενός Theme Ένα theme βρίσκεται στο φάκελο sites/all/themes/my_theme και αποτελείται από αρχεία CSS, JavaScript και JQuery, εικόνες και τα ειδικά αρχεία για την τροποποίηση εμφάνισης όπως φαίνεται και στην εικόνα Εικόνα 15 Φάκελος ενός Theme. -37-

42 Εικόνα 15 Φάκελος ενός Theme. Η διαδικασία σύνθεσης ενός Theme συμπεριλαμβάνει τέσσερα βήματα τα οποία αναλύονται στην παρακάτω λίστα..info αρχείο Εικόνα 16 Απόσπασμα κώδικα στο php.ini αρχείο

43 Ένα Theme μπορεί να γίνει ορατό από το Drupal εφόσον έχει ένα ειδικό αρχείο.info το οποίο περιλαμβάνει όλες τις απαραίτητες πληροφορίες για το τι μπορεί να κάνει το συγκεκριμένο theme. Το πρώτο βήμα αφορά την δημιουργία του.info αρχείου όπου περιλαμβάνει πληροφορίες όπως το όνομα του theme, την περιγραφή, αρχεία που συμπεριλαμβάνονται στο theme όπως τα css αρχεία, όπως επίσης και ποιά δομικά στοιχεία συμπεριλαμβάνονται σε αυτό (regions). Template Αρχεία (.tpl.php) Το δεύτερο βήμα περιλαμβάνει τα αρχεία template τα οποία αποτελούνται κυρίως από HTML κώδικα αλλά και php κώδικα και μπορούν να ελέγχουν μεγάλα κομμάτια δομικών στοιχείων. Όπως για παράδειγμα η παρουσίαση των δομικών στοιχείων για την εικόνα των σελίδων, την εμφάνιση ενός σχόλιου και πολλά άλλα. Αντικατάσταση.tpl.php μεταβλητών Στο τρίτο βήμα γίνεται μια σύνδεση της λειτουργικότητας και της εμφάνισης. Περιλαμβάνει την αντικατάσταση μεταβλητών στα αρχεία.tpl.php. με την έννοια ότι μεταβλητές λειτουργικότητας μπορούν να πάρουν μέρος στην διαδικασία της εμφάνισης. Εδώ ο Themer έχει την δυνατότητα να εισάγει και δικές του καινούριες μεταβλητές. Συναρτήσεις τροποποίησης εμφάνισης Το τέταρτο και τελευταίο βήμα περιλαμβάνει ειδικού τύπου συναρτήσεις που μπορούν να τροποποιήσουν σε όλη την εμβέλεια του ισότοπο μικρότερα στοιχεία εμφάνισης. Όπως για παράδειγμα το όνομα χρήστη ή την γραμματοσειρά και πολλά ακόμα. -39-

44 3.8 Ανάλυση των Contrib Modules Η συγκεκριμένη κατηγορία modules, όπως προαναφέρθηκε αφορά modules που διανέμονται ελεύθερα από την κοινότητα του Drupal. Καθώς σε αυτή την κατηγορία τα διαθέσιμα modules φτάνουν σε αριθμό τα μέχρι σήμερα και συνεχώς αυξάνονται, στη συνέχεια επιλεκτικά θα αναλυθούν μερικά από τα πιο δημοφιλή και πολύ χρήσιμα Modules, τα οποία χρησιμοποιούνται και στην εφαρμογή του πέμπτου κεφαλαίου - 5. Entity Reference Αποτελεί ένα πολύ χρήσιμο module το οποίο συσχετίζει τύπους περιεχομένων. Για παράδειγμα όταν χρειαστεί ένας προγραμματιστής να συμπεριλάβει μια οντότητα τύπου node σε μια άλλη οντότητα τύπου node ή ακόμα και τύπου taxonomy και user. Commerce Το συγκεκριμένο module, αφορά το πιο βασικό συστατικό σε έναν e-commerce ισότοπο, καθώς απαρτίζεται από λειτουργίες και ρυθμίσεις που ειδικεύονται πάνω σε θέματα που αφορούν διαδικτυακές αγορές. Το καλάθι αγορών, η δομή των προϊόντων και η διαχείριση τους είναι μέρος των λειτουργιών που παρέχει το Commerce module. Αποτελεί ένα από τα μεγαλύτερα project που έχουν δημιουργηθεί για την κοινότητα του Drupal με συνεχής αναβαθμίσεις και βελτιώσεις. Commerce License Αποτελεί επέκταση του Commerce module, και σκοπός του είναι να συνθέτει άδειες περιορισμένου χρόνου στους πελάτες. Είναι πολύ χρήσιμο για παράδειγμα όταν ένας προγραμματιστής θέλει να επιτρέπει την πρόσβαση των χρηστών σε συγκεκριμένες λειτουργίες του site μόνο για κάποιο συγκεκριμένο χρονικό διάστημα. Views Ένα από τα πιο χρήσιμα module σχεδόν σε κάθε Drupal Site. Προγραμματιστικά εκτελεί SQL ερωτήματα στην βάση δεδομένων του Drupal, με σκοπό την παρουσίαση των επιλεγμένων δεδομένων σε ομαδοποιημένες προβολές. Για παράδειγμα όταν θέλει ο προγραμματιστής να εμφανίσει σε μια λίστα, μια κατηγορία περιεχομένου, όπως το σύνολο των δημοσιευμένων άρθρων χρησιμοποιεί Views. Περιέχει δυνατότητες ταξινόμησης, εμφάνισης και πολλές ακόμα ευκολίες ομαδοποίησης δεδομένων.

45 Field Collection Γνωρίζουμε ότι ένα Content Type αποτελείται από fields. Με την λειτουργικότητα που προσφέρει το Field Collection module γίνεται εφικτό να έχουμε μια συλλογή από fields που όμως συμπεριφέρεται σαν ένα μοναδικό field. Είναι πολύ χρήσιμο όταν ζητείται η πολλαπλή αποθήκευση παραπάνω από ένα field για περισσότερες από μια φορές σε ένα Content Type. Features Αποτελεί χρήσιμο Module για την επέκταση της λειτουργικότητας ενός Drupal site. Παρέχει ένα γραφικό περιβάλλον στον χρήστη που του επιτρέπει να επιλέγει μεταβλητές που είναι αποθηκευμένες στην βάση δεδομένων. Με αυτό τον τρόπο τα features δημιουργούν αυτόματα τον κατάλληλο κώδικα έτσι ώστε να δημιουργηθεί κάθε φορά μια λειτουργικότητα. Εφόσον αυτή η λειτουργικότητα περιέχεται σε ένα module γίνεται πολύ πιο εύκολα τόσο η μεταφορά όσο και η επέκταση της λειτουργικότητας αυτής. Rules Αποτελεί ένα module που συνθέτει κανόνες και είναι υπεύθυνο για την δημιουργία ε- νεργειών κάτω από συγκεκριμένους όρους. Ποιο συγκεκριμένα, όταν κάποιο event συμβεί και ικανοποιεί κάποια συγκεκριμένα κριτήρια, τότε εκτελείται μια ή περισσότερες ενέργειες. Το συγκεκριμένο module παρέχει ένα γραφικό περιβάλλον προς τον δημιουργό του Drupal site, όπου εύκολα μπορεί να φτιάξει καινούργιους κανόνες για την επέκταση της λειτουργικότητα του site. Devel Το Devel αποτελεί ένα πολύ χρήσιμο module τόσο για έναν Drupal Developer όσο και για έναν Themer. Παρέχει μια βιβλιοθήκη χρήσιμων συναρτήσεων που μπορούν να χρησιμοποιηθούν κατά την δημιουργία custom module και theme. Παρέχει ένα τρόπο debugging, χρησιμοποιώντας ένα ευχάριστο γραφικό περιβάλλον αναπαράστασης. Mail System Συνθέτει μέσα από μια σειρά ρυθμίσεων ένα σύστημα αποστολής και λήψης μηνυμάτων για έναν ισότοπο. -41-

46 3.9 Ασφάλεια Το θέμα της ασφάλειας ενός site και ειδικότερα ενός e-commerce site, είναι αυτό που απασχολεί κυρίως έναν πελάτη όταν μπαίνει στη διαδικασία δημιουργίας του δικού του site. Με αποτέλεσμα να είναι από της πρώτες προτεραιότητες ενός προγραμματιστή τόσο στην επιλογή κατάλληλης πλατφόρμας όσο και στην συγγραφή κώδικα. Εικόνα 17 Λογότυπο Drupal ασφάλειας Το Drupal για τον λόγο αυτό έχει δημιουργήσει μια ειδική ομάδα η οποία ασχολείται αποκλειστικά με την ασφάλεια που έχει ένα Drupal site και την αντοχή του στις διάφορες κακόβουλες επιθέσεις που υπάρχουν. Στατιστικά στοιχεία σε έρευνες που έχουν γίνει δείχνει ότι οι επιθέσεις σε ένα Drupal site είναι πολύ λιγότερες σε σχέση με άλλα CMS. Ο πυρήνας του Drupal παρέχει ειδικά σχεδιασμένες λειτουργικότητες που επί το πλείστον μπορούν να προστατέψουν έναν ισότοπο από κακόβουλες επιθέσεις. Αρχίζοντας από την κρυπτογράφηση κωδικών, παρέχεται για κάθε χρήστη μια ασφαλή λειτουργικότητα χρησιμοποιώντας το ειδικού framework phpass που χρησιμοποιείται ειδικά για php εφαρμογές. Επιπλέον παρέχεται ένα δομημένο σύστημα για την εισαγωγή στο σύστημα και χορήγηση αδειών, το λεγόμενο Drupal Permission System. Και για το σύστημα που είναι υπεύθυνο για την δημιουργία των φορμών Form API προστατεύεται από CRSF και semantic forgery. Με την έννοια ότι βασίζεται στην αναγνώριση του χρήστη με επιπλέον τεχνικές αναγνώρισης του χρήστη για την παροχή ασφάλειας.

47 Είναι διαθέσιμο και ένα σύστημα Flood Control που αποτρέπει τις συνεχόμενες επιθέσεις brute force αποτρέποντας για παράδειγμα ένα μη διαπιστευμένο χρήστη να εισάγει παραπάνω από ένα καθορισμένο όριο σχόλια. Όπως επίσης και τη συνεχόμενη αποτυχημένη προσπάθεια εισαγωγής στο σύστημα. Όσο αφορά την βάση δεδομένων χρησιμοποιεί ένα σύστημα που καλείται database abstraction layer όπου εύκολα ένας προγραμματιστής μπορεί να εκτελέσει ερωτήματα εύκολα αλλά και με ασφάλεια. Βασίζεται στην χρήση PDO και αποτρέπει επιθέσεις τύπου SQL injection. Επιπλέον είναι διαθέσιμο ένα σύστημα ειδικών φίλτρων κειμένου ανά τύπο χρήστη. Στόχος του είναι να περιορίσει την χρήση HTML κώδικα από έναν απλό χρήστη και ταυτόχρονα να παρέχει ευκολίες σε έναν προγραμματιστή. Για το λόγο αυτό υπάρχουν τα ειδικά φίλτρα εισαγωγής κειμένου τόσο σε επίπεδο κώδικα όσο και σε επίπεδο χρήστη τα λεγόμενα text formats. Τέλος είναι απαραίτητο να αναφερθεί ότι παρόλο που ο πυρήνας του Drupal παραμένει ασφαλής σε κακόβουλες επιθέσεις απαιτείται και η συγγραφή ασφαλούς κώδικα από κάθε προγραμματιστή που επιχειρεί να προσθέσει τον δικό του custom κώδικα για την επέκταση της λειτουργικότητας. -43-

48 3.10 Βιβλιογραφία [1] Documentation Επίσημη ιστοσελίδα τεκμηρίωσης του Drupal (Drupal Documentation). [ ] [2] About Drupal - Επίσημη ιστοσελίδα πληροφοριών του Drupal. [ ] [3] Drupal training videos - Ιστοσελίδα εκμάθησης του Drupal μέσω βίντεο. [ ] [4] Shiflett, Chris (December 13, 2004) - "Security Corner: Cross-Site Request Forgeries" διαθέσιμο στο [ ] [5] Drupal Security Reports - [ ] [6] API reference - Επίσημη ιστοσελίδα του Drupal [ ] [7] Front controller Pattern Αναπαράσταση ενώς front controller διαθέσιμο στο [ ] [8] Drupal menu System Πληροφορίες για το μενού σύστημα του Drupal διαθέσιμο στο [ ] [9] Drupal Form System Πληροφορίες για το σύστημα δημιουργίας φορμών του Drupal διαθέσιμο στο [ ]

49 4 Απαραίτητα Εργαλεία 4.1 ΧAMP LAMP Εικόνα 18 Διάγραμμα αναπαράστασης του LAMP stack Το Χamp είναι μια πλατφόρμα που χρησιμοποιείται για ανάπτυξη διαδικτυακών εφαρμογών. Είναι ελεύθερου λογισμικού και είναι συμβατό με τα περισσότερα λειτουργικά συστήματα. Το όνομα LAMP προέρχεται από την συνένωση των αρχικών των λέξεων: Linux, Apache, Mysql και PHP. Συχνά αναφέρεται ως Lamp stack για το γεγονός ότι αποτελείται από τέσσερα επίπεδα συστατικά. Ακολουθεί μια λίστα με αναλυτικές πληροφορίες για αυτά τα συστατικά, καθώς και ο τρόπος εγκατάστασης τους σε λειτουργικό σύστημα Linux. X = Linux -45-

50 Το πρώτο συστατικό αναφέρεται στο λειτουργικό σύστημα στο οποίο θα εγκατασταθεί η πλατφόρμα, στη συγκεκριμένη περίπτωση αφόρα λειτουργικό σύστημα Linux. Αντίστοιχα για άλλα λειτουργικά συστήματα όπως Windows και Solaris η πλατφόρμα μετονομάζεται σε WAMP και SAMP αντίστοιχα. Apache Για να μπορέσει ένας χρήστης να επισκεφτεί έναν ισότοπο, το πρόγραμμα πλοήγησης (browser) χρησιμοποιεί το προτόκολο HTTP,στέλνοντας ετήματα σε έναν διακομιστή-server με αποτέλεσμα να παράγει ιστοσελίδες για να μπορέσει να τις διαβάσει το πρόγραμμα πλοήγησης (browser). Ο apache είναι ένας από τους διμοφιλέστερους εξυπηρετητές ιστού, είναι ανοιχτού λογισμικού και λειτουργεί στα περισσότερα διαθέσιμα λειτουργικά συστήματα. Χρησιμοποιείται σε τοπικά δίκτυα σαν διακομιστής σε συνεργασία με συστήματα βάσεων δεδομένων. Η εγκατάσταση μπορεί να γίνει με την παρακάτω εντολή. sudo apt-get install apache2 Vhosts Ο apache μπορεί να εγκατασταθεί σε τοπικό περιβάλλον, δηλαδή χρησιμοποιώντας μια μόνο IP-Address την (localhost). Με την λειτουργία των Vhost παρόλο που έχει μια μόνο διαθέσιμη IP-Address, μπορεί να χρησιμοποιεί πολλαπλά ψευδώνυμα alias, τα οποία μπορούν να αντιστοιχούν σε διαφορετικά site. Αυτό είναι εφικτό αν για κάθε ένα διαφορετικό site, δημιουργηθεί ένα.conf αρχείο στον φάκελο sites-available του apache.στη συνέχεια παρουσιάζεται η δομη ενός αρχείου.conf μέσα από την εικόνα Εικόνα 19 Κώδικας ενός vhost.

51 Εικόνα 19 Κώδικας ενός vhost Εφόσον ενεργοποιηθεί με την παρακάτω εντολή sudo a2ensite edge.conf Μπορεί να προστεθεί το ψευδώνυμο στο αρχείο /etc/hosts και να χρησιμοποιείται πλέον το ψευδώνυμο που επιλέχθηκε αντί το κλασικό : όπως φαίνεται και στην εικόνα Εικόνα 20 Κώδικας αρχείου etc/hosts Εικόνα 20 Κώδικας αρχείου etc/hosts -47-

52 MySQL Παρέχει ένα σύστημα διαχείρισης βάσεων δεδομένων, με την έννοια ότι παρέχει έναν τρόπο πρόσβασης και διαχείρισης του περιεχομένου μιας βάσης δεδομένων. Είναι ανοιχτού λογισμικού και παρέχει ένα σύστημα πελάτη/διακομιστή client/server που υποστηρίζει διαφορετικού τύπου υποδομές για την SQL. Οι MySQL βάσεις δεδομένων είναι σχεσιακές, αποθηκεύουν δηλαδή τα δεδομένα σε πολλούς πίνακες συνδεδεμένους μεταξύ τους κατάλληλες σχέσεις. Αυτό έχει ως αποτέλεσμα την παροχή ταχύτητας και ενός ευέλικτου προγραμματιστικού περιβάλλοντος. Τέλος για την διαχείριση της βάσης δεδομένων καθώς και την εκτέλεση των ερωτημάτων χρησιμοποιεί την δομημένη γλώσσα ερωτημάτων SQL Structured Query Language. Η εγκατάσταση μπορεί να γίνει με την παρακάτω εντολή. sudo apt-get install mysql-server Επιπλέον ρυθμίσεις που χρειάζονται βρίσκονται στο Παράρτημα Α. PhpMyadmin Είναι ένα σύστημα διαχείρισης των βάσεων δεδομένων της MySQL στον παγκόσμιο ιστό www. Χρησιμοποιείται συνήθως σε εφαρμογές διαδικτύου όπου η διαχείριση γίνεται μέσω ενός φυλλομετρητή-browser. Η εγκατάσταση μπορεί να γίνει με την παρακάτω εντολή. sudo apt-get install phpmyadmin PHP5 Η PHP προέρχεται από την συνένωση των λέξεων Hypertext PreProcessor και χρησιμοποιείται για την ανάπτυξη δυναμικών ιστοσελίδων από την πλευρά του server. Μπορεί να εγκατασταθεί με την παρακάτω εντολή. sudo apt-get install php5

53 4.2 Drush Εικόνα 21 Drupal Λογότυπο Το Drush είναι ένα προγραμματιστικό εργαλείο, που επιδρά στον πυρήνα του Drupal, παρέχοντας πολλές ευκολίες σε έναν προγραμματιστή. Χρησιμοποιείται μέσω της γραμμής εντολών και μπορεί να κάνει λειτουργίες όπως η εύκολη και γρήγορη εγκατάσταση module, αναβαθμίσεις και αλληλεπίδραση με τα features του features module. sudo apt-get install drush Μια Drupal εγκατάσταση με χρήση του drush γίνεται με τις παρακάτω δύο εντολές. Πρώτα κατέβασμα του Drupal πακέτου μέσω του Drush με παράμετρο αλλαγής του ονόματος που θα έχει το site. drush dl drupal drupal-project-rename=sitename Στη συνέχεια ακολουθεί η εγκατάσταση με πρώτη και δεύτερη παράμετρο το όνομα και ο κωδικός για τον administrator χρήστη και ως τρίτη παράμετρο τα στοιχεία που θα χρησιμοποιηθούν για την βάση δεδομένων. drush site-install --account-name=admin account-password=admin Αφού ολοκληρωθεί η εγκατάσταση του Drupal, μέσα σε οποιονδήποτε φάκελο μέσα στην εγκατάσταση μπορεί να χρησιμοποιηθεί το Drush. Ακολουθεί ο τρόπος με τον ο- ποίο εγκαθίστανται και ενεργοποιούνται τα modules. Για την μεταφόρτωση: drush dl module_name -49-

54 Και την ενεργοποίηση: drush en module_name 4.3 Eclipse Εικόνα 22 Λογότυπο Eclipse Στη συνέχεια θα ακολουθήσει μια ανάλυση για το εργαλείο Eclipse και τα plugins που θα χρειαστούν για την εφαρμογή του πέμπτου κεφαλαίου, καθώς και η διαδικασία που ακολουθείται για την εγκατάσταση Τι είναι το Eclipse Το Eclipse είναι ένα ολοκληρωμένο περιβάλλον ανάπτυξης λογισμικού παρέχοντας τον κατάλληλο χώρο εργασίας, με δυνατότητα επέκτασης των δυνατοτήτων με τα λεγόμενα plugins. Για να μπορέσει να λειτουργήσει το Eclipse είναι απαραίτητο να εγκατασταθεί μια έκδοση Java. Η εγκατάσταση μπορεί να γίνει με την παρακάτω εντολή. sudo apt-get install openjdk-7-jre-headless Στη συνέχεια η εγκατάσταση του Eclipse μπορεί να γίνει εκτελώντας την επόμενη ε- ντολή. sudo apt-get install eclipse

55 4.3.2 Plugins Τα plugins αποτελούν συστατικά λογισμικού που επεκτείνουν τις λειτουργίες του eclipse. Ακολουθεί μια λίστα με τα απαραίτητα plugins για την ανάπτυξη διαδικτυακών εφαρμογών σε Drupal. PHP Development tools (PDT) Προσθέτει στην πλατφόρμα του eclipse συστατικά απαραίτητα για την ανάπτυξη διαδικτυακών εφαρμογών με php. Eclipse Web Platform Tools (WPT) Επεκτείνει την πλατφόρμα του eclipse με προφίλ, εργαλεία και κειμενογράφους για ανάπτυξη διαδικτυακών και java EE εφαρμογών. Eclipse Hook Templates Αποτελεί μια συλλογή από hook συναρτήσεις του Drupal, που αναγνωρίζει το eclipse παρέχοντας αυτόματη συμπλήρωση και κείμενο επεξήγησης. Η εγκατάσταση γίνεται συμπεριλαμβάνοντας ένα xml αρχείο μέσω των ρυθμίσεων του eclipse (πηγή για το αρχείο ). -51-

56 4.4 Sass και Compass Εικόνα 23 Λογότυπα Sass και Compass Sass είναι ένας css προ-επεξεργαστής, με την έννοια ότι έχει την ικανότητα να βοηθάει στη συγγραφή εξυπνότερου και πιο γρήγορου css κώδικα. Έχει δύο συντακτικές μορφές, είτε.scss είτε.sass, με την δημοφιλέστερη να είναι η.scss. Η πρώτη θεωρείται μια επέκταση της CSS3 που σημαίνει ότι ένα αρχείο CSS3 είναι και ένα αναγνωρίσιμο Scss αρχείο. Η δεύτερη που είναι και πιο παλιά, παρέχει ένα πιο συνοπτικό τρόπο γραφής css, για παράδειγμα χρησιμοποιεί εσοχές αντί για α- γκύλες και δεν χρησιμοποιεί ερωτηματικά στο τέλος ενός selector. Πέρα από τους βασικούς κανόνες css, επιτρέπει την χρήση μεταβλητών, εμφωλευμένων κανόνων css, χρήσιμες συναρτήσεις και πολλές ακόμα ευκολίες. Το Compass είναι ένα Css Framework γραμμένο σε γλώσσα Ruby και σκοπός του ήταν να καλύψει τις ελλείψεις που έχει η css. Έχει τον δικό του μεταγλωττιστή και αυτό που κάνει είναι να παίρνει ένα sass αρχείο και να το μετατρέπει σε ένα css αρχείο. Α- κόμα μπορεί να ανιχνεύει τυχόν συντακτικά λάθη παρέχοντας έναν εύκολο τρόπο γραφής css αρχείων. Η εγκατάσταση μπορεί να γίνει με τις παρακάτω εντολές. sudo apt-get install ruby-full rubygems1.8 sudo gem install sass sudo gem install compass

57 4.5 Βιβλιογραφία [1] Apache Mysql PHP, Επίσημη ιστοσελίδα Ubuntu [ ] [2] Apache project - επίσημη ι- στοσελίδα Apache [ ] [3] uide%2fint_eclipse.htm Eclipse επίσημη ιστοσελίδα του Eclipse [ ] [4] Configuring Eclipse επίσημη ιστοσελίδα του Drupal. [ ] [5] Mysql επίσημη ιστοσελίδα Mysql. [ ] [6] PHP επίσημη ιστοσελίδα με έγγραφα εκμάθησης. [ ] [7] Documentation επίσημη ιστοσελίδα phpmyadmin. [ ] [8] Php Development tools - επίσημη ι- στοσελίδα του Eclipse. [ ] [9] Sass Documentation Επίσημη ιστοσελίδα εκμάθησης sass. [ ] [10] What is Compass άρθρο 30/9/2009 [ ] -53-

58 5 Εφαρμογή Ακολουθεί μια E-Commerce εφαρμογή με την χρήση του Drupal7 χρησιμοποιώντας όλα τα απαραίτητα εργαλεία που έχουν αναλυθεί στα παραπάνω κεφάλαια. Το κεφάλαιο που ακολουθεί συμπεριλαμβάνει δυο υποκεφάλαια τα οποία αναπαριστούν με την σειρά τα στάδια από τα οποία αποτελείται μια διαδικτυακή εφαρμογή σε Drupal. 5.1 Στάδιο Ανάλυσης και Λειτουργικότητας Στο στάδιο αυτό γίνεται μια ανάλυση των περιεχομένων που απαρτίζουν τον ισότοπο καθώς και της λειτουργικότητας της εφαρμογής χρησιμοποιώντας κυρίως flow diagrams, εστιάζοντας στην αναπαράσταση των λειτουργιών και την επικοινωνίααλληλεπίδραση που έχουν μεταξύ τους Σενάριο Εικόνα 24 Λογότυπο εφαρμογής Η όνομα της εφαρμογής είναι Edge Project, όπως φαίνεται και στην Εικόνα 24 Λογότυπο εφαρμογής, έχοντας τυχαία επιλογή ονόματος και δεν αποτελεί απομίμηση κάποιας γνωστής εταιρείας. Η συγκεκριμένη εφαρμογή αποτελεί ένα ηλεκτρονικό εργαλείο ανάθεσης Τεστ. Αφορά κυρίως καθηγητές, δάσκαλους διαφόρων ειδικοτήτων, παρέχοντας τους μια ηλεκτρονική πλατφόρμα να μπορούν να δημιουργούν τα δικά τους Τεστ και να τα αναθέσουν στους μαθητές-εξεταζόμενους τους. Χρησιμοποιώντας την έννοια του E-Commerce, η εφαρμογή παρέχει πρόσβαση μόνο σε Premium χρήστες,

59 με την έννοια ότι ένας τέτοιου είδους χρήστης έχει καταθέσει κάποιο χρηματικό αντίκτυπο ώστε να έχει πρόσβαση σε αυτές τις λειτουργίες Διαγράμματα Ροής και Υλοποίηση Για τα διαγράμματα ροής (flow diagrams) χρησιμοποιήθηκε το εργαλείο δημιουργίας διαγραμμάτων με όνομα Pencil Project το οποίο βρίσκεται διαθέσιμο στον σύνδεσμο με σκοπό να αποτυπώσουν την ροή των λειτουργιών που δημιουργήθηκαν. Commerce Εικόνα 25 Διάγραμμα ροής λειτουργικότητας Commerce Η ανάλυση που ακολουθεί εξηγεί το διάγραμμα ροής που φαίνεται στη εικόνα Εικόνα 25 Διάγραμμα ροής λειτουργικότητας Commerce. Η εισαγωγή στο σύστημα δημιουργίας τεστ είναι εφικτή εφόσον ένας διαπιστευμένος χρήστης αποκτήσει τον ρόλο του καθηγητή Professor. Η διαδικασία ανάθεσης αυτού του ρόλου συμπεριλαμβάνεται στο κομμάτι του E-Commerce. Τα διαθέσιμα προϊόντα αφορούν αγορά συγκεκριμένου χρόνου απόκτησης του ρόλου Professor. Ο χρήστης μπορεί να επιλέξει ένα διαθέσιμο πακέτο προς πώληση -55-

60 ανάμεσα στις χρονικές διάρκειες ενός μηνός, έξι μηνών και ενός έτους από την σελίδα των προϊόντων όπως φαίνεται στην εικόνα Εικόνα 26 Σελίδα προϊόντων εφαρμογής. Εικόνα 26 Σελίδα προϊόντων εφαρμογής Στη συνέχεια για να ολοκληρώσει την παραγγελία του μεταβιβάζεται στην διαθέσιμη προβολή καλαθιού απ όπου και μπορεί να ολοκληρώσει την παραγγελία του. Για να ολοκληρωθεί η παραγγελία ακολουθείται η διαδικασία του Checkout, όπου ο χρήστης συμπληρώνει τα στοιχεία πληρωμής. Η διαδικασία του checkout είναι ενδεικτική και παρέχεται από το Commerce module, καθώς δεν υλοποιεί πραγματική οικονομική συναλλαγή. Προγραμματιστικά αυτές οι διαδικασίες αποτελούν Rules και έχουν την μορφή όπως φαίνεται στη παρακάτω εικόνα Εικόνα 27 Γραφική αναπαράσταση ενός Rule.

61 Εικόνα 27 Γραφική αναπαράσταση ενός Rule Εφόσον ολοκληρωθεί επιτυχώς η διαδικασία Checkout, από έναν μη διαπιστευμένο χρήστη, υπάρχει μια αυτόματη διαδικασία δημιουργίας ενός χρήστη όπου τα στοιχεία εισόδου στέλνονται μέσω στον χρήστη. Ο διαχειριστής manager ή Administrator του ισότοπου μπορεί να δει και να ε- λέγξει αν τα στοιχεία πληρωμής είναι σωστά και να χορηγήσει ή να καταργήσει άδειες περιορισμένου χρόνου στους χρήστες που έχουν καταθέσει επιτυχώς το χρηματικό α- ντίκτυπο. Στην συνέχεια στην Εικόνα 28 Φόρμα διαχείρισης αδειών. φαίνεται η φόρμα χορήγησης και διαχείρισης αδειών. -57-

62 Εικόνα 28 Φόρμα διαχείρισης αδειών. Προγραμματιστικά για την συγκεκριμένη λειτουργικότητα χρησιμοποιήθηκαν rules που τρέχουν πρώτα αμέσως μετά την ολοκλήρωση του checkout για δημιουργήσουν το αίτημα της άδειας στον κατάλληλο πίνακα, και σε κάθε προγραμματισμένο κύκλο του cron ( cron run) με σκοπό να ελέγχουν και να ενημερώνουν κατάλληλα κάθε ενεργοποιημένη άδεια.

63 Δημιουργία Τεστ (Create Test) Εικόνα 29 Διάγραμμα λειτουργικότητας δημιουργίας τεστ Η διαδικασία δημιουργίας ενός τεστ μπορεί να γίνει μόνο από χρήστες με το ρόλο Professor και αποτελείται από δύο βήματα καθώς υλοποιείται από μια multistep form. Η συγκεκριμένη φόρμα βρίσκεται στο custom module Custom Multistep Create Test και χρησιμοποιεί την λειτουργικότητα που παρέχουν τα Contrib Module: Ctools, Entity και Field Collection. Το συγκεκριμένο module αποτελείται από τέσσερα αρχεία. Στο πρώτο αρχείο custom_multistep_create_test.info περιέχονται γενικές πληροφορίες που αφορούν το module. Στο δεύτερο αρχείο custom_multistep_create_test.module βρίσκονται γενικές ρυθμίσεις της multistep form όπως από ποιες φόρμες αποτελείται, πως συμπεριφέρονται τα κουμπιά Next, Cancel και Finish. Επιπλέον περιέχει μια συνάρτηση που ελέγχει την πρόσβαση σε αυτή την φόρμα. Στη παρακάτω εικόνα Εικόνα 30 Κώδικα έλεγχου πρόσβασης της multistep φόρμας φαίνεται ο κώδικας που χρησιμοποιήθηκε για την πρόσβαση στην φόρμα. -59-

64 Εικόνα 30 Κώδικα έλεγχου πρόσβασης της multistep φόρμας Στο τρίτο αρχείο custom_multistep_create_test.form βρίσκονται οι φόρμες από τις ο- ποίες αποτελείται η multistep form, συμπεριλαμβάνοντας την δομή(structure), επικύρωση (validation) και υποβολή (submission). Η δομή της δεύτερης φόρμας φαίνεται στην παρακάτω εικόνα Εικόνα 31 Κώδικας φόρμας ενός τεστ.

65 Εικόνα 31 Κώδικας φόρμας ενός τεστ -61-

66 Τέλος στο τέταρτο και τελευταίο αρχείο custom_multistep_create_test.func.inc περιέχονται βοηθητικές συναρτήσεις για την επίτευξη της λειτουργικότητας όπως η δημιουργία μιας node ως entity με τιμές από την δεύτερη φόρμα. Γραφικά στο πρώτο βήμα συμπληρώνεται ο τίτλος του τεστ και κάποια σημείωση αν επιθυμεί ο χρήστης όπως φαίνεται και στην εικόνα Εικόνα 32 Πρώτη φόρμα δημιουργίας τεστ. Εικόνα 32 Πρώτη φόρμα δημιουργίας τεστ Στο δεύτερο βήμα γίνεται η εισαγωγή των ερωτήσεων και των απαντήσεων. Ο χρήστης εισάγει την ερώτηση που επιθυμεί, και μια απάντηση. Αν αυτή η απάντηση είναι σωστή επιλέγει την επιλογή True και σώζει τόσο την ερώτηση όσο και απάντηση που έγραψε, πατώντας την επιλογή Save answer. Σε αυτό το σημείο μπορεί να εισάγει ό- σες απαντήσεις επιθυμεί πατώντας το κουμπί Save Answer. Για να εισάγει καινούρια ερώτηση πατάει την επιλογή Add New Question και ακολουθεί την ίδια διαδικασία που αναφέρθηκε παραπάνω. Για να ολοκληρωθεί η δημιουργία του τεστ αρκεί να πατηθεί το κουμπί Finish. Αν για οποιοδήποτε λόγο ο χρήστης επιθυμεί να διακόψει την διαδικασία δημιουργίας τεστ αρκεί να πατήσει το κουμπί Cancel. Στην συνέχεια ακολουθεί η εικόνα με το δεύτερο βήμα της multistep form Εικόνα 33.

67 Εικόνα 33 Δεύτερη φόρμα δημιουργίας τεστ Ανάθεση και προβολή αποτελεσμάτων Στη συνέχεια το συγκεκριμένο τεστ μπορεί να ανατεθεί σε οποιονδήποτε χρήστη που έχει ενεργό λογαριασμό στον ισότοπο μέσω της ειδικής φόρμας που παρέχεται για τις αναθέσεις Create Assignment όπως φαίνεται στην Εικόνα Εικόνα 34 Φόρμα ανάθεσης τεστ

68 Αρχικά συμπληρώνεται ο τίτλος του τεστ που θα εμφανιστεί στους μαθητές. Στη συνέχεια το όνομα του Τεστ, το οποίο είναι ένα αυτό-συμπληρωμένο πεδίο (autocomplete field) που ανιχνεύει αυτόματα τα διαθέσιμα ονόματα των τεστ που υπάρχουν αποθηκευμένα και επιτρέπει στον χρήστη να επιλέξει από μια λίστα. Τέλος συμπληρώνονται πάλι με χρήση autocomplete field το όνομα το μαθητή στον οποίο θα γίνει η ανάθεση Assignment, και το όνομα αυτού που αναθέτει το τεστ δηλαδή του καθηγητή. Τέλος, εφόσον ένα τεστ έχει συμπληρωθεί από τον μαθητή, ο καθηγητής Professor μπορεί να οδηγηθεί στην ειδική προβολή αποτελεσμάτων View Results και να δει τα αποτελέσματα των μαθητών του. Όταν ένας μαθητής έχει ολοκληρώσει μια φορά κάποιο τεστ τότε δεν του επιτρέπεται η πρόσβαση στην σελίδα του τεστ. Ο συγκεκριμένος έλεγχος ανιχνεύει αν υπάρχει περιεχόμενο τύπου Result με το συγκεκριμένο τεστ. Οπότε αν ένας καθηγητής επιθυμεί να αναθέσει ξανά το ίδιο τεστ πρέπει πρώτα να διαγράψει τα προηγούμενα αποτελέσματα των μαθητών που θα ξανακάνουν το τεστ. Για το λόγο αυτό στην προβολή View test Results ο καθηγητής έχει την επιλογή, εφόσον επιθυμεί να διαγράψει τα αποτελέσματα. Η γραφική αναπαράσταση των αποτελεσμάτων φαίνεται στην Εικόνα 35. Εικόνα 35 View αποτελεσμάτων τεστ

69 Συμπλήρωση Τεστ (Take Test form) Εικόνα 36 Λειτουργικότητα συμπλήρωσης τεστ Εφόσον ολοκληρωθεί η διαδικασία της ανάθεσης όπως αναφέρθηκε παραπάνω, ένα τεστ είναι ορατό στον μαθητή μέσω μιας ειδικής προβολής με το όνομα My Tests and Results που παρέχεται για κάθε διαπιστευμένο χρήστη Student. Σε επίπεδο χρήστη, μέσω της ειδικής προβολής My Tests and Results ο χρήστης Student μπορεί να δει ποια τεστ του έχουν ανατεθεί, αλλά και τα αποτελέσματα των τεστ που έχει ολοκληρώσει. Ο μαθητής έχει την δυνατότητα να επιλέξει το τεστ που του έχει ανατεθεί και να μεταφερθεί στην ειδική φόρμα Take Test, όπου και συμπληρώνει τις απαντήσεις του. Η επιλογή του τεστ από τον μαθητή γίνεται μέσα από τον τίτλο του τεστ. Ο τίτλο αυτός αποτελεί ένα δυναμικό url όπου συνθέτεται στην λειτουργικότητα του take_test module. Η λειτουργία αυτή επιτυγχάνεται μέσω των δυνατοτήτων του menu system του Drupal όπως αναφέρθηκε στο κεφάλαιο 3.4 σε συνδυασμό με το Views module. Στην Εικόνα 37 Πίνακας αναθέσεων και αποτελεσμάτων φαίνονται οι πίνακες που εμφανίζονται στους μαθητές. -65-

70 Εικόνα 37 Πίνακας αναθέσεων και αποτελεσμάτων Η προβολή αυτή αποτελεί μια Drupal View με τις κατάλληλες ρυθμίσεις, ώστε να εμφανίζει αν υπάρχουν τόσο τα ολοκληρωμένα τεστ όσο και αυτά που δεν έχουν ολοκληρωθεί ακόμα. Κατά την ολοκλήρωση του τεστ γίνεται αυτόματα ο υπολογισμός του αποτελέσματος βγάζοντας το μήνυμα Passed σε περίπτωση επιτυχίας ή Failed σε περίπτωση αποτυχίας. Για να επιτευχθεί η περίπτωση της επιτυχίας πρέπει ο μαθητής να απαντήσει επιτυχώς τουλάχιστον στις μισές ερωτήσεις. Η διαθέσιμη φόρμα συμπλήρωσης ενός τεστ έχει την μορφή πολλαπλών επιλογών όπου ο μαθητής επιλέγει ποια θεωρεί σωστή απάντηση. Στην Εικόνα 38 φαίνεται η μορφή που έχει ένα τεστ όταν συμπληρώνεται από τον μαθητή.

71 Εικόνα 38 Μορφή ενός τεστ Προγραμματιστικά η συγκεκριμένη φόρμα βρίσκεται στο custom module Custom Create Test. Αποτελείται από μια φόρμα που εμφανίζεται ανάλογα με τις παραμέτρους (arguments) που έχει κάθε φορά το συγκεκριμένο url, ελέγχοντας παράλληλα αν ο χρήστης που προσπαθεί να δει αυτή την σελίδα είναι ο κατάλληλος. Για παράδειγμα αν ένας μαθητής έχει ολοκληρώσει μια φορά κάποιο τεστ τότε δεν του επιτρέπεται η πρόσβαση στην σελίδα του τεστ. Στην Εικόνα 39 φαίνεται ο κώδικας που χρησιμοποιήθηκε για τους απαραίτητους ελέγχους. -67-

72 Εικόνα 39 Κώδικας για την πρόσβαση στην φόρμα take test Κατά στο στάδιο υποβολής (submit) της φόρμας πραγματοποιείται η διαδικασία υπολογισμού των αποτελεσμάτων. Η συγκεκριμένη λειτουργικότητα μετράει όλες τις ερωτήσεις που έχει το τεστ καθώς και τις σωστές απαντήσεις που έχει δώσει ο μαθητής υπολογίζοντας κάθε φορά το αποτέλεσμα.

73 Στη συνέχεια γίνεται η δημιουργία του περιεχομένου Result με τις κατάλληλες πληροφορίες και αποτελέσματα. Ολοκληρώνεται η διαδικασία με τη διαγραφή του περιεχομένου Assignment ώστε να μην εμφανίζεται το τεστ στην προβολή My Assignments και να μην γεμίζει η βάση δεδομένων με πολλές και άχρηστες λειτουργίες. Στην συνέχεια στην Εικόνα 40 φαίνεται ο κώδικας που πραγματοποιεί την υποβολή της φόρμας. Εικόνα 40 Κώδικας για την υποβολή της φόρμας take test -69-

74 5.1.3 Content Types Στην συνέχεια παρουσιάζονται και αναλύονται τα Content Type που χρησιμοποιήθηκαν στην εφαρμογή. Assignment Αναφέρεται στην ανάθεση ενός τεστ, με την έννοια ότι για να συμπληρωθεί ένα τεστ είναι απαραίτητο να έχει γίνει μια ανάθεση από κάποιον χρήστη προς κάποιον άλλο. Στην Εικόνα 41 φαίνονται τα πεδία που περιλαμβάνει ένα Assignment μέσα από το γραφικό περιβάλλον του Drupal. Εικόνα 41 Πεδία του Content Type Assignment Τα πεδία από τα οποία αποτελείται είναι τα παρακάτω: Title: Αναφέρεται στο όνομα που θα έχει η ανάθεση. Test name: Αναφέρεται στο όνομα του τέστ που θέλει ο χρήστης να αναθέσει. To User : Αναφέρεται στον χρήστη που του ανατίθεται ένα τέστ. From User : Αναφέρεται στον χρήστη που αναθέτει ένα τέστ. Test Αποτελεί το τεστ, και αναπαριστά την μορφή που έχουν τα τεστ κατά την αποθήκευσή τους στην βάση δεδομένων. Για την δημιουργία του συγκεκριμένου Content Type είναι απαραίτητη η λειτουργικότητα που προσφέρει το Field Collection module, που αναφέρθηκε στο κεφάλαιο 3.4. Η γραφική απεικόνιση των πεδίων φαίνεται στην Εικόνα 42.

75 Εικόνα 42 Πεδία του Content Type Test Τα πεδία από τα οποία αποτελείται ένα τεστ είναι τα παρακάτω: Title: Αναφέρεται στο όνομα που θα έχει το τεστ. Description: Αποτελεί κείμενο και αναφέρεται σε μια περιγραφή. Test Collection: Αναφέρεται στην συλλογή από τα παρακάτω πεδία.η γραφική απεικόνιση φαίνεται στην εικόνα Εικόνα 43 Εικόνα 43 Πεδία του Field Collection Test Question id: Το id της ερώτησης. Question: Η ερώτηση που έδωσε ο καθηγητής. Answers Collection: Αναφέρεται στην συλλογή από τα παρακάτω πεδία. Η γραφική απεικόνιση φαίνεται στην εικόνα Εικόνα 44. Εικόνα 44 Πεδία του Field Collection Answers Answer id: Το id της απάντησης. Answer: Η απάντηση που έδωσε ο καθηγητής. Correct Answer: Αποτελεί κείμενο και αναφέρεται στο αν η απάντηση αυτή είναι η σωστή. -71-

76 Result Το συγκεκριμένο Content Type αναφέρεται στα αποτελέσματα ενός μαθητή. Η γραφική απεικόνιση φαίνεται στην Εικόνα 45. Εικόνα 45 Πεδία του Content Type Result Τα πεδία από τα οποία αποτελείται ένα result είναι τα παρακάτω: Title: Αναφέρεται στο όνομα που θα έχει το αποτέλεσμα. All Questions: Αποτελεί τον συνολικό αριθμό των ερωτήσεων. Correct Answers: Αποτελεί τον συνολικό αριθμό των σωστά απαντημένων ερωτήσεων. Result: Αποτελεί το κείμενο που έχει το αποτέλεσμα (Passed/Failed). State: Αποτελεί λεκτικό και αποτελεί την κατάσταση που βρίσκεται το τεστ (Finished). From User: Από ποιον χρήστη έχει ανατεθεί το τεστ. News Αναφέρεται στο περιεχόμενο που θα έχει μια είδηση. Η γραφική απεικόνιση των πεδίων φαίνεται στην Εικόνα 46.

77 Εικόνα 46 Πεδία του Content Type News Αποτελείται από τα παρακάτω πεδία. Title: Αναφέρεται στο όνομα που θα έχει η είδηση Image: Αποτελεί την εικόνα της είδησης. Body: Αποτελεί κείμενο και αναφέρεται σε μια περιγραφή. Weight: Πεδίο μη ορατό στον χρήστη, αποτελεί έναν ακέραιο αριθμό που χρησιμοποιείται για ταξινόμιση. Our Team Αναφέρεται στο περιεχόμενο που θα έχει ένα μέλος της ομάδας. Η γραφική απεικόνιση των πεδίων φαίνεται στην Εικόνα 47 Εικόνα 47 Πεδία του Content Type Our Team Αποτελείται από τα παρακάτω πεδία. Title: Αναφέρεται στο όνομα που θα έχει το άτομο της ομάδας. Image: Αποτελεί την εικόνα για κάθε άτομο. Body: Αποτελεί κείμενο και αναφέρεται σε μια περιγραφή. -73-

78 Front Slider Αναφέρεται στο Περιεχόμενο που θα έχει το Slider της αρχικής σελίδας. Η γραφική απεικόνιση των πεδίων φαίνεται στην Εικόνα 48. Εικόνα 48 Πεδία του Content Type Front Slider Αποτελείται από τα παρακάτω πεδία. Title: Αναφέρεται στο όνομα που θα έχει το Slide. Image: Αποτελεί την εικόνα της είδησης. Weight: Πεδίο μη ορατό στον χρήστη, αποτελεί έναν ακέραιο αριθμό που χρησιμοποιείται για ταξινόμιση. System Page Αναφέρεται στο Περιεχόμενο που θα έχει μια σελίδα του συστήματος. Η γραφική απεικόνιση των πεδίων φαίνεται στην Εικόνα 49 Πεδία του Content Type System Page Αποτελείται από τα παρακάτω πεδία. Title: Αναφέρεται στο όνομα που θα έχει το άτομο της ομάδας. Image: Αποτελεί την εικόνα για κάθε άτομο. Body: Αποτελεί κείμενο και αναφέρεται σε μια περιγραφή.

79 5.1.4 Views Για τις περισσότερες προβολές περιεχομένου χρησιμοποιήθηκε το Views module με σκοπό να ομαδοποιήσει περιεχόμενα παρόμοιου τύπου αλλά και να επιτρέπει την αλληλεπίδραση του χρήστη με το σύστημα. Επιπλέον συμμετέχει ταυτόχρονα, τόσο στο στάδιο της λειτουργικότητας όσο και στο στάδιο της εμφάνισης αφού επιτρέπει στον προγραμματιστή να βάλει css κλάσεις που βοηθούν στην τροποποίηση της εμφάνισης. Στη συνέχεια παρουσιάζονται οι Views που δημιουργήθηκαν. Our Team Εικόνα 50 View: Our Team Εμφανίζει σε αύξουσα σειρά όλα τα επιλεγμένα πεδία των περιεχομένων τύπου Our Team, και είναι διαθέσιμη στην σελίδα /our-team Εικόνα

80 Επιλέχθηκαν τα πεδία Image, Title, Body και ένα επιπλέον πεδίο Custom Test για το λεκτικό Read more. Για την ευκολία σε επίπεδο εμφάνισης έχει προστεθεί σε κάθε πεδίο μια css κλάση. Η Ταξινόμηση στηρίζεται στο πεδίο Weight του συγκεκριμένου Content Type κατά αύξουσα σειρά. News Εικόνα 51 View: News Εμφανίζει όλα τα επιλεγμένα πεδία των περιεχομένων τύπου Our News. Αποτελεί μια σελίδα που σκοπό έχει να ενημερώνει των χρήστη σε διάφορα θέματα Εικόνα 51.

81 Recent News Εμφανίζει ακριβώς τα τρία τελευταία περιεχόμενα που δημιουργήθηκαν τύπου Our News. Αποτελεί ένα block που φαίνεται στην αρχική σελίδα και σκοπό έχει να ενημερώνει τους χρήστες για τα τελευταία νέα που ανάρτησε η επιχείρηση. -77-

82 Custom Products View Εικόνα 52 View: Custom Products Εμφανίζει όλα τα επιλεγμένα πεδία των περιεχομένων τύπου Προϊόντα προσθέτοντας τις κατάλληλες κλάσεις για την τροποποίηση της εμφάνισης. Στη σελίδα αυτή παρουσιάζονται όλα τα διαθέσιμα προϊόντα όπου ο χρήστης μπορεί να προσθέσει στο καλάθι του και να τα αγοράσει Εικόνα 52.

83 Professor Tests Εικόνα 53 View: Professor Tests Εμφανίζει μόνο για τους χρήστες με ρόλο Professor, όλα εκείνα τα τεστ που έχουν δημιουργηθεί από τον συνδεδεμένο χρήστη. Επιπλέον επιτρέπει στον χρήστη μέσω ενός ειδικού φίλτρου να διαγράψει όποια εγγραφή επιθυμεί. Συνθέτει την σελίδα των δημιουργημένων τεστ ενός καθηγητή Εικόνα

84 View Test Results Εμφανίζει μόνο για τους χρήστες με ρόλο Professor, όλα τα αποτελέσματα των μαθητών που έχουν ολοκληρώσει ένα τεστ και έχουν ανατεθεί από τον συνδεδεμένο χρήστη. Για την συγκεκριμένη λειτουργικότητα ήταν απαραίτητη η χρήση Relationships, που δημιουργεί τα κατάλληλα SQL Join ερωτήματα για την χρήση ειδικών φίλτρων. Επιπλέον επιτρέπει στον χρήστη μέσω ενός ειδικού πεδίου να διαγράψει όποια εγγραφή επιθυμεί.

85 Student Tests Εικόνα 54 View: Student Tests Είναι μια σελίδα που εμφανίζει όλα τα περιεχόμενα τύπου Result τα οποία έχουν δημιουργηθεί από τον συνδεδεμένο χρήστη. Συνθέτει τον πίνακα που δείχνει τα αποτελέσματα για τον μαθητή Εικόνα

86 Assignments Εικόνα 55 View: Assignment Είναι ένα block που εμφανίζει όλα τα περιεχόμενα τύπου Assignment όπου το πεδίο To User είναι ο συνδεδεμένος χρήστης. Συνθέτει τον πίνακα που δείχνει στον μαθητή ποια τεστ του έχουν ανατεθεί και πρέπει να συμπληρώσει. Βρίσκεται στην ίδια σελίδα με τα αποτελέσματα του μαθητή Εικόνα 55.

87 Front Slider Εικόνα 56 View: Front Slider Εμφανίζει όλα τα περιεχόμενα τύπου Front Slider που σε συνδυασμό με την λειτουργικότητα του FSlider module συνθέτουν το Slider της αρχικής σελίδας Εικόνα

88 5.2 Στάδιο Εμφάνισης Για το στάδιο της εμφάνισης χρησιμοποιήθηκε ως βάση το Adaptive Theme που παρέχεται από την κοινότητα του Drupal στο Στη συνέχεια ακολουθεί ο τρόπος δημιουργίας ενός subtheme για την συγκεκριμένη εφαρμογή Δημιουργία subtheme και ρυθμίσεων Για της ανάγκες εμφάνισης της συγκεκριμένης εφαρμογής χρησιμοποιήθηκε ως βασικό Theme το Drupal theme με όνομα AdaptiveTheme, το οποίο και διανέμεται ελεύθερα από την κοινότητα του Drupal. Το όνομα του subtheme είναι Edge και βρίσκεται στο μονοπάτι sites/all/themes/adaptivetheme/at_edge. Στην παρακάτω εικόνα Εικόνα 57 φαίνονται όλα τα αρχεία και φάκελοι αρχείων που βρίσκονται στον φάκελο του Edge theme. Εικόνα 57 Φάκελος Edge Theme Η διαδικασία σύνθεσης ενός Theme αρχίζει από την δημιουργία του αρχείου edge.info. Στο συγκεκριμένο αρχείο περιλαμβάνονται γενικές πληροφορίες για το όνομα του theme, την περιγραφή του, τον Drupal πυρήνα από τον οποίο μπορεί να αναγνωριστεί αλλά και περισσότερες πληροφορίες οι οποίες αναλύονται στη συνέχεια.

89 Σε αυτό το αρχείο δηλώνονται τα βασικά δομικά συστατικά του theme, τα λεγόμενα Regions τα οποία αποτελούν και τις βασικές περιοχές εμφάνισης των δεδομένων του ισότοπου. Εφόσον δηλωθούν είναι πλέον ορατά από το σύστημα του Drupal και μπορούν να χρησιμοποιηθούν ως μεταβλητές. Επιπλέον σε αυτό το αρχείο δηλώνονται όλα τα αρχεία css τα οποία χρησιμοποιούνται για την τροποποίηση της εμφάνισης. Το Adaptive Theme περιλαμβάνει ένα γραφικό περιβάλλον διαχείρισης ρυθμίσεων της συμπεριφοράς του Theme. Οι δηλώσεις αυτών των ρυθμίσεων βρίσκονται και αυτές στο edge.info αρχείο. Το γραφικό περιβάλλον για αυτές τις ρυθμίσεις βρίσκεται στο και φαίνεται στην παρακάτω εικόνα Εικόνα 58. Εικόνα 58 Φόρμα Ρυθμίσεων του Theme Οι ρυθμίσεις αυτές καθορίζουν ποια αρχεία css θα χρησιμοποιηθούν, σε ποιόν φάκελο θα σώζονται τα αρχεία του theme και επιπλέον ρυθμίσεις για τα όρια (break points) του responsive design. Δηλαδή το πλάτος των διάφορων οθονών που θα χρησιμοποιηθούν -85-

90 για την αναπαράσταση των δεδομένων του ισότοπου. Επιπλέον συμπεριλαμβάνονται ρυθμίσεις για το λογότυπο της εφαρμογής και το favicon. Το επόμενο και πολύ βασικό αρχείο που συμβάλει στον τρόπο διαμόρφωσης της εμφάνισης είναι το αρχείο page.tpl.php. Το αρχείο αυτό περιλαμβάνει κυρίως html κώδικα για την βασική δομή, αλλά και php κώδικα ο οποίος προσθέτει ευελιξία και λογική στην σύνθεση της εμφάνισης. Πιο συγκεκριμένα με την χρήση της html γίνεται η σύνθεση της δομής των βασικών δομικών στοιχείων και με την χρήση php συμπεριλαμβάνονται οι μεταβλητές των δομικών στοιχείων καθώς και σημεία απόφασης εμφάνισης κάποιον μεταβλητών. Ο κύριος ρόλος αυτού του αρχείου είναι να κάνει override την βασική δομή εμφάνισης του Drupal. Η δομή αυτή βρίσκεται στον πυρήνα του Drupal και μπορεί να παρακαμφθεί από το theming σύστημα του Drupal όπως προαναφέρθηκε και στο Κεφάλαιο 3.7. Με τον τρόπο αυτό είναι εφικτός ένας διαφορετικός τρόπος εμφάνισης των διάφορων συστατικών του ισότοπου. Η δομή αυτή μπορεί να γίνει αντιληπτή από έναν προγραμματιστή χρησιμοποιώντας το εργαλείο firebug, το οποίο μπορεί να αναγνωρίσει τον τρόπο με τον οποίο είναι δομημένη μια Html σελίδα. Η παρακάτω εικόνα Εικόνα 59 Δομικά στοιχεία μιας σελίδας μέσα από το Firebug δείχνει ένα στιγμιότυπο δομής μιας σελίδας της εφαρμογής με την δομή των region όπως αυτά δηλώθηκαν στο page.tpl.php αρχείο.

91 Εικόνα 59 Δομικά στοιχεία μιας σελίδας μέσα από το Firebug Μέσα στα regions περιλαμβάνονται μικρότερα δομικά στοιχεία όπως blocks και views με της δικές τους κλάσεις για την εύκολη τροποποίηση τους. Στον φάκελο του Edge Theme υπάρχει ένας φάκελος με το όνομα css ο οποίος περιλαμβάνει όλα τα css αρχεία, αλλά και ένας φάκελος με το όνομα sass ο οποίο περιλαμβάνει τα scss αρχεία που συμβάλουν στη τροποποίηση της εμφάνισης. Ο κώδικας που υπάρχει μέσα στα.scss αρχεία είναι και αυτός που χρησιμοποιήθηκε για την τροποποίηση της εμφάνισης και ο οποίος μεταγλωττίστηκε στα αντίστοιχα css αρχεία με την βοήθεια του Compass όπως αναφέρεται και στο κεφάλαιο 4.4 Sass και Compass. Οι ρυθμίσεις για την χρήση sass και compass άλλα και για την μεταγλώττιση βρίσκονται στο αρχείο config.rb. Για λόγους εύκολης ανάγνωσης αλλά και σωστής ταξινόμησης του κώδικα, τα scss αρχεία που έχουν δημιουργηθεί περιλαμβάνουν τροποποίηση εμφάνισης ανά κατηγορία. Για τις ανάγκες τις συγκεκριμένης εφαρμογής προστέθηκαν τα αρχεία που βρίσκονται στην παρακάτω λίστα. _variables_function.scss: Αυτό το αρχείο περιλαμβάνει μεταβλητές που χρησιμοποιούνται στα επόμενα αρχεία περισσότερο από μια φορές (όπως τιμές χρωμάτων και μεγέθη πλατών) -87-

92 καθώς και τα δημοφιλή mixins της scss μορφής. Με την χρήση αυτού του αρχείου επιτυγχάνεται η βελτίωση της απόδοσης, η επεκτασιμότητα και η εύκολη τροποποίηση της εμφάνισης του ισότοπου. Επιπλέον εισάγει λογική στον τρόπο διαχείρισης της εμφάνισης και αποτρέπει την επανάληψη κώδικα. Το περιεχόμενο αυτού του αρχείου χρησιμοποιείται σε όλα τα επόμενα αρχεία της λίστας που ακολουθεί. Αυτό επιτυγχάνεται με την εντολή include της sass μορφής στην αρχή κάθε αρχείου. extras.scss: Σε αυτό το αρχείο περιλαμβάνονται όλες οι τροποποιήσεις εμφάνισης των δεδομένων του ισότοπου. Για παράδειγμα η μορφή της σελίδας των προϊόντων, της ομάδας και των νέων. responsive.custom.scss Ο κώδικας που περιέχεται σε αυτό το αρχείο είναι υπεύθυνος για την responsive εμφάνιση των σελίδων της εφαρμογής. Δηλαδή καθορίζει την αναπαράσταση των δεδομένων στα διάφορα μεγέθη οθονών, όπως tablet και κινητά τηλέφωνα. Στην παρακάτω Εικόνα 60 φαίνονται τα περιεχόμενα του φακέλου sass. Συμπεριλαμβάνει τόσο τα αρχεία που έχει ήδη το adaptive theme του Drupal, αλλά και τα custom αρχεία που προστέθηκαν για τις ανάγκες τροποποίησης εμφάνισης της εφαρμογής.

93 Εικόνα 60 Περιεχόμενα του Sass φακέλου Εδώ είναι απαραίτητο να σημειωθεί ότι τα αρχεία που δημιουργούνται με την εγκατάσταση του Adaptive Theme δεν περιέχουν κάποιο κώδικα που τροποποιεί την εμφάνιση, απλά βοηθούν στην δημιουργία δομημένου κώδικα. Σωστή πρακτική προγραμματισμού για το Drupal δεν συμπεριλαμβάνει την διαγραφή ξένου κώδικα. -89-

94 6 Μελλοντικές Εξελίξεις Τα τελευταία χρόνια καθώς το Drupal γινόταν ολοένα και περισσότερο γνωστό η αναζήτηση προσωπικού από τις εταιρείες για Drupal Development γινόταν όλο και πιο έ- ντονη. Δίνοντας την ευκαιρία σε πολλούς Drupal προγραμματιστές να δουλεύουν σε πολλά και ενδιαφέροντα project. Όμως για έναν προγραμματιστή η επιλογή εκμάθησης Drupal και του μοναδικού τρόπου λειτουργίας που έχει υιοθετήσει δεν συμβαδίζει με άλλες σύγχρονες τεχνολογίες που χρησιμοποιούνται στην δημιουργία διαδικτυακών εφαρμογών. Περιορίζοντας με αυτόν τον τρόπο τους Drupal προγραμματιστές να είναι εξιδανικευμένοι μόνο για το Drupal. Για παράδειγμα όλες οι σύγχρονες τεχνικές προγραμματισμού χρησιμοποιούν την λογική του αντικειμενοστραφή προγραμματισμού OOP(Object Oriented Programming), το Drupal αποφάσισε να μείνει εκτός αυτής της λογικής. Καθώς ο χρόνος περνάει και οι τεχνολογίες στον χώρο του διαδικτύου ολοένα και περισσότερο εξελίσσονται, η κοινότητα του Drupal αποφάσισε ότι το σύστημα της δεν θα πρέπει να μείνει πίσω. Όλοι οι προγραμματιστές υπεύθυνοι για την εξέλιξη του Drupal, δούλεψαν πολύ για να καταφέρουν να υλοποιήσουν μια καινούργια έκδοση, το Drupal 8, στο οποίο υιοθετείται η αντικειμενοστραφή λογική (OOP) και κάνει έναν Drupal προγραμματιστή πιο σύγχρονο και ταυτόχρονα εξελίξιμο.

95 Εικόνα 61 Στο Drupal 8, πολλά συστατικά που είχε το Drupal 7 αντικαταστάθηκαν από βιβλιοθήκες. Συγκεκριμένα η καινούργια έκδοση ενσωματώνεται η λογική του γνωστού Symfony framework σε μια νέα και πολύ υποσχόμενη πλευρά προγραμματισμού. Σήμερα έχει βγει μια Beta έκδοση του Drupal 8 και αναμένεται μια stable έκδοση μέσα στο 2015, παροτρύνοντας ολοένα και περισσότερους προγραμματιστές να ασχοληθούν με Drupal. -91-

96 6.1 Βιβλιογραφία [1] Drupal8, Επίσημη ιστοσελίδα του Drupal διαθέσιμο στο [ ] [2] Improved Drupal 8, Επίσημη ιστοσελίδα του Drupal διαθέσιμο στο [ ]

97 Παράρτημα Α Σε εγκατάσταση στο λειτουργικό σύστημα Ubuntu Linux 13.10, χρειάζονται επιπλέον ρυθμίσεις για το phpmyadmin, για το /etc/phpmyadmin/config.inc.php αρχείο καθώς και η δημιουργία της βάσης δεδομένων phpmyadmin. Δημιουργία βάσης δεδομένων phpmyadmin και η εισαγωγή των πινάκων γίνεται μέσω SQL ερωτημάτων. Παρακάτω παρατίθεται ο απαιτούμενος κώδικας με αναλυτικές οδηγίες. Αρχικά απαιτείται η δημιουργία ενός νέου χρήστη με όνομα pma και δικαιώματα SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, FILE, INDEX, ALTER, CREATE TEMPORARY TABLES, CREATE VIEW, EVENT, TRIGGER, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EXECUTE για την βάση δεδομένων phpmyadmin. Συνιστάται ο συγκεκριμένος χρήστης να έχει πρόσβαση μόνο σε αυτή την βάση δεδομένων. Κώδικας SQL για τη δημιουργία βάσης δεδομένων από την πηγή και οδηγίες από την πηγή

98 CREATE DATABASE IF NOT EXISTS `phpmyadmin` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; USE phpmyadmin; CREATE TABLE IF NOT EXISTS `pma bookmark` ( `id` int(11) NOT NULL auto_increment, `dbase` varchar(255) NOT NULL default '', `user` varchar(255) NOT NULL default '', `label` varchar(255) COLLATE utf8_general_ci NOT NULL default '', `query` text NOT NULL, PRIMARY KEY (`id`) ) COMMENT='Bookmarks' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; CREATE TABLE IF NOT EXISTS `pma column_info` ( `id` int(5) unsigned NOT NULL auto_increment, `db_name` varchar(64) NOT NULL default '', `table_name` varchar(64) NOT NULL default '', `column_name` varchar(64) NOT NULL default '', `comment` varchar(255) COLLATE utf8_general_ci NOT NULL default '', `mimetype` varchar(255) COLLATE utf8_general_ci NOT NULL default '', `transformation` varchar(255) NOT NULL default '', `transformation_options` varchar(255) NOT NULL default '', PRIMARY KEY (`id`), UNIQUE KEY `db_name` (`db_name`,`table_name`,`column_name`) ) COMMENT='Column information for phpmyadmin' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; CREATE TABLE IF NOT EXISTS `pma history` ( `id` bigint(20) unsigned NOT NULL auto_increment, `username` varchar(64) NOT NULL default '', `db` varchar(64) NOT NULL default '', `table` varchar(64) NOT NULL default '', `timevalue` timestamp NOT NULL, `sqlquery` text NOT NULL, PRIMARY KEY (`id`), KEY `username` (`username`,`db`,`table`,`timevalue`) ) COMMENT='SQL history for phpmyadmin' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; CREATE TABLE IF NOT EXISTS `pma pdf_pages` ( `db_name` varchar(64) NOT NULL default '', `page_nr` int(10) unsigned NOT NULL auto_increment, `page_descr` varchar(50) COLLATE utf8_general_ci NOT NULL default '', PRIMARY KEY (`page_nr`), KEY `db_name` (`db_name`) ) COMMENT='PDF relation pages for phpmyadmin' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; CREATE TABLE IF NOT EXISTS `pma recent` ( `username` varchar(64) NOT NULL, `tables` text NOT NULL,

99 PRIMARY KEY (`username`) ) COMMENT='Recently accessed tables' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; CREATE TABLE IF NOT EXISTS `pma favorite` ( `username` varchar(64) NOT NULL, `tables` text NOT NULL, PRIMARY KEY (`username`) ) COMMENT='Favorite tables' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; CREATE TABLE IF NOT EXISTS `pma table_uiprefs` ( `username` varchar(64) NOT NULL, `db_name` varchar(64) NOT NULL, `table_name` varchar(64) NOT NULL, `prefs` text NOT NULL, `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`username`,`db_name`,`table_name`) ) COMMENT='Tables'' UI preferences' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; CREATE TABLE IF NOT EXISTS `pma relation` ( `master_db` varchar(64) NOT NULL default '', `master_table` varchar(64) NOT NULL default '', `master_field` varchar(64) NOT NULL default '', `foreign_db` varchar(64) NOT NULL default '', `foreign_table` varchar(64) NOT NULL default '', `foreign_field` varchar(64) NOT NULL default '', PRIMARY KEY (`master_db`,`master_table`,`master_field`), KEY `foreign_field` (`foreign_db`,`foreign_table`) ) COMMENT='Relation table' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; CREATE TABLE IF NOT EXISTS `pma table_coords` ( `db_name` varchar(64) NOT NULL default '', `table_name` varchar(64) NOT NULL default '', `pdf_page_number` int(11) NOT NULL default '0', `x` float unsigned NOT NULL default '0', `y` float unsigned NOT NULL default '0', PRIMARY KEY (`db_name`,`table_name`,`pdf_page_number`) ) COMMENT='Table coordinates for phpmyadmin PDF output' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; CREATE TABLE IF NOT EXISTS `pma table_info` ( `db_name` varchar(64) NOT NULL default '', `table_name` varchar(64) NOT NULL default '', `display_field` varchar(64) NOT NULL default '', PRIMARY KEY (`db_name`,`table_name`) ) COMMENT='Table information for phpmyadmin' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; CREATE TABLE IF NOT EXISTS `pma designer_coords` ( `db_name` varchar(64) NOT NULL default '', -95-

100 `table_name` varchar(64) NOT NULL default '', `x` INT, `y` INT, `v` TINYINT, `h` TINYINT, PRIMARY KEY (`db_name`,`table_name`) ) COMMENT='Table coordinates for Designer' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; CREATE TABLE IF NOT EXISTS `pma tracking` ( `db_name` varchar(64) NOT NULL, `table_name` varchar(64) NOT NULL, `version` int(10) unsigned NOT NULL, `date_created` datetime NOT NULL, `date_updated` datetime NOT NULL, `schema_snapshot` text NOT NULL, `schema_sql` text, `data_sql` longtext, `tracking` set('update','replace','insert','delete','truncate','create DATABASE','ALTER DATABASE','DROP DATABASE','CREATE TABLE','ALTER TABLE','RENAME TABLE','DROP TABLE','CREATE INDEX','DROP INDEX','CREATE VIEW','ALTER VIEW','DROP VIEW') default NULL, `tracking_active` int(1) unsigned NOT NULL default '1', PRIMARY KEY (`db_name`,`table_name`,`version`) ) COMMENT='Database changes tracking for phpmyadmin' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; CREATE TABLE IF NOT EXISTS `pma userconfig` ( `username` varchar(64) NOT NULL, `timevalue` timestamp NOT NULL, `config_data` text NOT NULL, PRIMARY KEY (`username`) ) COMMENT='User preferences storage for phpmyadmin' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; CREATE TABLE IF NOT EXISTS `pma users` ( `username` varchar(64) NOT NULL, `usergroup` varchar(64) NOT NULL, PRIMARY KEY (`username`,`usergroup`) ) COMMENT='Users and their assignments to user groups' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; CREATE TABLE IF NOT EXISTS `pma usergroups` ( `usergroup` varchar(64) NOT NULL, `tab` varchar(64) NOT NULL, `allowed` enum('y','n') NOT NULL DEFAULT 'N', PRIMARY KEY (`usergroup`,`tab`,`allowed`) ) COMMENT='User groups with configured menu items' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; CREATE TABLE IF NOT EXISTS `pma navigationhiding` ( `username` varchar(64) NOT NULL, `item_name` varchar(64) NOT NULL, `item_type` varchar(64) NOT NULL, `db_name` varchar(64) NOT NULL, `table_name` varchar(64) NOT NULL,

101 PRIMARY KEY (`username`,`item_name`,`item_type`,`db_name`,`table_name`) ) COMMENT='Hidden items of navigation tree' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; CREATE TABLE IF NOT EXISTS `pma savedsearches` ( `id` int(5) unsigned NOT NULL auto_increment, `username` varchar(64) NOT NULL default '', `db_name` varchar(64) NOT NULL default '', `search_name` varchar(64) NOT NULL default '', `search_data` text NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `u_savedsearches_username_dbname` (`username`,`db_name`,`search_name`) ) COMMENT='Saved searches' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; Στη συνέχεια απαιτείται η τροποποίηση του etc/phpmyadmin/config.inc.php αρχείου όπως φαίνεται στην παρακάτω εικόνα Εικόνα 62. Εικόνα 62 Περιεχόμενα αρχείου config.inc.php Στην παρακάτω εικόνα φαίνεται το περιβάλλον phpmyadmin. Στα δεξιά φαίνονται οι χρήστες και στα αριστερά η δομή της βάσης δεδομένων. -97-

102 μην πειράζετε κάτω από εδώ θα χαλάσει η σελιδοποίηση!

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

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress ΚΟΤΣΟΓΙΑΝΝΙΔΗΣ ΛΑΖΑΡΟΣ Επιβλέπων καθηγητής Σφέτσος Παναγιώτης ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ Ως Ηλεκτρονικό Εμπόριο ή

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

Φορολογική Βιβλιοθήκη. Θανάσης Φώτης Προγραμματιστής Εφαρμογών

Φορολογική Βιβλιοθήκη. Θανάσης Φώτης Προγραμματιστής Εφαρμογών Φορολογική Βιβλιοθήκη Θανάσης Φώτης Προγραμματιστής Εφαρμογών Το έργο Η φορολογική βιβλιοθήκη πρόκειται για ένα έργο που φιλοδοξεί να αποτελέσει σημαντικό βοήθημα για τον επαγγελματία λογιστή και όχι μόνο.

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

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

ΠΡΟΣΤΑΣΙΑ ΠΡΟΣΩΠΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΘΩΣ ΚΑΙ ΣΤΟ ΔΙΑΔΙΚΤΥΟ ΠΡΟΣΤΑΣΙΑ ΠΡΟΣΩΠΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΘΩΣ ΚΑΙ ΣΤΟ ΔΙΑΔΙΚΤΥΟ ΔΙΑΔΙΚΤΥΟ Το διαδίκτυο προσφέρει: Μετατροπή των δεδομένων σε ψηφιακή - ηλεκτρονική μορφή. Πρόσβαση

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

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

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

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

QEMS TUTORIAL CRM. Οδηγίες για το νέο πρωτοποριακό πρόγραμμα της QEMS.

QEMS TUTORIAL CRM. Οδηγίες για το νέο πρωτοποριακό πρόγραμμα της QEMS. QEMS TUTORIAL CRM Οδηγίες για το νέο πρωτοποριακό πρόγραμμα της QEMS. ΕΚΔΟΣΗ 1.0.1 + 26/6/2014 ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΗ... 2 LOGIN... 3 δικαιωματα ΕΦΑΡΜΟΓΗς... 4 ΙΔΙΟΚΤΗΤΗΣ... 4 ADMIN / MANAGER... 4 ΥΠΑΛΗΛΟΣ...

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

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

Σύστημα διαχείρισης περιεχομένου (Content Management System) Τι είναι ένα CMS Σύστημα διαχείρισης περιεχομένου (Content Management System) Λογισμικό το οποίο χρησιμοποιείται για την οργάνωση, ταξινόμηση και αρχειοθέτηση πληροφορίας Χρησιμοποιούνται για τη δημιουργία

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

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

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

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

ΕΡΓΑΣΙΑ. (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών)

ΕΡΓΑΣΙΑ. (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών) ΕΡΓΑΣΙΑ (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών) Τίτλος: Εφαρμογή Διαδικτύου Ηλεκτρονικού Καταστήματος Ζητούμενο: Να αναπτυχθεί web εφαρμογή,

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

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

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

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

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

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

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

Αρχίζοντας. Το Joomla τρέχει: Στο Joomla μπορούμε να προσθέσουμε επιπλέον λειτουργικότητα, να την επεκτείνουμε δηλαδή (extensions) PHP MySql

Αρχίζοντας. Το Joomla τρέχει: Στο Joomla μπορούμε να προσθέσουμε επιπλέον λειτουργικότητα, να την επεκτείνουμε δηλαδή (extensions) PHP MySql Php και Joomla Ψηφιακό Περιεχόμενο & Επικοινωνίες Αρχίζοντας Το Joomla τρέχει: PHP MySql Στο Joomla μπορούμε να προσθέσουμε επιπλέον λειτουργικότητα, να την επεκτείνουμε δηλαδή (extensions) με την χρήση

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

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

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

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

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

Βασικές Έννοιες Web Εφαρμογών ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Τεχνολογίες και Εφαρμογές Διαδικτύου Βασικές Έννοιες Web Εφαρμογών Κατερίνα Πραματάρη Τεχνολογίες και Εφαρμογές Διαδικτύου Περιεχόμενα

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

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

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

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

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

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

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

Εισαγωγή στη Σχεδίαση Λογισμικού

Εισαγωγή στη Σχεδίαση Λογισμικού Εισαγωγή στη Σχεδίαση Λογισμικού περιεχόμενα παρουσίασης Τι είναι η σχεδίαση λογισμικού Έννοιες σχεδίασης Δραστηριότητες σχεδίασης Σχεδίαση και υποδείγματα ανάπτυξης λογισμικού σχεδίαση Η σχεδίαση του

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

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ.

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. ΚΕΦΑΛΑΙΟ 9 Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. Το 1966 αρχίζει ο σχεδιασμός του ARPANET, του πρώτου

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Ηλεκτρονικό Εμπόριο Αναπτύσσοντας ένα Ηλεκτρονικό Κατάστημα Ηλεκτρονικό Εμπόριο Λειτουργικότητα Εφαρμογής Κατάλογος προϊόντων Καλάθι

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

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

ΜΕΤΑΠΤΥΧΙΑΚΟ ΤΜΗΜΑ ΣΠΟΥ ΩΝ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΜΕΤΑΠΤΥΧΙΑΚΟ ΤΜΗΜΑ ΣΠΟΥ ΩΝ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΜΑΘΗΜΑ:ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ MARKETING ΚΑΘΗΓΗΤΕΣ: κ. A. ΟΙΚΟΝΟΜΙ ΗΣ & κ. Γ.ΣΙΩΜΚΟΣ ΘΕΜΑ ΕΡΓΑΣΙΑΣ: ΠΑΡΟΥΣΙΑΣΗ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ

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

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

Ενσωματωμένα controls τα οποία προσαρμόζονται και χρησιμοποιούνται σε οποιαδήποτε ιστοσελίδα επιλέγει ο φορέας. Η Πυξίδα Απασχόλησης είναι ένα πλήρως παραμετροποιήσιμο portal που απευθύνεται σε Κέντρα Επαγγελματικής Κατάρτισης, Δήμους, Εκπαιδευτικούς Οργανισμούς και Εταιρίες Εύρεσης Εργασίας, με στόχο τόσο την μηχανογράφηση

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

Περιεχόμενο του μαθήματος

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

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

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

Περίληψη Λαμπρόπουλος

Περίληψη Λαμπρόπουλος Περίληψη Λαμπρόπουλος 1. Αντικείμενο και Περιγραφή της Διατριβής H διδακτορική διατριβή με τίτλο «Σχεδιασμός και υλοποίηση συστήματος διαχείρισης και ενοποίησης διαφορετικών ταυτοτήτων χρηστών σε δίκτυα

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

Στοιχεία παρουσίασης. Εισαγωγή Θεωρητικό υπόβαθρο Υλοποίηση λογισμικού μέρους συστήματος Συμπεράσματα Μελλοντικές Επεκτάσεις

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 10. Υπηρεσίες και εφαρμογές Διαδικτύου. ΚΕΦΑΛΑΙΟ 10 Υπηρεσίες και εφαρμογές Διαδικτύου. Α Γενικού Λυκείου

ΚΕΦΑΛΑΙΟ 10. Υπηρεσίες και εφαρμογές Διαδικτύου. ΚΕΦΑΛΑΙΟ 10 Υπηρεσίες και εφαρμογές Διαδικτύου. Α Γενικού Λυκείου Α Γενικού Λυκείου 87 Διδακτικές ενότητες 10.1 Υπηρεσίες Διαδικτύου 10.2 Ο παγκόσμιος ιστός, υπηρεσίες και εφαρμογές Διαδικτύου Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να μπορούν να διακρίνουν

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

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

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

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

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

Διαχείριση Πολιτισμικών Δεδομένων Διαχείριση Πολιτισμικών Δεδομένων Μάθημα 1 Εισαγωγή στις Βάσεις Δεδομένων Τζανέτος Πομόνης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Τι είναι οι Βάσεις

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

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

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

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

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

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ. ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ Ηλεκτρονική Υποβολή Α.Π.Δ. ΠΕΡΙΕΧΟΜΕΝΑ 1) Είσοδος στην εφαρμογή 2) Δημιουργία Περιόδου Υποβολής 2.α) Ακύρωση Περιόδου Υποβολής 3) Μέθοδος Υποβολής: Συμπλήρωση Φόρμας 3.α) Συμπλήρωση

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

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

1 Συστήματα Αυτοματισμού Βιβλιοθηκών 1 Συστήματα Αυτοματισμού Βιβλιοθηκών Τα Συστήματα Αυτοματισμού Βιβλιοθηκών χρησιμοποιούνται για τη διαχείριση καταχωρήσεων βιβλιοθηκών. Τα περιεχόμενα των βιβλιοθηκών αυτών είναι έντυπα έγγραφα, όπως βιβλία

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

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ: ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ: ΘΕΟΔΟΣΙΟΥ ΝΙΚΗ Α.Μ. 103/04 ΠΑΠΑΠΕΤΡΟΥ ΦΩΤΕΙΝΗ Α.Μ. 134/04 Εξεταστική Επιτροπή Επιβλέπουσα Καθηγήτρια : Σατρατζέμη Μαρία, Καθηγήτρια Μέλη : Ευαγγελίδης

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

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

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

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

Νέες τεχνολογίες εισάγονται ή χρησιµοποιούνται

Νέες τεχνολογίες εισάγονται ή χρησιµοποιούνται special report τoυ Γιώργου Φετοκάκη / gfetokakis@boussias.com Jobs scheduling Η χρυσή τοµή της αυτοµατοποίησης Μια λύση job scheduling πρέπει να είναι αρκετά περιεκτική. Πρέπει να υποστηρίζει την ενσωµάτωση

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

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 8: Σχεδίαση Συστήματος Σχεδίαση Συστήματος 2 Διεργασία μετατροπής του προβλήματος σε λύση. Από το Τί στο Πώς. Σχέδιο: Λεπτομερής περιγραφή της λύσης. Λύση:

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

Ασφάλεια Στο Ηλεκτρονικό Εμπόριο. Λάζος Αλέξανδρος Α.Μ. 3530

Ασφάλεια Στο Ηλεκτρονικό Εμπόριο. Λάζος Αλέξανδρος Α.Μ. 3530 Ασφάλεια Στο Ηλεκτρονικό Εμπόριο Λάζος Αλέξανδρος Α.Μ. 3530 Ηλεκτρονικό Εμπόριο Χρησιμοποιείται για να περιγράψει την χρήση τηλεπικοινωνιακών μέσων (κυρίως δικτύων) για κάθε είδους εμπορικές συναλλαγές

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

(Δημιουργία ηλεκτρονικού καταστήματος με την χρήση του Joomla CMS)

(Δημιουργία ηλεκτρονικού καταστήματος με την χρήση του Joomla CMS) Σεμινάριο Ε-shop (Δημιουργία ηλεκτρονικού καταστήματος με την χρήση του Joomla CMS) Σκοπός του προγράμματος: Το σεμινάριο έχει ως σκοπό την εκμάθηση του HikaShop (component του Joomla CMS) για τη δημιουργία

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

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

Σεμινάριο Wordpress CMS (Δημιουργία Δυναμικών Ιστοσελίδων) Σεμινάριο Wordpress CMS (Δημιουργία Δυναμικών Ιστοσελίδων) Τι είναι το Wordpress: To Wordpress είναι ένα δωρεάν ανοικτού κώδικα (open source) λογισμικό (εφαρμογή), με το οποίο μπορεί κάποιος να δημιουργεί

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΜΟΝΤΕΛΑ ΣΥΣΤΗΜΑΤΟΣ Διδάσκων: Γ. Χαραλαμπίδης, Επ. Καθηγητής

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

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

ΠΡΟΔΙΑΓΡΑΦΕΣ ΕΝΟΣ ΗΛΕΚΤΡΟΝΙΚΟΥ ΚΑΤΑΣΤΗΜΑΤΟΣ ΠΡΟΔΙΑΓΡΑΦΕΣ ΕΝΟΣ ΗΛΕΚΤΡΟΝΙΚΟΥ ΚΑΤΑΣΤΗΜΑΤΟΣ Σύμφωνα με όλα τα παραπάνω ο τρόπος ανάπτυξης των ηλεκτρονικών καταστημάτων μπορεί να αναλυθεί με κάποιες συγκεκριμένες προδιαγραφές, οι οποίες μπορεί να είναι

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

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ ΕΝΟΤΗΤΑ 1.1 ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ ΔΙΔΑΚΤΙΚΟI ΣΤOΧΟΙ Στο τέλος της ενότητας αυτής πρέπει να μπορείτε: να επεξηγείτε τις έννοιες «βάση δεδομένων» και «σύστημα διαχείρισης βάσεων δεδομένων» να αναλύετε

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

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

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής Εισαγωγή στις Βάσεις Δεδομένων Εισαγωγή στις Βάσεις Δεδομένων Ορισμός Βάσης Δεδομένων Σύστημα Διαχείρισης Βάσης Δεδομένων ΣΔΒΔ (DBMS) Χαρακτηριστικά προσέγγισης συστημάτων αρχειοθέτησης Χαρακτηριστικά

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

Βασικές λειτουργίες διαδανεισμού μέσα από το σύστημα SmILLe

Βασικές λειτουργίες διαδανεισμού μέσα από το σύστημα SmILLe Βασικές λειτουργίες διαδανεισμού μέσα από το σύστημα SmILLe Κεντρικό σύστημα διαδανεισμού smille περιβάλλον διαχειριστή. Για την είσοδό σας στο σύστημα επισκέπτεστε την σελίδα http://ill.lib.ntua.gr/smille/admin/login.php

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

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

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

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

2.5.1 Χρήση δεξιοτήτων αρχειοθέτησης για τη διατήρηση ενός καθιερωμένου συστήματος

2.5.1 Χρήση δεξιοτήτων αρχειοθέτησης για τη διατήρηση ενός καθιερωμένου συστήματος 2.5 Σύστημα αρχειοθέτησης, έγγραφα και βάσεις δεδομένων 2.5.1 Χρήση δεξιοτήτων αρχειοθέτησης για τη διατήρηση ενός καθιερωμένου συστήματος Να είναι σε θέση να διατηρήσει ένα καθιερωμένο, ηλεκτρονικό και

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

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

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

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

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Γενικά Η αρχιτεκτονική ανάπτυξης τους πληροφοριακού συστήµατος Γραµµατεία 2000 υποσύστηµα διαχείρισης προσωπικού

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

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

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

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

Blog στο Wordpress. Επιμέλεια: Δέγγλερη Σοφία

Blog στο Wordpress. Επιμέλεια: Δέγγλερη Σοφία Blog στο Wordpress Επιμέλεια: Δέγγλερη Σοφία Περιεχόμενα Μετάβαση στο blog Σύνδεση ως διαχειριστής Πίνακας ελέγχου Εμφάνιση Ρυθμίσεις Άρθρα Σελίδες Πολυμέσα Σύνδεσμοι Widgets Μετάβαση στο blog Πληκτρολογούμε

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

οδηγός χρήσης της πλατφόρμας «SOLID SOFT WEB BOOKING SYSTEM»

οδηγός χρήσης της πλατφόρμας «SOLID SOFT WEB BOOKING SYSTEM» SOLID SOFT INTERNATIONAL S.A. Λ. Ηρακλείου 424, Ν.Ηράκλειο, 141 22 Τηλέφωνο: +30211 2114260 Fax: +30210 2825454 http: www.solidsoft.gr, www.solidit.gr email:info@solidsoft.gr Σύντομος οδηγός χρήσης της

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

Κεφάλαιο 5. Δημιουργία φορμών για τη βάση δεδομένων DVDclub

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

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

Περιεχόμενα. Visio / White paper 1

Περιεχόμενα. Visio / White paper 1 Περιεχόμενα Τι είναι η πλατφόρμα Visio Αρχιτεκτονική Δουλεύοντας με το Περιεχόμενο Πηγές Περιεχόμενου Διαγραφή Περιεχομένου Βασικές Λειτουργίες Προφίλ Χρήστη Διαχείριση Χρηστών Σύστημα Διαφημίσεων Αποθήκευση

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

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων .. Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Μάθημα Βασικές Έννοιες - . Ύλη Εργαστηρίου ΒΔ Ύλη - 4 Ενότητες.1 - Σχεδιασμός Βάσης Δεδομένων.2 Δημιουργία Βάσης Δεδομένων Δημιουργία Πινάκων Εισαγωγή/Ανανέωση/Διαγραφή

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

Αβραμίδης Ελευθέριος Επιβλέπων καθηγητής Κωνσταντίνος Διαμαντάρας. ΤΕΙ Θεσσαλονίκης 17/2/2009

Αβραμίδης Ελευθέριος Επιβλέπων καθηγητής Κωνσταντίνος Διαμαντάρας. ΤΕΙ Θεσσαλονίκης 17/2/2009 Αβραμίδης Ελευθέριος Επιβλέπων καθηγητής Κωνσταντίνος Διαμαντάρας ΤΕΙ Θεσσαλονίκης 17/2/2009 Γ ΚΠΣ Γενική δομή έργων Γ ΚΠΣ Απαιτήσεις συστήματος Παρουσίαση συστήματος 2 2000-2006: Δίνονται πόροι από τα

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

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

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

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

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

Η επιλογή γλώσσας (π.χ. ελληνικά) διεπαφής του συστήματος, βρίσκεται στο υποσέλιδο του ιστότοπου Wordpress.com Περιεχόμενα Wordpress... 1 Ρύθμιση γλώσσας... 1 Δημιουργία λογαριασμού και σύνδεση... 2 Δημιουργία νέου ιστότοπου... 2 Πλατφόρμα διαχείρισης... 5 Αναγνώστης... 5 Πλατφόρμα ιστοτόπου... 5

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

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

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS Ακαδημαϊκό Έτος 2016-2017, Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS A. Εισαγωγή στις βάσεις δεδομένων - Γνωριμία με την ACCESS B. Δημιουργία Πινάκων 1. Εξήγηση των

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

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

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΘΕΣΣΑΛΟΝΙΚΗ, 2016 ΕΙΣΑΓΩΓΗ Μια διαδικτυακή υπηρεσία μπορεί να περιγραφεί απλά σαν μια οποιαδήποτε

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

Παραδοτέο Π5.3: Έντυπο και ψηφιακό υλικό (Web site) προβολής των δράσεων έργου

Παραδοτέο Π5.3: Έντυπο και ψηφιακό υλικό (Web site) προβολής των δράσεων έργου ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΓΕΝΙΚΗ ΓΡΑΜΜΑΤΕΙΑ ΕΡΕΥΝΑΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΕΠΙΧΕΙΡΗΣΙΑΚΑ ΠΡΟΓΡΑΜΜΑΤΑ «ΑΝΤΑΓΩΝΙΣΤΙΚΟΤΗΤΑ & ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΤΗΤΑ» ΚΑΙ ΠΕΡΙΦΕΡΕΙΩΝ ΣΕ ΜΕΤΑΒΑΣΗ ΕΘΝΙΚΟ ΣΤΡΑΤΗΓΙΚΟ ΠΛΑΙΣΙΟ

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

Εισαγωγή στο Ηλεκτρονικό Επιχειρείν. ΤΕΙ Δυτικής Ελλάδας Τμήμα Διοίκησης Επιχειρήσεων - Πάτρα Κουτσονίκος Γιάννης

Εισαγωγή στο Ηλεκτρονικό Επιχειρείν. ΤΕΙ Δυτικής Ελλάδας Τμήμα Διοίκησης Επιχειρήσεων - Πάτρα Κουτσονίκος Γιάννης Εισαγωγή στο Ηλεκτρονικό Επιχειρείν ΤΕΙ Δυτικής Ελλάδας Τμήμα Διοίκησης Επιχειρήσεων - Πάτρα Κουτσονίκος Γιάννης 1 Ορισμός e-επιχειρείν Ένα σύνολο από ενδο- και δι- επιχειρηματικές στρατηγικές και προηγμένες

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

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016 Κεφάλαιο 2: Περιβάλλον Βάσεων Δεδομένων Μοντέλα Δεδομένων 2.1

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

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

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

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

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

JOOMLA CMS ΒΑΣΙΚΗ ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗ (PART I) JOOMLA CMS ΒΑΣΙΚΗ ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗ (PART I) Δημήτρης Μακρής Advanced Topics in Telecoms 1 Ο ΒΗΜΑ: ΞΕΚΙΝΩΝΤΑΣ ΤΟ JOOMLA 1 Ο ΒΗΜΑ: ΞΕΚΙΝΩΝΤΑΣ ΤΟ JOOMLA 1 Ο ΒΗΜΑ: ΞΕΚΙΝΩΝΤΑΣ ΤΟ JOOMLA 2 Ο ΒΗΜΑ: ΔΙΑΧΕΙΡΙΖΟΝΤΑΣ

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

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25 Περιεχόμενα Κεφάλαιο 1 Εισαγωγή στην Access...9 Γνωριμία με την Access... 12 Δημιουργία βάσης δεδομένων... 18 Άνοιγμα και κλείσιμο βάσης δεδομένων... 21 Ερωτήσεις ανακεφαλαίωσης... 22 Πρακτική εξάσκηση...

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

Ανάλυση Περιπτώσεων Χρήσης

Ανάλυση Περιπτώσεων Χρήσης Ανάλυση Περιπτώσεων Χρήσης ανάλυση απαιτήσεων ü Διαγράμματα Δραστηριότητας. Επιχειρησιακή μοντελοποίηση και ροή εργασιών σε περιπτώσεις χρήσης ü Μοντελοποίηση Πεδίου. Δημιουργία διαγραμμάτων κλάσεων για

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

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Τρόπος Διεξαγωγής #1 Ύλη (4 Ενότητες) 1. Ανάλυση Απαιτήσεων - Σχεδιασμός Βάσης Δεδομένων 2. Δημιουργία βάσης a)

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

ΑΡΘΡΟ «ΕΞΙ ΣΤΟΥΣ ΔΕΚΑ ΕΛΛΗΝΕΣ ΧΡΗΣΙΜΟΠΟΙΟΥΝ ΠΛΕΟΝ ΚΑΘΗΜΕΡΙΝΑ ΤΟ ΔΙΑΔΙΚΤΥΟ»

ΑΡΘΡΟ «ΕΞΙ ΣΤΟΥΣ ΔΕΚΑ ΕΛΛΗΝΕΣ ΧΡΗΣΙΜΟΠΟΙΟΥΝ ΠΛΕΟΝ ΚΑΘΗΜΕΡΙΝΑ ΤΟ ΔΙΑΔΙΚΤΥΟ» ΑΡΘΡΟ «ΕΞΙ ΣΤΟΥΣ ΔΕΚΑ ΕΛΛΗΝΕΣ ΧΡΗΣΙΜΟΠΟΙΟΥΝ ΠΛΕΟΝ ΚΑΘΗΜΕΡΙΝΑ ΤΟ ΔΙΑΔΙΚΤΥΟ» Ηλεκτρονικό Εμπόριο Ως Ηλεκτρονικό Εμπόριο ή ευρέως γνωστό ως e- commerce, είναι το εμπόριο παροχής αγαθών και υπηρεσιών που

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

ΑΠΟΤΙΜΗΣΗ ΤΟΥ ΕΡΓΟΥ ΤΟΥ ΤΜΗΜΑΤΟΣ ΣΤΟΧΟΙ ΓΙΑ ΤΗΝ ΠΕΡΙΟΔΟ ΠΑΡΑΡΤΗΜΑ ΧΙ

ΑΠΟΤΙΜΗΣΗ ΤΟΥ ΕΡΓΟΥ ΤΟΥ ΤΜΗΜΑΤΟΣ ΣΤΟΧΟΙ ΓΙΑ ΤΗΝ ΠΕΡΙΟΔΟ ΠΑΡΑΡΤΗΜΑ ΧΙ ΕΘΝΙΚΟΝ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟΝ ΠΑΝΕΠΙΣΤΗΜΙΟΝ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΑΠΟΤΙΜΗΣΗ ΤΟΥ ΕΡΓΟΥ ΤΟΥ ΤΜΗΜΑΤΟΣ ΣΤΟΧΟΙ ΓΙΑ ΤΗΝ ΠΕΡΙΟΔΟ 2008-2013 ΠΑΡΑΡΤΗΜΑ ΧΙ ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ

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

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 6 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάννα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ: Στουγιάννου

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

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

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

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

Σχεδιαστικά Προγράμματα Επίπλου

Σχεδιαστικά Προγράμματα Επίπλου Σχεδιαστικά Προγράμματα Επίπλου Καθηγήτρια ΦΕΡΦΥΡΗ ΣΩΤΗΡΙΑ Τμήμα ΣΧΕΔΙΑΣΜΟΥ & ΤΕΧΝΟΛΟΓΙΑΣ ΞΥΛΟΥ - ΕΠΙΠΛΟΥ Σχεδιαστικά Προγράμματα Επίπλου Η σχεδίαση με τον παραδοσιακό τρόπο απαιτεί αυξημένο χρόνο, ενώ

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

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά Για την STUDIO KOSTA BODA ILLUM Χανίων Πέµπτη, 9 Φεβρουαρίου 2012 Για την εταιρεία ACTS : Παπαγεωργίου

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

Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud

Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud Το Oracle Analytics Cloud αποτελεί ένα ολοκληρωμένο σύνολο δυνατοτήτων που περιλαμβάνει έτοιμο περιεχόμενο, εξειδικευμένα

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

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

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

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

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

ΕΓΧΕΙΡΙΔΙΟ ΟΡΘΩΝ ΠΡΑΚΤΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΜΕΣΟΛΟΓΓΙΟΥ ΕΓΧΕΙΡΙΔΙΟ ΟΡΘΩΝ ΠΡΑΚΤΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΜΕΣΟΛΟΓΓΙΟΥ σελ. 1 Κατανοώντας το Ηλεκτρονικό Εμπόριο Τι είναι; Ο όρος ηλεκτρονικό εμπόριο (e-commerce) αφορά στις επιχειρήσεις

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

SGA Διαχείριση Ηλεκτρονικού Πρωτόκολλου

SGA Διαχείριση Ηλεκτρονικού Πρωτόκολλου SGA Διαχείριση Ηλεκτρονικού Πρωτόκολλου Σελίδα 1 από 40 SGA Διαχείριση Ηλεκτρονικού Πρωτόκολλου 1. SGA Διαχείριση Ηλεκτρονικού Πρωτοκόλλου... 4 1.1. Γενικές αρχές του προσφερόμενου συστήματος... 4 1.2.

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

Εγχειρίδιο λειτουργιών χρήστη (αποφοίτου) στο Mathiteia4u

Εγχειρίδιο λειτουργιών χρήστη (αποφοίτου) στο Mathiteia4u Εγχειρίδιο λειτουργιών χρήστη (αποφοίτου) στο Mathiteia4u Μέσω της ηλεκτρονικής πύλης www.mathiteia4u.gov.gr δίνεται πρόσβαση σε ένα νέο πρόγραμμα για την στήριξη νέων που έχουν μόλις αποφοιτήσει από την

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

ΕΡΓΟ: «Ανάπτυξη Εφαρμογής Μητρώου και Εκπαίδευση» ΠΑΡΑΔΟΤΕΟ Έλεγχος Συστήματος & Λογισμικού Μητρώου ΑμεΑ

ΕΡΓΟ: «Ανάπτυξη Εφαρμογής Μητρώου και Εκπαίδευση» ΠΑΡΑΔΟΤΕΟ Έλεγχος Συστήματος & Λογισμικού Μητρώου ΑμεΑ 1 ΕΡΓΟ: «Ανάπτυξη Εφαρμογής Μητρώου και Εκπαίδευση» ΠΑΡΑΔΟΤΕΟ Έλεγχος Συστήματος & Λογισμικού Μητρώου ΑμεΑ Π.6. ΕΓΧΕΙΡΙΔΙΑ ΜΗΤΡΩΟ ΑΜΕΑ ΥΠΟΣΥΣΤΗΜΑΤΑ ΕΡΓΟ: «ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΗΣ ΜΗΤΡΩΟΥ και ΕΚΠΑΙΔΕΥΣΗ» 2015

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

Σύστημα υποβολής αιτήσεων υποψήφιων συνεργατών ΕΚΤ

Σύστημα υποβολής αιτήσεων υποψήφιων συνεργατών ΕΚΤ Σύστημα υποβολής αιτήσεων υποψήφιων συνεργατών ΕΚΤ 1 Λειτουργικές απαιτήσεις Το σύστημα υποβολής αιτήσεων υποψήφιων συνεργατών στοχεύει στο να επιτρέπει την πλήρως ηλεκτρονική υποβολή αιτήσεων από υποψήφιους

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

GoDigital.Store E-Commerce Platform

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

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

Εγχειρίδιο Χρήσης Εφαρμογής TRS Client

Εγχειρίδιο Χρήσης Εφαρμογής TRS Client Εγχειρίδιο Χρήσης Εφαρμογής TRS Client Transaction Reporting System (TRS) Πίνακας Περιεχομένων 1. Γενικά... 3 1.1 Έλεγχος Διαθεσιμότητας... 4 1.2 Επιλογή Αρχείου... 4 1.3 Υπογραφή Αποστολή Δεδομένων...

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

Ενότητα 3: Διαχείριση πληροφοριακών πόρων με τη χρήση βάσεων δεδομένων

Ενότητα 3: Διαχείριση πληροφοριακών πόρων με τη χρήση βάσεων δεδομένων Ενότητα 3: Διαχείριση πληροφοριακών πόρων με τη χρήση βάσεων δεδομένων YouTube Ιδρύθηκε το 2005 Στόχος του ήταν να δημιουργήσει μία παγκόσμια κοινότητα Βάση δεδομένων βίντεο Μέσα σε ένα χρόνο από τη δημιουργία

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

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Τρόπος Διεξαγωγής #1 Ύλη (4 Ενότητες) 1. Ανάλυση Απαιτήσεων -Σχεδιασμός Βάσης Δεδομένων 2. Δημιουργία βάσης a) Create

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

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΠΛΑΤΦΟΡΜΑΣ OPENSMS WWW.OPENSMS.GR

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΠΛΑΤΦΟΡΜΑΣ OPENSMS WWW.OPENSMS.GR ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΠΛΑΤΦΟΡΜΑΣ OPENSMS WWW.OPENSMS.GR Τηλέφωνο: 2810-211111 Διαδικασία εισόδου στο opensms Η πρόσβαση στην πλατφόρμα του opensms πραγματοποιείται με την εισαγωγή του Ονόματος χρήστη και του

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

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

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

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

Σύστημα Διαχείρισης, Ελέγχου και Παρακολούθησης Ασθενοφόρων και Περιστατικών

Σύστημα Διαχείρισης, Ελέγχου και Παρακολούθησης Ασθενοφόρων και Περιστατικών Σύστημα Διαχείρισης, Ελέγχου και Παρακολούθησης Ασθενοφόρων και Περιστατικών Η LINK Technologies Α.Ε. ιδρύθηκε το 2002 με στόχο να καταστεί πυρήνας καινοτομικών λύσεων Τηλεματικής αναβαθμίζοντας καθημερινά

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

Ασφαλίστε τις εμπιστευτικές πληροφορίες σας.

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

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

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

Δυναμικές Ιστοσελίδες στο Πανελλήνιο Σχολικό Δίκτυο Δυναμικές Ιστοσελίδες στο Πανελλήνιο Σχολικό Δίκτυο Δρ. Χρήστος Όροβας Τεχνικός Υπεύθυνος 1 Διαδικασία «Φόρτωσης» μιας Ιστοσελίδας Internet Explorer, Mozilla, Chrome, κτλ HTTP Server ΠΣΔ Αίτημα για επικοινωνία

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

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

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

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

Information Technology for Business

Information Technology for Business Information Technology for Business! Lecturer: N. Kyritsis, MBA, Ph.D. Candidate!! e-mail: kyritsis@ist.edu.gr Διαχείριση Επιχειρηματικών Δεδομένων - Databases Ορισμός Βάσης Δεδομένων Συλλογή συναφών αρχείων

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

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Σ ε λ ί δ α 1 Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Περιεχόμενα 1. Download Arebas Easy... 2 2. Εγκατάσταση Arebas Easy... 3 3. Εγγραφή στον Arebas Server... 7 4. Παραμετροποίηση Arebas Easy...

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

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

Εγχειρίδιο χρήσης εφαρμογής τηλεπικοινωνιακών παρόχων για δημιουργία προσφορών Εγχειρίδιο χρήσης εφαρμογής τηλεπικοινωνιακών παρόχων για δημιουργία προσφορών για τη δράση «Επιχορηγούμενες ευρυζωνικές συνδέσεις στους προπτυχιακούς πρωτοετείς φοιτητές των Πανεπιστημίων, ΤΕΙ και ΑΕΑ

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

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων ..?????? Εργαστήριο ΒΑΣΕΙΣ????????? ΔΕΔΟΜΕΝΩΝ Βάσεων Δεδομένων?? ΙΙ Εισαγωγικό Μάθημα Βασικές Έννοιες - . Γενικά Τρόπος Διεξαγωγής Ορισμός: Βάση Δεδομένων (ΒΔ) είναι μια συλλογή από σχετιζόμενα αντικείμενα

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

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

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 7η ΕΝΟΤΗΤΑ: ΟΡΓΑΝΩΣΗ ΧΡΟΝΟΥ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 7η ΕΝΟΤΗΤΑ: ΟΡΓΑΝΩΣΗ ΧΡΟΝΟΥ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ 1 Περιβάλλον εργασίας Ηλεκτρονικού Ταχυδρομείου: Το περιβάλλον εργασίας

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

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

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

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

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

Εγχειρίδιο χρήσης εφαρμογής τηλεπικοινωνιακών παρόχων για δημιουργία προσφορών Εγχειρίδιο χρήσης εφαρμογής τηλεπικοινωνιακών παρόχων για δημιουργία προσφορών για τη δράση «Επιχορηγούμενες ευρυζωνικές συνδέσεις στους προπτυχιακούς πρωτοετείς φοιτητές των Πανεπιστημίων, ΤΕΙ και ΑΕΑ

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

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Περιεχόμενα Εισαγωγή στην εφαρμογή... 2 Βασική Σελίδα (Activity)... 3 Ρυθμίσεις... 3 Πελάτες... 6 Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Αποθήκη... 11 Αναζήτηση προϊόντος...

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

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

Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη 01 Εισαγωγή Μια απλή και γρήγορη εισαγωγή Το Splunk > είναι ένα πρόγραμμα το οποίο πρωτοεμφανίστηκε στην αγορά το 2003 και αποτελεί ένα πρόγραμμα εξόρυξης

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