Případová studie v oblasti výběru modulů
V poslední době se mě klient zeptal, zda přidám na webovou stránku společnosti Drupal novou funkci: zobrazit soubory PDF v prohlížeči. Jak jsem prohlédl možnosti na drupal.org, uvědomil jsem si, že to byla dokonalá příležitost zdokumentovat můj skutečný rozhodovací proces, když jsem si vybral nový modul . Vždycky říkám, že si moudře vybírám moduly , ale nyní vidíte, jak to podle mého názoru funguje v reálném životě.
Definujte, co chcete
Prvním krokem je definovat, co chcete. V mém případě jsem chtěl:
- Schopnost prohlížet soubory PDF ve webovém prohlížeči podobně jako v tomto příkladu. Klient by nahrál PDF z informačního bulletinu společnosti a návštěvníci by je mohli snadno číst.
- Místo je Drupal 7 , takže modul bude muset odpovídat této hlavní verzi . (Drupal 7 je na chvíli vynechán, takže pokud vývojář modulu ještě nepřišel s verzí Drupalu 7, pravděpodobně to nebude.)
- Ačkoli klient tuto skutečnost neuvedl, chtěl jsem se také vyhnout tomu, abych spoléhal na službu třetí strany. U videí jsem rád, že zveřejním obsah na YouTube nebo Vimeo a poté jej vložím na web Drupal, ale pro soubory PDF jsem si nemyslel, že by případná další expozice převažovala nad potenciálními potížemi, rozbitím a výdaji. Byl jsem však otevřen třetí straně, kdyby to byla jediná možnost.
- I přes moje touha vyhnout se třetím stranám služby, věděl jsem, že moje volba bude pravděpodobně vyžadovat knihovnu třetích stran Javascript. Přestože by to přineslo další krok k budoucím upgradem, obecně se cítím lepší než spouštět vlastní kopii knihovny, než abych se spoléhala na službu třetí strany.
- Chtěl jsem modul udržet co nejméně a co nejpřesněji. Nechtěla jsem se zapojit do nějakého radikálně nového způsobu zpracování nebo uspořádání mediálních souborů. Chtěl jsem něco podobného Colorboxu, který zvětšuje obrazy pro lepší zobrazení, ale zůstává zcela nezávislé na tom, jak se rozhodnete spravovat obrazové soubory. Měl jsem tušení, že tato knihovna bude pdf.js, ale byla jsem otevřená i dalším možnostem.
- Jako obvykle jsem chtěl dodržovat obecné pokyny pro výběr modulu Drupal. V podstatě vyberte modul, který již několik desítek lidí (pokud je to možné) používá, a to s minimem závislostí, které se zdá být udržovány aktivním vývojářem, který plánuje pokračovat v podpoře projektu do budoucnosti, požadovat licenční poplatek.
Vyhledávání na Drupal.org
S ohledem na tyto cíle byl dalším krokem jednoduché vyhledávání na Drupal.org. Je čas, aby seskočil do míčového modulu Dobroty modulu.
Srovnání & # 34; Stránka pro moduly PDF
Moje první zastávka byla (nebo měla být) tato stránka: Srovnání modulů prohlížečů PDF. Drupal.org má vynikající tradici dokumentačních stránek, které načrtávají výhody a nevýhody různých modulů ve stejném prostoru. Existuje centrální seznam srovnávacích stránek, ale jsou také posypány po celém webu.
Stránka porovnání PDF obsahovala čtyři prohlížeče PDF. Zabalím je sem, stejně jako pár dalších, které jsem našel při hledání. Začnu s kandidáty, které jsem se rozhodl přeskočit.
Nyní se podívejme na specifika toho, proč tyto moduly pracovaly (nebo většinou nebyly) pro tento projekt.
Prohlížeč souborů
Prohlížeč souborů používá Internet Archive BookReader, který mě zaujal, protože jsem internetový archivář. Pokaždé, když jdu tam, cítím legraci strachu a přemáhám se v horách knih, které mohu vytáhnout z éteru.
To bylo řečeno, demonstrační místo vypadalo trochu ošklivě na mě. Mohl bych s tím žít, ale pochyboval jsem o tom, že můj klient bude vypadat mnohem stylověji.
Také na druhém pohledu na stránku projektu jsem viděl velké odvážné oznámení nahoře: Tento modul byl formálně přesunut do formátu PDF . Docela fér. S méně než 400 instalacemi se slučování s populárnějším modulem PDF (které za chvíli pokryjeme) se jeví jako dobrý krok. Nikdy stáhněte modul, který byl sloučeny / přesunuty / opuštěny.
Formátovač souborů prohlížeče Google
Formátovač souborů Google Viewer je to, co zní: způsob, jak používat Dokumenty Google k vkládání souborů na vaší webové stránce. I když se mi líbila všestrannost Dokumentů Google, jedním z mých cílů bylo zůstat nezávislé na jakékoli službě třetí strany.
Také tento modul měl méně než 100 instalací.
Prohlížeč dokumentů Ajax
I když je "AJAX" obecným javascriptovým termínem, ukázalo se, že Ajax Document Viewer se spoléhá na konkrétní službu třetí strany. Pouze asi 100 instalací. Posouvat se...
Scald PDF
Scald PDF měl pouze 40 instalací, ale musel jsem se na to podívat, protože byl jasně součástí většího projektu nazvaného (Scald). Jak vysvětluje stránka projektu Scald: " Scald je inovativní záležitost, jak zvládnout Media Atoms v Drupalu."
Tato věta vyvolala dvě obrovské červené vlajky: "inovativní vzít" a slovo "Media" spároval s "Atom". "Atom" byl zjevně opakované slovo pro "věc", což z ní činilo červenou vlajku samo o sobě. Drupal má chuť na tyhle prázdné schránky: uzel , entita , rys ... Obecnější slovo, čím širší může být změna.
Jak jsem se posunula, mé podezření se potvrdilo. Četla jsem vzrušené nároky, jak Scald v podstatě vymyslí, jak jsem s Mediaem zpracoval mé stránky.
Nyní je pravda, že manipulace s médii Drupal by mohla využít nějaké nové objevy. Scald není jediným ambiciózním projektem v tomto prostoru. Nicméně s méně než 1000 instalacemi jsem se nechtěl dostat do přízemí.
Jistě, tentokrát v příštím roce by mohl být Scald další pohled. To by bylo rockové. Může to však být i opuštěné, s (malou) stopou zlomených míst, která nechá plakat.
Prozatím jsem se chtěl držet mnohem méně ambiciózního a nebezpečného řešení. Stačí zobrazit PDF, prosím. To je všechno, co jsem se ptala.
Shadowbox
Shadowbox mě překvapil: prohlásil, že je jediným řešením pro zobrazování všech druhů médií, od souborů PDF až po obrázky. Toto nebylo tak zametné jako Scald, protože se bude soustředit pouze na zobrazování médií, aniž by představovalo zcela nové pojmy jako "mediální atomy". Ale už se mi líbí Colorbox, jak jsem se zmínil. Nechtěla jsem, abych toto rozhodnutí přehodnotila.
Nicméně jsem si všiml (s vnitřním zasténáním), že s více než 16 000 instalací by Shadowbox mohl být ve stejném prostoru silnější alternativou. Musel jsem se na to podívat.
Modul Shadowbox Drupal je v podstatě most k knihovně Javascript, Shadowbox.js, takže jsem si prohlédl webové stránky knihovny. Tam jsem objevil dva důvody, proč bych měl pokračovat:
- Knihovna vyžaduje licenční poplatek pro komerční využití. Poplatek byl dost rozumný, ale snažím se vyhnout software s otevřeným zdrojovým kódem, který není volný .
- Pečlivé vyhledávání častých dotazů ukázalo, že na rozdíl od popisu na stránce modulu Drupal nejsou soubory PDF podporovány knihovnou Shadowbox 100%. Jejda. Dobrá věc, kterou jsem zkontrolovala.
Dva uchazeči: & # 34; PDF & # 34; a PDF čtečka & # 34;
Po odstranění zbytku jsem se nyní dostal ke dvěma zřejmým kandidátům: PDF a PDF Reader
Tyto dva projekty měly zásadní podobnosti:
- Oba měli téměř 3000 instalací, mnohem víc než alternativy (kromě Shadowboxu).
- Oba používali stejnou externí knihovnu Javascript, pdf.js.
Co rozdíly?
PDF Reader měl také možnost integrace Dokumentů Google. V tomto konkrétním případě jsem si myslel, že se můj klient může líbit, takže se mi líbilo mít možnost.
Dokument PDF byl mezitím označen jako vyhledávací spoluvlastník. To by mohlo znamenat, že developer by brzy opustil projekt, ale na druhou stranu, nejnovějsí závazek byl před týdnem, takže alespoň vývojář byl stále aktivní.
Na druhou stranu byl PDF Reader označen jako aktivně udržovaný, ale poslední potvrzení bylo před rokem.
Bez jasného vítěze jsem se rozhodl otestovat oba.
Testování soutěžících
Testoval jsem oba moduly na kopii svého živého webu. (Bez ohledu na to, jaký modul se objevuje jako solidní a neškodný, nikdy ho nejdříve nezkoušejte na živém webu. Mohli byste narušit celý svůj web.)
Byl jsem zaujatý vůči aplikaci PDF Reader , protože se zdálo, že má více možností (například Dokumenty Google) než PDF . Tak jsem se rozhodl zkusit nejprve PDF , abych to vynechal.
Chyba PDF: Požadováno kompilace?
Nicméně, když jsem nainstaloval PDF a četl soubor README.txt, zjistil jsem problém, který jsem viděl, ale ignoroval jsem na stránce projektu. Z nějakého důvodu se zdá, že tento modul požaduje ruční kompilaci souboru pdf.js. Ačkoli stránka projektu naznačovala, že to není nutně nutné, README.txt navrhl, že to bylo.
Vzhledem k tomu, že aplikace PDF Reader použije přesně stejnou knihovnu, aniž by vyžadovala tento krok, rozhodla jsem se ji nejprve vyzkoušet. Pokud to nefunguje, mohu se vždy vrátit do PDF a pokusit se ručně kompilovat pdf.js.
PDF Reader: Úspěch! Něco takového.
Takže konečně jsem zkusil PDF Reader . Tento modul poskytuje nový widget pro zobrazení pole Soubor. Přidáte pole souboru k požadovanému typu obsahu a nastavíte typ widgetu na čtečku PDF. Poté vytvořte uzel tohoto typu a nahrajte soubor PDF. PDF se zobrazí v "krabici" na stránce.
Můžete vyzkoušet různé možnosti zobrazení tím, že znovu upravíte typ obsahu a změníte nastavení zobrazení pro toto pole.
Zjistil jsem, že každá možnost zobrazení měla pro a proti:
- Čtečka Dokumentů Google fungovala jako embed, ale když jsem na ni klikla, abych se dostala na celou obrazovku, skončila jsem na stránce Dokumentů Google, která se omluvila o překročení mého limitu. Jejda. Možná by to bylo mnohem spolehlivější, kdybych modul zaplňoval na placený účet Google Apps, ale neobtěžoval jsem se to zjistit, protože jsem si byl jistý, že můj klient by se tomuto displeji nelíbil.
- Možnost pdf.js fungovala skvěle ... ve Firefoxu a Chrome. Ale když jsem vypálil aplikaci Internet Explorer, pole se zdálo prázdné. Zřejmě je to problém s samotným modulem pdf.js, nikoliv s modulem PDF Reader . Předpokládám, že jsem to měl očekávat, vzhledem k tomu, že soubor pdf.js je vyvinutý společností Mozilla a Internet Explorer je ... sám. Přesto jsem byl zklamán, že jsem si nemyslel, že potvrzuji, že pdf.js fungoval spolehlivě ve všech prohlížečích.
- Možnost vložení byla nejspolehlivější. To vlastně spustilo aplikaci Adobe Reader v poli na webové stránce. My Firefox stále preferoval spuštění souboru pdf.js, ale myslím, že toto nastavení prohlížeče. Ať tak či onak, pokud návštěvník má prohlížeč Firefox nebo prohlížeč PDF, jako je Adobe Reader, zobrazí se PDF.
Na závěr mým řešením bylo použití programu PDF Reader s možností zobrazení vložit . Tato možnost by mi umožnila připojit PDF do uzlu Drupal a spolehlivě ho zobrazit na webové stránce Drupalu.
Bohužel, někdy "spolehlivá" nestačí. Po tom všem hledání jsem musel koneckonců považovat službu třetí strany.