Com triar un mòdul Drupal 7 per visualitzar fitxers PDF

Un estudi de cas en l'art de la selecció de mòduls

Recentment, un client em va demanar que afegís una nova característica al lloc web de Drupal de la companyia: mostra els fitxers PDF al navegador. A mesura que vaig explorar les opcions de drupal.org, em vaig adonar que aquesta era una oportunitat perfecta per documentar el meu procés de presa de decisions real mentre triés un nou mòdul . Sempre dic que trieu els mòduls amb prudència , però ara podeu veure com crec que això funciona a la vida real.

Definiu el que vulgueu

El primer pas és definir el que vols. En el meu cas, jo volia:

Cerca a Drupal.org

Amb aquests objectius en ment, el següent pas va ser una simple cerca a Drupal.org. Temps de saltar al Pit Ball de mòdul Goodness.

& # 34; Comparació & # 34; Pàgina per als mòduls PDF

La meva primera parada va ser (o hauria d'haver estat), aquesta pàgina: una comparació de mòduls de visualització de PDF. Drupal.org té una excel·lent tradició de pàgines de documentació que recullen els pros i els contres de diversos mòduls en el mateix espai. Hi ha una llista central de pàgines de comparació, però també estan esquitxades per tot el lloc.

La pàgina de comparació de PDF inclou quatre mòduls de visualització de PDF. Els vaig a cobrir aquí, així com un parell d'altres que he trobat de la cerca. Vaig a començar amb els candidats que vaig decidir saltar.

Anem a aprofundir en les particularitats de per què aquests mòduls (o en la seva majoria no) van funcionar per a aquest projecte.

Visor de fitxers

El visualitzador de fitxers utilitza Internet Archive BookReader, que m'interessava perquè sóc un addicte a Internet Archive. Cada vegada que visito, em sento amb por i emborronat a les muntanyes dels llibres que puc treure de l'èter.

Dit això, el lloc de demostració em semblava una mica lletja. Podria viure amb ell, però dubtava del meu client, quan pdf.js es veu molt més elegant.

A més, en un segon cop d'ull a la pàgina del projecte, he vist el gran anunci atrevit a la part superior: aquest mòdul s'ha traslladat a un mòdul PDF formalment . Bastant just. Amb menys de 400 instal·lacions, la fusió amb el mòdul PDF més popular (que anem a cobrir en un moment), sembla un bon moviment. No descarregueu mai un mòdul que s'hagi combinat / mogut / abandonat.

Format de fitxers de Google Viewer

Format de fitxer de Google Viewer és el que sembla: una forma d'utilitzar Google Docs per incrustar les pantalles de fitxers a la vostra pàgina web. Encara que m'ha agradat la versatilitat de Google Docs, un dels meus objectius era mantenir-se independent de qualsevol servei de tercers.

A més, aquest mòdul tenia menys de 100 instal·lacions.

Visor de documents Ajax

Encara que "AJAX" és un terme general de Javascript, el visualitzador de documents Ajax va resultar dependre d'un servei de tercers específic. Només unes 100 instal·lacions. Passant ...

Scald PDF

Scald PDF només tenia 40 instal·lacions, però heu de fer un cop d'ull, ja que era clarament part d'un projecte més gran anomenat (sí) Scald. Com va explicar la pàgina del projecte Scald: " Scald és una solució innovadora sobre com manejar els àtoms de mitjans a Drupal".

Aquesta oració va aixecar dues banderes vermelles enormes: "prendre innovadors" i la paraula "Mitjans de comunicació" emparellats amb "Atom". "Atom" era, òbviament, una paraula reprogrupada per "cosa", que el va convertir en una bandera vermella per si sola. Drupal té una predisposició a aquestes paraules de caixa buida: node , entitat , característica ... Com més general sigui la paraula, més esbrinaran els canvis.

Mentre em desplaçava, les meves sospites van ser confirmades. Vaig llegir afirmacions emocionades sobre com Scald bàsicament reinventaria com manejava els mitjans al meu lloc.

Ara bé, la veritat és que el maneig dels mitjans de comunicació de Drupal podria fer-ho reinventant. Scald no és l'únic projecte ambiciós d'aquest espai. No obstant això, amb menys de 1000 instal·lacions fins ara, no volia entrar a la planta baixa.

És clar, en aquesta ocasió l'any que ve, Scald podria ser les pròximes Vistes . Això seria rock. Però també podria ser abandonware, amb un (petit) rastre de llocs trencats deixats de plorar.

De moment, volia seguir amb una solució molt menys ambiciosa i perillosa. Només has de mostrar PDF, si us plau. Això és tot el que em deia.

Shadowbox

Shadowbox em va sorprendre: va afirmar ser una solució única per mostrar tot tipus de mitjans, des de fitxers PDF a imatges al vídeo. Això no era tan arrollador com Scald, ja que només se centraria en mostrar mitjans sense introduir conceptes nous com "Atomos de mitjans". Però ja m'agrada Colorbox, com he esmentat. No volia haver de repensar aquesta decisió.

No obstant això, vaig fer notar (amb un gemec interior) que amb més de 16.000 instal·lacions, Shadowbox podria ser una alternativa més poderosa en el mateix espai. Vaig haver de fer un cop d'ull.

El mòdul Drupal de Shadowbox és bàsicament un pont d'una biblioteca Javascript, Shadowbox.js, així que he comprovat el lloc web de la biblioteca. Allà vaig descobrir dues raons per seguir:

The Two Contenders: & # 34; PDF & # 34; i & # 34; lector de PDF & # 34;

Després d'eliminar la resta, he arribat als dos contendents obvis: PDF i PDF Reader

Aquests dos projectes tenien similituds clau:

Què passa amb les diferències?

El lector de PDF també tenia l'opció per a la integració de Google Docs. En aquest cas en particular, vaig pensar que el meu client li agradaria, així que m'ha agradat tenir l'opció.

Mentrestant, el PDF s'ha marcat com a Buscador de co-mantenidor (s). Això podria suposar que el desenvolupador aviat abandonaria el projecte, però, d'altra banda, el compromís més recent era fa una setmana, de manera que almenys el desenvolupador encara estava actiu.

D'altra banda, el lector de PDF s'ha marcat com a Manteniment actiu, però el compromís més recent va ser fa un any.

Sense un clar guanyador, vaig decidir provar ambdós.

Proves dels contendents

He provat els dos mòduls en una còpia del meu lloc en viu. (No importa el mòdul tan sòlid i innòcua que aparegui, mai no ho proveu primer en un lloc en viu. Podeu trencar tot el vostre lloc).

Estava predisposat a PDF Reader , perquè semblava tenir més opcions (com ara Google Docs) que PDF . Així que vaig decidir provar PDF primer, per treure'l del camí.

Error en PDF: es requereix la compilació?

Tanmateix, quan instal·lava PDF i llegia README.txt, vaig descobrir un problema que havia vist però ignorat a la pàgina del projecte. Per alguna raó, aquest mòdul sembla requerir que compileu pdf.js manualment. Encara que la pàgina del projecte suggereix que això no era necessàriament necessari, README.txt va suggerir que era.

Atès que el lector de PDF usaria la mateixa biblioteca sense requerir aquest pas, vaig decidir provar-la abans de res. Si no funcionés, sempre podria tornar a PDF i tractar de compilar manualment pdf.js.

Lector de PDF: Èxit! Tipus de.

Per tant, al final, he provat el lector de PDF . Aquest mòdul proporciona un nou widget per mostrar un camp Fitxer. Afegiu un camp de fitxer al tipus de contingut que desitgeu i configureu el tipus de widget al lector de fitxers PDF. A continuació, creeu un node d'aquest tipus i carregueu el vostre PDF. El PDF apareix incrustat en un "quadre" a la pàgina.

Podeu provar diferents opcions de visualització editant de nou el tipus de contingut i canviant la configuració de visualització del camp.

He trobat que cada opció de visualització tenia pros i contres:

Així, al final, la meva solució era utilitzar el lector de PDF amb l'opció de visualització incrustat . Aquesta opció permetria adjuntar un PDF a un node de Drupal i mostrar-lo de manera fiable a la pàgina web de Drupal.

Malauradament, de vegades, "fiable" no és suficient. Després de tot això, he hagut de considerar un servei de tercers després de tot.