Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Σχολή Θετικών Επιστηµών Τµήµα Πληροφορικής Συστήµατα ιαχείρισης Περιεχοµένου & Υπηρεσίες Καταλόγου ιπλωµατική Εργασία Γεωργιάδου Ευδοξία Επιβλέπων Καθηγητής: Παπαδηµητρίου Γ. Θεσσαλονίκη, Οκτώβριος 2007 1
ΠΕΡΙΕΧΟΜΕΝΑ ΚΑΤΑΛΟΓΟΣ ΣΧΗΜΑΤΩΝ ΚΑΙ ΠΙΝΑΚΩΝ...5 ΠΕΡΙΛΗΨΗ 6 1 ΣΥΣΤΗΜΑΤΑ ΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ..7 1.1 ΕΙΣΑΓΩΓΗ 7 1.2 ΠΑΡΑ ΟΣΙΑΚΟΙ ΤΡΟΠΟΙ ΣΥΓΓΡΑΦΗΣ ΕΝΟΣ ΙΣΤΟΤΟΠΟΥ..8 1.3 ΜΕΙΟΝΕΚΤΗΜΑΤΑ ΤΩΝ ΣΤΑΤΙΚΩΝ ΙΣΤΟΤΟΠΩΝ ΚΑΙ ΑΝΑΓΚΗ ΓΙΑ ΗΜΙΟΥΡΓΙΑ ΥΝΑΜΙΚΩΝ ΙΣΤΟΤΟΠΩΝ ΜΕ ΧΡΗΣΗ ΣΥΣΤΗΜΑΤΩΝ ΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ..10 1.4 ΙΣΤΟΡΙΑ ΤΩΝ ΣΥΣΤΗΜΑΤΩΝ ΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ..11 1.5 ΕΞΕΛΙΞΗ ΤΩΝ ΣΥΣΤΗΜΑΤΩΝ ΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ 12 1.6 ΤΙ ΕΙΝΑΙ ΕΝΑ ΣΥΣΤΗΜΑ ΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ..13 1.7 ΙΕΡΑΡΧΙΑ ΕΝΟΣ ΣΥΣΤΗΜΑΤΟΣ ΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ..14 1.8 TΑ ΚΥΡΙΑ ΜΕΡΗ ΕΝΟΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΣΥΣΤΗΜΑΤΟΣ ΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ..16 1.9 ΚΥΚΛΟΣ ΖΩΗΣ ΕΝΟΣ ΣΥΣΤΗΜΑΤΟΣ ΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ...17 1.9.1 ηµιουργία περιεχοµένου.18 1.9.2 ιαχείριση περιεχοµένου..18 1.9.3 ηµοσίευση περιεχοµένου...19 1.9.4 Παρουσίαση περιεχοµένου...19 1.10 ΤΑ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΕΝΟΣ ΣΥΣΤΗΜΑΤΟΣ ΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ...20 1.11 ΧΡΗΣΤΕΣ ΕΝΟΣ ΣΥΣΤΗΜΑΤΟΣ ΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ...21 1.11.1 ηµόσιοι χρήστες.21 1.11.2 Μέλη.22 1.11.3 Συντάκτες / Συγγραφείς 22 1.11.4 ιαχειριστές..23 1.12 ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΤΩΝ ΣΥΣΤΗΜΑΤΩΝ ΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ..23 1.13 ΑΠΑΙΤΗΣΕΙΣ ΓΙΑ ΤΗ ΗΜΙΟΥΡΓΙΑ ΟΠΟΙΟΥ ΗΠΟΤΕ ΙΣΤΟΤΟΠΟΥ.25 1.13.1 Απαιτήσεις της επιχείρησης.25 1.13.2 Απαιτήσεις σχετικά µε τα χαρακτηριστικά του ιστοτόπου..26 1.13.3 Απαιτήσεις για παροχή υπηρεσιών / ιαχείριση / Κωδικοί πρόσβασης..26 1.13.4 Τοπική ή αποµακρυσµένη διαχείριση..26 1.13.5 Απαιτήσεις προϋπολογισµού 27 1.14 ΜΕΘΟ ΟΛΟΓΙΑ ΑΝΑΠΤΥΞΗΣ ΕΝΟΣ ΙΣΤΟΤΟΠΟΥ ΜΕ ΧΡΗΣΗ ΣΥΣΤΗΜΑΤΩΝ ΠΕΡΙΕΧΟΜΕΝΟΥ..27 1.15 ΓΕΝΙΚΟΙ ΤΥΠΟΙ ΣΥΣΤΗΜΑΤΩΝ ΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ.30 2
1.16 ΗΜΟΦΙΛΗ ΣΥΣΤΗΜΑΤΑ ΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ-ΠΕΡΙΓΡΑΦΗ ΚΑΙ ΣΥΓΚΡΙΣΕΙΣ ΤΟΥΣ...31 1.16.1 Mambo..31 1.16.2 Joomla...31 1.16.3 Drupal...32 1.16.4 Plone.33 2 ΥΠΗΡΕΣΙΕΣ ΚΑΤΑΛΟΓΩΝ 35 2.1 ΕΙΣΑΓΩΓΗ..35 2.2 ΤΙ ΕΙΝΑΙ ΟΙ ΥΠΗΡΕΣΙΕΣ ΚΑΤΑΛΟΓΩΝ 36 2.3 ΗΜΟΦΙΛΕΙΣ ΥΠΗΡΕΣΙΕΣ ΚΑΤΑΛΟΓΩΝ...37 2.4 LDAP.......39 2.5 ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΗΣ ΥΠΗΡΕΣΙΑΣ ΚΑΤΑΛΟΓΟΥ LDAP......40 2.6 ΛΕΤΤΟΥΡΓΙΑ ΤΟΥ ΠΡΩΤΟΚΟΛΛΟΥ LDAP......41 2.7 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΗΣ ΥΠΗΡΕΣΙΑΣ ΚΑΤΑΛΟΓΟΥ LDAP...42 2.8 ΟΜΗ DIT......47 2.9 ΟΦΕΛΗ ΑΠΟ ΤΗΝ ΕΓΚΑΤΑΣΤΑΣΗ ΤΟΥ LDAP......48 2.10 ΓΝΩΣΤΕΣ ΥΠΗΡΕΣΙΕΣ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙΟΥΝ ΤΟΝ LDAP....49 2.10.1 EMAIL.50 2.10.2 DNS.50 2.10.3 FTP..51 2.10.4 DIALUP...51 2.10.5 WEB 52 3 JOOMLA ΚΑΙ ΙΑΧΕΙΡΙΣΗ ΧΡΗΣΤΩΝ...53 3.1 ΕΙΣΑΓΩΓΗ......53 3.1.1 Joomla-για χρήστες... 53 3.1.2 Joomla-για υπεύθυνους ανάπτυξης..54 3.2 ΕΡΓΑΛΕΙΑ ΠΟΥ ΣΥΝΘΕΤΟΥΝ ΕΝΑΝ ΙΣΤΟΤΟΠΟ ΒΑΣΙΣΜΕΝΟ ΣΤΟ JOOMLA...55 3.2 ΤΥΠΟΙ ΧΡΗΣΤΩΝ ΚΑΙ ΙΚΑΙΩΜΑΤΑ ΠΡΟΣΒΑΣΗΣ..56 3.3.1 Καλεσµένοι...56 3.3.2 Εγγεγραµµένοι χρήστες 56 3.4 ΙΑΧΕΙΡΙΣΗ ΧΡΗΣΤΩΝ ΤΟΥ JOOMLA.....58 4 ΗΜΙΟΥΡΓΙΑ ΚΑΙ ΙΑΧΕΙΡΙΣΗ LDAP ΕΞΥΠΗΡΕΤΗΤΗ 64 4.1 ΕΙΣΑΓΩΓΗ..64 4.2 ΠΡΟΙΟΝΤΑ ΕΞΥΠΗΡΕΤΗΤΩΝ ΚΑΤΑΛΟΓΟΥ..65 4.2.1 OpenLDAP...66 4.2.2 Sun Java System Directory Server...67 4.2.3 Microsoft Active Directory...67 4.2.4 IBM Directory Server...68 4.2.5 Novell edirectory. 68 3
4.3 ΗΜΙΟΥΡΓΙΑ ΚΑΙ ΙΑΧΕΙΡΙΣΗ OPENLDAP ΕΞΥΠΗΡΕΤΗΤΗ...68 4.3.1 Εγκατάσταση του OpenLDAP λογισµικού..68 4.3.2 slapd.conf, το αρχείο ρυθµίσεων..69 4.3.3 Εκκίνηση του slapd, εισαγωγή δεδοµένων και τερµατισµός του slapd...70 4.3.4 Επεξήγηση σχήµατος 72 4.3.5 Ερωτήµατα και αναζήτηση δεδοµένων στον LDAP..74 4.3.6 Τροποποίηση και διαγραφή δεδοµένων από τον LDAP...75 4.4 ΒΕΛΤΙΩΣΗ ΤΗΣ ΑΠΟ ΟΣΗΣ ΚΑΙ ΑΣΦΑΛΕΙΑΣ ΤΟΥ LDAP ΕΞΥΠΗΡΕΤΗΤΗ....76 4.4.1 ιαδικασίες Replication 77 4.4.2 Έλεγχος πρόσβασης..78 4.4.3 Backup..80 4.4.4 Προστασία των στοιχείων του διαχειριστή..81 5 ΣΥΝ ΥΑΣΤΙΚΗ ΙΑΧΕΙΡΙΣΗ JOOMLA ΚΑΙ OPENLDAP...82 5.1 ΠΙΣΤΟΠΟΙΗΣΗ ΧΡΗΣΤΩΝ ΤΟΥ JOOMLA ΜΕΣΩ ΤΟΥ OPENLDAP.82 5.1.1 Εγκατάσταση mambots πιστοποίησης..82 5.1.2 Παραµετροποίηση των mambots και επεξήγηση παραµέτρων 83 5.1.3 Group Map 87 5.2 ΜΕΛΕΤΗ ΠΕΡΙΠΤΩΣΕΩΝ....89 6 ΠΑΡΑΡΤΗΜΑ.92 Ι slapd.conf....92 II joomla_ldap.bot... 93 ΙΙΙ ldap_ssi.bot... 102 IV joomla.schema.. 106 7 ΒΙΒΛΙΟΓΡΑΦΙΑ...108 4
ΚΑΤΑΛΟΓΟΣ ΣΧΗΜΑΤΩΝ ΚΑΙ ΠΙΝΑΚΩΝ Σχήµα 1.1.α: ιαδικασία δηµιουργίας σελίδων σε στατικό ιστότοπο.10 Σχήµα 1.1.β: ιαδικασία δηµιουργίας σελίδων σε δυναµικό ιστότοπο..10 Σχήµα 1.2: Ιεραρχία ενός Συστήµατος ιαχείρισης Περιεχοµένου.16 Σχήµα 2.1: Λειτουργία του LDAP 42 Σχήµα 2.2: Παράδειγµα ιεραρχίας τριών επιπέδων..43 Σχήµα 2.3α: Ιεραρχική δοµή DIT...47 Σχήµα 2.3β: Επίπεδη δοµή DIT..48 Σχήµα 3.1: Οθόνη εγγραφής νέου χρήστη 59 Σχήµα 3.2: Οθόνη αλλαγής προσωπικών στοιχείων του χρήστη.60 Σχήµα 3.3: Οθόνη λήψης νέου κωδικού πρόσβασης 61 Σχήµα 3.4: Οθόνη διαχείρισης χρηστών...61 Σχήµα 3.5: Οθόνη δηµιουργίας νέου χρήστη µέσω του User Manager...63 Πίνακας 4.1: Τιµές που µπορεί να λάβει η εντολή who..79 Πίνακας 4.2: Τιµές που µπορεί να λάβει η εντολή access...79 Σχήµα 5.1: Οθόνη εγκατάστασης mambots.83 Σχήµα 5.2: Οθόνη διαχείρισης mambots..84 Πίνακας 5.1: Αντιστοιχίες Map στα mambots πιστοποίησης..85 Πίνακας 5.2: Αντιστοιχία GID/Usertype στο Group Map...89 5
ΠΕΡΙΛΗΨΗ Η παρούσα πτυχιακή έχει ως κύριο αντικείµενο τις Υπηρεσίες Καταλόγου (Directory Services) καθώς και τον τρόπο µε τον οποίο αυτές λειτουργούν σε συνδυασµό µε τα Συστήµατα ιαχείρισης Περιεχοµένου (CMS-Content Management Systems). Το Κεφάλαιο 1 ασχολείται µε τα Συστήµατα ιαχείρισης Περιεχοµένου και περιλαµβάνει µια σύντοµη σύγκριση του Joomla, το οποίο είναι το CMS που θα χρησιµοποιηθεί για την ανάπτυξη του ιστοτόπου του εργαστηρίου, µε άλλα δηµοφιλή CMS. Στο Κεφάλαιο 2 εισάγεται η έννοια των υπηρεσιών καταλόγου και περιγράφονται οι βασικές έννοιες του LDAP ο οποίος αποτελεί µια από τις δηµοφιλέστερες υπηρεσίες καταλόγου. Το Κεφάλαιο 3 πραγµατεύεται τη διαχείριση των χρηστών του Joomla, ενώ στο Κεφάλαιο 4 καταγράφεται η διαδικασία δηµιουργίας LDAP εξυπηρετητή, ο τρόπος διαχείρισης των εγγραφών του καθώς και θέµατα που έχουν να κάνουν µε τη βελτίωση της απόδοσης και ασφάλειάς του. Τέλος στο Κεφάλαιο 5 παρουσιάζεται ο τρόπος µε τον οποίο µπορεί να επιτευχθεί πιστοποίηση χρηστών του Joomla µέσω του LDAP καθώς και θέµατα που αφορούν τη συνδυαστική διαχείριση των δύο συστηµάτων. 6
ΚΕΦΑΛΑΙΟ 1 ΣΥΣΤΗΜΑΤΑ ΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ 1.1 Εισαγωγή Ένας δικτυακός τόπος ή ιστότοπος ή ιστοχώρος (website, site) µπορεί να είναι εργασία ενός ατόµου, µιας εταιρίας ή κάποιου οργανισµού και τυπικά αναφέρεται σε ένα συγκεκριµένο θέµα έχοντας ως στόχο ένα συγκεκριµένο ακροατήριο. Οι ιστότοποι είναι προσβάσιµοι µέσω ενός φυλλοµετρητή (Web browser) που παίζει το ρόλο του λογισµικού πελάτη (client) και είναι ένα πρόγραµµα που χρησιµοποιείται για την εµφάνιση εγγράφων του παγκόσµιου ιστού. Από την άλλη µεριά οι ιστότοποι φιλοξενούνται σε ένα σύστηµα γνωστό ως δικτυακός εξυπηρετητής (Web server), ο οποίος παίζει το ρόλο του λογισµικού εξυπηρετητή και είναι υπεύθυνος για την ικανοποίηση των εισερχόµενων αιτηµάτων και την αποστολή των κατάλληλων εγγράφων πίσω στον browser. Ο πιο διαδεδοµένος εξυπηρετητής που χρησιµοποιείται στις µέρες µας είναι ο Apache (www.apache.org) [1]. Οι περισσότερες εταιρίες χρησιµοποιούν τους ιστοτόπους ώστε να µπορούν να µεταφέρουν πληροφορίες στο κοινό τους. Παράλληλα µε την ανάπτυξη του ιαδικτύου (Internet) αυξήθηκε και το ποσοστό των εταιριών που δηµοσιεύουν ιστοτόπους. Ο πρώτος online (συνδεδεµένος µε το δίκτυο) ιστότοπος εµφανίστηκε το 1991. Το 1992 υπήρχαν µόλις 1000 δικτυακοί τόποι στο Web (Ιστός, ίκτυο) ενώ τον Ιούνιο του 2000 περισσότεροι από 2 δισεκατοµµύρια ιστότοποι δηµοσιεύτηκαν στο διαδίκτυο. Ακόµα σύµφωνα µε έρευνα (Cox et al), το εκέµβριο του 1996, µόνο 32,7% από τυχαίες 150 εταιρίες δηµοσίευαν ιστοτόπους ενώ τον Ιανουάριο του 1998 το ποσοστό αυτό ανήλθε στο 94,7% [1]. Έτσι εφόσον σήµερα σχεδόν όλες οι επιχειρήσεις έχουν δικό τους δικτυακό τόπο, είναι σηµαντικό αυτός να είναι σχεδιασµένος µε τρόπο που θα ενθαρρύνει τους χρήστες να τον επισκεφτούν. Επίσης θα πρέπει η επιλογή των χώρων στους οποίους θα δηµοσιευτούν αγγελίες για τον δικτυακό τόπο, να είναι ανάλογη µε το ακροατήριο στο οποίο o ιστότοπος απευθύνεται. Τέλος είναι σηµαντικό ο ιστότοπος να είναι επίκαιρος ώστε οι χρήστες να επιστρέφουν σε αυτόν εφόσον έχει κάτι καινούριο να τους 7
παρουσιάσει. Είναι λοιπόν απαραίτητο ο ιστότοπος να ανανεώνεται συνεχώς µε νέες πληροφορίες, επίκαιρα άρθρα και εναλλασσόµενα γραφικά. Παρακάτω παρουσιάζονται οι παραδοσιακοί τρόποι συγγραφής ενός ιστοτόπου. 1.2 Παραδοσιακοί τρόποι δηµιουργίας ενός ιστοτόπου Μπορούµε να διακρίνουνε στατικούς και δυναµικούς ιστοτόπους. Αρχικά οι ιστότοποι αποτελούνταν από στατικό κώδικα HTML (Hypertext Markup Language), ενώ στις µέρες µας επικρατούν οι ιστότοποι µε δυναµικό περιεχόµενο. Ένας στατικός ιστότοπος έχει περιεχόµενο που δεν αναµένεται να αλλάζει συχνά και συντηρείται από ένα ή περισσότερα άτοµα που χρησιµοποιούν κάποιο είδος επεξεργαστή (editor). Όλες οι σελίδες δηµιουργούνται από πριν και αποθηκεύονται στον δικτυακό εξυπηρετητή ως HTML αρχεία (σχήµα 1.1α). Ακόµα το περιεχόµενο για κάθε σελίδα πρέπει να εισάγεται χειρωνακτικά και υπάρχουν 3 είδη επεξεργαστών [2]: Επεξεργαστές κειµένου (text editors) όπως Notepad ή TextEdit, όπου ο χειρισµός της HTML γίνεται απευθείας µέσα στο πρόγραµµα επεξεργαστή. WYSIWYG επεξεργαστές όπως Microsoft FrontPage και Macromedia DreamWeaver, όπου ο ιστότοπος συγγράφεται χρησιµοποιώντας ένα GUI περιβάλλον και η HTML δηµιουργείται αυτόµατα από το λογισµικό του επεξεργαστή. Επεξεργαστές βασισµένοι σε πρότυπα (templates) όπως Rapidweaver και iweb που επιτρέπουν στους χρήστες να δηµιουργούν γρήγορα περιεχόµενο και να φορτώνουν δικτυακούς τόπους σε έναν εξυπηρετητή χωρίς να έχουν γνώσεις της γλώσσας HTML. Σε έναν δυναµικό ιστότοπο το περιεχόµενο αλλάζει συχνά και αποθηκεύεται σε µια βάση δεδοµένων (π.χ. Access, SQL, Oracle, MySQL). Όταν το περιεχόµενο που βρίσκεται στη βάση δεδοµένων τροποποιηθεί ή ενηµερωθεί, αλλάζει και το περιεχόµενο των αντίστοιχων ιστοσελίδων. Έτσι κάθε φορά που ένας χρήστης ζητά µια σελίδα µε δυναµικό περιεχόµενο αυτή δηµιουργείται από τα περιεχόµενα της βάσης δεδοµένων [2],[3]. 8
Η διαδικασία για την εξυπηρέτηση ενός αιτήµατος είναι η εξής: Μια βάση δεδοµένων (σχεσιακή βάση δεδοµένων ή πιθανόν µια XML δοµή) που βρίσκεται στον εξυπηρετητή, λαµβάνει ένα αίτηµα από ένα χρήστη ο οποίος κάνει κλικ πάνω σε ένα σύνδεσµο. Ο σύνδεσµος αυτός καθιστά ενεργή µια σελίδα προτύπων (template page). Αυτή η σελίδα περιέχει προγραµµατιστικά scripts (χειρόγραφα), αντικείµενα και άλλα προγράµµατα τα οποία ερµηνεύουν το αίτηµα, συνδέονται µε τη βάση δεδοµένων, ανακτούν το κατάλληλο περιεχόµενο και κάνουν οτιδήποτε είναι απαραίτητο για τη διαµόρφωση της HTML σελίδας. Αφού η σελίδα προτύπων δηµιουργήσει την κατάλληλη HTML σελίδα, o εξυπηρετητής ιστού τη στέλνει πίσω στον browser του χρήστη (σχήµα 1.1β) [4]. Έτσι σε ένα καθαρά δυναµικό ιστότοπο δεν υπάρχουν HTML αρχεία αλλά µόνο η δυνατότητα δηµιουργίας τους όποτε κάποιος τα χρειάζεται. Αντίθετα σε ένα στατικό ιστότοπο, όλες οι σελίδες έχουν δηµιουργηθεί από πριν και έχουν αποθηκευτεί στον δικτυακό εξυπηρετητή ως HTML αρχεία [4]. Υπάρχει µεγάλη ποικιλία συστηµάτων λογισµικού για δηµιουργία δυναµικών ιστοτόπων όπως τα ColdFusion (CFM), Active Server Pages (ASP), Java Server Pages (JSP) και η γλώσσα προγραµµατισµού PHP που είναι διαθέσιµη για τη δηµιουργία δυναµικών συστηµάτων και ιστοτόπων. Ακόµα οι ιστότοποι περιέχουν περιεχόµενο που ανακτάται από µια ή περισσότερες βάσεις δεδοµένων ή µε τη χρήση της επεκτάσιµης γλώσσας σήµανσης (extensible Markup Language-XML) [2]. Επιπρόσθετα τα Pluggins είναι διαθέσιµα για να επεκτείνουν τα χαρακτηριστικά και τις δυνατότητες των Web browsers και δηµιουργούν ενεργό περιεχόµενο π.χ. Flash, Shockwave ή applets που γράφονται σε Java ή Dynamic HTML (δυναµική HTML) [2]. Στις µέρες µας παρατηρείται το φαινόµενο ολοένα και περισσότερες επιχειρήσεις να στρέφονται στη χρήση δυναµικών ιστοτόπων κυρίως λόγω της ικανότητάς τους να µεταβάλλονται συχνά. Ο πλέον καθιερωµένος τρόπος ανάπτυξης και διαχείρισης ενός ιστοτόπου µε δυναµικό περιεχόµενο είναι τα Συστήµατα ιαχείρισης Περιεχοµένου (Content Management Systems-CMS) που βασίζονται στη MySQL και στην PHP και αποτελούν ειδικά σχεδιασµένα προγράµµατα για την ανάπτυξη, διαχείριση, επεξεργασία και έκδοση στο δίκτυο οποιασδήποτε µορφής πληροφορίας µπορεί να αποτελέσει µέρος ενός ιστοτόπου (κείµενο, εικόνα, αρχεία κλπ). 9
Σχήµα 1.1α: ιαδικασία δηµιουργίας σελίδων σε στατικό ιστότοπο Σχήµα 1.1β: ιαδικασία δηµιουργίας σελίδων σε δυναµικό ιστότοπο 1.3 Μειονεκτήµατα των στατικών ιστοτόπων και ανάγκη για δηµιουργία δυναµικών ιστοτόπων µε χρήση Συστηµάτων ιαχείρισης Περιεχοµένου Οι στατικοί ιστότοποι χρησιµοποιούνται κυρίως από µικρότερες εταιρίες όπου δεν υπάρχει ανάγκη για Συστήµατα ιαχείρισης Περιεχοµένου. Στην περίπτωση αυτή δηλαδή σε µικρότερη κλίµακα οι στατικοί ιστότοποι είναι γενικά φθηνότεροι ως προς την υλοποίησή τους [4]. Σε µεγαλύτερη κλίµακα όµως οι στατικοί ιστότοποι εµφανίζουν αρκετά µειονεκτήµατα: Προγράµµατα όπως τα Microsoft FrontPage και Macromedia DreamWeaver απαιτούν περισσότερες τεχνικές γνώσεις και πολύ εξάσκηση και έτσι η διαδικασία ανάπτυξης ενός στατικού ιστοτόπου είναι ακριβή και χρονοβόρα [5]. Φυσικά επακόλουθα της χρήσης εργαλείων όπως τα Microsoft FrontPage και Macromedia DreamWeaver είναι ότι µεγάλο µέρος του περιεχοµένου του ιστοτόπου είναι πολύ παλιό ή ανακριβές, είναι δύσκολο να βρεθούν πληροφορίες, η ενηµέρωση του ιστοτόπου είναι πολύπλοκη και η εµφάνιση του αρχίζει να είναι ξεπερασµένη [6]. 10
Οι στατικοί ιστότοποι είναι περισσότερο ακριβοί ως προς την συντήρηση γιατί τυχόν αλλαγές πρέπει να γίνονται σε όλες τις σελίδες. Έτσι παρουσιάζεται και τεράστια δυσκολία στην αλλαγή του περιεχοµένου και της σχεδίασης του ιστοτόπου [5]. Οι στατικοί ιστότοποι συνήθως συντηρούνται από ένα άτοµο. Το γεγονός αυτό όµως αυξάνει το ρίσκο της επιχείρησης γιατί σε περίπτωση απουσίας του ατόµου αυτού από την επιχείρηση, ο ιστότοπος δε θα µπορεί να συντηρηθεί [5]. Η διαχείριση του ιστοτόπου περιορίζεται σε έναν υπολογιστή (τοπική διαχείριση). Αν υπάρχει ανάγκη για αλλαγές στον ιστότοπο, µπορούν να γίνουν µόνο από το συγκεκριµένο υπολογιστή στον οποίο είναι εγκατεστηµένο το πρόγραµµα που χρησιµοποιείται για τη συγγραφή του ιστοτόπου [5]. Εκτός όµως από τα µειονεκτήµατα που εµφανίζουν οι κλασικές µέθοδοι συγγραφής ενός στατικού ιστοτόπου, η ανάπτυξη του διαδικτύου τα τελευταία χρόνια έχει φέρει αλλαγές τόσο στην ποιότητα και το µέγεθος όσο και την ταχύτητα πρόσβασης του διαθέσιµου περιεχοµένου. Οι χρήστες κυριολεκτικά κατακλύζονται από πληροφορίες τις οποίες δυσκολεύονται όχι µόνο να αφοµοιώσουν αλλά και να φιλτράρουν. Σε αυτό πρέπει κανείς να προσθέσει τις διαφορετικές µορφές στις οποίες είναι διαθέσιµη η πληροφορία, κάτι που κάνει το µοντέλο διαχείρισής της να απέχει πολύ από τα παραδοσιακά µοντέλα βάσεων δεδοµένων [7]. Όλα αυτά έχουν δηµιουργήσει την ανάγκη ύπαρξης των Συστηµάτων ιαχείρισης Περιεχοµένου, τα οποία προσπαθούν να παρέχουν τα απαραίτητα εργαλεία τόσο για την ανάπτυξη όσο και για την περαιτέρω διαχείριση του περιεχοµένου και δίνουν στους χρήστες έναν ενιαίο τρόπο οργάνωσης και παρουσίασης του περιεχοµένου τους. 1.4 Ιστορία των Συστηµάτων ιαχείρισης Περιεχοµένου Σήµερα υπάρχουν εκατοντάδες προϊόντα στο εµπόριο τα οποία προσφέρονται ως CMS και αρκετά από αυτά διατίθενται δωρεάν. Τα CMS έχουν εξελιχθεί σε καθιερωµένα συστήµατα που εκτελούν κοινώς αποδεκτές λειτουργίες. 11
Η διαχείριση περιεχοµένου ξεκίνησε σαν µια δραστηριότητα εντός κατοικίας ώστε να βοηθήσει τη δηµοσίευση περιεχοµένου και τα συστήµατα διαχείρισης. Τα πρώτα CMS αναπτύχθηκαν από οργανισµούς οι οποίοι έκαναν πολλές δηµοσιεύσεις στο διαδίκτυο όπως δηµοσίευση περιοδικών και εφηµερίδων. Η Vignette µία εταιρία βασιζόµενη στο διαδίκτυο που στεγαζόταν στο San Francisco, θεωρείται ευρέως ότι είναι η πρωτοπόρος στην προώθηση των CMS όπως τα ξέρουµε εµείς σήµερα. Έτσι το 1995 η Vignette άρχισε να αναπτύσσει και να πουλά τα δικά της CMS. Για τους περισσότερους αυτή θεωρείται ότι είναι η αρχή των CMS. Παράλληλα µε την ραγδαία ανάπτυξη του διαδικτύου άρχισαν να δηµιουργούνται και άλλες απαιτήσεις και έτσι η Vignette καθώς και άλλες εταιρίες άρχισαν να αναπτύσσουν συστήµατα που θα µπορούσαν να αναζητούν και να διαχειρίζονται διάφορους τύπους περιεχοµένου (κείµενο, εικόνες, γραφικά, βίντεο, ήχος και έγγραφα) [8]. Στην επόµενη παράγραφο παρουσιάζεται η εξέλιξη που σηµειώθηκε στα CMS από το 1996 ως το 2002. 1.5 Εξέλιξη των Συστηµάτων ιαχείρισης Περιεχοµένου Όπως αναφέρθηκε παραπάνω αρχικά οι δικτυακοί τόποι αποτελούνταν από στατικό κώδικά HTML. Τα αρχικά Συστήµατα διαχείρισης περιεχοµένου αποτελούνταν από βασικά scripting εργαλεία που βοηθούσαν στην παραγωγή της HTML. Οι HTML σελίδες είτε δηµιουργούνταν και τροποποιούνταν απευθείας στον ιστότοπο είτε µεταφέρονταν έτοιµες µέσω του FTP (File Transfer Protocol-Πρωτόκολλο Μεταφοράς Αρχείων) στον ιστότοπο [1]. Οι σελίδες αποτελούνταν από στατικό περιεχόµενο, συνδέσµους και ένα περιορισµένο αριθµό γραφικών και εικόνων. Έτσι προέκυπταν προβλήµατα όπως: ελλιπής κώδικας HTML, διασπασµένοι πίνακες και σύνδεσµοι, χαµηλή ποιότητα περιεχοµένου και ελλιπή γραφικά. Ακόµα οι συγγραφείς του περιεχοµένου βασίζονταν εντελώς στις τεχνικές ικανότητες του διαχειριστή του ιστοτόπου (Webmaster) για να αναπτύξουν το περιεχόµενό τους [1]. Όσο το Web µεγάλωνε και οι δικτυακοί τόποι χρειάζονταν συνεχή αλλαγή, η ανάγκη για ισχυρά εργαλεία διαχείρισης έγινε επιτακτική. Οι εταιρίες και οι επιχειρήσεις 12
άρχισαν να απαιτούν συνεχή αλλαγή και ανάπτυξη των ιστοτόπων τους, διατηρώντας όµως την υψηλή ποιότητα [1]. Για να λυθούν τα παραπάνω προβλήµατα δηµιουργήθηκαν τα Συστήµατα ιαχείρισης Περιεχοµένου που διαχειρίζονται δυναµικό περιεχόµενο. Άµεσα αποτελέσµατα της χρήσης αυτών ήταν να σηµειωθεί αύξηση στον όγκο του περιεχοµένου καθώς και στον αριθµό των τύπων περιεχοµένου. Επιπρόσθετα η ευθύνη πλέον για την ανάπτυξη περιεχοµένου δεν ανήκει στον διαχειριστή του ιστοτόπου και την οµάδα του αλλά στους συγγραφείς που ανήκουν και στο προσωπικό µιας επιχείρησης. [1]. 1.6 Τι είναι ένα Σύστηµα ιαχείρισης Περιεχοµένου Ένα Σύστηµα ιαχείρισης Περιεχοµένου (Content Management System-CMS) δεν είναι µόνο ένα προϊόν ή µια τεχνολογία. Ορίζεται ως ένας γενικός όρος που υποδεικνύει ένα τεχνολογικό σύστηµα το οποίο περιλαµβάνει ένα ευρύ φάσµα διαδικασιών που αφορούν τη δηµιουργία, αποθήκευση, τροποποίηση, ανάκτηση και παρουσίαση περιεχοµένου, το οποίο µε τη σειρά του µπορεί να είναι πολλών ειδών. Ουσιαστικά ένα τέτοιο σύστηµα, συνδέει κανόνες, επιχειρησιακές διαδικασίες, (ενδεχοµένως και ροές εργασιών) µε τη διαδικασία διαχείρισης και δηµοσίευσης πληροφορίας στο δίκτυο και ταυτόχρονα δίνει πρόσβαση σε εξουσιοδοτηµένους χρήστες, βάσει κανόνων, διαδικασιών και πολιτικών που υλοποιεί ο οργανισµός που το χρησιµοποιεί. Ένα Σύστηµα ιαχείρισης Περιεχοµένου καλύπτει τον κύκλο ζωής των σελίδων ενός δικτυακού τόπου παρέχοντας εργαλεία για τη δηµιουργία του περιεχοµένου, τη δηµοσίευση και την αρχειοθέτησή του. Επίσης παρέχει τις δυνατότητες διαχείρισης της δοµής, εµφάνισης των δηµοσιευµένων σελίδων στους επισκέπτες / χρήστες του δικτυακού τόπου και οργανώνει πλαίσια πλοήγησης (navigation paths) από αυτούς. Πρόκειται ουσιαστικά για ένα ηλεκτρονικό σύστηµα διαχείρισης και δηµοσίευσης πληροφορίας, το οποίο µπορεί να θεωρηθεί ως µια κοινή (shared) βάση δεδοµένων που περιέχει όµως επιπλέον εργαλεία για την οργάνωση του ψηφιακού περιεχοµένου (αρχεία, εικόνες, απλό κείµενο, γραφικά, ήχος, βίντεο) και τη διαχείριση κανόνων ελεγχόµενης πρόσβασης στην όλη διαδικασία διαχείρισης-δηµοσίευσης αυτού του περιεχοµένου. 13
Ανάλογα µε τις ανάγκες κάθε οργανισµού ένα CMS µπορεί να υποστηρίζει τη διαχείριση µιας απλής βάσης δεδοµένων, να παρέχει µηχανισµούς που προσδίδουν σηµασία στο περιεχόµενο (µεταδεδοµένα) αλλά και δυνατότητες δηµιουργίας συνδέσµων µεταξύ των αρχείων και φυσικά πολύπλοκους µηχανισµούς που αφορούν σύνθετους κανόνες πρόσβασης και ανανέωσης του περιεχοµένου σε όσους εµπλέκονται στις σχετικές διαδικασίες (συγγραφείς, συντάκτες, διαχειριστές του δικτυακού τόπου κλπ.) Τελικά ένα CMS µπορεί να θεωρηθεί ένα σύστηµα που «δέχεται» περιεχόµενο (input), αυτό που γράφει ένας συγγραφέας ή αντλείται από µια πηγή, και «γεννά» (output) σελίδες µε «δοµή». Σε έναν οργανισµό, µια επιχείρηση, µια εφηµερίδα, ένα CMS λειτουργεί ως ένα κοινό σηµείο δηµοσίευσης της πληροφορίας (single source publishing), πράγµα που σηµαίνει τη «συγκέντρωση» της υπό δηµοσίευση πληροφορίας σε ένα σηµείο και την «αυτόµατη» (στη βάση διαδικασιών και κανόνων) δηµοσίευσή της σε πολλά διαφορετικά µέσα, ενδεχοµένων και µε διαφορετικά πρότυπα (PDF, XML κλπ.) [7]. 1.7 Ιεραρχία ενός Συστήµατος ιαχείρισης Περιεχοµένου Σε γενικό πλαίσιο η ιεραρχία ενός CMS µπορεί να αναπαρασταθεί µε ένα γράφηµα τεσσάρων επιπέδων τα οποία αλληλεπιδρούν µεταξύ τους όπως φαίνεται στο σχήµα 1.2. Τα επίπεδα αυτά είναι το επίπεδο περιεχοµένου, το επίπεδο δραστηριοτήτων, το επίπεδο εξόδου και το επίπεδο κοινού [1]: Επίπεδο περιεχοµένου: Το επίπεδο περιεχοµένου είναι το πρώτο επίπεδο της ιεραρχίας και αποτελείται από όλους τους τύπους περιεχοµένου οι οποίοι διαχειρίζονται από ένα CMS (κείµενο, βίντεο, µηνύµατα, αναφορές, γραφικά, ήχους, έγγραφα, πληροφορίες της βάσης δεδοµένων). Επίπεδο δραστηριοτήτων: Στο δεύτερο επίπεδο της ιεραρχίας συναντάµε το επίπεδο δραστηριοτήτων το οποίο αναπαριστά τις δραστηριότητες που απαιτούνται για τη διαχείριση του επιπέδου περιεχοµένου. Αφού δηµιουργηθεί το περιεχόµενο µετά αυτό παρουσιάζεται στην επιθυµητή µορφή. 14
Επίπεδο εξόδου: Καθώς µετακινούµαστε προς τα πάνω στην ιεραρχία, συναντάµε το επίπεδο εξόδου το οποίο προσδιορίζει τους τύπους εξόδου του δικτύου µέσω των οποίων το περιεχόµενο θα είναι προσβάσιµο. Υπάρχουν τρεις διαφορετικές περιπτώσεις : 1 Να παρουσιαστούν τα προϊόντα και οι υπηρεσίες της επιχείρησης στον έξω κόσµο µέσω του ιστοτόπου δηλαδή ο ιστότοπος να είναι διαθέσιµος στο Internet. 2 Να χρησιµοποιηθούν ιδιωτικοί ιστότοποι που συχνά καλούνται και Intranet εξυπηρετητές. Το περιεχόµενο του Intranet µπορεί να διαβαστεί µόνο από το προσωπικό της επιχείρησης. 3 Να χρησιµοποιηθούν µικρά ιδιωτικά τοπικά δίκτυα (Extranets) που επικοινωνούν τόσο µε το Intranet όσο και µε το Internet και βρίσκονται στο µέσο λειτουργώντας συνδετικά. Ουσιαστικά το Extranet είναι εκείνο το κοµµάτι του Intranet το οποίο µπορεί να προσεγγιστεί από πελάτες, προµηθευτές και εξωτερικούς συνεργάτες της εταιρίας µέσω Internet, µε τη χρήση κωδικού πρόσβασης. Επίπεδο κοινού: Το τελευταίο επίπεδο είναι το επίπεδο κοινού και προσδιορίζει τις οµάδες ανθρώπων που αλληλεπιδρούν µε το Internet, το Intranet και το Extranet. Οι οµάδες αυτές είναι το προσωπικό της επιχείρησης, οι συνεργάτες, οι προµηθευτές και οι πελάτες. 15
Σχήµα 1.2: Ιεραρχία ενός Συστήµατος ιαχείρισης Περιεχοµένου 1.8 Τα κύρια µέρη ενός ολοκληρωµένου Συστήµατος ιαχείρισης Περιεχοµένου Πολλές φορές οι δικτυακοί τόποι δε χρειάζεται να είναι 100% δυναµικοί ή 100% στατικοί. Στην πραγµατικότητα η πλειοψηφία των µεγάλων δικτυακών τόπων αποτελούν µια µείξη δυναµικών και στατικών τµηµάτων. Έτσι κάποια µέρη ενός ιστοτόπου µπορεί να αποτελούνται από HTML αρχεία και κάποια άλλα µέρη να δηµιουργούνται δυναµικά από µια βάση δεδοµένων. Ένα ολοκληρωµένο CMS µπορεί να περιέχει τα εξής [4]: Εφαρµογή CMS: Η εφαρµογή CMS είναι αυτή που φροντίζει για τη συλλογή του περιεχοµένου και τη διαχείριση της ροής εργασιών. Στην ουσία µέσω αυτής της εφαρµογής, οι χρήστες µπορούν να διαχειρίζονται το περιεχόµενο του ιστοτόπου τους (κείµενα, εικόνες, πίνακες κλπ.) µε εύκολο τρόπο, συνήθως παρόµοιο µε αυτό της χρήσης ενός κειµενογράφου. Η αρχιτεκτονική της διαφέρει από προϊόν σε προϊόν. Αποθηκευτικός χώρος: Πίσω από τον εξυπηρετητή ιστού υπάρχει µια σχεσιακή ή XML πηγή δεδοµένων. Ο αποθηκευτικός αυτός χώρος κρατά όλο το 16
περιεχόµενο, τα διαχειριστικά δεδοµένα και οτιδήποτε άλλο χρειάζεται για τη δηµιουργία του ιστοτόπου. Ένα σύνολο HTML αρχείων: Το CMS µπορεί να διαχειρίζεται αρχεία για το στατικό τµήµα του ιστοτόπου. Βάση δεδοµένων του CMS: Η βάση δεδοµένων του CMS υπάρχει στον δικτυακό εξυπηρετητή για τη διαχείριση των δυναµικών τµηµάτων του ιστοτόπου. Ουσιαστικά στη βάση δεδοµένων αποθηκεύεται όλο το περιεχόµενο του ιστοτόπου, µαζί µε υποστηρικτικές λεπτοµέρειες. Αυτή η βάση δεδοµένων παρέχει µια σειρά από χρήσιµα χαρακτηριστικά γνωρίσµατα του CMS όπως: καταγραφή όλων των εκδόσεων µιας σελίδας, εξασφάλιση ότι κάθε χρήστης µπορεί να τροποποιήσει µόνο το τµήµα του ιστοτόπου για το οποίο είναι αρµόδιος καθώς και διασύνδεση και ολοκλήρωση µε τα υπάρχοντα πληροφοριακά συστήµατα. Άλλες πηγές δεδοµένων: Μπορεί να γίνει σύνδεση άλλων πηγών δεδοµένων µε τον ιστότοπο οι οποίες είναι εντελώς ανεξάρτητες από το CMS. Πρότυπα (Templates): Ένα σύνολο προτύπων µπορούν να µετακινούν δεδοµένα από οποιαδήποτε πηγή. Σε µερικές περιπτώσεις τα δεδοµένα χρειάζεται να τοποθετηθούν σε ολοκληρωµένες στατικές HTML σελίδες. Σε άλλες περιπτώσεις υπάρχει ανάγκη να τοποθετηθούν στη βάση δεδοµένων που υπάρχει στον δικτυακό εξυπηρετητή. 1.9 Κύκλος ζωής ενός Συστήµατος ιαχείρισης Περιεχοµένου Η λειτουργικότητα ενός συστήµατος διαχείρισης περιεχοµένου, µπορεί να αναλυθεί στις εξής βασικές κατηγορίες [6], [7]: δηµιουργία περιεχοµένου διαχείριση περιεχοµένου δηµοσίευση παρουσίαση 17
1.9.1 ηµιουργία περιεχοµένου Η δηµιουργία περιεχοµένου αναφέρεται και ως συλλογή ή συγγραφή περιεχοµένου. Το πρώτο τµήµα ενός Συστήµατος ιαχείρισης Περιεχοµένου, είναι ένα εύχρηστο περιβάλλον συγγραφής, σχεδιασµένο να λειτουργεί όπως οι βασικές λειτουργίες του Word. Έτσι, ακόµη και οι χρήστες χωρίς ιδιαίτερη τεχνική γνώση, µπορούν να δηµιουργούν νέες σελίδες ή να ενηµερώνουν το περιεχόµενο παλαιών, χωρίς να χρειάζεται να γνωρίζουν HTML ή κάποια άλλη γλώσσα δηµιουργίας ιστοσελίδων. Επίσης, το CMS, επιτρέπει τη διαχείριση της δοµής του δικτυακού τόπου (δηλαδή που θα τοποθετηθούν οι νέες σελίδες καθώς και τον τρόπο αλληλοσύνδεσής τους). Κάποια συστήµατα επιτρέπουν την εύκολη αναδιάρθρωση του ιστοτόπου χωρίς να δηµιουργούνται broken links ( σπασµένοι σύνδεσµοι). Σχεδόν όλα τα συστήµατα CMS, προσφέρουν ένα εύχρηστο περιβάλλον επεξεργασίας κειµένου µέσα από τον browser, γεγονός που απλοποιεί ακόµη περισσότερο την υλοποίηση του συστήµατος και επιτρέπει την αποµακρυσµένη ενηµέρωση του περιεχοµένου και του ιστοτόπου. Αυτή ακριβώς η δυνατότητα αποτελεί ένα από τα πλεονεκτήµατα της χρήσης των CMS. Παρέχοντας έναν απλό και εύχρηστο µηχανισµό συντήρησης του ιστοτόπου, η δηµιουργία του περιεχοµένου και των σελίδων µπορεί να ενσωµατωθεί στη διαδικασία της καθηµερινής λειτουργίας της επιχείρησης. Για παράδειγµα, κατά την έκδοση ενός ηλεκτρονικού περιοδικού οι δηµιουργοί του περιεχοµένου είναι οι αρθρογράφοι των νέων και των άρθρων που δηµοσιεύονται σε αυτό. 1.9.2 ιαχείριση Περιεχοµένου Η διαχείριση του περιεχοµένου γίνεται συνήθως χρησιµοποιώντας µια κεντρική αποθήκη (βάση) δεδοµένων. Εκεί αποθηκεύεται όλο το περιεχόµενο ενός δικτυακού τόπου καθώς και άλλες πληροφορίες για τη δοµή του. Αυτή η αποθήκη δεδοµένων επιτρέπει τον έλεγχο εκδόσεων του περιεχοµένου (ποιος, πότε και τι άλλαξε) ενώ περιέχει και κανόνες πρόσβασης σε αυτό. Ακόµα σε αυτό το στάδιο γίνεται η διαχείριση ροής των εργασιών ενός εγγράφου (αν αυτή η δυνατότητα παρέχεται από το Σύστηµα ιαχείρισης Περιεχοµένου). Οι υπεύθυνοι 18
για τη διαχείριση περιεχοµένου είναι οι διαχειριστές του συστήµατος και φροντίζουν για την ανάπτυξη και αναβάθµιση αυτών των µηχανισµών. Στο παράδειγµα της έκδοσης ενός ηλεκτρονικού περιοδικού, υπεύθυνοι για τη διαχείριση περιεχοµένου είναι ο διαχειριστής του συστήµατος (system administrator) µαζί µε τον αρχισυντάκτη. 1.9.3 ηµοσίευση περιεχοµένου Όταν ολοκληρωθεί η δηµιουργία και η αποθήκευση του τελικού κειµένου, αυτό µπορεί να δηµοσιευθεί στον δικτυακό τόπο είτε να χρησιµοποιηθεί από άλλους δικτυακούς τόπους σε διαφορετικά πρότυπα. Η διαδικασία της δηµοσίευσης είναι συνυφασµένη µε την παροχή µηχανισµών για την αυτόµατη παρουσίασή του, µε τη δυνατότητα δηµιουργίας µεταδεδοµένων για το περιεχόµενο που διαχειρίζεται, µε την ύπαρξη διαφορετικών προτύπων (templates) για κάθε σελίδα του δικτυακού τόπου κλπ. Τέλος η δηµοσίευση περιεχοµένου (ενός αρχείου για παράδειγµα) γίνεται εφόσον έχει δοθεί η σχετική άδεια από τον υπεύθυνο του οργανισµού (στο παράδειγµα της έκδοσης ενός ηλεκτρονικού περιοδικού είναι ο εκδότης / αρχισυντάκτης αυτού) σε έναν συντάκτη να αναρτήσει αυτή την πληροφορία. 1.9.4 Παρουσίαση περιεχοµένου Τέλος ένα σύστηµα διαχείρισης περιεχοµένου υποστηρίζει διαλειτουργικότητα µεταξύ των υπαρχόντων browsers, αποτελεσµατική πλοήγηση στην ταξινόµηση των κατηγοριών περιεχοµένου και παρέχει δυνατότητες «προσωποποίησης» (personalization) της εµφάνισης του περιεχοµένου, µε τρόπο που ο κάθε επισκέπτης / χρήστης να βλέπει (αν αυτό αποφασιστεί) ένα «διαφορετικό» δικτυακό τόπο µε το περιεχόµενο που αυτός επιθυµεί να παρέχει. 19
1.10 Τα χαρακτηριστικά ενός Συστήµατος ιαχείρισης Περιεχοµένου Για να µπορεί ένα CMS να υποστηρίζει τις παραπάνω λειτουργίες, είναι απαραίτητο να εµφανίζει κάποια επιθυµητά χαρακτηριστικά. Ακόµα για να δοθεί σε ένα προϊόν ή σύνολο εργαλείων η ονοµασία CMS, πρέπει αυτό να διαθέτει τρία βασικά χαρακτηριστικά [10]: Εκδοποίηση (Versioning): Η εκδοποίηση αποτελεί ένα βασικό χαρακτηριστικό των CMS γιατί µέσω αυτής οµάδες ανθρώπων µπορούν να δουλεύουν µε ασφάλεια πάνω σε ένα έγγραφο και να ανακαλούν παλιότερες εκδόσεις. Ροή εργασιών (workflow): Στην περίπτωση αυτή εξασφαλίζεται ότι το περιεχόµενο θα περνά διαµέσου έγκρισης, αξιολόγησης, αναθεώρησης καθώς και µιας διαδικασίας µε την οποία θα διαβεβαιώνεται η ποιότητά του. Έτσι δίνεται η δυνατότητα να ενσωµατωθεί το περιεχόµενο σε ένα κύκλο διεργασιών που έχουν ως σκοπό την προσθήκη αξίας για τους τελικούς χρήστες (ενοποίηση, διαβάθµιση). Ολοκλήρωση-Ενσωµάτωση (Integration): Στην περίπτωση αυτή εξασφαλίζεται ότι το περιεχόµενο θα αποθηκευτεί µε έναν εύχρηστο τρόπο ξεχωριστά από τα πρότυπα της σχεδίασης του ιστοτόπου και µετά θα διανέµεται σαν σύνολο ιστοσελίδων ή θα επαναχρησιµοποιείται σε διαφορετικές ιστοσελίδες και διαφορετικούς τύπους εγγράφων. Υπάρχουν και άλλα πρόσθετα χαρακτηριστικά τα οποία µπορούν να οµαδοποιηθούν σε τέσσερις κατηγορίες: ιαχείριση χρήστη: Ανάλογα µε το ρόλο που έχει ο χρήστης, παρέχονται δικαιώµατα πρόσβασης και καθορίζεται το επίπεδο αλληλεπίδρασης µε το χρήστη. Περιβάλλον διασύνδεσης µε το χρήστη: Προτιµάται ένας browser που βασίζεται σε εφαρµογές για παροχή περιεχοµένου και διαχείριση του ιστοτόπου. Πηγές δεδοµένων: Οι πηγές δεδοµένων περιλαµβάνουν την αποθήκευση δηµιουργηµένου περιεχοµένου καθώς και εξωτερικών δεδοµένων. Οι µέθοδοι αποθήκευσης µπορεί να είναι συστήµατα αρχείων, βάσεις δεδοµένων καθώς και αντικειµενοστραφείς βάσεις δεδοµένων και XML αρχεία. 20
Εφαρµογές: Οι εφαρµογές ενσωµατώνουν το περιεχόµενο σε υπάρχοντα δεδοµένα και διεξάγουν ειδικούς χειρισµούς του περιεχοµένου µε σκοπό την απλότητα, συνοχή και διαχείρισή του. Η βασική εφαρµογή είναι συνήθως µια φόρµα προτύπων που επιτρέπει τον έλεγχο του ιστοτόπου και βοηθά στην εύκολη υλοποίηση των αλλαγών στην πλοήγηση και το στυλ του. 1.11 Χρήστες ενός Συστήµατος ιαχείρισης Περιεχοµένου Οι χρήστες ενός Συστήµατος ιαχείρισης Περιεχοµένου διακρίνονται σε τέσσερις βασικές κατηγορίες [11]: ηµόσιοι χρήστες Μέλη Συντάκτες-Συγγραφείς ιαχειριστές 1.11.1 ηµόσιοι χρήστες (public users) Οι δηµόσιοι χρήστες στα CMS είναι φυσικοί χρήστες του ιστοτόπου και έχουν όλες τις ευκολίες ώστε να έχουν πρόσβαση και να πλοηγούνται στο περιεχόµενό του. Για αυτούς τους τύπους χρηστών, η µόνη απαίτηση είναι ότι το περιεχόµενο πρέπει να οργανώνεται µε κατάλληλο και φιλικό προς στο χρήστη τρόπο. Σε πολλούς οργανισµούς, υπάρχει διαθέσιµος στον δικτυακό τόπο µεγάλος όγκος πληροφοριών και είναι πολύ δύσκολο να βρεθούν πληροφορίες που είναι χρήσιµες στους χρήστες. Χρησιµοποιώντας CMS εργαλεία, οι χρήσιµες πληροφορίες µπορούν εύκολα να εξαχθούν και να παρουσιαστούν σε κατάλληλη µορφή. Ένα άλλο ζήτηµα είναι πώς οι χρήστες βρίσκουν το κοµµάτι της πληροφορίας που χρειάζονται; Χιλιάδες σελίδες του περιεχοµένου είναι άχρηστες αν δεν υπάρχει δοµή ή πλοήγηση. Ενώ µια µηχανή αναζήτησης παρέχει µια µερική λύση, οι χρήστες απαιτούν συνεχείς και εκτεταµένες διασυνδέσεις. Πρέπει να χρησιµοποιηθεί µια αρχιτεκτονική πληροφοριών και ένα επαγγελµατικό ευρετήριο ώστε να κατασκευαστεί µια αποδοτική δοµή για το περιεχόµενο. Η µηχανή αναζήτησης επιτρέπει στους χρήστες να ψάχνουν 21
πληροφορίες χρησιµοποιώντας λέξεις-κλειδιά. Με τη χρήση του CMS, µπορεί να γίνει έλεγχος της µηχανής αναζήτησης ώστε να καταταχθούν όλα τα δηµοσιευµένα έγγραφα και έτσι οι χρήστες να µπορούν να τα αναζητούν µέσω των µηχανών αναζήτησης ιστού. 1.11.2 Μέλη (members) Τα µέλη είναι χρήστες που µπορούν να επιλέξουν τη δική τους ροή εργασιών στο τµήµα περιεχοµένου και να προτείνουν γεγονότα από µια φόρµα που βρίσκεται στο δηµόσιο τµήµα του ιστοτόπου. Ακόµα τα εξουσιοδοτηµένα µέλη του προσωπικού µπορούν να αποδοκιµάσουν, να τροποποιήσουν ή να απορρίψουν διαφορετικά γεγονότα καθώς και να δηµιουργήσουν αναφορές για τα γεγονότα. 1.11.3 Συντάκτες-Συγγραφείς (editors-authors) Ένα κανονικό CMS παρέχει στους συγγραφείς ένα ισχυρό, αποδοτικό και εύκολο στη χρήση περιβάλλον. Οι συγγραφείς δεν απαιτείται να έχουν γνώσεις της HTML ή οποιωνδήποτε άλλων τεχνικών πληροφοριών. Το CMS παρέχει όλα τα εργαλεία που είναι απαραίτητα για τη διαχείριση των χιλιάδων σελίδων του περιεχοµένου, που είναι δηµοσιευµένες σε διαφορετικές πλατφόρµες και µορφές. Σε µια αποκεντροποιηµένη προσέγγιση συγγραφής, ένας µεγάλος αριθµός του προσωπικού µιας επιχείρησης χρησιµοποιεί το CMS. Η υποστήριξη της συγγραφής στο CMS είναι πολύ ισχυρή και έτσι δεν απαιτείται επιπλέον προσπάθεια για τοποθέτηση πρόσθετων εργαλείων. Οι συγγραφείς είναι ικανοί να δηµιουργήσουν γρήγορα υλικά χρησιµοποιώντας εφαρµογές, εικόνες, βίντεο και άλλους τύπους αρχείων µέσων. Αφού αναπτυχθούν τα υλικά, οι πάροχοι του περιεχοµένου µπορούν να τα τοποθετήσουν στο δίκτυο. Μη τεχνικοί συγγραφείς περιεχοµένου µπορούν να κρατήσουν το περιεχόµενο ενηµερωµένο και να το τοποθετούν είτε σε ένα πρόχειρο περιβάλλον είτε κατευθείαν στον δικτυακό τόπο. 22
1.11.4 ιαχειριστές (administrators) Οι διαχειριστές αποτελούν µια οµάδα χρηστών που µπορεί να διαχειρίζεται όλο το περιεχόµενο ενός ιστοτόπου. Τα προνόµια τους περιλαµβάνουν διαχείριση των υπόλοιπων ρόλων, της ροής εργασιών, της διάρκειας ζωής, των κατηγοριών και των τύπων του περιεχοµένου. Ακόµα διαχειρίζονται ολόκληρο το σύστηµα δηµοσίευσης του δικτύου και έχουν την ευθύνη για ρυθµίσεις ασφαλείας του ιστοτόπου καθώς και τη διατήρηση της δοµής και ακεραιότητας του. Επιπλέον η διαχείριση του ιστοτόπου περιλαµβάνει εργασίες όπως πρόσθεση λογαριασµών χρηστών, διαχείριση των ρυθµίσεων διαµόρφωσης του ιστοτόπου καθώς και παραχώρηση και ακύρωση των δικαιωµάτων χρήστη. Τέλος ο διαχειριστής είναι το βασικό άτοµο επικοινωνίας για τους υπόλοιπους χρήστες. 1.12 Πλεονεκτήµατα των Συστηµάτων ιαχείρισης Περιεχοµένου Ένα Σύστηµα ιαχείρισης Περιεχοµένου παρουσιάζει τα εξής πλεονεκτήµατα: Ο χρήστης µπορεί να κάνει ανά πάσα στιγµή αλλαγές στον ιστότοπο χωρίς να εξαρτάται από τους σχεδιαστές του. Ακόµα το σύστηµα διασφαλίζει συνοχή του περιεχοµένου διαχωρίζοντας τη σχεδίαση των σελίδων από το περιεχόµενο που εµφανίζουν [9]. Όλες οι τεχνικές λεπτοµέρειες υποστηρίζονται από το σύστηµα, επιτρέποντας σε οποιοδήποτε χρήστη να διαχειριστεί και να ενηµερώσει τον δικτυακό τόπο χωρίς να χρειάζεται να έχει γνώση της γλώσσας HTML [9]. Υπάρχει δυνατότητα ενηµέρωσης από πολλαπλούς χρήστες. Μπορούν να οριστούν διαφορετικά πρόσωπα που θα ενηµερώνουν διαφορετικά τµήµατα του ιστοτόπου, για τα οποία είναι υπεύθυνα. Έτσι η εργασία και ο φόρτος κατανέµεται καλύτερα. Το Σύστηµα παρακολουθεί ποιος κάνει τι, αποφεύγοντας πιθανή σύγχυση [9],[12]. Σε συνδυασµό µε το προηγούµενο πλεονέκτηµα παρουσιάζεται βελτίωση στη ροή εργασιών και αυξηµένη ασφάλεια της επιχείρησης όσο περισσότεροι υπάλληλοι παίρνουν µέρος στη συντήρηση του ιστοτόπου. Αυτό σηµαίνει ότι ειδικοί για το 23
θέµα στο οποίο αναφέρεται ο ιστότοπος προσθέτουν πληροφορίες ενώ οι διαχειριστές ελέγχουν τι πληροφορίες προστέθηκαν [5]. Τα δυναµικά χαρακτηριστικά ενός Συστήµατος ιαχείρισης Περιεχοµένου, επιτρέπουν στον δικτυακό τόπο να αναπτύσσεται ταυτόχρονα µε την επιχείρηση που το δηµοσιεύει [5]. Υπάρχει µειωµένο κόστος συντήρησης καθώς οι αλλαγές στον δικτυακό τόπο µπορούν να γίνουν µε πολύ εύκολο τρόπο (µε απλά κλικ κουµπιών) χωρίς να χρειάζεται να γίνουν αλλαγές σε όλες τις σελίδες. Έτσι παρουσιάζονται και ταχύτεροι χρόνοι αλλαγών σε υπάρχουσες σελίδες [5]. ιατηρείται η εικόνα της εταιρίας λόγω των προκαθορισµένων στυλ και προτύπων που χρησιµοποιούνται [5]. Υπάρχει δυνατότητα χρήσης αποµακρυσµένου CMS στο οποίο η πρόσβαση µπορεί να γίνει µέσω του browser [5]. Με τη χρήση ενός CMS είναι πολύ δύσκολο το περιεχόµενο του ιστοτόπου να είναι τυχαίο ή λανθασµένο. Κάθε ανανέωση του περιεχοµένου πρέπει να περνά διαµέσου δηµιουργίας, σύνταξης και κάποιων προκαθορισµένων σταδίων, πριν το σύστηµα δηµοσιεύσει το περιεχόµενο [12]. Το Σύστηµα εξασφαλίζει ότι όλες οι σελίδες έχουν την ίδια εµφάνιση, ενώ θα φροντίσει και για τη δηµιουργία των σχετικών συνδέσµων, παραποµπών κλπ. Ακόµα αν κάποιο κοµµάτι περιεχοµένου µετακινηθεί ή διαγραφεί, το CMS εξασφαλίζει ότι το περιεχόµενο που αποµένει είναι ακόµα δοµηµένο χωρίς να υπάρχουν σύνδεσµοι που αναφέρονται σε διεγγεγραµµένο περιεχόµενο. Με άλλα λόγια οι ιστότοποι που δηµιουργούνται µε χρήση CMS δεν εµφανίζουν σπασµένους συνδέσµους και ανανεώνονται αυτόµατα όταν κάποιο κοµµάτι περιεχοµένου µετακινείται ή διαγράφεται [12]. Τέλος, ένα από τα σηµαντικότερα οφέλη που προσφέρει ένα CMS είναι η πλήρης υποστήριξη των στόχων και της στρατηγικής µιας επιχείρησης. Ένα CMS µπορεί, για παράδειγµα, να βοηθήσει στην αύξηση των πωλήσεων, στην ικανοποίηση του πελάτη και στην επικοινωνία µε το κοινό και τους πελάτες της επιχείρησης [6]. 24
1.13 Απαιτήσεις για τη δηµιουργία οποιουδήποτε ιστοτόπου Κάποια από τα βασικά χαρακτηριστικά οποιουδήποτε καλού ιστοτόπου είναι η αισθητική, η εύκολη πλοήγηση, η εργονοµία και ο µικρός χρόνος φόρτωσης. Βέβαια αυτά τα χαρακτηριστικά συχνά έρχονται σε σύγκρουση π.χ. µια εντυπωσιακή ιστοσελίδα µε πολλές εικόνες απαιτεί µεγαλύτερο χρόνο φόρτωσης. Για το λόγο αυτό κατά το σχεδιασµό ενός ιστοτόπου, πρέπει να επιδιώκεται η βέλτιστη ισορροπία, που εξαρτάται από το κοινό στο οποίο απευθύνεται ο ιστότοπος, από την ποσότητα της πληροφορίας που περιλαµβάνει και από το γενικότερο ύφος του. Έτσι οι απαιτήσεις που πρέπει να προσδιοριστούν κατά την δηµιουργία ενός ιστοτόπου έχουν να κάνουν µε τα εξής θέµατα [13]: Απαιτήσεις της επιχείρησης Απαιτήσεις σχετικά µε τα χαρακτηριστικά του ιστοτόπου Απαιτήσεις για παροχή υπηρεσιών / ιαχείριση / Κωδικοί πρόσβασης Τοπική ή αποµακρυσµένη διαχείριση Απαιτήσεις προϋπολογισµού 1.13.1 Απαιτήσεις της επιχείρησης Αρχικά η επιχείρηση πρέπει να αποφασίσει τι µορφή θα έχει ο ιστότοπος που θα αναπτύξει ανάλογα µε το είδος των πελατών που σκοπεύει να απευθυνθεί. Ακόµα πρέπει να καθοριστούν οι ενέργειες που θα µπορεί να επιλέγει ο κάθε πελάτης όταν θα πλοηγείται στον ιστότοπο, οι οποίες είναι [13]: Αγορές µέσω του ιστοτόπου Εγγραφή στον ιστότοπο Αναζήτηση πληροφοριών Αποστολή αρχείων Συζητήσεις στα forums 25
1.13.2 Απαιτήσεις σχετικά µε τα χαρακτηριστικά του ιστοτόπου Πρέπει να καθοριστούν τα χαρακτηριστικά που θα προστεθούν στον ιστότοπο για να το κάνουν διαδραστικό και θελκτικό. Για το λόγο αυτό είναι σηµαντικό να γίνουν κατανοητές οι ανάγκες των πελατών ώστε να θέλουν να επισκέπτονται τον δικτυακό τόπο τακτικά. Κάποια χαρακτηριστικά που µπορούν να προστεθούν στον ιστότοπο είναι [13]: Φόρµες µέσω των οποίων θα µπορούν οι επισκέπτες να ζητούν πληροφορίες Γκαλερί φωτογραφιών που θα εµφανίζουν γραφικές πληροφορίες για τα προϊόντα και τις υπηρεσίες που προσφέρει η επιχείρηση Στατιστικά που θα υπολογίζουν πόσο συχνά και από πού ο ιστότοπος γίνεται προσβάσιµος Εύκολη αναζήτηση περιεχοµένου Λογισµικό που θα συλλέγει και θα καταγράφει τις αγορές των πελατών (σε περίπτωση ενός ιστοτόπου ηλεκτρονικού εµπορίου) 1.13.3 Απαιτήσεις για παροχή υπηρεσιών / ιαχείριση / Κωδικοί πρόσβασης Υπάρχουν 2 συστατικά µέρη για τη δηµιουργία ενός ιστοτόπου: η σχεδίαση και η ανάπτυξη. Η σχεδίαση έχει να κάνει µε τη λειτουργικότητα του δηµόσιου ιστοτόπου (front-end functionality) ενώ η ανάπτυξη µε τη λειτουργικότητα του δηµόσιου περιβάλλοντος διαχείρισης (back-end functionality). Έτσι πρέπει να οριστούν άτοµα που θα είναι υπεύθυνα για τη σχεδίαση και συγγραφή του ιστοτόπου (front-end χρήστες) καθώς και άτοµα που θα είναι υπεύθυνα για τη διαχείριση και ανάπτυξή του (back-end χρήστες) [13]. Ακόµα πρέπει να προσδιοριστεί αν θα µπορούν όλοι οι χρήστες να υποβάλουν πληροφορίες στον ιστότοπο ή αν θα πρέπει κάποια τµήµατά του να προστατεύονται µε κωδικούς πρόσβασης [14]. 1.13.4 Τοπική ή αποµακρυσµένη διαχείριση Πρέπει να αποφασιστεί αν ο ιστότοπος θα ενηµερώνεται χρησιµοποιώντας έναν HTML επεξεργαστή όπως το FrontPage και το DreamWeaver (τοπική διαχείριση) ή θα 26
χρησιµοποιείται ένα αποµακρυσµένο CMS στο οποίο η πρόσβαση µπορεί να γίνει µέσω του browser [13]. 1.13.5 Απαιτήσεις προϋπολογισµού Το κόστος για την κατασκευή ενός ιστοτόπου κυµαίνεται µεταξύ εκατοντάδων δολαρίων και αρκετών χιλιάδων δολαρίων ανάλογα µε το µέγεθος και τη πολυπλοκότητα του ιστοτόπου. Εκτός από το κόστος για τη σχεδίαση και ανάπτυξη του ιστοτόπου πρέπει να συµπεριληφθούν και πρόσθετα κόστη που αφορούν την εγγραφή στην υπηρεσία DNS (Domain Name System-Περιβάλλον Ονοµατολογίας), τη φιλοξενία του ιστοτόπου καθώς και τη συντήρησή του [13]. 1.14 Μεθοδολογία ανάπτυξης ενός ιστοτόπου µε χρήση Συστηµάτων ιαχείρισης Περιεχοµένου Αρχικά υπήρχε µόνο ένας τρόπος για ανάπτυξη δυναµικών ιστοτόπων, ο προγραµµατισµός, µέσω του οποίου οι διαδικασίες της ανάπτυξης και συντήρησης ήταν χρονοβόρες και ακριβές. Στις µέρες µας τα CMS όπως το Mambo, το Joomla, το Plone, το Drupal κ.α. απλοποιούν τη διαδικασία της ανάπτυξης και συντήρησης ενός ιστοτόπου. Η διαδικασία αυτή αποτελείται από 7 βήµατα [15]: Βήµα 1: Συγκέντρωση πληροφοριών Ορισµός της δοµής του ιστοτόπου Όπως αναφέρθηκε και στην παράγραφο 1.13 πρέπει αρχικά να αποφασιστεί τι θέλει να παρουσιάσει η επιχείρηση στους επισκέπτες του δικτυακού τόπου δηλαδή ποιος είναι ο σκοπός της δηµιουργίας του. Έτσι θα είναι πιο εύκολο να προσδιοριστεί το µέγεθός του καθώς και οι βασικές σελίδες που πρέπει να δηµιουργηθούν. Στην πραγµατοποίηση αυτής της διαδικασίας βοηθά η συγκέντρωση πληροφοριών που αφορούν την επιχείρηση όπως φυλλάδια, κάρτες της επιχείρησης, αναφορές, πρόσφατο περιεχόµενο στο δίκτυο. 27
Έτσι αφού προσδιοριστεί το περιεχόµενο, πρέπει να αποφασιστεί η αρχιτεκτονική που θα έχει ο ιστότοπος καθώς και ο τρόπος πλοήγησής του. Όταν γίνει ξεκάθαρη η δοµή του ιστοτόπου µπορούν στη συνέχεια να δηµιουργηθούν τα τµήµατά του µέσω του CMS. Ακόµα πρέπει να δηµιουργηθούν τµήµατα για όλες τις γραφικές και άλλες πηγές ( αρχεία CSS, έγγραφα κ.α.). Βήµα 2: Προετοιµασία των γραφικών πηγών Το επόµενο βήµα είναι η σχεδίαση. Ο καλύτερος τρόπος που θα συστηνόταν είναι η σχεδίαση του ιστοτόπου µε το Adobe Photoshop ή µε κάποια παρόµοια εφαρµογή. Πρέπει να δηµιουργηθούν το λιγότερο δύο διαµορφώσεις, µία για την κύρια σελίδα και η άλλη για εσωτερικές σελίδες. Όταν και τα δύο σχέδια είναι έτοιµα πρέπει να οριστούν οι πηγές που θα χρησιµοποιηθούν ως εικόνες (αποθηκεύονται ως JPEG ή GIF) και αυτές που θα προγραµµατιστούν µε τη γλώσσα HTML. Βήµα 3: Σχεδίαση των προτύπων για την κεντρική καθώς και εσωτερικές σελίδες Το επόµενο βήµα είναι η ανάπτυξη των προτύπων τα οποία αντιπροσωπεύουν την οπτική εικόνα του ιστοτόπου και αποθηκεύονται στη MySQL βάση δεδοµένων. Πρέπει να γίνει αντιγραφή των τµηµάτων για τις γραφικές πηγές που πρόσφατα δηµιουργήθηκαν στο CMS και να φορτωθούν εκεί οι εικόνες. Μετά πρέπει να αναπτυχθεί η διαµόρφωση για το κάθε πρότυπο και αφού κάθε πρότυπο πάρει την επιθυµητή µορφή αποθηκεύεται µαζί µε τα CSS αρχεία στον κατάλληλο κατάλογο. Βήµα 4: Φόρτωµα των προτύπων καθώς και των πηγών (εικόνες, CSS αρχεία) Μετά την ανάπτυξη των προτύπων και τη δηµιουργία εικόνων πρέπει αυτά να µεταφερθούν στον εξυπηρετητή µέσα στο CMS. Από εδώ και πέρα πρέπει να δηµιουργηθούν και να προστεθούν modules για να γίνει αυτοµατοποίηση του ιστοτόπου. 28
Βήµα 5: ηµιουργία των modules Οι δυναµικοί ιστότοποι ονοµάζονται έτσι κυρίως λόγω της αυτοµατοποίησής τους. Σχεδόν κάθε CMS περιλαµβάνει modules τα οποία είναι προγράµµατα (κανόνες και αλγόριθµοι) γραµµένα σε διαφορετικές γλώσσες που δίνουν στο λογισµικό νέα λειτουργικότητα και επεκτείνουν τις δυνατότητές του. Modules που κάθε ιστότοπος πρέπει να έχει είναι: Μενού (menus) τα οποία αλλάζουν αυτόµατα όταν αλλάζει η δοµή του ιστοτόπου. Newslines που αυτοµατοποιούν την όλη διαδικασία για δηµιουργία νέων σελίδων, δηµοσίευση ηµεροµηνιών κ.α στα κατάλληλα σηµεία του ιστοτόπου. Φόρµες επικοινωνίας (contact forms) που είναι εργαλεία για την επικοινωνία των πελατών µε την επιχείρηση. Breadcrumbs τα οποία δείχνουν το µονοπάτι από την κεντρική στην τρέχουσα σελίδα το οποίο χτίζεται µε συνδέσµους. Βήµα 6: Πρόσθεση των modules στον κώδικα των προτύπων Αφού δηµιουργηθούν τα modules πρέπει µετά να εισαχθούν στον κώδικα των προτύπων. Βήµα 7: ηµιουργία σελίδων Το τελευταίο βήµα είναι η συµπλήρωση του ιστοτόπου µε περιεχόµενο δηλαδή η δηµιουργία σελίδων. Υπάρχουν διαφορετικά σχήµατα και επεξεργαστές σε διαφορετικά CMS. Κάθε κοµµάτι περιεχοµένου που δηµιουργείται µπορεί να τοποθετηθεί στο επιθυµητό τµήµα µε επιθυµητό όνοµα και παραµέτρους. Με την παραπάνω µεθοδολογία δηµιουργείται ένας δυναµικός ιστότοπος και µε τον τρόπο αυτό οι επιχειρήσεις δεν εξαρτώνται από τους προγραµµατιστές. Από εκεί και πέρα το προσωπικό της επιχείρησης πρέπει να εξασκηθεί για να µπορεί να κάνει αλλαγές στον ιστότοπο και να τον συντηρεί. 29
1.15 Γενικοί τύποι Συστηµάτων ιαχείρισης Περιεχοµένου Υπάρχουν αρκετοί γενικοί τύποι CMS ανάλογα µε την προέλευσή τους και αυτό µπορεί να βοηθήσει στον προσδιορισµό της καταλληλότητάς τους για συγκεκριµένη χρήση. Τα χαρακτηριστικά τους συγκλίνουν, ενώ χρησιµοποιούνται συνήθως για διαφορετικούς σκοπούς [10]. Οι γενικοί τύποι CMS που µπορούµε να διακρίνουµε είναι: ικτυακά Συστήµατα ιαχείρισης Περιεχοµένου (Web Content Management Systems) που βοηθούν έναν οργανισµό να αυτοµατοποιήσει ποικίλες πλευρές του δικτύου. Είναι εργαλεία που παρέχουν τη σχεδίαση των προτύπων των σελίδων, ροή εργασιών και δηµοσίευση περιβάλλοντος ειδικά για ιστοσελίδες καθώς και άλλες µορφές παράδοσης περιεχοµένου του διαδικτύου [16],[17]. Συστήµατα ιαχείρισης Περιεχοµένου για Συναλλαγές (Transactional Content Management Systems) που βοηθούν έναν οργανισµό να διαχειριστεί συναλλαγές ηλεκτρονικού εµπορίου [16]. Ενοποιηµένα Συστήµατα ιαχείρισης Περιεχοµένου (Integrated Content Management Systems) που βοηθούν έναν οργανισµό να διαχειριστεί επιχειρησιακά έγγραφα και περιεχόµενο [16]. Συστήµατα ιαχείρισης ηµοσιεύσεων (Publications Management Systems) που βοηθούν έναν οργανισµό στη διαχείριση του κύκλου ζωής των δηµοσιεύσεων (εγχειρίδια, βιβλία, βοήθεια, οδηγίες, αναφορές) [16]. Συστήµατα ιαχείρισης Γνώσης (Learning Management Systems) που βοηθούν έναν οργανισµό να διαχειριστεί τον κύκλο ζωής περιεχοµένου που βασίζεται στη γνώση [16]. Συστήµατα Εικονοποίησης Εγγράφων (Document Imaging Systems) τα οποία επίσης ανήκουν στην οικογένεια των γενικών συστηµάτων διαχείρισης [16]. Επιχειρησιακά Συστήµατα ιαχείρισης Περιεχοµένου (Enterprise Content Management Systems) τα οποία ποικίλουν ως προς τη λειτουργικότητά τους. Τα συστήµατα αυτά διευκολύνουν τη διαχείριση εταιρικών εγγράφων και άλλων τύπων πληροφοριών και χρησιµοποιούνται είτε εσωτερικά είτε εξωτερικά µε συνεργάτες εταιριών, πελάτες ή ρυθµιστές [16],[17]. 30
1.16 ηµοφιλή Συστήµατα ιαχείρισης Περιεχοµένου Περιγραφή και συγκρίσεις τους 1.16.1 Mambo Το Mambo είναι ένα δηµοφιλές Σύστηµα ιαχείρισης Περιεχοµένου Ανοιχτού Κώδικα ιδιαίτερα σε ιστοτόπους που έχουν απλή δοµή (όπως οι ειδησεογραφικοί ιστότοποι ή οι ιστότοποι µε στοιχεία blogging). Στοχεύει στη δηµιουργία και διαχείριση σελίδων µέσω µιας φιλικής προς το χρήστη διεπαφής. Περιλαµβάνει εξελιγµένα τεχνικά χαρακτηριστικά που βελτιώνουν την απόδοση και χρηστικότητα σε ιστοσελίδες µε αυξηµένη επισκεψιµότητα. Η συνεργασία µε διάφορους επεξεργαστές κειµένου ανοιχτού κώδικα, η αυτοµατοποιηµένη µετάφραση ολόκληρων ιστοσελίδων σε διάφορες διεθνείς γλώσσες καθώς και τα εξελιγµένα και λεπτοµερή µοντέλα ιστοσελίδων αποτελούν χαρακτηριστικά που κάνουν το σύστηµα Mambo να ξεχωρίζει ανάµεσα στα CMS. Λόγω της ανοιχτής φύσης του κώδικα του Mambo, έχουν αναπτυχθεί διάφοροι επεξεργαστές κειµένου οι οποίοι εκµεταλλεύονται τα παραπάνω χαρακτηριστικά και δίνουν τη δυνατότητα στο χρήστη µε απλό τρόπο να δηµιουργεί ιστοσελίδα της αρεσκείας του [18]. Ακόµη το Mambo επιτρέπει την ενσωµάτωση πρόσθετων εργαλείων στον ιστότοπο (επεκτάσεων), τα οποία ενισχύουν τη λειτουργικότητά του. Έτσι δίνει τη δυνατότητα δηµιουργίας προσωπικών και εταιρικών ιστοτόπων καθώς και ηλεκτρονικών καταστηµάτων [19]. 1.16.2 Joomla Το Joomla πήρε το όνοµά του από αναγραµµατισµό της λέξης jumla, η οποία στη γλώσσα Σουαχίλι σηµαίνει όλοι µαζί. Είναι ένα από τα πιο ισχυρά και αξιόπιστα Συστήµατα ιαχείρισης Περιεχοµένου Ανοιχτού Κώδικα και αποτελεί ένα φιλικό εργαλείο προς το χρήστη που τον βοηθά να φτιάξει ιστοτόπους και άλλες online εφαρµογές [18]. Το διαχειριστικό περιβάλλον που χρησιµοποιείται από τους συντάκτες µοιάζει µε ένα πρόγραµµα επιφάνειας εργασίας. ίνει τη δυνατότητα στο χρήστη να κάνει επεκτάσεις 31
(extensions.joomla.org), χωρίς ο χρήστης να χρειάζεται να πληρώσει κάποιον προγραµµατιστή, καθώς το Joomla είναι γραµµένο στη γλώσσα PHP που είναι µια ευρέως χρησιµοποιούµενη γλώσσα και υποστηρίζει την ανάπτυξη των ιστοτόπων [20]. Έτσι το Joomla µπορεί να είναι µια καλή επιλογή για τη δηµιουργία ενός ιστοτόπου µε εκατοντάδες σελίδες και κοινούς τύπους περιεχοµένου (νέα αντικείµενα ή γεγονότα). Όπως και το Mambo δίνει τη δυνατότητα δηµιουργίας προσωπικών και εταιρικών ιστοτόπων καθώς και ηλεκτρονικών καταστηµάτων [20]. Το Joomla αποτελεί εξέλιξη του Mambo και έτσι αν συγκρίνουµε τα δύο αυτά CMS θα διαπιστώσουµε ότι παρουσιάζουν πολλές οµοιότητες και παρόµοια χαρακτηριστικά. Είναι πιθανό οποιαδήποτε επέκταση δηµιουργείται για το Mambo να µπορεί να εγκατασταθεί και να λειτουργήσει στο Joomla. Ωστόσο οι επεκτάσεις που δηµιουργούνται για το Joomla δε λειτουργούν στο Mambo χωρίς τροποποιήσεις [21]. Επίσης το Joomla και το Mambo παρουσιάζουν παρόµοια αρχιτεκτονική. Οι βάσεις δεδοµένων τους είναι στην ουσία πανοµοιότυπες. Είναι δυνατό ένας ιστότοπος που δηµιουργείται µέσω του Joomla και ένα άλλος που δηµιουργείται µέσω του Mambo να χρησιµοποιούν ίδια βάση δεδοµένων [21]. Ωστόσο στο Mambo έχει εντοπιστεί µια σειρά δυσλειτουργιών και µικρών κενών ασφαλείας όχι τόσο σηµαντικών ώστε να κινδυνεύσει µια εγκατάσταση Mambo αλλά ικανών να προκαλέσουν προβλήµατα στο Mambo και εκνευρισµό στους ιδιοκτήτες του. Πιο συγκεκριµένα τέτοια προβλήµατα έχουν εντοπιστεί στο σύστηµα βαθµολόγησης άρθρων (µε αποτέλεσµα ο οποιοσδήποτε να µπορεί να επιτεθεί σε οποιοδήποτε ιστότοπο αναπτύσσεται µέσω του Mambo) καθώς και στο component δηµοσκόπησης (poll). Από την άλλη το Joomla επειδή αποτελεί εξέλιξη του Mambo και περιέχει κυρίως διορθώσεις σφαλµάτων και αναβαθµίσεις ασφαλείας για τον αρχικό κώδικα του Mambo δεν εµφανίζει τέτοιου είδους ζητήµατα ασφαλείας.[21],[24]. Έτσι λόγω των παραπάνω, παρόλο που το Joomla δεν έχει µεγάλη ιστορία, έχει αρχίσει να υπερτερεί του Mambo και θεωρείται από πολλούς το CMS του µέλλοντος. 1.16.3 Drupal Το Drupal είναι ένα αξιόπιστο Σύστηµα ιαχείρισης Περιεχοµένου (γραµµένο σε γλώσσα PHP) και χρησιµοποιείται για τη δηµιουργία διαφορετικών τύπων ιστοσελίδων 32