Hoe om 'n Drupal 7-module te kies vir die lees van PDF's

'N Gevallestudie in die Kuns van Moduleskeuring

Onlangs het 'n kliënt my gevra om 'n nuwe funksie by die maatskappy se Drupal-werf by te voeg: vertoon PDF-lêers in die blaaier. Nadat ek die opsies op drupal.org gekyk het, het ek besef dat dit 'n perfekte geleentheid was om my werklike besluitnemingsproses te dokumenteer as ek 'n nuwe module gekies het . Ek sê altyd om modules wys te kies , maar nou kan jy sien hoe ek dink dit werk in die werklike lewe.

Definieer wat jy wil

Die eerste stap is om te definieer wat jy wil hê. In my geval wou ek:

Soek op Drupal.org

Met hierdie doelwitte in gedagte, was die volgende stap 'n eenvoudige soektog op Drupal.org. Tyd om te spring in die Kuil van Module Goedheid.

& # 34; Vergelyking & # 34; Bladsy vir PDF-modules

My eerste stop was (of moes gewees het), hierdie bladsy: 'n vergelyking van PDF-kyker modules. Drupal.org het 'n uitstekende tradisie van dokumentasie bladsye wat die voor- en nadele van verskeie modules in dieselfde ruimte uiteensit. Daar is 'n sentrale lys van vergelykingbladsye, maar hulle word ook deur die werf besprinkel.

Die PDF-vergelykingbladsy het vier PDF-kykermodules ingesluit. Ek sal hulle hier dek, sowel as 'n paar ander wat ek gevind het om te soek. Ek sal begin met die kandidate wat ek besluit het om oor te slaan.

Kom ons gaan nou in die besonderhede van hoekom hierdie modules (of meestal nie) vir hierdie projek gewerk het nie.

Lêer Viewer

Lêer Viewer gebruik die Internet Archive BookReader, wat my aangespoor het omdat ek 'n Internet Archive junkie is. Elke keer as ek daar gaan, voel ek kuiltjies van vrees en oorweldig my by die berge van boeke wat ek van die eter kan pluk.

Dit gesê het, die demonstrasie site lyk my lelik vir my. Ek kan daarby lewe, maar ek het getwyfel dat my kliënt, as pdf.js soveel meer stylvol lyk.

Ook, op 'n tweede blik op die projekblad, het ek die groot vet aankondiging aan die bokant gesien: Hierdie module is formeel na die PDF-module verskuif . Redelik genoeg. Met minder as 400 installeer, lyk dit soos 'n goeie skuif met die meer gewilde PDF-module (wat ons in 'n oomblik sal dek). Moet nooit 'n module aflaai wat saamgesmelt / verskuif / verlaat is nie.

Google Viewer-lêerformatter

Google Viewer File Formatter is hoe dit klink: 'n manier om Google Docs te gebruik om skerms van lêers in jou webbladsy in te sluit. Alhoewel ek van die veelsydigheid van Google Docs hou, was een van my doelwitte onafhanklik van enige derdeparty-diens.

Hierdie module het ook minder as 100 installasies gehad.

Ajax Dokument Viewer

Alhoewel "AJAX" 'n algemene Javascript term is, het Ajax Document Viewer uitgelok op 'n spesifieke derdeparty diens. Slegs ongeveer 100 installeer. Aanbeweeg...

Scald PDF

Scald PDF het net 40 installeer, maar ek moes kyk, want dit was duidelik deel van 'n groter projek genaamd (ja) Scald. Soos die Scald-projekblad verduidelik het: " Scald is 'n innoverende opdrag om Media Atome in Drupal te hanteer."

Daardie sin het twee groot rooi vlae opgewek: "innoverende neem" en die woord "media" gekoppel aan "atoom". "Atoom" was natuurlik 'n herbevestigde woord vir 'ding', wat dit op sigself 'n rooi vlag gemaak het. Drupal het 'n voorliefde vir hierdie leë boks soort woorde: nodus , entiteit , funksie ... Hoe meer algemeen die woord, hoe meer verander die veranderinge mag wees.

Soos ek gerol het, is my vermoedens bevestig. Ek lees opgewonde eise van hoe Scald basies sou uitvind hoe ek Media op my werf hanteer het.

Nou, die waarheid is dat Drupal se Media-hantering 'n paar uitvindings kan gebruik. Scald is nie die enigste ambisieuse projek in hierdie ruimte nie. Met minder as 1000 installasies tot dusver wou ek nie op die grondvloer ingaan nie.

Sure, teen hierdie tyd volgende jaar, kan Scald die volgende aansigte wees . Dit sal rock. Maar dit kan ook verlate wees, met 'n (klein) roete van gebreekte plekke om te huil.

Vir nou wou ek 'n baie minder ambisieuse en gevaarlike oplossing hou. Wys net PDFs, asseblief. Dis al wat ek gevra het.

Shadowbox

Shadowbox het my verras: dit was 'n oplossing vir die vertoon van allerhande media, van PDF's na beelde na video. Dit was nie so vies soos Scald nie, aangesien dit net daarop sou fokus om media te vertoon sonder om nuwe konsepte soos "Media Atoms" in te voer. Maar ek het al soos Colorbox soos ek genoem het. Ek wou nie daardie besluit heroorweeg nie.

Ek het egter opgemerk (met 'n innerlike kreun) dat met meer as 16 000 installeer, Shadowbox 'n kragtiger alternatief in dieselfde ruimte kan wees. Ek moes kyk.

Die Shadowbox Drupal-module is basies 'n brug na 'n Javascript-biblioteek, Shadowbox.js, so ek het die biblioteek se webwerf nagegaan. Daar het ek twee redes ontdek om voort te gaan:

Die twee aanspraakmakers: & # 34; PDF & # 34; en & # 34; PDF Reader & # 34;

Nadat ek die res uitgeskakel het, het ek nou by die twee duidelike aanspraakmakers gekom: PDF en PDF Reader

Hierdie twee projekte het belangrike ooreenkomste gehad:

Wat van verskille?

PDF-leser het ook die opsie vir integrasie van Google Docs gehad. In hierdie spesifieke geval het ek gedink dat my kliënt dalk daarvan hou, so ek het daarvan gehou om die opsie te hê.

Intussen is PDF gemerk as Soek mede-onderhouder (s). Dit kan 'n teken wees dat die ontwikkelaar binnekort die projek sal laat vaar, maar aan die ander kant was die mees onlangse pleeg 'n week gelede, so ten minste was die ontwikkelaar steeds aktief.

Aan die ander kant was PDF Reader gemerk as Aktief onderhou, maar die mees onlangse pleeg was 'n jaar gelede.

Sonder 'n duidelike wenner het ek besluit om hulle albei te toets.

Toets die aanspraakmakers

Ek het albei modules op 'n afskrif van my live site getoets. (Maak nie saak hoe soliede en onskadelike 'n module verskyn nie, probeer dit nooit eers op 'n lewendige webwerf nie. Jy kan jou hele werf breek.)

Ek was bevooroordeeld teenoor PDF-leser , want dit was meer opsies (soos Google Docs) as PDF . Ek het dus besluit om eers PDF te probeer om dit uit die weg te ruim.

PDF misluk: kompilasie benodig?

Maar toe ek PDF geïnstalleer het en README.txt lees, het ek 'n probleem ontdek wat ek gesien het maar geïgnoreer op die projekblad. Om hierdie rede lyk dit of hierdie module vereis dat jy pdf.js manueel opstel. Alhoewel die projekblad voorgestel het dat dit nie noodwendig nodig was nie, het README.txt voorgestel dit was.

Aangesien PDF Reader die presiese dieselfde biblioteek sou gebruik sonder om hierdie stap te benodig, het ek besluit om dit eers te probeer. As dit nie werk nie, kan ek altyd terug na PDF gaan en probeer om pdf.js handmatig op te stel.

PDF Reader: Sukses! Soortvan.

So, ek het uiteindelik probeer om PDF Reader . Hierdie module bied 'n nuwe widget vir die vertoon van 'n lêer veld. Jy voeg 'n lêer veld by die verlangde inhoudstipe en stel die widget tipe in PDF Reader. Dan skep jy 'n nodus van hierdie tipe en laai jou PDF op. Die PDF verskyn ingebed in 'n "boks" op die bladsy.

U kan verskillende vertoonopsies probeer deur die inhoudstipe weer te wysig en die vertoningsinstellings vir die veld te verander.

Ek het gevind dat elke vertoning opsie voor- en nadele gehad het:

Op die ou end was my oplossing om die PDF-leser te gebruik met die installeeropsie . Met hierdie opsie kan ek 'n PDF aan 'n Drupal knooppunt aanheg, en dit betroubaar op 'n Drupal webblad vertoon.

Ongelukkig is soms "betroubaar" nie genoeg nie. Na al hierdie soektogte moes ek tog 'n derdeparty diens oorweeg.