Πώς να επιλέξετε μια μονάδα Drupal 7 για προβολή αρχείων PDF

Μια μελέτη περίπτωσης στην τέχνη της επιλογής ενότητας

Πρόσφατα, ένας πελάτης μου ζήτησε να προσθέσω ένα νέο χαρακτηριστικό στον ιστότοπο Drupal της εταιρείας: προβάλλετε αρχεία PDF στο πρόγραμμα περιήγησης. Καθώς περιηγούσα τις επιλογές στο drupal.org, συνειδητοποίησα ότι αυτή ήταν μια τέλεια ευκαιρία να τεκμηριώσω την πραγματική διαδικασία λήψης αποφάσεων μου καθώς επέλεξα μια νέα ενότητα . Πάντα λέω να επιλέγουμε με προσοχή τις ενότητες , αλλά τώρα μπορείτε να δείτε πώς νομίζω ότι αυτό λειτουργεί στην πραγματική ζωή.

Ορίστε τι θέλετε

Το πρώτο βήμα είναι να ορίσετε τι θέλετε. Στην περίπτωσή μου, ήθελα:

Αναζήτηση στο Drupal.org

Με αυτούς τους στόχους στο μυαλό, το επόμενο βήμα ήταν μια απλή αναζήτηση στο Drupal.org. Ώρα για να μπείτε στο Ball Pit of Module Goodness.

& # 34; Σύγκριση & # 34; Σελίδα για τις λειτουργικές μονάδες PDF

Η πρώτη μου στάση ήταν (ή έπρεπε να ήταν) αυτή η σελίδα: μια σύγκριση ενοτήτων προβολής PDF. Το Drupal.org έχει μια εξαιρετική παράδοση σελίδων τεκμηρίωσης που περιγράφουν τα πλεονεκτήματα και τα μειονεκτήματα των διαφόρων ενοτήτων στον ίδιο χώρο. Υπάρχει ένας κεντρικός κατάλογος σελίδων σύγκρισης, αλλά επίσης πασπαλίζονται σε ολόκληρο τον ιστότοπο.

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

Τώρα ας δούμε τις ιδιαιτερότητες του γιατί οι ενότητες αυτές έκαναν (ή κυρίως δεν) δουλειά για αυτό το έργο.

Πρόγραμμα προβολής αρχείων

Το πρόγραμμα προβολής αρχείων χρησιμοποιεί τον Internet Archive BookReader, ο οποίος με ενέπνευσε γιατί είμαι τζόκερ του Internet Archive. Κάθε φορά που πηγαίνω εκεί, νιώθω γεμάτος φόβο και συντρίβω στα βουνά των βιβλίων που μπορώ να μαζέψω από τον αιθέρα.

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

Επίσης, σε μια δεύτερη ματιά στη σελίδα του έργου, είδα την μεγάλη τολμηρή ανακοίνωση στην κορυφή: Αυτή η ενότητα έχει μεταφερθεί σε μορφή PDF τυπικά . Δίκαιο. Με λιγότερες από 400 εγκαταστάσεις, η συγχώνευση με το πιο δημοφιλές στοιχείο PDF (το οποίο θα καλύψουμε σε λίγο), φαίνεται σαν μια καλή κίνηση. Ποτέ μην κατεβάζετε μια ενότητα που έχει συγχωνευθεί / μετακινηθεί / εγκαταλειφθεί.

Διαμορφωτής αρχείων του Google Viewer

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

Επίσης, αυτή η ενότητα είχε λιγότερες από 100 εγκαταστάσεις.

Ajax Document Viewer

Παρόλο που το "AJAX" είναι ένας γενικός όρος Javascript, το Ajax Document Viewer αποδείχθηκε ότι βασίζεται σε συγκεκριμένη υπηρεσία τρίτου μέρους. Μόνο περίπου 100 εγκαταστάσεις. Προχωράω...

Scald PDF

Το Scald PDF είχε μόνο 40 εγκατώσεις, αλλά έπρεπε να ρίξω μια ματιά, δεδομένου ότι ήταν σαφώς μέρος ενός μεγαλύτερου έργου που ονομάζεται (ναι) Scald. Όπως εξηγεί η σελίδα του έργου Scald: "Το Scald είναι μια καινοτόμος ιδέα για το πώς να χειριστεί το Atoms Media στο Drupal".

Η πρόταση αυτή έθεσε δύο τεράστιες κόκκινες σημαίες: "καινοτομική λήψη" και η λέξη "Media" σε συνδυασμό με το "Atom". Το "Atom" ήταν προφανώς μια επαναλαμβανόμενη λέξη για "πράγμα", που την έκανε κόκκινη σημαία μόνο από μόνη της. Το Drupal έχει μια τάση για αυτές τις λέξεις κενών κουτιών: κόμβος , οντότητα , χαρακτηριστικό ... Όσο πιο γενική είναι η λέξη, τόσο πιο σαρωτικές είναι οι αλλαγές.

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

Τώρα, η αλήθεια είναι ότι ο χειρισμός του Drupal Media θα μπορούσε να χρησιμοποιήσει κάποια επανεξέταση. Το Scald δεν είναι το μοναδικό φιλόδοξο έργο αυτού του χώρου. Ωστόσο, με λιγότερες από 1000 εγκαταστάσεις μέχρι στιγμής, δεν ήθελα να μπω στο ισόγειο.

Σίγουρα, μέχρι την επόμενη χρονιά, ο Scald θα μπορούσε να είναι οι επόμενες προβολές . Αυτό θα πέθαινε. Αλλά θα μπορούσε να είναι και το abandonware, με ένα (μικρό) ίχνος σπασμένων θέσεων που αφήνεται να κλαίει.

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

Shadowbox

Το Shadowbox με εξέπληξε: ισχυρίστηκε ότι είναι μια ενιαία λύση για την προβολή όλων των ειδών μέσων, από PDF σε εικόνες σε βίντεο. Αυτό δεν ήταν τόσο σαρωτικό όσο το Scald, αφού θα εστίαζε μόνο στην προβολή των μέσων χωρίς να εισάγει εντελώς νέες ιδέες όπως το "Media Atoms". Αλλά μου αρέσει ήδη το Colorbox, όπως ανέφερα. Δεν ήθελα να πρέπει να επανεξετάσω αυτή την απόφαση.

Ωστόσο, σημείωσα (με ένα εσωτερικό στεναγμό) ότι με περισσότερες από 16.000 εγκαταστάσεις, το Shadowbox θα μπορούσε να είναι μια πιο ισχυρή εναλλακτική λύση στον ίδιο χώρο. Έπρεπε να ρίξω μια ματιά.

Το Module Shadowbox Drupal είναι βασικά μια γέφυρα σε μια βιβλιοθήκη Javascript, Shadowbox.js, οπότε εξέτασα την ιστοσελίδα της βιβλιοθήκης. Εκεί ανακάλυψα δύο λόγους για να συνεχίσω:

Οι δύο υποψήφιοι: & # 34; PDF & # 34; και & # 34; PDF Reader & # 34;

Έχοντας καταργήσει τα υπόλοιπα, ήρθα τώρα στους δύο προφανείς διεκδικητές: PDF και PDF Reader

Αυτά τα δύο έργα είχαν βασικές ομοιότητες:

Τι γίνεται με τις διαφορές;

Ο PDF Reader είχε επίσης τη δυνατότητα ενσωμάτωσης των Εγγράφων Google. Σε αυτή τη συγκεκριμένη περίπτωση, σκέφτηκα ότι ο πελάτης μου μπορεί να μου αρέσει αυτό, έτσι μου άρεσε να έχω την επιλογή.

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

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

Χωρίς σαφή νικητή, αποφάσισα να τα δοκιμάσω και τα δύο.

Δοκιμάζοντας τους υποψήφιους

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

Ήμουν μεροληπτικός προς το PDF Reader , επειδή φαινόταν να έχει περισσότερες επιλογές (όπως τα Έγγραφα Google) από το PDF . Έτσι αποφάσισα να δοκιμάσω το PDF πρώτα, για να το ξεπεράσω.

PDF Αποτυχία: Απαιτείται συμπλήρωση;

Ωστόσο, όταν εγκατέστησα το PDF και διάβασα το README.txt, ανακάλυψα ένα πρόβλημα που είχα δει αλλά αγνοήθηκε στη σελίδα του έργου. Για κάποιο λόγο, αυτή η ενότητα φαίνεται να απαιτεί τη σύνταξη του αρχείου pdf.js με μη αυτόματο τρόπο. Αν και η σελίδα του έργου πρότεινε ότι αυτό δεν ήταν υποχρεωτικά απαραίτητο, το README.txt πρότεινε ότι ήταν.

Δεδομένου ότι ο PDF Reader θα χρησιμοποιεί την ίδια βιβλιοθήκη χωρίς να χρειάζεται αυτό το βήμα, αποφάσισα να το δοκιμάσω πρώτα απ 'όλα. Αν δεν λειτουργούσε, θα μπορούσα πάντα να επιστρέψω σε PDF και να προσπαθήσω να δημιουργήσω χειροκίνητα pdf.js.

Αναγνώστης PDF: Επιτυχία! Περίπου.

Έτσι, τελικά, δοκίμασα τον PDF Reader . Αυτή η ενότητα παρέχει ένα νέο γραφικό στοιχείο για την εμφάνιση ενός πεδίου αρχείου. Προσθέτετε ένα πεδίο αρχείου στον τύπο περιεχομένου που επιθυμείτε και ορίστε τον τύπο του widget σε PDF Reader. Στη συνέχεια, δημιουργείτε έναν κόμβο αυτού του τύπου και ανεβάστε το αρχείο PDF. Το PDF εμφανίζεται ενσωματωμένο σε ένα "πλαίσιο" στη σελίδα.

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

Διαπίστωσα ότι κάθε επιλογή εμφάνισης είχε πλεονεκτήματα και μειονεκτήματα:

Έτσι, στο τέλος, η λύση μου ήταν να χρησιμοποιήσω το PDF Reader με την επιλογή Display embed. Αυτή η επιλογή θα μου επιτρέψει να επισυνάψω ένα PDF σε έναν κόμβο Drupal και να το επιδείξω αξιόπιστα σε μια ιστοσελίδα του Drupal.

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