Γιατί ανυπομονούμε για το Drupal 8

Drupal 8

Πριν από 4 χρόνια πήραμε στη Netstudio μια σημαντική απόφαση: Ότι γυρνάμε σε Drupal. Μόλις είχε βγει το Drupal 7, και παρ'όλο που είχαμε κατακτήσει το Joomla και είχαμε κάνει σε αυτό σημαντικές εγκαταστάσεις (βλ. welovetoys.gr / welovesupermarket.gr), δεν μπορούσαμε να αγνοήσουμε το ενσωματωμένο CCK, την υποστήριξη πολυγλωσσικότητας, την ασφάλεια και τη σταθερότητα, τη δυνατότητα scalability, τη φιλικότητα στις μηχανές αναζήτησης, αλλά πάνω από όλα, τον επαγγελματισμό της κοινότητας του Drupal.

Το Drupal 7 μας βοήθησε να αναλάβουμε ακόμα πιο πολύπλοκα και πιο μεγάλα project, αλλά και να κτίσουμε πάνω σε αυτό όλες τις λύσεις μας για ηλεκτρονικό εμπόριο, site παρουσίασης κτλ., αλλά ακόμα και το ERP μας, το σύστημα προσφορών μας, το σύστημα προσλήψεών μας, ακόμα και το εργαλείο project management που χρησιμοποιούμε για την υλοποίηση των project μας. Σε αυτό επίσης βασίσαμε τα προσωπικά μας project, όπως το visibility.gr και το servalarm.com, καθώς και πάνω από 200 site και e-shop πελατών μας.

Δεν μετανιώσαμε ούτε στιγμή για τη στροφή μας σε Drupal, παρ'όλο που αυτό σήμαινε ότι έπρεπε να μάθουμε από την αρχή ένα νέο οικοσύστημα.

Μόλις 6 μήνες αφού εκδόθηκε το Drupal 7, η κοινότητα του Drupal ξεκίνησε την ανάπτυξη του Drupal 8. Ο Dries Buytaert έθεσε για τη νέα έκδοση του Drupal πολύ ψηλά τον πήχυ, καθορίζοντας τους βασικούς πυλώνες στους οποίους θα έπρεπε να... σκίσει!

Έτσι, μετά από 4,5 χρόνια ανάπτυξης και όντας στην έκδοση beta 10, η τελική έκδοση του Drupal φαίνεται να απέχει λιγότερο από 6 μήνες!

Στην ανάπτυξη του Drupal 8 συνέδραμε διπλάσιος αριθμός προγραμματιστών (πάνω από 2800) αναπτύσσοντας εκατοντάδες νέες λειτουργίες.

Η σημαντικότερη δομική αλλαγή που έγινε είναι ότι βασίστηκε στο Symfony2 framework κάνοντάς το αντικειμενοστραφές. Πια, μεγάλα κομμάτια κώδικα έρχονται από την κοινότητα του Symfony2, όπως το Guzzle, το νέο theming system twig, το Composer κ.ά.

Πέρα από αυτό όμως, το Drupal 8 φέρνει τεράστιες αλλαγές στον τρόπο που αναπτύσσουμε site.

Πολυγλωσσικότητα

Η υποστήριξη πολυγλωσσικότητας είναι πολύ σημαντική, καθώς είμαστε Έλληνες και πολλά site πελατών μας απαιτούν τη λειτουργία σε ελληνικά και αγγλικά, κάποια από αυτά και σε πολύ περισσότερες γλώσσες (π.χ. το ivf-embryo.gr λειτουργεί σε 14 γλώσσες). Στο Drupal 7 η πολυγλωσσικότητα υποστηρίζεται πολύ καλύτερα από ό,τι στο Joomla ή στο WordPress, αλλά απαιτεί την εγκατάσταση και ρύθμιση πάνω από 15 πρόσθετων module. Σε κάποιες extreme περιπτώσεις η πλήρης υποστήριξη απαιτεί προγραμματιστική επέμβαση, άρα δεν είναι πλήρως διαχειρίσιμη από τον απλό χρήστη της σελίδας.

Στο Drupal 8 η υποστήριξη πολυγλωσσικότητας είναι ενσωματωμένη στον πυρήνα και απαιτεί την ενεργοποίηση μόλις 4 module. Μπορεί κάποιος πια να εγκαταστήσει και να λειτουργήσει το Drupal στη δική του γλώσσα από την αρχή έως το τέλος. Ο Gábor Hojtsy, ο οποίος ήταν υπεύθυνος αυτού του πυλώνα, μαζί με μια μεγάλη ομάδα συντελεστών έκανε εξαιρετική δουλειά και έλυσε δεκάδες θέματα που είχε το Drupal 7, κάνοντας το Drupal 8 την πιο ολοκληρωμένη πλατφόρμα ανάπτυξης πολυγλωσσικών site και εφαρμογών ανοικτού κώδικα που υπάρχει!

Το Views στον πυρήνα

Το module Views είναι για πολλούς ο λόγος που επιλέγουν το Drupal. Επιτρέπει την εμφάνιση δεδομένων στον χρήστη, χωρίς να χρειάζεται να γράψει ερωτήματα SQL. Στο Drupal 8 ενσωματώνεται στον πυρήνα παρέχοντας ευκολία (μπορείς να ξεκινήσεις να φτιάχνεις το site σου χωρίς να πρέπει να εγκαταστήσεις πρόσθετο module), σταθερότητα και πλήρη ενσωμάτωση και διαλειτουργικότητα. Παράλληλα, όλες οι οθόνες της διαχείρισης είναι πια Views, επιτρέποντας στον διαχειριστή να αλλάξει με μερικά κλικ τα πεδία και τον τρόπο που εμφανίζονται σε αυτές.

WYSIWYG και Inline Edit

Drupal 8 Inline Edit

Στο Drupal 7 η εμπειρία για τον διαχειριστή κατά το editing του περιεχομένου δεν ήταν η καλύτερη δυνατή. Το WordPress κατείχε και κατέχει ακόμα τα σκήπτρα στην ευκολία και την ευχρηστία σε αυτό τον τομέα. Στη Netstudio εγκαθιστούμε δεκάδες modules για να παραδώσουμε στους πελάτες μας ένα περιβάλλον που πλησιάζει αυτό του WordPress. Στο Drupal 8, έχει γίνει ένα τεράστιο βήμα, καθώς με τη βασική εγκατάσταση έχουμε ένα περιβάλλον πολύ πιο φιλικό και εύχρηστο στον διαχειριστή του περιεχομένου (μάλιστα στην ευχρηστία του συμβάλλαμε ως Netstudio παρέχοντας τεστ ευχρηστίας μέσω του UserFeel.com). Υπάρχει ενσωματωμένος και σωστά ρυθμισμένος WYSIWYG editor, αλλά και το πρωτοποριακό και εντυπωσιακό Inline Edit, το οποίο επιτρέπει πολύ εύκολες και γρήγορες παρεμβάσεις στο περιεχόμενο από το Front End. Αυτό που έμεινε για την επόμενη έκδοση του Drupal 8 (ίσως την 8.1) είναι η διαχείριση των media (φωτογραφίες, video κτλ.) που παρ'όλο που έχει βελτιωθεί, θα απαιτεί να συνεχίσουμε να εγκαθιστούμε επιπλέον modules για μια ολοκληρωμένη λύση. Ειδικά, τα καινούρια Entity Embed και Entity Browser κινούνται προς αυτή την κατεύθυνση.

Mobile friendly

Το 2011 που ξεκίνησε η ανάπτυξη του Drupal 8 διαβάζαμε τις προβλέψεις για την ανάπτυξη του mobile web. Τώρα τις ζούμε και μας φαίνονται αυτονόητες, τότε όμως δεν ήταν και τόσο. Ευτυχώς ο Dries πίστεψε σε αυτές τις προβλέψεις και έθεσε ως απαραίτητη προϋπόθεση για το Drupal 8 το να είναι πλήρως συμβατό με κινητές συσκευές. Και το πέτυχε. Όλο το περιβάλλον διαχείρισης, όχι μόνο είναι responsive, αλλά και πάρα πολύ εύκολο στη χρήση από κινητά και ταμπλέτες! Ακόμα και τα contextual links, το admin menu και το inline edit. Αυτό σημαίνει ότι μπορεί κάποιος να διαχειρίζεται το site του άνετα από το κρεββάτι του, το ταξίδι του, το λεωφορείο, ή ακόμα και την... τουαλέτα!

Performance & Scalability

Η ταχύτητα που φορτώνουν τα site και η δυνατότητα της πλατφόρμας να σηκώσει μεγάλη και απότομη κίνηση είναι κάτι που μας απασχολεί πολύ και ήταν και ένας από του λόγους που μεταφερθήκαμε σε Drupal 7. Το Drupal 8 ξεκίνησε όντας πολύ πιο αργό από το Drupal 7. Μάλιστα, πριν από 2 χρόνια δημοσιεύσαμε τις μετρήσεις που κάναμε για αυτό. Ο λόγος φυσικά ήταν ότι ήταν ακόμα σε ανάπτυξη και δεν είχε γίνει βελτιστοποίηση ταχύτητας. Αυτό σήμερα έχει αλλάξει. Πριν ένα μήνα περίπου έγινε προκαθορισμένη επιλογή η ενεργοποιημένη cache. Μια cache που λειτουργεί πολύ πιο έξυπνα από το Drupal 7 και η μάχη για την ταχύτητα συνεχίζεται με προεξέχοντα developer σε αυτό τον τομέα τον Wim Leers. Εδώ αναμένουμε εντυπωσιακές βελτιώσεις και δυνατότητες, όταν μπουν στον πυρήνα η "SmartCache" και η φόρτωση της σελίδας σε στυλ Facebook PigPipe.

Configuration Management

Αυτό είναι το αγαπημένο μου σημείο. Αυτό για το οποίο ανυπομονώ πιο πολύ από όλα, καθώς λύνει το θέμα της διατήρησης του configuration των site σε version control. Στο Drupal 7 το configuration του site και το περιεχόμενο αποθηκεύονταν στη βάση δεδομένων, κάποιες φορές και στους ίδιους πίνακες κάνοντας τη διαχείρισή τους σχεδόν αδύνατη. Προσπαθήσαμε πολλές φορές να λύσουμε το θέμα χρησιμοποιώντας το features, το strongarm κτλ., αλλά το μέγεθος των project μας έκανε τελικά ασύμφορες αυτές τις λύσεις. Φτάσαμε να φτιάχνουμε scripts που ελέγχουν τη λειτουργικότητα των site πριν τα παραδώσουμε κοιτώντας πάνω από 300 σημεία που αφορούν την ασφάλεια, το performance, το SEO κτλ., αλλά και πάλι αυτή είναι μια μέση λύση. Στο Drupal 8 το configuration αποθηκεύεται σε αρχεία yml κάνοντας τη διατήρηση σε version control, αλλά και τη μεταφορά από site σε site ή από environment σε environment (π.χ. development > staging > testing > live) παιχνίδι.

Επόμενες εκδόσεις

Άλλο ένα σημαντικό σημείο που αλλάζει από την έκδοση 8 του Drupal είναι ο ρυθμός δημοσίευσης νέων εκδόσεων. Μέχρι το Drupal 7, οι επόμενες εκδόσεις (7.01, 7.02 μέχρι και την πρόσφατη 7.34) αφορούσαν μόνο το κλείσιμο τρυπών ασφαλείας και τη διόρθωση σφαλμάτων. Ήταν ελάχιστες οι λειτουργίες που προστέθηκαν αυτά τα 4,5 χρόνια, καθώς υπήρχε η πολιτική του backward compatibility. Αυτό αλλάζει στο Drupal 8. Έτσι, οι εκδόσεις 8.1, 8.2 κτλ. δεν θα είναι "minor updates", αλλά θα προσθέτουν λειτουργίες που δεν προλάβανε να μπουν στο Drupal 8.0. Αυτό σημαίνει ότι από εδώ και πέρα το Drupal θα μπορεί να ενσωματώνει πολύ πιο γρήγορα τις καινοτομίες που έχει να προσφέρει η τεχνολογία (και πάντα έχει σε αυτόν το χώρο).

Επιπλέον αλλαγές

Τα παραπάνω είναι μόνο τα σημαντικότερα από τα νέα στοιχεία του Drupal 8. Το Drupal 8 έρχεται με πολλές περισσότερες καινοτομίες, όπως fieldable blocks, περισσότερους ενσωματωμένους τύπους πεδίων (date, entity reference, phone, email, link), το tour module, ενσωματωμένο schema.org output, καλύτερο accessibility, content publishing preview, φιλικότερο front-end development και πολλά άλλα. Ποιο είναι για σας το σημαντικότερο; Αφήστε το σχόλιό σας παρακάτω.

Πότε θα είναι έτοιμο;

Μόλις ολοκληρώθηκε το DrupalCon στο Los Angeles, όπου δεκάδες προγραμματιστές πήραν μέρος στα Coding Sprints με στόχο την ολοκλήρωση του Drupal 8. Μένουν πια μόλις 22 critical issues (tasks και bugs)!!

Η έκδοση RC (Release Candidate) θα δημοσιευθεί μόλις ο αριθμός των critical tasks και critical bugs πάει στο μηδέν. Ενώ η τελική έκδοση του Drupal 8 θα δημοσιευθεί αφού περάσουν 15 ημέρες χωρίς να εμφανιστεί άλλο critical task ή critical bug. Αν και πιθανότατα μένουν λιγότεροι από 6 μήνες για να επιτευχθεί αυτό, θα χρειαστούν και κάποιοι μήνες, μέχρι τα σημαντικότερα contributed modules μεταφερθούν σε Drupal 8. Όμως, επειδή... μας ξέρω, σίγουρα με την δημοσίευση της σχεδόν τελικής έκδοσης θα ξεκινήσουμε να φτιάχνουμε απλά site παρουσίασης σε αυτό. Υπολογίζω όμως ότι θα περάσουν επιπλέον 3-6 μήνες πριν ξεκινήσουμε να το χρησιμοποιούμε σε πιο απαιτητικές εγκαταστάσεις.

Εμείς ανυπομονούμε, εσείς;

Εμείς ανυπομονούμε για όλους τους παραπάνω λόγους. Εσείς; Σκοπεύετε να χρησιμοποιήσετε το Drupal 8; Το έχετε χρησιμοποιήσει; Τι σας αρέσει πιο πολύ σε αυτό; Αφήστε το σχόλιό σας παρακάτω.

Γιάννης

Γράφει ο Γιάννης

Founder & CEO

Σχόλια
avatar

18/05/2015 - 13:31

Theodoros Ploumis

Ένα άλλο σημαντικό σημείο της έκδοσης 8.x είναι το REST API και η δυνατότητα να έχουμε Headless συστήματα με το Drupal να παίζει τον ρόλο του backend διαχωρίζοντας το content από το system όσο κανένα άλλο αντίστοιχο cms. Αυτό νομίζω ότι θα είναι το μεγάλο "δόλωμα" ώστε να προτιμήσουν το Drupal πολλοί άνθρωποι που ασχολούνται με τεχνολογίες όπως NodeJS, Javascript, Native mobile languages κτλ που αυτή τη στιγμή θεωρούνται super hot. Το web κινείται σε αυτήν την κατεύθυνση και το Drupal 8.x, χάρις στην διορατικότητα του Dries και του Drupal community, πιστεύω ότι θα βρεθεί στο επίκεντρο των εξελίξεων.

avatar

11/09/2015 - 21:26

Χριστόφορος

Μπορώ να ρωτήσω γιατί επιλέξατε από Joomla να χρησιμοποιήσετε Drupal και όχι Wordpress?

Γιάννης

11/09/2015 - 21:41

Γιάννης

Το WordPress είναι ένα φανταστικό CMS με δυνατό του σημείο την απλότητα και το πόσο γρήγορα σου επιτρέπει να κάνεις πράγματα. Όμως δεν είχε (και δεν έχει) εγγενή υποστήριξη πολυγλωσσικότητας, η κοινότητα δεν είναι τόσο δομημένη όσο του Drupal, και δυστυχώς, είναι πολύ εύκολο να χακαριστεί, ειδικά αν χρησιμοποιείς μη ποιοτικά themes και plugins. Παρ'όλα αυτά, το χρησιμοποιούμε σε περιπτώσεις όπου θέλουμε κάτι γρήγορο και απλό.

avatar

12/09/2015 - 20:18

Μιχάλης

Κυκλοφορεί ένα αστείο μεταξύ των μελών του Drupal community: Αν θέλεις να φτιάξεις ένα blog χρησιμοποίησε wordpress. Αν θέλεις να φτιάξεις το WordPress χρησιμοποίησε drupal. ;) Αυτό είναι ως ένα βαθμό αλήθεια και μαρτυρά πολλά για την ευελιξία του Drupal.

Σχολιάστε το άρθρο