Πού πρέπει να βρίσκεται ένα έργο ιστοσελίδας από την ανάπτυξη έως τη δημοσίευση
Ένα έργο ιστοσελίδας δεν «βρίσκεται» σε ένα μόνο μέρος σε όλη τη διάρκεια ζωής του. Κατά την ανάπτυξη μπορεί να υπάρχει σε τοπικό υπολογιστή, σε κοινό αποθετήριο κώδικα, σε δοκιμαστικό περιβάλλον για έλεγχο και τελικά σε παραγωγικό περιβάλλον όπου το βλέπει το κοινό. Το σωστό μέρος εξαρτάται από την εργασία που κάνεις εκείνη τη στιγμή. Το βασικό λάθος είναι να χρησιμοποιείς το παραγωγικό περιβάλλον σαν χώρο πειραματισμού ή να κρατάς τη μοναδική ενημερωμένη έκδοση μόνο σε έναν υπολογιστή.
Η καθαρή ροή μειώνει τα λάθη επειδή ξεχωρίζει το «δουλεύω», το «μοιράζομαι», το «ελέγχω» και το «δημοσιεύω». Δεν απαιτεί περίπλοκη υποδομή για κάθε μικρό έργο. Απαιτεί όμως να ξέρουν όλοι ποια έκδοση θεωρείται τρέχουσα, πού εγκρίνονται οι αλλαγές και με ποιον τρόπο περνούν στην πραγματική ιστοσελίδα.
Τοπικό περιβάλλον για εργασία χωρίς επίδραση στους επισκέπτες
Ο τοπικός υπολογιστής είναι κατάλληλος για αλλαγές που δεν πρέπει να επηρεάζουν το κοινό. Εκεί μπορούν να γίνουν δοκιμές διάταξης, προγραμματισμού και περιεχομένου χωρίς να βλέπουν οι επισκέπτες ενδιάμεσες εκδόσεις. Είναι επίσης χρήσιμος όταν μια αλλαγή μπορεί να προκαλέσει προσωρινό σφάλμα μέχρι να ολοκληρωθεί.
Το τοπικό αντίγραφο, όμως, δεν πρέπει να είναι η μοναδική πηγή του έργου. Ένας δίσκος μπορεί να χαλάσει, ένα αρχείο να αντικατασταθεί ή δύο συνεργάτες να καταλήξουν με διαφορετικές εκδόσεις. Για αυτό χρειάζεται κοινό σημείο αναφοράς.
Αποθετήριο κώδικα για ιστορικό και συντονισμό
Το αποθετήριο κώδικα λειτουργεί ως οργανωμένο ιστορικό των αλλαγών και ως κοινό σημείο συνεργασίας. Δεν είναι απλώς αντίγραφο ασφαλείας. Επιτρέπει να γνωρίζεις τι άλλαξε, πότε άλλαξε και ποια έκδοση πρέπει να χρησιμοποιηθεί για την επόμενη εργασία. Σε ομάδα πολλών ατόμων μειώνει τον κίνδυνο να ανταλλάσσονται αρχεία με ασαφή ονόματα όπως «τελικό», «τελικό2» και «τελικό_σωστό».
Για να είναι χρήσιμο, χρειάζεται ένας απλός κανόνας: οι αλλαγές που θεωρούνται έτοιμες πρέπει να καταγράφονται με σαφή περιγραφή. Έτσι η ιστορία του έργου παραμένει κατανοητή και η επιστροφή σε προηγούμενη κατάσταση είναι πιο ελεγχόμενη.
Δοκιμαστικό περιβάλλον για έλεγχο πριν από τη δημοσίευση
Το δοκιμαστικό περιβάλλον είναι μια έκδοση που μοιάζει όσο γίνεται με την πραγματική ιστοσελίδα, αλλά δεν χρησιμοποιείται ως κύρια δημόσια παρουσία. Εκεί μπορεί να ελεγχθεί μια αλλαγή σε πραγματικές συνθήκες: σύνδεσμοι, φόρμες, εικόνες, προσαρμογή σε κινητή συσκευή, ροές χρήστη και συμβατότητα με το υπάρχον περιεχόμενο.
Το δοκιμαστικό περιβάλλον είναι ιδιαίτερα χρήσιμο όταν χρειάζεται έγκριση από πελάτη ή συνεργάτη. Αντί να περιγράφεται μια αλλαγή μόνο με εικόνες ή μηνύματα, ο ενδιαφερόμενος μπορεί να δει ολόκληρη τη ροή πριν αυτή γίνει δημόσια.
Παραγωγικό περιβάλλον μόνο για εγκεκριμένες εκδόσεις
Το παραγωγικό περιβάλλον είναι η πραγματική ιστοσελίδα που εξυπηρετεί το κοινό. Εκεί πρέπει να φτάνουν αλλαγές που έχουν ήδη ελεγχθεί. Η αρχή αυτή δεν σημαίνει ότι κάθε μικρή διόρθωση χρειάζεται βαριά διαδικασία. Σημαίνει ότι το παραγωγικό περιβάλλον δεν πρέπει να χρησιμοποιείται ως τετράδιο πρόχειρων δοκιμών.
Πριν από μεγαλύτερη δημοσίευση, χρειάζεται να είναι γνωστό τι ακριβώς αλλάζει και πώς θα αποκατασταθεί η προηγούμενη λειτουργία αν προκύψει πρόβλημα. Η δυνατότητα επιστροφής είναι μέρος της σωστής δημοσίευσης και όχι σχέδιο πανικού μετά το σφάλμα.
Δέντρο απόφασης: πού κάνω την επόμενη ενέργεια;
- Πειραματίζεσαι ή γράφεις νέα λειτουργία; Εργάσου τοπικά ώστε να μην επηρεάζεις επισκέπτες.
- Θέλεις να μοιραστείς ή να καταγράψεις αλλαγές; Πέρασέ τες στο κοινό αποθετήριο με σαφή περιγραφή.
- Χρειάζεσαι έλεγχο σε περιβάλλον κοντά στο πραγματικό; Χρησιμοποίησε δοκιμαστική έκδοση.
- Η αλλαγή έχει εγκριθεί και ελεγχθεί; Τότε μπορεί να δημοσιευτεί στο παραγωγικό περιβάλλον.
- Δεν ξέρεις ποια έκδοση είναι η σωστή; Σταμάτησε τη δημοσίευση και λύσε πρώτα το θέμα της πηγής αλήθειας.
Πού βρίσκονται τα αρχεία και πού βρίσκεται η ιστοσελίδα δεν είναι ίδια ερώτηση
Τα αρχεία ανάπτυξης μπορεί να υπάρχουν σε περισσότερα από ένα σημεία, ενώ η δημόσια ιστοσελίδα έχει συγκεκριμένη διεύθυνση και φιλοξενία. Η διάκριση είναι κρίσιμη όταν γίνεται μεταφορά, ανάκτηση ή παράδοση έργου. Ο οδηγός για το πού βρίσκεται μια ιστοσελίδα εξηγεί γιατί η δημόσια διεύθυνση, η φιλοξενία και τα αρχεία δεν πρέπει να συγχέονται.
Αν γνωρίζεις μόνο τη δημόσια διεύθυνση, δεν σημαίνει ότι έχεις πρόσβαση στον κώδικα ή στη διαχείριση. Αν έχεις ένα αντίγραφο αρχείων, δεν σημαίνει ότι είναι η τελευταία παραγωγική έκδοση. Η τεκμηρίωση πρέπει να συνδέει αυτές τις πληροφορίες.
Η βάση δεδομένων και τα ανεβασμένα αρχεία χρειάζονται ξεχωριστή προσοχή
Σε δυναμική ιστοσελίδα, μέρος του περιεχομένου μπορεί να μην βρίσκεται μέσα στον κώδικα. Κείμενα, ρυθμίσεις, εγγραφές και αρχεία που ανεβάζουν οι χρήστες μπορεί να αποθηκεύονται αλλού. Αυτό σημαίνει ότι ένα πλήρες αντίγραφο της εφαρμογής δεν ισοδυναμεί πάντα με πλήρες αντίγραφο της τρέχουσας κατάστασης.
Πριν από μεταφορά ή σοβαρή αλλαγή, χρειάζεται να έχει καταγραφεί ποια δεδομένα αλλάζουν ανεξάρτητα από τον κώδικα. Έτσι αποφεύγεται το σενάριο να δημοσιευτεί σωστή νέα έκδοση αλλά να λείπει πρόσφατο περιεχόμενο.
Η δοκιμαστική έκδοση δεν πρέπει να γίνεται δεύτερη «ζωντανή» ιστοσελίδα
Ένα δοκιμαστικό περιβάλλον μπορεί να ξεχαστεί και να αρχίσει να χρησιμοποιείται σαν παράλληλη πραγματικότητα. Αυτό δημιουργεί σύγχυση: άλλες αλλαγές υπάρχουν εκεί, άλλες στην παραγωγή και κανείς δεν γνωρίζει ποια πρέπει να κρατηθούν. Για αυτό η δοκιμαστική έκδοση χρειάζεται σαφή ρόλο και τακτικό συγχρονισμό όταν απαιτείται.
Αν το έργο είναι μικρό, μπορεί να αρκεί μία σύντομη διαδικασία ελέγχου πριν από κάθε δημοσίευση. Αν είναι μεγαλύτερο, χρειάζεται πιο αυστηρός διαχωρισμός. Η αρχή παραμένει ίδια: κάθε περιβάλλον έχει συγκεκριμένο σκοπό.
Πώς οργανώνεται η παράδοση σε νέο συνεργάτη
Η παράδοση δεν πρέπει να είναι απλώς αποστολή ενός συμπιεσμένου φακέλου. Χρειάζεται να αναφέρει πού βρίσκεται το κοινό αποθετήριο, ποια έκδοση είναι παραγωγική, πώς λειτουργεί το δοκιμαστικό περιβάλλον, πού βρίσκονται τα αντίγραφα ασφαλείας και ποιος ελέγχει τις βασικές προσβάσεις. Ο σχετικός οδηγός για το τι περιλαμβάνει ένα έργο ιστοσελίδας βοηθά να οριστούν τα βασικά συστατικά πριν από τη μεταβίβαση.
Ο νέος συνεργάτης πρέπει να μπορεί να αναπαράγει την κατάσταση χωρίς να μαντεύει. Αν λείπει ένα κρίσιμο μυστικό, μια ρύθμιση ή μια υπηρεσία, αυτό πρέπει να δηλώνεται με ασφαλή τρόπο και όχι να ανακαλύπτεται μετά την πρώτη αποτυχία δημοσίευσης.
Μικρός έλεγχος πριν από κάθε δημοσίευση
- Η αλλαγή βρίσκεται στην κοινή, συμφωνημένη έκδοση του έργου;
- Έχει ελεγχθεί σε κατάλληλο περιβάλλον και όχι μόνο στον υπολογιστή του δημιουργού;
- Ξέρουμε ποια δεδομένα ή αρχεία επηρεάζονται εκτός κώδικα;
- Υπάρχει τρόπος επιστροφής αν η αλλαγή αποτύχει;
- Έχουν ελεγχθεί οι βασικές διαδρομές χρήστη μετά τη δημοσίευση;
- Η τεκμηρίωση ενημερώθηκε αν άλλαξε η υποδομή ή η διαδικασία;
Η ροή πρέπει να ταιριάζει στο μέγεθος του έργου
Μια μικρή ενημερωτική ιστοσελίδα δεν χρειάζεται την ίδια διαδικασία με μια εφαρμογή πολλών χρηστών. Δεν υπάρχει λόγος να δημιουργείται τελετουργία χωρίς όφελος. Υπάρχει όμως λόγος να αποφεύγονται τα δύο άκρα: δημοσίευση κατευθείαν στην παραγωγή χωρίς έλεγχο και υπερβολικά σύνθετη διαδικασία που κανείς δεν ακολουθεί.
Η σωστή λύση είναι η μικρότερη διαδικασία που εξασφαλίζει σαφή πηγή αλήθειας, επαναλήψιμο έλεγχο και ασφαλή δημοσίευση. Για τη γενικότερη διαδικασία εντοπισμού και πρόσβασης μπορείς να δεις και το πώς εντοπίζεται μια ιστοσελίδα και η δομή της.
Συμπέρασμα
Ένα έργο ιστοσελίδας βρίσκεται σε διαφορετικά μέρη για διαφορετικούς λόγους. Τοπικά γίνεται η εργασία, στο αποθετήριο καταγράφεται και συντονίζεται, στο δοκιμαστικό περιβάλλον ελέγχεται και στο παραγωγικό περιβάλλον δημοσιεύεται. Όταν οι ρόλοι αυτοί είναι σαφείς, μειώνονται οι λάθος εκδόσεις, οι βιαστικές αλλαγές και η εξάρτηση από έναν μόνο υπολογιστή ή άνθρωπο. Το ζητούμενο δεν είναι η πολυπλοκότητα, αλλά μια κατανοητή διαδρομή από την αλλαγή έως την ασφαλή δημόσια λειτουργία.