Een Drupal 7-module kiezen voor het bekijken van PDF's

Wat te weten

  • Bepaal wat u wilt: PDF-bestanden bekijken in een browser, maar houd rekening met de Drupal-versie, eventuele licentiekosten en het aantal gebruikers.
  • Zoek op Drupal.org naar de Vergelijking van PDF-viewermodules pagina met voor- en nadelen voor elke optie. Kies een paar waarschijnlijke keuzes.
  • Evalueer elke PDF-viewermodule om te zien hoe goed deze aan uw behoeften voldoet.

In dit artikel wordt uitgelegd hoe je een Drupal 7-module kiest voor het bekijken van PDF's. Het omvat een evaluatie van een aantal mogelijke modules.

Definieer wat je wilt

Stel je voor dat een klant je vraagt ​​om een ​​nieuwe functie toe te voegen aan de Drupal-site van het bedrijf: het weergeven van PDF-bestanden in de browser. Terwijl je door de opties op drupal.org bladert, realiseer je je dat er nogal wat opties zijn waaruit je kunt kiezen.

De eerste stap is om te definiëren wat je wilt. Over het algemeen zijn dit vrij standaard vereisten die u verwacht.

  • De mogelijkheid om PDF-bestanden in een webbrowser te bekijken, vergelijkbaar met
    instagram viewer
    dit voorbeeld. De klant zou pdf's van de bedrijfsnieuwsbrief uploaden en bezoekers zouden ze gemakkelijk kunnen lezen.
  • De site is Drupal 7, dus de module zou daaraan moeten voldoen hoofdversie. (Drupal 7 is al een tijdje uit, dus als een module-ontwikkelaar nog geen Drupal 7-versie heeft uitgebracht, zullen ze dat waarschijnlijk niet doen.)
  • U wilt misschien ook voorkomen dat u op een service van derden vertrouwt. Voor video's wil je de inhoud misschien op YouTube of Vimeo plaatsen en deze vervolgens insluiten op een Drupal-site, maar voor PDF's denken we niet dat de mogelijke extra blootstelling opweegt tegen het mogelijke gedoe, breuk en, kosten.
  • U wilt de module waarschijnlijk zo licht en specifiek mogelijk houden. Misschien ben je op zoek naar iets meer als Kleurdoos, die afbeeldingen vergroot voor een betere weergave, maar volledig onafhankelijk blijft van hoe u ervoor kiest om de afbeeldingsbestanden te beheren.
  • Zoals gebruikelijk willen we de algemene richtlijnen volgen voor het kiezen van een Drupal-module. Kies in principe een module die al een tijdje door een paar duizend mensen (indien mogelijk) in gebruik is, met een minimum aan afhankelijkheden, dat lijkt te worden onderhouden door een actieve ontwikkelaar die van plan is het project in de toekomst te blijven ondersteunen en geen licentie nodig heeft vergoeding.

Zoek op Drupal.org

Met deze doelen voor ogen was de volgende stap een eenvoudig zoeken op Drupal.org. Tijd om in de Ballenbak van Module Goodness te springen.

'Vergelijkingspagina' voor PDF-modules

Mijn eerste stop was (of had moeten zijn), deze pagina: a Vergelijking van PDF-viewermodules. Drupal.org heeft een uitstekende traditie van documentatiepagina's die de voor- en nadelen van verschillende modules in dezelfde ruimte schetsen. Er is een centrale lijst met vergelijkingspagina's, maar ze zijn ook verspreid over de hele site.

De PDF-vergelijkingspagina bevatte vier PDF-viewermodules. We zullen ze hier behandelen, evenals een paar andere die we hebben gevonden tijdens het zoeken. We beginnen met de kandidaten die we besloten hebben over te slaan.

Laten we nu ingaan op de specifieke redenen waarom deze modules wel (of meestal niet) werkten voor dit project.

Drupal-logo

Google Viewer-bestandsformatter

Google Viewer-bestandsformatter is hoe het klinkt: een manier om Google Docs te gebruiken om weergaven van bestanden in uw webpagina in te sluiten. Hoewel we de veelzijdigheid van Google Documenten leuk vonden, was een van onze doelen om onafhankelijk te blijven van services van derden.

Ook had deze module minder dan 100 installaties.

Ajax-documentviewer

Hoewel "AJAX" een algemene Javascript-term is, Ajax-documentviewer bleek te vertrouwen op een specifieke dienst van derden. Slechts ongeveer 100 installaties. Verder gaan...

Verbrand PDF

Verbrand PDF had slechts 40 installaties, maar we moesten een kijkje nemen omdat het duidelijk deel uitmaakte van een groter project genaamd (ja) Verbranden. Zoals de Scald-projectpagina uitlegde: "Scald is een innovatieve kijk op hoe ermee om te gaan Media Atomen in Drupal."

Die zin riep twee enorme rode vlaggen op: "innovative take" en het woord "Media" gecombineerd met "Atom". "Atom" was duidelijk een hergebruikt woord voor "ding", waardoor het op zichzelf een rode vlag werd. Drupal heeft een voorliefde voor deze lege-box-woorden: knooppunt, entiteit, voorzien zijn van... Hoe algemener het woord, hoe ingrijpender de veranderingen kunnen zijn.

Je zult opgewonden beweringen lezen over hoe Scald in feite opnieuw zal uitvinden hoe je met media op je site omgaat.

De waarheid is dat Drupal's Media-verwerking wel wat heruitvinding kan gebruiken. Scald is niet het enige ambitieuze project in deze ruimte.

Scald is misschien de volgende Keer bekeken. Dat zou rocken. Maar het kan ook leaveware zijn, met een (klein) spoor van kapotte sites om te huilen.

Schaduw doos

Schaduw doos verraste ons: het beweerde een enkele oplossing te zijn voor het weergeven van alle soorten media, van pdf's tot afbeeldingen tot video. Dit was niet zo ingrijpend als Scald, omdat het alleen zou focussen op weergeven van media zonder geheel nieuwe concepten zoals "Media Atoms" te introduceren. Maar we houden al van Colorbox, zoals vermeld.

We merkten echter (met een innerlijke kreun) op dat met over 16,000 installeert, zou Shadowbox een krachtiger alternatief kunnen zijn in dezelfde ruimte. Wij had een kijkje nemen.

De Shadowbox Drupal-module is in feite een brug naar een Javascript-bibliotheek, Shadowbox.js, dus hebben we de website van de bibliotheek bekeken. Daar ontdekten we twee redenen om verder te gaan:

  • De bibliotheek vereist een licentievergoeding voor commercieel gebruik. De vergoeding was redelijk genoeg, maar we proberen open source software te vermijden die niet gratis is.
  • Een zorgvuldige zoektocht van de FAQ onthulde dat, in tegenstelling tot de beschrijving op de Drupal-modulepagina, PDF's zijn niet 100% ondersteund door de Shadowbox-bibliotheek. Oeps.

De twee kanshebbers: 'PDF' en 'PDF Reader'

Nadat we de rest hadden geëlimineerd, kwamen we nu bij de twee voor de hand liggende kanshebbers: PDF en PDF lezer

Deze twee projecten hadden belangrijke overeenkomsten:

  • Beiden hadden bijna 3.000 installaties, veel meer dan de alternatieven (behalve Shadowbox).
  • Beiden gebruikten dezelfde externe Javascript-bibliotheek, pdf.js.

Hoe zit het met verschillen?

PDF lezer had ook de optie voor integratie met Google Docs.

Ondertussen, PDF is gemarkeerd als "Op zoek naar medebeheerder(s)." Dat zou een teken kunnen zijn dat de ontwikkelaar de. binnenkort zou verlaten project, maar aan de andere kant was de meest recente commit een week geleden, dus de ontwikkelaar was tenminste stil actief.

Aan de andere kant, PDF lezer was gemarkeerd als "Actief onderhouden", maar de meest recente commit was een jaar geleden.

Zonder duidelijke winnaar hebben we besloten om ze allebei te testen.

De kanshebbers testen

We hebben beide modules getest op een kopie van onze live site. (Het maakt niet uit hoe solide en onschadelijk een module lijkt, probeer het nooit eerst op een live site. Je zou je hele site kunnen breken.)

We waren bevooroordeeld in de richting van PDF lezer omdat het meer opties leek te hebben (zoals Google Docs) dan PDF. Dus we besloten om te proberen PDF eerst om het uit de weg te ruimen.

PDF mislukt: compilatie vereist?

Toen we echter installeerden PDF en lees "README.txt", ontdekten we een probleem dat we hadden gezien maar genegeerd op de projectpagina. Om de een of andere reden lijkt deze module te vereisen dat u pdf.js handmatig compileert. Hoewel de projectpagina suggereerde dat dit niet per se nodig was, suggereerde README.txt van wel.

Sinds PDF lezer exact dezelfde bibliotheek zou gebruiken zonder dat deze stap nodig was, besloten we het toch eerst te proberen. Als het niet werkte, konden we altijd terug naar PDF en probeer pdf.js handmatig te compileren.

PDF-lezer: succes! Soort van

Dus eindelijk hebben we het geprobeerd PDF lezer. Deze module biedt een nieuwe widget voor het weergeven van een het dossier veld. U voegt een bestandsveld toe aan uw gewenste inhoudstype en stel het widgettype in op PDF lezer. Vervolgens maakt u een knooppunt van dit type en uploadt u uw PDF. De PDF verschijnt ingesloten in een "vak" op de pagina.

U kunt verschillende weergave-opties proberen door het inhoudstype opnieuw te bewerken en de weergave-instellingen voor het veld te wijzigen.

We ontdekten dat elke weergaveoptie voor- en nadelen had:

  • De Google documenten reader werkte prima als een insluiting, maar toen we erop klikten om volledig scherm te gaan, kwamen we terecht op een Google Docs-pagina die zich verontschuldigde dat onze snelheidslimiet was overschreden. Oeps. Misschien zou dit betrouwbaarder zijn als we de module aan een betalend Google Apps-account zouden koppelen, maar we namen niet de moeite om erachter te komen.
  • De pdf.js optie werkte wonderwel... op Firefox en Chrome. Maar toen we Internet Explorer startten, leek de doos leeg. Blijkbaar is dit een probleem met pdf.js zelf, niet met de PDF lezer module. We veronderstellen dat dit te verwachten is, aangezien pdf.js is ontwikkeld door Mozilla en Internet Explorer... zelf is. Toch is het teleurstellend dat we er niet aan hadden gedacht te bevestigen dat pdf.js in de eerste plaats betrouwbaar werkte in alle browsers.
  • De integreren optie was de meest betrouwbare. Hiermee werd Adobe Reader in feite in een vak op de webpagina uitgevoerd. Firefox gaf er nog steeds de voorkeur aan pdf.js uit te voeren, maar we denken dat dit een browserinstelling was. Hoe dan ook, zolang een bezoeker Firefox of een PDF-viewer zoals Adobe Reader had, zou de PDF worden weergegeven.

Dus uiteindelijk is onze oplossing om de PDF lezer met de Integreren weergave optie. Met deze optie kunt u een PDF koppelen aan een Drupal-knooppunt en deze betrouwbaar weergeven op een Drupal-webpagina.

Helaas is soms "betrouwbaar" niet genoeg.

instagram story viewer