Një Studim Rasti në Artin e Përzgjedhjes së Modulit
Kohët e fundit, një klient më kërkoi të shtoja një funksion të ri në faqen e kompanisë Drupal: shfaqja e skedarëve PDF në shfletuesin. Ndërsa shfletova opsionet në drupal.org, kuptova se kjo ishte një shans i përsosur për të dokumentuar procesin aktual të marrjes së vendimeve, ndërsa zgjodha një modul të ri. Gjithmonë po them që zgjedh modulet me mençuri , por tani mund të shihni se si unë mendoj se kjo funksionon në jetën reale.
Përcaktoni atë që dëshironi
Hapi i parë është të përcaktoni se çfarë dëshironi. Në rastin tim, kam dashur:
- Aftësia për të parë skedarët PDF në një shfletues web, i ngjashëm me këtë shembull. Klienti do të ngarkonte PDF-të e buletinit të kompanisë, dhe vizitorët do të ishin në gjendje t'i lexonin me lehtësi.
- Vendi është Drupal 7 , prandaj moduli duhet të përputhet me atë version të madh . (Drupal 7 ka qenë jashtë për pak kohë tani, kështu që nëse një zhvillues moduli nuk ka dalë me një version të Drupal 7, ata ndoshta nuk do të.)
- Megjithëse klienti nuk e ka specifikuar këtë, unë gjithashtu desha të shmangja duke u mbështetur në një shërbim të palës së tretë. Për videot, unë jam i lumtur të postoj përmbajtjen në YouTube ose Vimeo dhe më pas ta futem në një vend të Drupal, por për PDF-të, nuk mendova se ekspozimi i mundshëm shtesë do të ishte më i madh se mundësia, thyerja dhe shpenzimet e mundshme. Sidoqoftë, isha e hapur për një shërbim të palës së tretë nëse kjo ishte alternativa e vetme.
- Pavarësisht dëshirës time për të shmangur një shërbim të palës së tretë, e dija se zgjedhja ime ndoshta do të kërkonte një bibliotekë Javascript të palëve të treta. Megjithëse kjo do të shtonte një hap shtesë në përmirësimet e ardhshme, unë përgjithësisht ndihem më mirë në lidhje me ekzekutimin e një kopjeje të një biblioteke në vend që të mbështetem në një shërbim të palës së tretë.
- Doja ta ruaj modulin si të lehtë dhe specifik sa të jetë e mundur. Unë nuk dua të përfshihem me ndonjë mënyrë radikale të re të trajtimit ose organizimit të skedarëve medialë. Doja diçka më shumë si Colorbox, i cili zgjeron imazhet për shikim më të mirë, por mbetet krejtësisht i pavarur nga mënyra se si vendosni të menaxhoni skedarët e imazhit. Unë kisha një ide se kjo bibliotekë do të ishte pdf.js, por isha e hapur për mundësi të tjera.
- Si zakonisht, desha të ndiqja udhëzimet e përgjithshme për zgjedhjen e një moduli Drupal. Në thelb, zgjidhni një modul që tashmë është në përdorim nga disa mijëra njerëz (nëse është e mundur) për pak kohë, me një minimum të varësive, që duket se mbahet nga një zhvillues aktiv i cili planifikon të vazhdojë të mbështesë projektin në të ardhmen dhe nuk ka " t kërkojë një tarifë licencimi.
Kërko në Drupal.org
Me këto qëllime në mendje, hapi tjetër ishte një kërkim i thjeshtë në Drupal.org. Koha për të hyrë në Ballin e Modulit të Mirësisë.
& # 34; Krahasimi & # 34; Faqe për modulet PDF
Ndalesa ime e parë ishte (ose duhet të ishte), kjo faqe: një krahasim i moduleve të shikuesve PDF. Drupal.org ka një traditë të shkëlqyer të faqeve të dokumentacionit që përshkruajnë pro dhe kundrat e moduleve të ndryshme në të njëjtën hapësirë. Ka një listë qendrore të faqeve të krahasimit, por ato janë gjithashtu të spërkatur në të gjithë sitin.
Faqja e krahasimit në PDF përfshinte katër module të shikuesve PDF. Do t'i mbuloj këtu, si edhe disa të tjerë që kam gjetur nga kërkimi. Unë do të filloj me kandidatët që kam vendosur të kaloj.
Tani le të gërmoj në specifikimet pse këto module (ose më së shumti nuk punuan) për këtë projekt.
File Viewer
File Viewer përdor Librin e Arkës së Internetit, i cili më ka intriguar sepse unë jam një shitës i Internet Arkivit. Çdo herë që shkoj atje, ndihem i hidhur nga frika dhe mbytem në malet e librave që mund të çrrënjos nga eteri.
Kjo u tha, vendi i demonstratës dukej pak më i shëmtuar për mua. Unë mund të jetoj me të, por dyshova se klienti im do të ishte, kur pdf.js duket shumë më elegant.
Gjithashtu, në një vështrim të dytë në faqen e projektit, pashë njoftimin e madh të guximshëm në krye: Ky modul është zhvendosur zyrtarisht në modulin PDF . Pajtohemi mjaftueshëm. Me më pak se 400 instalime, bashkimi me modulin më të popullarizuar PDF (që ne do të mbulojmë në një moment), duket si një lëvizje e mirë. Asnjëherë mos shkarkoni një modul që është shkrirë / zhvendosur / braktisur.
Formati i dokumentit të skedarit të Google
Formati i dokumentit të Google Viewer File është ajo që tingëllon si: një mënyrë për të përdorur Google Docs për të futur shfaqjet e skedarëve në faqen tuaj web. Megjithëse më pëlqente shumëllojshmëria e Google Docs, një nga qëllimet e mia ishte të mbetej i pavarur nga ndonjë shërbim i palës së tretë.
Gjithashtu, ky modul kishte më pak se 100 instalime.
Ajax Document Viewer
Megjithëse "AJAX" është një term i përgjithshëm Javascript, Ajax Document Viewer doli të bazohet në një shërbim të veçantë të palëve të treta. Vetëm rreth 100 instalohet. Lëvizja në ...
Shkruani PDF
Scald PDF kishte vetëm 40 instalime, por më duhej të shikoja, pasi ishte qartë pjesë e një projekti më të madh të quajtur (po) Scald. Siç shpjegoi faqja e projektit " Scald ": " Scald është një inovativ për të trajtuar Atometat e Medias në Drupal".
Kjo dënim ngriti dy flamuj të mëdhenj të kuq: "inovative" dhe fjala "Media" e çiftuar me "Atom". "Atom" ishte padyshim një fjalë repurposed për "gjë", e cila e bëri atë një flamur të kuq të gjitha në vetvete. Drupal ka një dëshirë për këto fjalë të zbrazëta: nyja , entiteti , tipari ... Sa më i përgjithshëm është fjala, aq më i gjerë mund të jenë ndryshimet.
Ndërsa zbrita, dyshimet e mia u konfirmuan. Kam lexuar pretendime të ngazëllyer se si Scald në thelb do të reinvent si kam trajtuar Media në faqen time.
Tani, e vërteta është se përdorimi i Drupal's Media mund të përdorë disa reinventime. Scald nuk është projekti i vetëm ambicioz në këtë hapësirë. Megjithatë, me më pak se 1000 instalime deri më tani, unë nuk dua të futem në katin përdhes.
Sure, në këtë kohë vitin e ardhshëm, Scald mund të jetë Shikimet e ardhshme. Kjo do të shkojë. Por kjo mund të jetë gjithashtu e braktisur, me një gjurmë (të vogël) të faqeve të thyer që mbeten për të qarë.
Tani për tani, kam dashur të qëndroj me një zgjidhje shumë më pak ambicioze dhe të rrezikshme. Vetëm të shfaqni PDF-të, ju lutem. Kjo është e gjitha që po pyesja.
shadowbox
Shadowbox më befasoi: pretendoi të ishte një zgjidhje e vetme për të shfaqur të gjitha llojet e mediave, nga PDF-të në imazhe në video. Kjo nuk ishte aq e gjerë sa Scald, pasi ajo do të fokusohet vetëm në shfaqjen e mediave pa prezantuar koncepte krejt të reja, si "Atometat e Medias". Por unë tashmë pëlqej Colorbox, siç e përmenda. Unë nuk dua që të rishqyrtoj atë vendim.
Megjithatë, kam vërejtur (me një ngërç të brendshëm) që me mbi 16,000 instalime, Shadowbox mund të jetë një alternativë më e fuqishme në të njëjtën hapësirë. Unë kisha për të marrë një sy.
Moduli i Shadowbox Drupal është në thelb një urë për një bibliotekë Javascript, Shadowbox.js, kështu që kam kontrolluar faqen e internetit të bibliotekës. Atje kam zbuluar dy arsye për të vazhduar:
- Biblioteka kërkon një tarifë licence për përdorim komercial. Tarifa ishte mjaft e arsyeshme, por unë përpiqem të shmang programin me burim të hapur që nuk është falas .
- Një kërkim i kujdesshëm i FAQ-ve zbuloi se, në kundërshtim me përshkrimin në faqen e modulit Drupal, PDF-të nuk mbështeten 100% nga biblioteka Shadowbox. Oops. Gjë e mirë që kam kontrolluar.
Të dy konkurrentët: & # 34; PDF & # 34; dhe & # 34; PDF Reader & # 34;
Duke eliminuar pjesën tjetër, unë tani erdha te dy pretendentët e qartë: PDF dhe PDF Reader
Këto dy projekte kishin ngjashmëri kryesore:
- Të dy kishin rreth 3.000 instalime, shumë më tepër se alternativat (përveç Shadowbox).
- Të dy përdorën të njëjtën bibliotekë të jashtme Javascript, pdf.js.
Po në lidhje me dallimet?
PDF Reader gjithashtu kishte mundësinë për integrimin e Google Docs. Në këtë rast të veçantë, mendova se klienti im do të pëlqente, kështu që më pëlqente të kisha opsionin.
Ndërkohë, PDF u shënua si kërkim i bashkë-mbajtësit (s). Kjo mund të jetë një shenjë që zhvilluesi shpejt do ta braktiste projektin, por nga ana tjetër, kryerja më e fundit ishte një javë më parë, kështu që të paktën zhvilluesi ende ishte aktiv.
Nga ana tjetër, PDF Reader u shënua në mënyrë aktive, por kryerja më e fundit ishte një vit më parë.
Pa një fitues të qartë, vendosa t'i provoja të dyja.
Testimi i Kontestuesve
Kam testuar të dy modulet në një kopje të faqes sime të gjallë. (Pa marrë parasysh se sa të ngurta dhe të padëmshme shfaqet një modul, mos e provoni më parë në një vend të gjallë. Mund të thyeni tërë faqen tuaj.)
Isha i njëanshëm në drejtim të PDF Reader , sepse dukej sikur kishte më shumë opsione (si Google Docs) sesa PDF . Kështu që vendosa të provoj PDF në radhë të parë, për ta larguar atë nga rruga.
PDF Fail: Përpilimi kërkohet?
Megjithatë, kur instalova PDF dhe lexova README.txt, zbulova një problem që kisha parë por injoruar në faqen e projektit. Për disa arsye, ky modul duket se kërkon që ju të përpiloni manualisht pdf.js. Edhe pse faqja e projektit sugjeroi që kjo nuk ishte domosdoshmërisht e nevojshme, README.txt sugjeroi që ishte.
Meqë PDF Reader do të përdorte bibliotekën e saktë të njëjtë pa kërkuar këtë hap, unë vendosa ta provoj atë së pari pasi të gjithë. Nëse nuk funksionon, unë gjithmonë mund të kthehesha në PDF dhe të përpiqesha të përpiloj manualisht pdf.js.
PDF Reader: Suksesi! Dicka e tille.
Pra, më në fund, provova PDF Reader . Ky modul ofron një widget të ri për shfaqjen e një fushe File. Ju shtoni një fushë skedari në llojin e dëshiruar të përmbajtjes dhe vendosni llojin e widget tek PDF Reader. Pastaj, krijoni një nyje të këtij lloji dhe ngarkoni PDF-në tuaj. PDF-ja duket e ngulitur në një "kuti" në faqe.
Ju mund të provoni opsionet e ndryshme të ekranit duke modifikuar përsëri llojin e përmbajtjes dhe duke ndryshuar cilësimet e ekranit për këtë fushë.
Kam gjetur se çdo opsion ekran ka pasur pro dhe kundër:
- Lexuesi i Docs -it në Google ka punuar mirë si një embed, por kur e kam klikuar për të shkuar në ekran të plotë, unë u ngrita në një faqe të Google Docs që kërkoi falje që kufiri im i normës ishte tejkaluar. Oops. Ndoshta kjo do të ishte më e besueshme nëse unë doja modulin në një llogari të paguar të Google Apps, por nuk u shqetësova për të gjetur, pasi unë isha shumë e sigurt se klienti im nuk do të pëlqente shfaqjen.
- Opcioni pdf.js ka punuar mrekullisht ... në Firefox dhe Chrome. Por kur gjuaja me Internet Explorer, kutia u shfaq bosh. Me sa duket, ky është një problem me vetë pdf.js, jo modulin PDF Reader . Unë mendoj unë duhet të ketë pritur këtë, duke pasur parasysh se pdf.js është zhvilluar nga Mozilla dhe Internet Explorer është ... vetë. Megjithatë, isha i zhgënjyer që nuk kisha menduar të konfirmoja se pdf.js punoi në mënyrë të besueshme në të gjithë shfletuesit në radhë të parë.
- Opsioni embed ishte më i besueshmi. Kjo në të vërtetë u zhvillua Adobe Reader në një kuti në faqen e internetit. My Firefox akoma preferonte të drejtoj pdf.js, por unë mendoj se kjo ishte një vendosje e shfletuesit. Sido që të jetë, për aq kohë sa një vizitor kishte Firefox ose një shikues PDF si Adobe Reader, do të shfaqet PDF.
Kështu, në fund, zgjidhja ime ishte përdorimi i PDF Reader me opsionin e Shfaqjes së Embed . Ky opsion do të më lejojë të bashkëngjitni një PDF në një nyje Drupal, dhe ta tregoja me besueshmëri në një faqe në Drupal.
Për fat të keq, ndonjëherë "i besueshëm" nuk është e mjaftueshme. Pas gjithë kësaj kërkimi, më duhej të merrja në konsideratë një shërbim të palës së tretë.