Prípadová štúdia v oblasti výberu modulov
V poslednej dobe sa klient požiadal o pridanie novej funkcie na webovú stránku spoločnosti Drupal: zobrazenie súborov PDF v prehliadači. Keď som si prezeral možnosti na drupal.org, uvedomil som si, že to bola skvelá príležitosť zdokumentovať môj skutočný rozhodovací proces, keď som vybral nový modul . Vždy hovorím, že si múdro vyberiem moduly , ale teraz môžete vidieť, ako si myslím, že to funguje v reálnom živote.
Definujte, čo chcete
Prvým krokom je definovať to, čo chcete. V mojom prípade som chcel:
- Schopnosť zobraziť súbory vo formáte PDF vo webovom prehliadači podobne ako v tomto príklade. Klient by nahral PDF správy o spoločnosti a návštevníci by si ich mohli ľahko prečítať.
- Stránka je Drupal 7 , takže modul by musel zodpovedať tejto hlavnej verzii . (Drupal 7 už niekedy prebehol, takže ak vývojár modulu ešte neprijal verziu Drupalu 7, pravdepodobne to nebude.)
- Hoci klient to nešpecifikoval, chcel som sa tiež vyhnúť spoliehaniu sa na službu tretej strany. Pre videá som rád, že uverejním obsah na YouTube alebo Vimeo a potom ho vložím na webovú lokalitu Drupal, ale v prípade súborov PDF som si nemyslel, že by prípadná ďalšia expozícia prevážila nad potenciálnymi ťažkosťami, zlomením a výdavkami. Bol som však otvorený tretej strane, ak by to bola jediná možnosť.
- Napriek mojej snahe vyhnúť sa tretej strane, vedel som, že moja voľba pravdepodobne bude vyžadovať knižnicu tretej strany Javascript. Hoci by to pridal ďalší krok k budúcim upgradám, všeobecne sa cítim lepšie, keby som vlastnil svoju vlastnú kópiu knižnice a nebol by sa spoliehať na službu tretej strany.
- Chcel som udržať modul tak ľahký a špecifický, ako je to len možné. Nechcel som sa zapojiť do nejakého radikálne nového spôsobu manipulácie alebo organizácie mediálnych súborov. Chcel som niečo viac ako Colorbox, ktorý zväčšuje obrázky pre lepšie sledovanie, ale zostáva úplne nezávislý od toho, ako sa rozhodnete spravovať obrazové súbory. Mal som náladu, že táto knižnica by bola pdf.js, ale bola som otvorená iným možnostiam.
- Ako obvykle som chcel dodržiavať všeobecné pravidlá pre výber modulu Drupal. V podstate si vyberte modul, ktorý už niekoľko tisíc ľudí používa (ak je to možné), s minimálnymi závislosťami, ktorý sa zdá byť udržiavaný aktívnym vývojárom, ktorý plánuje pokračovať v podpore projektu do budúcnosti, t vyžadovať licenčný poplatok.
Vyhľadávanie na Drupal.org
S týmito cieľmi na mysli, ďalším krokom bolo jednoduché vyhľadávanie na Drupal.org. Čas sa skočiť do lopatkového modulu Goodness Goodness.
& # 34; Porovnanie & # 34; Stránka pre moduly PDF
Moja prvá zastávka bola (alebo mala byť) táto stránka: Porovnanie modulov prehliadača PDF. Drupal.org má vynikajúcu tradíciu stránok dokumentácie, ktoré načrtávajú výhody a nevýhody rôznych modulov v rovnakom priestore. Existuje centrálny zoznam porovnávacích stránok, ale sú tiež posypané po celej lokalite.
Stránka porovnávania PDF obsahovala štyri moduly prehliadača PDF. Pokryjem ich tu, rovnako ako pár ďalších, ktoré som našiel pri hľadaní. Začnem s kandidátmi, ktorých som sa rozhodol preskočiť.
Teraz poďme sa ponoriť do špecifikácie, prečo tieto moduly (alebo väčšinou nie) pracovať pre tento projekt.
Prehliadač súborov
Súborový prehliadač používa internetový archív BookReader, ktorý ma zaujal, pretože som internetový archív. Zakaždým, keď tam idem, cítim sa ležať strachom a zahltení v horách kníh, ktoré môžem vytrhnúť z éteru.
To bolo povedané, demonštračné miesto vyzeralo trochu škaredo pre mňa. Mohol by som žiť s tým, ale pochyboval som o tom, že môj klient bude, keď pdf.js vyzerá oveľa viac štýlovo.
Aj na druhom pohľade na stránke projektu som videl veľké odvážne oznámenie na vrchole: Tento modul bol formálne presunutý do modulu PDF . Docela fér. S menej ako 400 inštaláciami, zlúčenie s populárnejším modulom PDF (ktoré budeme pokrývať v momente), sa zdá byť dobrý krok. Nikdy neťahajte modul, ktorý bol zlúčený / presunutý / opustený.
Formátovač súborov Google Viewer
Formátovač súborov Google Viewer je to, čo to vyznieva: spôsob, ako môžete pomocou služby Dokumenty Google vložiť zobrazenia súborov na svoju webovú stránku. Aj keď sa mi páčila všestrannosť Dokumentov Google, jedným z mojich cieľov bolo zostať nezávislé od akejkoľvek služby tretej strany.
Taktiež tento modul mal menej ako 100 inštalácií.
Ajax Document Viewer
Hoci "AJAX" je všeobecný termín Javascript, Ajax Document Viewer sa ukázal ako spoľahlivý na konkrétnu službu tretej strany. Len asi 100 inštalácií. Pohybujúce sa na...
Scald PDF
Scald PDF mal iba 40 inštalácií, ale musel som sa na to pozrieť, pretože to bolo jasne súčasťou väčšieho projektu s názvom (áno) Scald. Ako vysvetlila stránka projektu Scald: " Scald je inovatívny spôsob ako zvládnuť Media Atoms v Drupale."
Táto veta vyvolala dve obrovské červené vlajky: "inovatívne vziať" a slovo "Media" spárované s "Atom". "Atóm" bol zjavne opakované slovo "vec", čo z neho robilo červenú vlajku. Drupal má vôľu pre tieto prázdne schránky: uzol , entitu , funkciu ... Čím všeobecnejšie je to slovo, tým viac môžu byť zmeny.
Ako som sa posunul, moje podozrenia boli potvrdené. Čítal som vzrušujúce tvrdenia o tom, ako Scald v podstate objaví, ako som zaobchádzal s médiami na svojich stránkach.
Teraz je pravda, že manipulácia s médiami Drupal by mohla využiť nejaké nové objavovanie. Scald nie je jediným ambicióznym projektom v tomto priestore. Avšak, s menej ako 1000 inštaláciami doteraz som sa nechcel dostať do prízemia.
Iste, v tomto roku budúci rok môže byť Scald ďalším pohľadom. To by bolo rock. Ale môže to byť aj abandonware, s (malou) stopou rozbitých stránok, ktoré nechávajú plakať.
Zatiaľ som sa chcel držať omnoho menej ambiciózneho a nebezpečného riešenia. Stačí zobraziť súbory PDF, prosím. To je všetko, o čo som sa pýtal.
Stínobox
Shadowbox ma prekvapil: tvrdilo, že je jediným riešením na zobrazovanie všetkých druhov médií, od súborov PDF až po obrázky na video. Toto nebolo tak zametajúce ako Scald, pretože sa zameriaval len na zobrazovanie médií bez toho, aby predstavovali úplne nové koncepty ako "mediálne atómy". Ale už sa mi páči Colorbox, ako som spomenul. Nechcel som, aby musel toto rozhodnutie prehodnotiť.
Avšak som si všimol (s vnútorným stonaním), že s viac ako 16 000 inštaláciami by Shadowbox mohol byť silnejšou alternatívou v tom istom priestore. Musel som sa pozrieť.
Modul Shadowbox Drupal je v podstate mostom k knižnici Javascript, Shadowbox.js, takže som si prehliadol webovú stránku knižnice. Tam som objavil dva dôvody, prečo by som mal pokračovať:
- Knižnica vyžaduje licenčný poplatok na komerčné využitie. Poplatok bol dosť rozumný, ale snažím sa vyhnúť otvorenému zdrojovému softvéru, ktorý nie je zadarmo .
- Dôkladné vyhľadávanie častých otázok ukázalo, že na rozdiel od popisu na stránke modulu Drupal, PDF neobsahuje 100% podporu knižnice Shadowbox. Oops. Dobrá vec, ktorú som skontroloval.
Dva uchádzači: & # 34; PDF & # 34; a & # 34; PDF Reader & # 34;
Po odstránení zvyšku som sa dostal k dvom zrejmém uchádzačom: PDF a PDF Reader
Tieto dva projekty mali kľúčové podobnosti:
- Obaja mali takmer 3000 inštalácií, oveľa viac ako alternatívy (okrem Shadowboxu).
- Obaja používali rovnakú externú knižnicu Javascript, pdf.js.
Čo rozdiely?
Program PDF Reader mal tiež možnosť integrácie aplikácie Dokumenty Google. V tomto konkrétnom prípade som si myslel, že môj klient sa mi to páči, takže sa mi páčilo mať možnosť.
Medzitým bol formát PDF označený ako vyhľadávajúci spolužiakatelia. To by mohlo znamenať, že vývojár by sa čoskoro opustil projekt, ale na druhej strane najnovší záväzok bol pred týždňom, takže aspoň vývojár bol stále aktívny.
Na druhej strane bol PDF Reader označený ako aktívne udržiavaný, ale najnovší záväzok bol pred rokom.
Bez jednoznačného víťaza som sa rozhodol otestovať oba.
Testovanie uchádzačov
Otestoval som oba moduly na kópiu môjho živého webu. (Bez ohľadu na to, aký modul sa objavuje ako pevný a neškodný, nikdy ho nevyskúšajte na živom webe. Mohli by ste zlomiť celý svoj web.)
Bol som zaujatý voči aplikácii PDF Reader , pretože sa zdalo, že má viac možností (ako napríklad Dokumenty Google) ako PDF . Tak som sa rozhodol najprv vyskúšať PDF , aby som to prekonal.
Porucha PDF: Požadovaná kompilácia?
Keď som však nainštaloval PDF a čítal som README.txt, zistil som problém, ktorý som videl na stránkach projektu, ale videl som, ale ignoroval. Z nejakého dôvodu sa zdá, že tento modul vyžaduje manuálne zostavenie súboru pdf.js. Hoci stránka projektu naznačila, že to nie je nevyhnutne potrebné, README.txt to navrhol.
Vzhľadom k tomu, že aplikácia PDF Reader použije presne rovnakú knižnicu bez toho, aby tento krok vyžadovala, rozhodla som sa ju najskôr vyskúšať. Ak to nefunguje, mohol by som sa vždy vrátiť do PDF a skúsiť manuálne zostaviť pdf.js.
PDF Reader: Úspech! Druh.
Takže konečne som skúsil PDF Reader . Tento modul poskytuje novú miniaplikáciu pre zobrazenie poľa Súbor. Pridajte pole súboru do požadovaného typu obsahu a nastavte typ miniaplikácie na čítačku PDF. Potom vytvoríte uzol tohto typu a odovzdajte svoj PDF. PDF sa zobrazí v "krabici" na stránke.
Môžete vyskúšať rôzne možnosti zobrazenia tým, že znova upravíte typ obsahu a zmeníte nastavenia zobrazenia pre toto pole.
Zistil som, že každá možnosť zobrazenia mala klady a zápory:
- Čítačka služby Dokumenty Google fungovala ako embed, ale keď som na ňu klikla, aby som sa dostala na celú obrazovku, prerušila som sa na stránke Dokumentov Google, ktorá sa ospravedlnila, že môj limit bol prekročený. Oops. Možno by to bolo oveľa spoľahlivejšie, keby som zavesil modul na platený účet služby Google Apps, ale ja som sa neobťažoval zistiť, pretože som si bol istý, že by sa mi klientovi nepáčilo zobrazenie.
- Možnosť pdf.js fungovala skvele ... vo formáte Firefox a Chrome. Ale keď som vypálil Internet Explorer, pole sa zdalo prázdne. Zdá sa, že ide o problém s samotným súborom pdf.js, nie s modulom PDF Reader . Myslím, že by som to mal očakávať, keďže pdf.js je vyvinutý Mozilla a Internet Explorer je ... sám. Napriek tomu som bol sklamaný, že som si nemyslel potvrdiť, že pdf.js pracoval spoľahlivo vo všetkých prehliadačoch na prvom mieste.
- Možnosť vloženia bola najspoľahlivejšia. To skutočne spustilo aplikáciu Adobe Reader v rámčeku na webovej stránke. Môj Firefox stále preferoval spustenie súboru pdf.js, ale myslím, že toto bolo nastavenie prehliadača. Či tak alebo onak, ak návštevník má buď Firefox, alebo prehliadač PDF, ako je Adobe Reader, zobrazí sa PDF.
Takže nakoniec bolo mojím riešením použiť čítačku PDF s možnosťou vkladania. Táto možnosť by mi umožnila pripojiť PDF do uzla Drupalu a spoľahlivo ho zobraziť na webovej stránke Drupalu.
Bohužiaľ, niekedy "spoľahlivé" nestačí. Po tom všetkom hľadaní som musel koniec koncov považovať službu tretej strany.