webtrends

Σάββατο, 20 Δεκεμβρίου 2014 14:49

Η ιστορία ενός migration, απο Joomla σε Drupal.

Τον Αύγουστο του 2014 έπρεπε να πάρω μια πολύ σοβαρή απόφαση. Ένα μεγαλούτσικο site ταξιδιωτικού γραφείου, αυτό του Fantasy Travel , χρειαζόταν μια σειρά από διορθώσεις και επεμβάσεις. Ήταν κατασκευασμένο σε Joomla με έναν σκασμό από πρόσθετα plugins και κάποια ελάχιστα custom κομμάτια κώδικα. Τι κάνουμε λοιπόν; Μένουμε στο ίδιο σύστημα η ψάχνουμε κάτι άλλο;

H αλήθεια είναι πως αυτό εδώ το site κράτησε 3 χρόνια και υπηρέτησε πολύ καλά το γραφείο. Σκαρφάλωσε στις μηχανές αναζήτησης και αύξησε πάρα πολύ μια σειρά από στατιστικούς δείκτες, ιδιαίτερα σημαντικούς για την εταιρεία.

Είναι μάλλον λίγο τρελό να το ξηλώσεις και να πας σε κάτι άλλο, ιδιαίτερα εφόσον δουλεύει μια χαρά. Τι θα γίνει με την Google, πως θα διατηρήσεις το ranking; Τι απόδοση θα έχει το όποιο καινούργιο; Πόσο χρόνο θα πάρει να μάθεις το καινούργιο CMS; Πόσο εύκολη θα είναι η διαχείριση του για τους διαχειριστές; Ερωτήσεις τελικά, μάλλον κλασσικές, όταν είναι να κάνεις ένα migration.

Ωραία, ποιο είναι το σωστό CMS;

Υπάρχουν εκατοντάδες Content Management Systems (CMS) εκεί έξω. Σαφώς τα 3 διασημότερα είναι το Wordpress, το Joomla και το Drupal και μάλιστα με ακριβώς αυτή την σειρά. Πριν όμως αρχίσω να κοιτάω τι κάνουν αυτά που δεν ξέρω, έπρεπε να κάνω κάτι πιο δύσκολο. Μαζί με την ομάδα του γραφείου, τον Διαμαντή και την Κωσταντίνα, έπρεπε να καταλήξουμε τι ιδανικά θα θέλαμε από το καινούργιο site.

Με την βοήθεια των Google Analytics και ενός μαυροπίνακα, με αυτά και με αυτά, καταλήξαμε σε μια λίστα. Υπήρχαν φυσικά ένα σωρό εντυπωσιακές ιδέες, άγνωστο αν και πως υλοποιούνται και με ποιο σύστημα. Γνωρίζαμε ότι θα πρέπει να προσαρμόζεται σε κινητές συσκευές και θέλαμε να είναι όσο το δυνατόν πιο "εύπλαστο". Φυσικά να είναι γρήγορο, ασφαλές, SEO friendly, μπλα μπλα μπλα.

Το να ξεκινήσω την αναζήτηση του σωστού εργαλείου, γνωρίζοντας από πριν τους στόχους μας, ήταν σίγουρα ότι πιο έξυπνο γιατί μπορούσα να κρίνω την κάθε επιλογή όχι γενικά, αλλά ειδικά για τις ανάγκες μας. Κακά τα ψέματα, δεν υπάρχει καλό η κακό CMS. Υπάρχει το σωστό για την δουλειά που θέλεις να κάνεις.

wordpress drupal joomla

Η αναζήτηση κράτησε περίπου μια εβδομάδα. Καθ' όλη την διάρκεια ευχόμουν η ιδανική πλατφόρμα να είναι αυτή που έχουμε (Joomla) κυρίως γιατί ο χρόνος που είχαμε ήταν περιορισμένος. Διάβασα δεκάδες συγκριτικά, reviews και documentation. Όλα έδειχναν ότι το Drupal είναι η σωστή επιλογή! Όμως φαινόταν πάρα πολύ δύσκολο να το μάθεις, οπότε η απόφαση δεν ήταν εύκολη.

Ακολούθησε μια εβδομάδα ταχύρυθμης εκπαίδευσης με βιβλία και κυρίως εκπαιδευτικό βίντεο, υλικό από ιστοσελίδες όπως το OSTtraining που περιλάμβανε οδηγούς και για τα 3 CMS. Και πάλι όλα έδειχναν το Drupal, οπότε είχαμε νικητή.

Drupal, ας γνωριστούμε.

Δεν σας κρύβω ότι είναι δύσκολο. Είναι πάρα πολύ δύσκολο. Είναι φορές που σκέφτηκα ότι το έχουν κάνει επίτηδες δύσκολο, έτσι για να ασχολούνται με αυτό μόνο όσοι έχουν υπομονή και μπόλικο ελεύθερο χρόνο. Λες και θέλουν μια μυστική αδελφότητα να συμμετέχει σε αυτό, μόνο όσοι αντέξουν την δοκιμασία να το μάθουν. Ό,τι πιθανότατα έχετε συνηθίσει από το Joomla ή ακόμα χειρότερα από το WordPress (επειδή είναι ακόμα πιο user friendly) δεν ισχύει εδώ. Το Drupal είναι ένα σύστημα που φτιάχτηκε από developers για developers. Δεν έχει την παραμικρή διάθεση να είναι φιλικό προς τον διαχειριστή, είναι geek oriented, σαν να φτιάχτηκε από τους Borg (φυλή Star Trek). Θα σου πετάξει δέκα παράθυρα που το καθένα θα έχει μερικές δεκάδες κουμπάκια που όταν πατιούνται, αν έχουν το θεό τους, θα ανοίγουν άλλα δέκα παράθυρα με άλλες εκατό επιλογές έκαστο.

Πέρασα έντονα συναισθήματα. Ένιωσα χαζός και άσχετος. Μου πήρε μια ώρα να καταλάβω πως διάολο βάζεις σε σειρά τα άρθρα. Αυτό το τόσο απλό, ήθελε googlaρισμα. Μου πήρε άλλη μια ώρα να στείλω Email. Βλέπετε, έπρεπε να εγκαταστήσεις component για SMTP,  γιατί δεν υπήρχε. Γενικά δεν έρχεται φορτωμένο με πράγματα το drupal, του φορτώνεις εσύ ότι χρειάζεσαι. Επίσης τίποτα δεν λέγεται με τον ίδιο τρόπο. Το άρθρο είναι node, τα tags λέγονται taxonomies κ.ο.κ. Κατάλαβα ότι έχω μπλέξει στην κυριολεξία και ένιωσα μεγάλη ανακούφιση όταν διάβασα δημοσιεύματα με κόσμο φρικαρισμένο που όμως κατέληγε στο "και όταν το μάθεις, δεν θα πας ποτέ πίσω".

Γι' αυτή την στιγμή τελικά ζούσα και δεν είχε περάσει καν βδομάδα!

keep-calm-and-let-s-work-1Ας σηκώσουμε τα μανίκια

Θα έχουμε τέσσερις πολύ δύσκολους μήνες. H πρώτη δυσκολία ήταν το αρχικό migration των δεδομένων από Joomla σε Drupal. Εδώ βοήθησε ξεκάθαρα το ότι ξέρω προγραμματισμό, αφού τελικά έγραψα ο ίδιος το migration script. Όλα πήγαν πρίμα και τελικά 1.000 άρθρα μαζί με photo galleries βρέθηκαν στο Drupal σε μόλις 2 ημέρες. Το υπόλοιπο υλικό δεν άξιζε να μεταφερθεί γιατί μια από τις αλλαγές που θα γινόντουσαν ήταν το ίδιο το logic πίσω από τα πακέτα. Έτσι λοιπόν σχεδιάστηκαν τα πεδία, φτιάχτηκαν οι φόρμες και άρχισαν να γράφονται νέα κείμενα ενώ παράλληλα έγινε αναζήτηση νέου και copyrighted φωτογραφικού υλικού.

Το πέρασμα του υλικού

To Drupal το έκανε παιχνιδάκι. Δύο από τα βασικότερα προβλήματα του υλικού ήταν οι αναρίθμητοι πίνακες και οι δεκάδες φωτογραφίες. Οι πίνακες είναι ένα από τα πιο δύσκολα αντικείμενα για μορφοποίηση και παραδοσιακά έχω διαπιστώσει ότι αντιμετωπίζουν πρόβλημα οι χειριστές/διαχειριστές, και παραπονιούνται για τα πολλαπλά βήματα που χρειάζονται, για την δυσκολία της εισαγωγής τιμών, ή για την αναγκαστική – μερικές φορές – επέμβασή τους στο αισθητικό κομμάτι. Όλα αυτά παρελθόν.

Οι δε φωτογραφίες; Απλά μαγικό. Ανεβάζεις μια και μόνο φωτογραφία σε ορισμένες διαστάσεις (συνήθως την απόλυτα μέγιστη) και όλα τα άλλα γίνονται μόνα τους. Μέχρι και High density (Retina display) φτιάχνονται μόνες τους και ενεργοποιούνται όταν χρειάζονται! Τέλος οι οδηγίες χρήσης τύπου "να είναι εδώ 500x250px και εκεί 700x150px" και κλπ.

Ο σχεδιασμός

Δεν έχω να πω πολλά εδώ, χαρτί, μολύβι, προσεκτική επιλογή παλέτας χρωμάτων, Bootstrap 3 και ελάχιστη javascript. Το Drupal έκανε ιδιαίτερα εύκολη την υπόθεση Responsive. Και εξηγούμαι αμέσως.

Το Drupal έχει έναν μάλλον λοξό τρόπο να αντιλαμβάνεται τις εικόνες. Ανεβάζεις μια και μετά ορίζεις μέσω στυλ πως θα δείχνει. Ακούγεται βαρετό και είναι, όμως πιστέψτε με, κρύβει μια αδιανόητη δύναμη αυτό από πίσω του. Ούτε λίγο ούτε πολύ, κατάφερα να έχω σε οποιαδήποτε περίπτωση, είτε ήταν λίστα, είτε το βασικό αντικείμενο, την σωστή διάσταση στην φωτογραφία. Και ακόμα καλύτερα, την σωστή διάσταση ανά συσκευή θέασης, κάτι που κάνει πραγματικά responsive μια ιστοσελίδα.

Τέλος το templating σύστημα του, αν και λίγο πονοκέφαλος να το καταλάβεις, ήταν εξαιρετικά ευέλικτο και το μόνο πράγμα που τελικά μπορεί να σε περιορίζει, είναι η φαντασία σου.

Ταχύτητα και SEO

Είχα υψηλές προσδοκίες από το Drupal και δικαιώθηκα. Αρίστευσε και στα δύο χωρίς πρακτικά να κάνω και πολλά πράγματα. Ένα από τα μεγαλύτερα προβλήματα σε τόσο μεγάλες αλλαγές είναι οι παλιοί σύνδεσμοι που πρέπει να οδηγούν σε αυτούς του καινούργιου site. Αν και το CMS από μόνο του δίνει την δυνατότητα να ακολουθήσεις πιστά την δομή που είχες πριν, σε αρκετές περιπτώσεις ήθελα να κάνω πιο ξεκάθαρα και φιλικά προς τις μηχανές τα URL. Έτσι λοιπόν κατασκευάστηκε λίστα με όλα τα παλιά link και τα αντίστοιχα καινούργια. Το Drupal ανέλαβε όλα τα υπόλοιπα.

Επιτέλους, τέλος

Ήταν δύσκολο αλλά άξιζε τον κόπο. Το πόσο καλύτερο είναι από το προηγούμενο, θα το πουν τα νούμερα....

Χαζομάρες. Είναι καλύτερο και δεν χρειάζομαι κανένα νούμερο. Άνοιξα το καπό και ξέρω τι κρύβεται από κάτω. Χλιμιντρίζει στο αυτί μου και φορτώνει σε 1sec απο Αμερική και σε 2,5 από Ευρώπη και ακόμα δεν τελείωσα να το πειράζω (speed tweaks).

Τέλος έχει γίνει μια τόσο εξαιρετική δουλειά σε επίπεδο περιεχομένου (να 'σαι καλά Ντινάκι) με πρότυπα κείμενα, πλούσιο λεξιλόγιο, πανέμορφες φωτογραφίες και αδιανόητη ανάλυση σε επίπεδο δομής (tags), που σφραγίζει με τον καλύτερο δυνατό τρόπο αυτή την μεγάλη, αυτή την τιτανομέγιστη διαδικασία.

Drupal, σε αγαπώ

Ένας άλλος κόσμος, χωρίς υπερβολές. Κατάλαβα γιατί αυτό το πάθος των Developer με δαύτο και είδα από κοντά τι σημαίνει ευελιξία – στις περισσότερες περιπτώσεις. Είναι αδιανόητα γρήγορο αν έχεις το κατάλληλο hosting, εξαιρετικά φιλικό στις μηχανές αναζήτησης και τρομερά εύπλαστο σε επίπεδο δομών περιεχομένου. Όσο αφορά τον σχεδιασμό του, μπορεί να πάθεις κάνα-δυο κράμπες στον εγκέφαλο μέχρι να καταλάβεις πως ακριβώς λειτουργεί, αλλά όταν το καταλάβεις μένεις με το στόμα ανοιχτό.

drupal

Σε αυτό το κολοκύθι μπορείς να κάνεις "override" τον ίδιο σου τον εαυτό, χωρίς υπερβολές. Από τα πράγματα που με εντυπωσίασαν ήταν τα "Views", το σχεδόν εξ' ορισμού πρόσθετο που αποτελεί πρακτικά έναν "query builder" για να φτιάχνεις ότι σου κατέβει ή το Drush (γραμμή εντολών παρακαλώ).

Γενικότερα λάτρεψα την φιλοσοφία του, την λογική των Hooks ενώ μου έκλεισε το μάτι και το μέλλον του ( η έκδοση 8 ψήνεται καιρό τώρα και έχει εξαιρετικό ενδιαφέρον). H κοινότητα του και το γενικότερο οικοσύστημα του, επίσης διαφέρει και μου ταιριάζει πολύ καλύτερα. Δεν έχει την λογική που έχουν τα Joomla και Wordpress, που για να κάνεις λίγο πιο ειδικά πράγματα πρέπει να πληρώσεις αδρά μια σειρά από components. Εδώ η συντριπτική πλειοψηφία είναι δωρεάν και ίσως το πιο όμορφο είναι ότι τα πρόσθετα που γράφονται, χρησιμοποιούν συνήθως άλλα πρόσθετα (dependencies) πράγμα απίστευτα όμορφο, ειλικρινές, ευέλικτο και ασφαλές.

Νομίζω ότι αξίζει ένα άρθρο από μόνο του και το βέβαιο είναι ότι κέρδισε τον απόλυτο σεβασμό μου.

Και εις άλλα με υγεία! Καλή χρονιά να έχουμε :-)

Διαβάστηκε 1143 φορές

Lollypop :: Κατασκευή Ιστοσελίδων

Τσαμαδού 82-84 Πειραιάς, 18534

Τηλ 211 790 5890
Φαξ 211 770 5763

Χάρτης Lollypop