Drupal
Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
![]() |
|
---|---|
![]() Τυπική εγκατάσταση Drupal 5 με την προεπιλεγμένη θεματική παραλλαγή Garland και τη διεπαφή στην ελληνική γλώσσα. |
|
Τελευταία Έκδοση: | 5.2 / July 26, 2007 |
Λετουργικά Συστήματα: | Cross-platform |
Είδος: | πλατφόρμα ανάπτυξης διαχείρισης περιεχομένου, σύστημα διαχείρισης περιεχομένου, λογισμικό για κοινότητες και ιστολόγια |
Άδεια: | GPL |
Ιστότοπος: | http://drupal.org |
To Drupal είναι ένα ανοικτού/ελεύθερου λογισμικού αρθρωτό σύστημα διαχείρισης περιεχομένου (CMS), γραμμένο στη γλώσσα προγραμματισμού PHP. Ένα σύστημα διαχείρισης περιεχομένου (ΣΔΠ) είναι ένα εργαλείο που χρησιμοποιούν οι διαχειριστές για την αυτόματη παρακολούθηση των on-line επισκεπτών και για την προετοιμασία προσαρμοσμένου περιεχομένου, συνήθως με τη μορφή ιστοσελίδων HTML. Πολλά μοντέρνα ΣΔΠ, συμπεριλαμβανομένου και του Drupal, παρέχουν μια διεπαφή "back-end" από την οποία ο διαχειριστής συστήματος μπορεί να προσαρμόσει το περιεχόμενο και την παρουσίαση της ύλης στον ιστοτόπο του, χωρίς να απαιτούνται προγραμματιστικές δεξιότητες.
Το Drupal μπορεί να εκτελεστεί σε διάφορες πλατφόρμες, συμπεριλαμβανομένων των λειτουργικών συστημάτων Windows, Mac OS X, Linux, ή οποιασδήποτε πλατφόρμας που υποστηρίζει είτε το διακομιστή ιστοσελίδων Apache (έκδοση 1.3+), είτε το IIS (έκδοση IIS5+), καθώς επίσης και τη γλώσσα προγραμματισμού PHP (έκδοση 4.7.5+). Καθώς το Drupal απαιτεί μια βάση δεδομεων για την αποθήκευση του περιεχομένου και των ρυθμίσεών του, η ύπαρξη μιας βάσης δεδομένων, όπως η MySQL και η PostgreSQL είναι απαραίτητη. Οι λεπτομερείς απαιτήσεις υπάρχουν στον ιστοτόπο του Drupal.
Από τις 26 Ιουλίου 2007, η τρέχουσα σταθερή έκδοση τού Drupal είναι η 5.2[1]. Η έκδοση 6.0 έφτασε το στάδιο του "παγώματος χαρακτηριστικών" (feature freeze) και βρίσκεται σε καθεστώς ανάπτυξης.
Πίνακας περιεχομένων |
[Επεξεργασία] Ιστορία
Αρχικά γραμμένο από τον Dries Buytaert ως σύστημα πίνακα ανακοινώσεων (bulletin board system), το Drupal μετατράπηκε σε σχέδιο ανοικτού κώδικα το 2001. Drupal είναι η διατύπωση στην Αγγλική γλώσσα της Ολλανδικής λέξης "druppel", που σημαίνει "σταγόνα". Το όνομα πάρθηκε από τον ξεπερασμένο πλέον ιστοτόπο Drop.org, του οποίου ο κώδικας εξελίχθηκε στο Drupal. Ο Dries ήθελε να ονομάσει τον ιστοτόπο "dorp" (στα Ολλανδικά σημαίνει "χωριό", αναφερόμενος στη διάσταση της κοινότητας), αλλά έκανε ένα ορθογραφικό λάθος κατά τη διαδικασία ελέγχου του ονόματος χώρου (domain name) και τελικά σκέφτηκε ότι ακούγεται καλύτερα.[2]
Με τα χρόνια, το Drupal κερδίζει σε δημοσιότητα. Από το Μάιο του 2006 ως τον Απρίλιο του 2007, χρήστες κατέβασαν το Drupal από τον επίσημο ιστοτόπο περισσότερες από 600.000 φορές.[3] Μια μεγάλη κοινότητα χρηστών λαμβάνει πλέον μέρος στη συνεχή ανάπτυξη του Drupal.[4]
[Επεξεργασία] Η σχεδίαση του Drupal
Το Drupal έχει λάβει επαίνους από τους διαχειριστές ιστοσελίδων, σχεδιαστές και προγραμματιστές για τον αρθρωτό σχεδιασμό του, που παρέχει το βασικό του στρώμα, ή "πυρήνα", να παρέχει τα βασικά χαρακτηριστικά του Drupal στην προεπιλεγμένη εγκατάστασή του. Πρόσθετα χαρακτηριστικά λειτουργικότητας και παρουσίασης μπορούν να επεκταθούν στον πυρήνα με την πρόσθεση προσαρτώμενων μονάδων και θεματικών παραλλαγών.[5]
Οι μονάδες του Drupal χρησιμοποιούνται για να "υπερβούν" τα ενσωματωμένα χαρακτηριστικά του πυρήνα, επεκτείνοντας έτσι ή και αντικαθιστώντας την εξ' ορισμού συμπεριφορά του Drupal, χωρίς την επέμβαση στον αυτούσιο κώδικα των αρχείων του πυρήνα του Drupal. Η δυνατότητα αυτή της τροποποίησης της λειτουργικότητας του πυρήνα έχει επίπτωση στην προσαρμοστικότητα του Drupal καθώς και στην ασφάλειά του, ειδικότερα σε θέματα ασφαλείας, όπως η έγχυση εντολών SQL (SQL injection).
Με παρόμοιο τρόπο, το Drupal χρησιμοποιεί ένα αρθρωτό σύστημα θεματικών παραλλαγών επιτρέποντας προσαρμοσμένες θεματικές παραλλαγές να προστεθούν χωρίς να επηρεάζουν τον πυρήνα του Drupal. Αυτές οι προσαρμοσμένες θεματικές παραλλαγές χρησιμοποιούν προτυποποιημένες μορφές που παρέχουν συμβατότητα με μηχανές σχεδίασης θεματικών παραλλαγών από τρίτους.
[Επεξεργασία] Μονάδες
Ο πυρήνας του Drupal παρέχει τις δικές του μονάδες. Ωστόσο, μονάδες που έχουν γραφτεί από την κοινότητα μπορούν να ληφθούν και να εγκατασταθούν σε μια περιοχή της εγκατάστασης του Drupal εκτός του πυρήνα. Ο πυρήνας του Drupal έχει σχεδιαστεί βάση ενός συστήματος από hook, ή callback, που επιτρέπει στις γραμμένες από την κοινότητα μονάδες να εισάγουν συναρτήσεις στο μονοπάτι εκτέλεσης του Drupal.
Οι μονάδες που περιέχονται στον πυρήνα του Drupal παρέχουν στους χρήστες τη δυνατότητα να:
- υποβάλλουν, αναθεωρούν και να κατηγοριοπούν την ύλη
- εκτελούν αναζητήσεις
- υποβάλλουν σχόλια
- λαμβάνουν μέρος σε φόρουμ συζητήσεων
- ψηφίζουν σε ψηφοφορίες
- δουλεύουν σε συνεργατικά συγγραφικά έργα
- υποβάλλουν και να βλέπουν προσωπικά προφίλ
- επικοινωνούν μεταξύ τους ή και με τους διαχειριστές του ιστοτόπου
- αλλάζουν την εμφάνιση του ιστοτόπου με έτοιμες ή φτιαγμένες με το χέρι θεματικές παραλλαγές
- δημιουργούν μενού με πολλαπλά επίπεδα
- βλέπουν τη διεπαφή στην μητρική τους γλώσσα
- παρέχουν ροές RSS
- συλλέγουν περιεχόμενο από ροές RSS άλλων ιστοτόπων
- εγγράφονται ως χρήστες
- καθορίζουν ρόλους χρηστών, με τον ορισμό αδειών (permissions) στους χρήστες για τη χρησιμοποίηση επιλεγμένων χαρακτηριστικών του ιστοτόπου
- χρησιμοποιούν κανόνες πρόσβασης για την άρνηση πρόσβασης στον ιστοτόπο σε συγκεκριμένα ονόματα χρηστών, διευθύνσεις ηλεκτρονικού ταχυδρομείου και διευθύνσεις IP
- λαμβάνουν στατιστικά και αναφορές για τους διαχειριστές
- χειρίζονται θέματα λανθάνουσας μνήμης και απόπνιξης ώστε να βελτιώσουν την απόδοση του ιστοτόπου σε περιόδους μεγάλης κίνησης
- δημιουργούν και καθορίζουν διάφορα φίλτρα εισόδου και μορφότυπους ύλης
- δημιουργούν φιλικές στο χρήστη, εύκολες προς απομνημόνευση, διευθύνσεις URL (πχ. "www.mysite.com/products" αντί για "www.mysite.com/?q=node/432")
Επιπρόσθετα, ο ιστοτόπος του Drupal παρέχει εκατοντάδες δωρεάν μονάδες γραμμένες από την κοινότητα του Drupal.
Οι μονάδες αυτές παρέχουν:
- δυνατότητες συστημάτων e-commerce
- χαρακτηριστικά ροής εργασιών
- γκαλερί φωτογραφιών
- σελίδες ομάδων ατόμων
- χάρτες ιστοτόπου για το Google
- αντικείμενα Amazon[6]
- διαχείριση λιστών ηλεκτρονικού ταχυδρομείου
- ενσωμάτωση με ένα CVS.
Και πολλά ακόμη χαρακτηριστικά.
[Επεξεργασία] Παρακολούθηση των εκδόσεων συστήματος
Η μονάδα module_update, μια σχετικά νέα μονάδα διαθέσιμη για την έκδοση 5.x (που προστίθεται και ως μέρος του πυρήνα για την 6.0), ειδοποιεί αυτόματα το διαχειριστή για τυχόν νέες εκδόσεις των εγκατεστημένων μονάδων και θεματικών παραλλαγών.
[Επεξεργασία] Θεματικές παραλλαγές
Οι περισσότερες θεματικές παραλλαγές είναι γραμμένες για τη μηχανή PHPTemplate[7] ή την XTemplate[8]. Παλιότερες παραλλαγές χρησιμοποιούσαν γραμμένο στο χέρι κώδικα σε PHP.
Προηγούμενες εκδόσεις του συστήματος θεματικής παραλλαγής του Drupal είχαν δεχθεί κριτική[9] ότι ήταν λιγότερο προσανατολισμένο για τη σχεδίαση και περισσότερο πολύπλοκο από άλλα συστήματα όπως το Mambo και το Plone. Η συμπερίληψη στο Drupal των μηχανών PHPTemplate και XTemplate διόρθωσαν αυτά τα προβλήματα.
[Επεξεργασία] Μεταφράσεις
Τον Αύγουστο του 2007, οι μεταφράσεις για τη διεπαφή του Drupal είναι διαθέσιμες σε 37 γλώσσες εκτός της Αγγλικής (της εξ' ορισμού).[10]. Οι υποστηριζόμενες γλώσσες περιλαμβάνουν ορισμένες που διαβάζονται από δεξιά προς τα αριστερά, όπως τα Αραβικά και τα Εβραϊκά.
[Επεξεργασία] Κριτική
Η εγκατάσταση του Drupal (και των μονάδων του) απαιτεί πρόσβαση σε βάση δεδομένων, καθώς επίσης και ορισμένων υψηλού επιπέδου αδειών, συμπεριλαμβανομένου της δυνατότητας εκτέλεσης εντολών SQL όπως SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER και LOCK TABLES. Ορισμένοι παροχείς φιλοξενίας ιστοσελίδων, ωστόσο, δεν παρέχουν τέτοια χαρακτηριστικά. Καθένας που θέλει να χρησιμοποιήσει το Drupal θα πρέπει να είναι σίγουρος ότι ο παροχέας του υποστηρίζει τα χαρακτηριστικά αυτά προτού ξεκινήσει την εγκατάσταση.
Όπως και σε άλλα συστήματα διαχείρισης περιεχομένου, η αρχική βάση δεδομένων μπορεί να στηθεί χρησιμοποιώντας τη γραμμή εντολών[1] ή το PhpMyAdmin/PhpPgAdmin. Όμως, ξεκινώντας από την έκδοση 5.0, η εγκατάσταση του Drupal και η δημιουργία της βάσης δεδομένων γίνεται σχεδόν εξ' ολοκλήρου από διεπαφή ιστοσελίδας.
Ορισμένοι χρήστες[11] θεωρούν το Drupal δυσκολότερο στην εκμάθηση και ελαφρώς δυσκολότερο στην εγκατάσταση σε σχέση με μερικές απλές εφαρμογές διαχείρισης περιεχομένου, όπως το WordPress. Το Drupal 5.0, που ανακοινώθηκε στις 15 Ιανουαρίου 2007, έρχεται πακέτο με ένα εγκαταστάτη διεπαφής ιστοσελίδας για να απαντήσει εν μέρει σε αυτές τις κριτικές και το Drupal 6.0, που αναμένεται πιθανόν το Σεπτέμβρη, προχωρά ακόμη παραπέρα[12].
Ορισμένοι προγραμματιστές ασκούν κριτική στο Drupal γιατί το θεωρούν ότι δεν είναι αντικειμενοστραφές, ωστόσο το άρθρο Προγραμματισμός του Drupal από μια οπτική αντικειμενοστρέφειας εξηγεί πως αρχές του αντικειμενοστραφούς προγραμματισμού και της έννοιας του AOP εφαρμόζονται στο Drupal.
[Επεξεργασία] Διανομές
Το Drupal 4.2[13] υπήρξε η βάση για το DeanSpace, ένα σύστημα διαχείρισης περιεχομένου που χρησιμοποιήθηκε για τη λειτουργία πολλών ανεξάρτητων ιστοτόπων για την υποστήριξη της προεδρικής προεκλογικής καμπάνιας του Howard Dean. Αφού έληξε η καμπάνια Dean, το έργο DeanSpace εξελίχθηκε στο CivicSpace, μια πλατφόρμα βασισμένη στο Drupal που "ενθάρρυνε τη συλλογική πράξη μέσα σε κοινότητες και συνένωσε απομακρυσμένες ομάδες υποστηρικτών με συνεκτικό τρόπο". Το CivicSpace[14] περιλαμβάνει το CiviCRM και άλλα χαρακτηριστικά χρήσιμα για ιστοτόπους μη κερδοσκοπικών οργανισμών και για καμπάνιες πολιτικών κομμάτων.
Υπάρχουν διάφορες άλλες προσαρμοσμένες με βάση το Drupal πλατφόρμες. Οι περισσότερες είναι απλά το Drupal πακεταρισμένο με μονάδες τρίτων, άλλα περιλαμβάνουν και αλλαγές στον πυρήνα. Ένα παράδειγμα μιας τέτοιας διανομής είναι το vbDrupal, που είναι το Drupal συγχωνευμένο με το VBulletin.
[Επεξεργασία] Βιβλία
Το Drupal υπήρξε θέμα σε διάφορα βιβλία:
- Pro Drupal Development (Απρίλιος 2007) από τους John K. VanDyk και Matt Westgate (ISBN 1590597559)
- Drupal: Creating Blogs, Forums, Portals, And Community Websites από τον David Mercer (ISBN 1904811809)
- Building Online Communities With Drupal, phpBB, and WordPress από τους Robert T. Douglass, Mike Little και Jared W. Smith (ISBN 1590595629)
- The revolution will not be televised: democracy, the internet, and the overthrow of everything από τον Joe Trippi (ISBN 0-06-076155-5)
- The power of many: how the living web is transforming politics, business, and everyday life από τον Christian Crumlish (ISBN 0782143466)
- We the media: grassroots journalism by the people, for the people από τον Dan Gillmor (ISBN 0-596-00733-7)
- Community-Websites entwickeln und verwalten mit dem Open Source-CMS. (Γερμανικά) από τον Hagen Graf (ISBN 3827323215)
[Επεξεργασία] Αναφορές
- ↑ Deelstra, Heine (2007-07-26). Security updates and bugfixes available: Drupal 5.2 and 4.7.7 released (HTML). Drupal. Ανακτήθηκε 2007-08-08 .
- ↑ http://drupal.org/node/769
- ↑ "Στατιστικά λήψης του Drupal" http://buytaert.net/tag/statistics
- ↑ "Γράφοι ανάπτυξης" http://groups.drupal.org/node/1980
- ↑ Τα χαρακτηριστικά του πυρήνα του Drupal περιγράφονται στο on-line "Εγχειρίδιο (Handbook) του Drupal" που υπάρχει στη διεύθυνση http://drupal.org/handbook/modules.
- ↑ http://drupal.org/project/amazon_items
- ↑ "PHPTemplate theme engine", Drupal.org
- ↑ "XTemplate theme engine", Drupal.org.
- ↑ "How does Drupal compare to Mambo?" θέμα συζήτησης, Drupal.org.
- ↑ "Translations," Drupal.org http://drupal.org/project/Translations (ανακτήθηκε στις 12 Αυγούστου 2007)
- ↑ Alister Lewis-Bowen et al., "Using open source software to design, develop, and deploy a collaborative Web site," IBM, 11 Ιουλίου, 2006
- ↑ Drupal 5.0 Κατάλογος χαρακτηριστικών, 15 Ιανουαρίου, 2007. Προσπελάστηκε στις 15 Ιανουαρίου, 2007
- ↑ http://drupal.org/node/4877#comment-7552
- ↑ CivicSpace, που συνεισέφερε σημαντικά στο έργο του Drupal