Cum de a alege un modul Drupal 7 pentru vizualizarea fișierelor PDF

Un studiu de caz în domeniul selecției modulului

Recent, un client mi-a cerut să adaug o nouă funcție pe site-ul Drupal al companiei: afișați fișiere PDF în browser. Pe măsură ce răsfoiesc opțiunile pe drupal.org, mi-am dat seama că aceasta a fost o șansă perfectă pentru a-mi documenta propriul proces de luare a deciziilor, deoarece am ales un nou modul . Întotdeauna spun să aleg module cu înțelepciune , dar acum puteți vedea cum cred că acest lucru funcționează în viața reală.

Definiți ceea ce doriți

Primul pas este să definiți ceea ce doriți. În cazul meu, am vrut:

Căutați pe Drupal.org

Având în vedere aceste obiective, următorul pas a fost o căutare simplă pe Drupal.org. E timpul să sarăți în groapa de bilete a modulului.

& # 34; Comparație & # 34; Pagina pentru modulele PDF

Prima mea oprire a fost (sau ar fi trebuit să fie), această pagină: o Comparație între modulele de vizualizare PDF. Drupal.org are o tradiție excelentă de pagini de documentare care evidențiază avantajele și dezavantajele diferitelor module din același spațiu. Există o listă centrală a paginilor de comparație, dar ele sunt, de asemenea, stropite pe întreg site-ul.

Pagina de comparare PDF a inclus patru module de vizualizare PDF. Le voi acoperi aici, precum și alte câteva pe care le-am găsit din căutări. Voi începe cu candidații pe care am decis să le ignor.

Acum, să analizăm specificul motivului pentru care aceste module au funcționat (sau nu au funcționat în cea mai mare parte) pentru acest proiect.

Vizualizator de fișiere

Vizualizatorul de fișiere folosește Internet Archive BookReader, care ma intrigat pentru că sunt o victimă a arhivei de Internet. De fiecare dată când mă duc acolo, simt gâdila fricii și copleșesc munții cărților pe care le pot scoate din eter.

Acestea fiind spuse, site-ul demonstrativ mi sa parut putin urat. S-ar putea să trăiesc cu asta, dar m-am îndoit de clientul meu, când pdf.js ar arăta mult mai elegant.

De asemenea, într-o privire secundă la pagina de proiect, am văzut anunțul curajos din partea de sus: Acest modul a fost mutat formal în modul PDF . Destul de corect. Cu mai puțin de 400 de instale, îmbinarea cu modulul PDF mai popular (pe care o vom acoperi într-o clipă), pare a fi o mișcare bună. Nu descărcați niciodată un modul care a fost îmbinat / mutat / abandonat.

Formatatorul de fișiere Google Viewer

Fișierul Formatator de fișiere Google Viewer este ceea ce pare: o modalitate de a utiliza Google Docs pentru a încorpora afișări de fișiere în pagina dvs. web. Deși mi-a plăcut versatilitatea Google Docs, unul dintre obiectivele mele a fost să rămân independent de orice serviciu terță parte.

De asemenea, acest modul a avut mai puțin de 100 de instale.

Ajax Document Viewer

Deși "AJAX" este un termen general Javascript, Ajax Document Viewer sa dovedit a se baza pe un anumit serviciu terță parte. Doar 100 de instalări. Trecând peste...

Scald PDF

Scald PDF avea doar 40 de instalări, dar a trebuit să arunc o privire, deoarece ea făcea parte dintr-un proiect mai mare numit (da) Scald. Pe măsură ce pagina proiectului Scald a explicat: " Scald este o abordare inovatoare cu privire la modul de a trata Atomii Media în Drupal".

Această propoziție a ridicat două steaguri roșii uriașe: "ia inovatoare" și cuvântul "Media" asociat cu "Atom". "Atom" era evident un cuvânt repetat pentru "lucru", ceea ce îl făcea un drapel roșu singur. Drupal are o pledoarie pentru aceste cuvinte cutie goală: nod , entitate , caracteristică ... Cu cât cuvântul este mai general, cu atât mai multe pot fi schimbările.

Pe măsură ce mi-am dat jos, suspiciunile mele au fost confirmate. Am citit pretenții incantate despre cum Scald va reinventa practic modul în care m-am ocupat de Media pe site-ul meu.

Acum, adevărul este că manipularea Drupal Media ar putea folosi unele reinventări. Scald nu este singurul proiect ambițios din acest spațiu. Cu toate acestea, cu mai puțin de 1000 de instalări până acum, nu am vrut să intru la parter.

Sigur, până în acest an, Scald ar putea fi următoarele viziuni . Asta ar fi rock. Dar ar putea fi și abandonware, cu un traseu (mic) de site-uri rupte lăsate să plângă.

Pentru moment, am vrut să rămân cu o soluție mult mai puțin ambițioasă și periculoasă. Afișați PDF-uri, vă rog. Asta-i tot ce-am cerut.

Cutia umbrei

Shadowbox ma surprins: se pretinde a fi o singură soluție pentru afișarea tuturor tipurilor de medii, de la PDF-uri la imagini-video. Acest lucru nu a fost la fel de măreț ca și Scald, deoarece se va concentra doar pe afișarea mass-media fără a introduce noi concepte noi precum "Atomii media". Dar îmi place deja Colorbox, așa cum am menționat. Nu am vrut să trebuiască să regândesc această decizie.

Cu toate acestea, am remarcat (cu un groan interior) că, cu peste 16.000 de instalări, Shadowbox ar putea fi o alternativă mai puternică în același spațiu. Trebuia să arunc o privire.

Modulul Shadowbox Drupal este, practic, o punte spre o bibliotecă Javascript, Shadowbox.js, așa că am verificat site-ul bibliotecii. Acolo, am descoperit două motive pentru a continua:

Cei doi concurenți: PDF & # 34; și "Reader PDF" & # 34;

După ce am eliminat restul, am ajuns acum la cei doi concurenți evideni: PDF și PDF Reader

Aceste două proiecte au avut asemănări cheie:

Dar diferențele?

Reader-ul PDF a avut, de asemenea, opțiunea pentru integrarea Google Docs. În acest caz special, m-am gândit că clientul mi-ar plăcea asta, așa că mi-a plăcut să am opțiunea.

Între timp, PDF-ul a fost marcat ca Căutând co-mentener (i). Acesta ar putea fi un semn că dezvoltatorul ar abandona în curând proiectul, dar, pe de altă parte, cel mai recent angajament a fost o săptămână în urmă, deci cel puțin dezvoltatorul era încă activ.

Pe de altă parte, PDF Reader a fost marcat ca fiind menținut în mod activ, însă cel mai recent angajament a fost anul trecut.

Fără un câștigător clar, am decis să le testez pe amândouă.

Testarea Contenderilor

Am testat ambele module pe o copie a site-ului meu live. (Indiferent de modul în care apare un modul solid și inofensiv, nu încercați niciodată mai întâi pe un site live. Puteți întrerupe întregul site.)

Am fost părtinitoare față de PDF Reader , deoarece părea să aibă mai multe opțiuni (cum ar fi Google Docs) decât PDF . Așadar, am decis să încerc mai întâi PDF-ul , pentru al scoate din drum.

Nerespectarea PDF: este necesară compilarea?

Cu toate acestea, când am instalat PDF și am citit README.txt, am descoperit o problemă pe care am văzut-o dar ignorată pe pagina proiectului. Din anumite motive, acest modul pare să ceară să compilați manual pdf.js. Deși pagina proiectului a sugerat că acest lucru nu era neapărat necesar, README.txt a sugerat că a fost.

Deoarece PDF Reader ar folosi exact aceeași bibliotecă fără a necesita acest pas, am decis să încerc mai întâi de toate. Dacă nu a funcționat, aș putea întotdeauna să mă întorc la PDF și să încerc să compilați manual pdf.js.

PDF Reader: Succes! Un fel de.

Deci, la final, am încercat PDF Reader . Acest modul oferă un nou widget pentru afișarea câmpului Fișier. Adăugați un câmp de fișier la tipul de conținut dorit și setați tipul de widget în Reader PDF. Apoi, creați un nod de acest tip și încărcați fișierul PDF. PDF-ul apare încorporat într-o "casetă" a paginii.

Puteți încerca diferite opțiuni de afișare, modificând din nou tipul de conținut și schimbând setările de afișare pentru câmp.

Am constatat că fiecare opțiune de afișare a avut argumente pro și contra:

Astfel, în final, soluția mea a fost să folosesc cititorul PDF cu opțiunea de afișare a embedului. Această opțiune mi-ar permite să atașez un PDF la un nod Drupal și să îl afișez în mod fiabil pe o pagină Web Drupal.

Din păcate, uneori "de încredere" nu este suficient. După toate căutările, trebuia să mă gândesc la un serviciu terță parte.