Το Drupal 8 είναι η πρώτη και λογική επιλογή όσων αναζητούν ένα αξιόπιστο CMS για την κατασκευή ενός μεγάλου web project, είτε αυτό είναι ένα business/eCommerce/media website είτε ενα large scale web application. Πρόκειται, χωρίς αμφιβολία, για το πιο αξιόπιστο και με τις μεγαλύτερες δυνατότητες CMS στην αγορά.
Στην Steficon, με την πολύχρονη εμπειρίας μας και έχοντας επιλέξει το Drupal 8 ως το βασικό CMS εργαλείο, έχουμε αποκτήσει το τεχνικό βάθος και την γνώση ώστε να μπορούμε να υλοποιήσουμε και τα πιο απαιτητικά project σε Drupal 8 με μεγάλη αποδοτικότητα.
Drupal versions
Το Drupal 8 έχει σημαντικές βελτιώσεις σε σχέση με τον προκάτοχό του το Drupal 7. Βελτιώσεις όσον αφορά τις δυνατότητες, τις επιδόσεις, την λειτουργικότητα και βασικότερο όλων τα θέματα ασφάλειας του εργαλείου. Ωστόσο, οι αριθμοί δείχνουν ότι υπάρχουν πολλά site και applications τα οποία είναι ακόμα υλοποιημένα σε Drupal 7. Τον Ιανουάριο του 2020 τα sites σε Drupal 7 ήταν 729,918, ενώ σε Drupal 8, 334,126 (source).
Στο μέλλον το Drupal 9, το οποίο βρίσκεται ακόμα υπό κατασκευή, θα αντικαταστήσει το Drupal 8 προσφέροντας μια ακόμα πιο βελτιωμένη version του εργαλείου σε όλους τους τομείς.
Μετάβαση σε Drupal 8
Για αρχή πρέπει να αναφέρουμε οτι η μετάβαση απο Drupal 8 σε Drupal 9 θα είναι όσο πιο ομαλή γινεται χωρίς μεγάλες διαφοροποιήσεις στο κομμάτι του κώδικα που θα πρέπει να ξαναγραφεί. Με την εξαίρεση μερικών modules που θα σταματήσουν να υποστηρίζονται ο κώδικας θα είναι σχεδόν ο ίδιος, οι μεγαλύτερες αλλαγές θα λάβουν μέρος στο core του Drupal 9 (source). Εν αντιθέσει, η μετάβαση από Drupal 7 σε Drupal 8 είναι ένα αρκετά μεγάλο εγχείρημα, μιας και μεταξύ των δύο εκδόσεων έχει αλλάξει όλη η φιλοσοφία του εργαλείου. Μεταξυ άλλων, το Drupal 8 εισήγαγε τα Twig templates, μετέφερε τα Views και το Multilingual functionality στο core του εργαλείου και εισήγαγε τα Web Services με τα οποία μπορείς να έχεις access στα δεδομένα μέσω RESTful requests. Τέλος, κανένα module του Drupal 7 δεν υποστηρίζεται σε Drupal 8, οπότε όλα τα modules θα πρέπει να γίνουν είτε migrate είτε να γραφούν απο την αρχή.
Το Drupal 7 όπως και το Drupal 8 θα φτάσουν στο end-of-life τους τον Νοέμβριο του 2021 (source), από εκείνο το σημείο και μετά θα συνεχίσει να αναπτύσσεται μόνο το Drupal 9. Οι επιχειρήσεις που βρίσκονται σε Drupal 7 θα πρέπει σε εκείνο το χρονικό σημείο να έχουν μεταφερθεί σε Drupal 8 για 3 βασικούς λόγους:
- H πολυπλοκότητα της μετάβασης από Drupal 7 σε Drupal 9 θα είναι η ίδια όπως μεταξύ Drupal 7 σε Drupal 8. Θα είναι μια χρονοβόρα και δύσκολη διαδικασία η οποία είναι καλό να μην γίνει υπό χρονική πίεση
- Το Drupal 9 θα χρειαστεί κάποιο καιρό μετά το official release (3 Ιουνίου 2020) έτσι ώστε να δοκιμαστεί σε business υλοποιήσεις και να φτιαχτούν και τα τελευταία bugs όπως επίσης και να μεταφερθούν τα modules του Drupal 8 που δεν θα υποστηρίζονται στο καινούργιο version
- Όταν το Drupal 9 θα είναι πλέον δοκιμασμένο και θα έχει αποκτήσει ενα stability, τότε η μετάβαση από Drupal 8 θα είναι μια πολύ εύκολη διαδικασία, μια μικρή επένδυση από πλευράς των επιχειρήσεων.
Πως γίνεται το migration
Κατα το migration θα πρέπει να είμαστε σε θέση να κάνουμε όλα τα απαραίτητα test έτσι ώστε να διασφαλίσουμε ότι το τελικό αποτέλεσμα θα είναι μια πιστή αναπαραγωγή του application του πελάτη σε Drupal 8 η οποία ενδεχομένως θα διορθώνει και κάποια προβλήματα της προηγούμενης υλοποίησης. Ο στόχος μας είναι να μεταφερθούμε από το Drupal 7 στο Drupal 8 όσο το δυνατόν πιο εύκολα και χωρίς να έχουμε καθόλου downtime.
Λαμβάνοντας υπόψη το επίσημο Documentation (source) επιλέξαμε την πιο ασφαλή τεχνική migration η οποία ταιριάζει απόλυτα με τις διαδικασίες και το workflow της εταιρείας.
Γι' αυτούς τους λόγους στην Steficon έχουμε 3 working environments:
- Development environment (DEV)
- Test environment (STAGING)
- Production environment (PROD)
Το Drupal 8 διαθέτει το configuration management system το οποίο μπορεί να χρησιμοποιηθεί για το πλήρες deployment ενός Drupal application από ένα working environment σε ένα άλλο.
Το migration Flow
- Στο DEV environment γίνεται install το application του Drupal 7 και αναβαθμίζεται σε Drupal 8.
- Το Drupal 7 site παραμένει online PROD και το content συνεχίζει να ενημερώνεται στο site. Παράλληλα, το migration σε Drupal 8 ολοκληρώνεται στο περιβάλλον DEV
- Το configuration μεταφέρεται απο το DEV στο STAGING χρησιμοποιώντας το configuration management system που αναφέρθηκε παραπάνω
- Όταν ολοκληρωθεί το deployment και ο αρχικός κύκλος testing στο STAGING, περνάμε στο τελικό στάδιο του migration:
- Το latest content απο το PROD μεταφέρεται στο STAGING για τα τελευταία tests
- Μόλις ολοκληρωθούν όλα τα test, το STAGING μεταφέρεται στο PROD environment, όπου για λίγο διάστημα συνυπάρχουν το παλιό version 7 με το καινούργιο 8
- Περνάει και το τελευταίο content στο καινούργιο version και γίνεται η αλλαγή όπου το Drupal 8 γίνεται το κύριο site
Πείστηκα, what next?
Μπορείτε να επικοινωνήσετε μαζί μας τηλεφωνικά ή να έρθετε από τα γραφεία της εταιρείας όπου είστε πάντα ευπρόσδεκτοι για να συζητήσουμε από κοντά την στρατηγική μετάβασης του Drupal 7 site ή application σας σε Drupal 8. Ο στόχος μας είναι πάντα να βρίσκουμε την καλύτερη δυνατή λύση προσαρμοσμένη στις ανάγκες των πελατών μας.