Παράκαμψη προς το κυρίως περιεχόμενο

Θα μου επιστρέψει το αρχείο μου;

Importing from FET 1 λεπτό ανάγνωσης

Το αρχείο .fet σας αποτελεί μια εργασία προγραμματισμού και πριν το χρησιμοποιήσετε σε οποιοδήποτε εργαλείο, υπάρχει ένα ερώτημα που αξίζει να θέσετε και ένα δίλεπτο τεστ που δίνει την απάντηση.

Ένα αρχείο .fet δεν φαίνεται να είναι κάτι ιδιαίτερο. Μερικές εκατοντάδες kilobytes XML, που βρίσκονται σε έναν φάκελο δίπλα σε αυτόν της περσινής χρονιάς.

Όμως εσείς ξέρετε τι περιλαμβάνει. Το δεκαπενθήμερο του Αυγούστου που αναλωθήκατε για να διασφαλίσετε ότι το εργαστήριο φυσικών επιστημών δεν μπορεί να φιλοξενήσει δύο πρακτικές ασκήσεις ταυτόχρονα. Ο συμβιβασμός με τον υπεύθυνο των γλωσσών που απαίτησε τρεις συζητήσεις. Τα έντεκα περιοριστικά στοιχεία (constraints) που προσθέσατε ένα προς ένα, το καθένα αφού κάτι πήγε στραβά και δεν θέλετε να το ξαναδείτε.

Τίποτα από αυτά δεν είναι καταγεγραμμένο πουθενά αλλού. Υπάρχει ως περιοριστικό στοιχείο σε αυτό το αρχείο, και αν χαθεί, δεν χάνετε απλώς ένα έγγραφο — χάνετε το σκεπτικό, και το ανακαλύπτετε τον Σεπτέμβριο όταν το Ωρολόγιο παύει να βγάζει νόημα.

Έτσι, όταν ένα διαδικτυακό εργαλείο προσφέρεται να το ανοίξει, το ερώτημα δεν είναι αν το εργαλείο είναι χρήσιμο. Είναι: θα μου επιστρέψει το αρχείο μου όπως ήταν;

Γιατί η απάντηση είναι συνήθως "όχι ακριβώς"

Τα περισσότερα εργαλεία που διαβάζουν ένα .fet το κάνουν με τον προφανή τρόπο. Κάποιος επεξεργάζεται τη μορφή, γράφει κώδικα για τα μέρη που χρειάζεται — Εκπαιδευτικούς, Αντικείμενα, Αίθουσες, Δραστηριότητες, τα κοινά περιοριστικά στοιχεία — και το διαθέτει.

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

Αυτή είναι η αποτυχία για την οποία αξίζει να σχεδιάζουμε, επειδή είναι αόρατη ακριβώς τη στιγμή που θα θέλατε να την εντοπίσετε.

Τι κάνουμε εμείς αντ' αυτού

Το FET Explorer δεν προσπαθεί να κατανοήσει κάθε περιοριστικό στοιχείο. Προσπαθεί να μην χρειάζεται να το κάνει.

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

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

Στα Ωρολόγια που βρίσκονται στη δική μας βάση δεδομένων σήμερα, αυτό αντιστοιχεί σε 2.987 περιοριστικά στοιχεία σε 20 διαφορετικούς τύπους, που επιστρέφουν χωρίς κανένα από αυτά να αποτελεί ειδική περίπτωση στον κώδικα εξαγωγής.

Τα βάρη επιστρέφουν ως βάρη. Ένα περιοριστικό στοιχείο ορισμένο στο 80% παραμένει 80% — δεν στρογγυλοποιείται, δεν επανυπολογίζεται, δεν προάγεται σε "ενεργό". Ένα ανενεργό περιοριστικό στοιχείο επιστρέφει ανενεργό. Τα Σχόλιά σας επιστρέφουν.

Το αρχείο ελέγχεται πριν το λάβετε

Υπάρχει ένα πράγμα για το οποίο θα παρέμβουμε.

Ένα .fet που το FET αρνείται να ανοίξει είναι χειρότερο από το να μην έχετε καθόλου αρχείο: το ανακαλύπτετε στο τέλος, χωρίς να έχετε ιδέα ποια από τις χιλιάδες εγγραφές φταίει. Έτσι, το αρχείο δημιουργείται και ελέγχεται πριν σας παραδοθεί.

Η σειρά λήψης, με την υπο-ετικέτα ελέγχου από κάτω
Η σειρά λήψης, με την υπο-ετικέτα ελέγχου από κάτω

Αν λείπει κάτι πραγματικά απαραίτητο — μια Δραστηριότητα χωρίς Αντικείμενο, ένα μάθημα που παραπέμπει σε Εκπαιδευτικό που δεν υπάρχει στη λίστα — θα ενημερωθείτε, με τις συγκεκριμένες εγγραφές να κατονομάζονται. Πράγματα που μπορούν να ρυθμιστούν με ασφάλεια στις προεπιλογές τους, ρυθμίζονται και δεν γίνονται ποτέ πρόβλημά σας.

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

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

Μην βασίζεστε μόνο στα λόγια μας — αφιερώστε δύο λεπτά

Αυτό είναι το μέρος που αξίζει πραγματικά να κάνετε, γιατί δεν κοστίζει σχεδόν τίποτα και επιλύει το ερώτημα οριστικά.

  1. Ανεβάστε το αρχείο .fet σας.
  2. Κατεβάστε το ξανά αμέσως, χωρίς να αλλάξετε τίποτα.
  3. Συγκρίνετε τα δύο αρχεία.
Το εργαλείο ελέγχου κυκλικής διαδρομής αναφέρει ότι όλοι οι έλεγχοι είναι πράσινοι: ό,τι εξήχθη ταιριάζει με ό,τι εισήχθη.
Το εργαλείο ελέγχου κυκλικής διαδρομής αναφέρει ότι όλοι οι έλεγχοι είναι πράσινοι: ό,τι εξήχθη ταιριάζει με ό,τι εισήχθη.

Θα πρέπει να διαφέρουν μόνο στη μορφοποίηση — εσοχές, διαστήματα χαρακτηριστικών, τη σειρά μερικών προαιρετικών πεδίων — και σε τίποτα άλλο. Ίδιες Δραστηριότητες, ίδια περιοριστικά στοιχεία, ίδια βάρη, ίδια Σχόλια.

Αν τα δύο αρχεία διαφέρουν στην ουσία, αυτό είναι σφάλμα και θέλουμε να το μάθουμε. Δεν είναι κάτι που πρέπει να παρακάμψετε, και δεν είναι κάτι που πρέπει να ανακαλύψετε τον Σεπτέμβριο.

Μια ειλικρινής εξαίρεση

Αν το Ωρολόγιό σας δημιουργήθηκε από υπολογιστικά φύλλα αντί για ένα .fet, υπάρχει μια λεπτομέρεια που αξίζει να γνωρίζετε. Οι σειρές CSV δεν φέρουν αναγνωριστικά Δραστηριοτήτων FET, και τα περιοριστικά στοιχεία τοποθέτησης χρειάζονται σταθερά αναγνωριστικά για να παραπέμπουν σε μεμονωμένα μαθήματα.

Αντί να αρνηθούμε, αναθέτουμε αυτά τα αναγνωριστικά κατά τη δημιουργία του αρχείου — και τα αποθηκεύουμε, ώστε να μην αλλάζουν. Μια δεύτερη λήψη ταιριάζει με την πρώτη. Μπορείτε να δημιουργήσετε ένα Ωρολόγιο από υπολογιστικά φύλλα και να λάβετε ένα συνεκτικό .fet από την άλλη πλευρά.

Τι δεν είναι αυτό

Το FET Explorer δεν δημιουργεί Ωρολόγια. Δεν βελτιστοποιεί, δεν επιλύει ξανά, ούτε βελτιώνει ό,τι παρήγαγε το FET. Το FET κάνει το δύσκολο κομμάτι· αυτό διαβάζει, παρουσιάζει, μοιράζεται και επεξεργάζεται το αποτέλεσμα.

Αυτός είναι ακριβώς ο λόγος για τον οποίο η κυκλική διαδρομή έχει σημασία. Ένα εργαλείο που απλώς σας δείχνει ένα Ωρολόγιο μπορεί να αντέξει να κατανοεί το μισό αρχείο. Ένα εργαλείο στο οποίο μπορεί να κάνετε επεξεργασία πρέπει να επιστρέφει ολόκληρο το αρχείο πίσω.

Δοκιμάστε το με το δικό σας αρχείο →